Releases: volkanunsal/postgres-rrule
Releases · volkanunsal/postgres-rrule
Release list
v2.2.0
What's Changed
Bug Fixes
- Fix RRULESET parsing with indented/whitespace input (#34, fixes #25) — Changed
\sto[ \t]in regex to prevent newline consumption when stripping leading whitespace from multiline RRULESET input - Fix BYHOUR/BYMINUTE/BYSECOND with BYDAY in recurrence rules (#37, fixes #8) — Restructured
all_starts()to properly cross-join time components (BYHOUR/BYMINUTE/BYSECOND) with BYDAY-generated dates, fixing cases where BYDAY timestamps incorrectly inherited DTSTART time values
New Features
- Support negative BYMONTHDAY values per RFC 5545 (#36, fixes #27) — Added
resolve_bymonthday()helper and specializedoccurrences_bymonthday()generator to correctly resolve negative BYMONTHDAY values (e.g.,-1= last day of month) on a per-month basis, avoiding PostgreSQL'sgenerate_seriesday drift
Tests
- Add regression tests for WEEKLY+BYDAY with INTERVAL via JSONB (#35, fixes #29) — Added 8 regression tests for the JSONB input path with
INTERVAL > 1and BYDAY; the underlying bug was already fixed in a prior release
Closed Issues
- #4 — Closed as by-design (RRULE requires UNTIL or COUNT)
- #7 — Closed as RFC 5545 compliant (DTEND defines occurrence duration, not series end)
- #9 — Closed with casting approach explanation
- #20 — Closed as by-design (no support for open-ended recurrence)
Full Changelog: v2.1.0...v2.2.0
v2.1.0
What's New in v2.1.0
✨ Features
- Release Automation: Add release manager and notes writer agents for automated release process
- Timezone Support: Add comprehensive timezone support for recurring events
- Array Format Support: Update RRULE and EXRULE parsing to support array format in new schema
- Test Coverage: Add tests for explicit INTERVAL=1 with ordinal BYDAY and text round-trip normalization
This release brings significant enhancements to the postgres-rrule extension, including better timezone handling and improved RRULE parsing capabilities.