Skip to content

Releases: volkanunsal/postgres-rrule

Release list

v2.2.0

Choose a tag to compare

@volkanunsal volkanunsal released this 18 Feb 01:24
c004267

What's Changed

Bug Fixes

  • Fix RRULESET parsing with indented/whitespace input (#34, fixes #25) — Changed \s to [ \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 specialized occurrences_bymonthday() generator to correctly resolve negative BYMONTHDAY values (e.g., -1 = last day of month) on a per-month basis, avoiding PostgreSQL's generate_series day 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 > 1 and 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

Choose a tag to compare

@volkanunsal volkanunsal released this 04 Feb 17:22

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.