Skip to content

chore(deps): bump rrule-temporal from 2.0.2 to 2.2.1 - #551

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/rrule-temporal-2.2.1
Open

chore(deps): bump rrule-temporal from 2.0.2 to 2.2.1#551
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/rrule-temporal-2.2.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bumps rrule-temporal from 2.0.2 to 2.2.1.

Release notes

Sourced from rrule-temporal's releases.

v2.2.1

Changes in v2.2.1

  • Lazily stream dense recurrence periods to reduce memory use and preserve early termination (#134).
  • Reject recurrence rules that combine COUNT and UNTIL when strict mode is enabled, as required by RFC 5545 (#128). Non-strict parsing remains backward-compatible.

Full changelog: ggaabe/rrule-temporal@v2.2.0...v2.2.1

v2.2.0

Full Changelog: ggaabe/rrule-temporal@v2.1.0...v2.2.0

v2.1.0

Highlights

  • Adds lazily cached numeric query plans for proven COUNT-bound SECONDLY, MINUTELY, HOURLY, DAILY, WEEKLY, and Gregorian MONTHLY rules.
  • Makes distant next(), previous(), narrow between(), and matches() queries rank/select occurrences instead of replaying from DTSTART.
  • Preserves exact nanosecond bounds, inclusive UNTIL, maxIterations behavior, DST-fold ordering, and RFC recurrence-set semantics, with automatic fallback for unsupported or gap-sensitive shapes.
  • Corrects proleptic Gregorian UTC monthly generation for years 0000 through 0099.

Performance

MacBook Pro M2 Max, Node 25. Times are milliseconds per call; speedups compare v2.1.0 with v2.0.3 using the same checksummed harness.

Scenario First: old to new First speedup Warm: old to new Warm speedup
SECONDLY next, COUNT 128, rank 63 3.10 to 0.584 5.3x 0.242 to 0.00951 25.5x
SECONDLY next, COUNT 250k, rank 200k 886.0 to 0.137 6,481x 806.3 to 0.00950 84,874x
DAILY next, COUNT 9k, rank 8.5k, UTC 50.6 to 0.291 174x 47.6 to 0.00984 4,837x
DAILY previous, COUNT 9k, Chicago 60.2 to 7.59 7.9x 53.4 to 0.01250 4,272x
DAILY weekdays next, COUNT 9k, UTC 68.7 to 0.0895 768x 61.4 to 0.01010 6,079x
DAILY slots narrow between, COUNT 9k 32.6 to 0.326 100x 30.4 to 0.03466 877x
WEEKLY M/W/F slots next, COUNT 9k 122.5 to 0.353 347x 81.8 to 0.01037 7,888x
MONTHLY last weekday next, COUNT 9k 197.8 to 8.54 23.2x 186.3 to 0.03191 5,838x
MONTHLY last weekday next, COUNT 128 1.49 to 0.321 4.6x 1.40 to 0.02155 65.0x

Verification

  • 1,085 tests passed locally and in GitHub Actions on Node 20, 24, and 26.
  • Build, public type checks, formatting, package dry-run, and benchmark checksum validation passed.

Full Changelog: ggaabe/rrule-temporal@v2.0.3...v2.1.0

v2.0.3

Full Changelog: ggaabe/rrule-temporal@v2.0.2...v2.0.3

Changelog

Sourced from rrule-temporal's changelog.

Changelog

2.2.0 (2026-08-10)

  • Added the optional temporal rule option for selecting the Temporal implementation used by public output values. TypeScript infers that implementation's exact ZonedDateTime return type, including the matching PlainDate type returned by toPlainDate().
  • Applied the selected implementation consistently to all(), between(), next(), previous(), iterator callbacks, resolved options(), and rules created with with(). The default native-or-bundled implementation and implementation-neutral temporal-spec types remain unchanged when the option is omitted.

2.1.0 (2026-08-10)

  • Added lazily cached numeric query plans for proven COUNT-bound SECONDLY, MINUTELY, HOURLY, DAILY, WEEKLY, and Gregorian MONTHLY shapes. next(), previous(), narrow between(), and matches() now rank/select epoch or wall-clock values and materialize only returned Temporal objects instead of replaying every occurrence from DTSTART.
  • Preserved exact nanosecond query bounds, inclusive UNTIL, recurrence-period maxIterations, DST-fold instant ordering, and the RFC recurrence-set stream. Rules with RDATE/EXDATE, gap-sensitive wall times, sub-millisecond occurrences, includeDtstart, RSCALE/non-ISO calendars, or unsupported BYxxx combinations automatically use the existing engine.
  • Aligned interval-based weekly queries with the recurrence phase returned by all() and between() when the first BYDAY in DTSTART's week has already passed.
  • Corrected UTC monthly generation for years 0000 through 0099 by replacing Date.UTC's 1900 offset behavior with proleptic Gregorian integer math.
  • Added differential query tests and a dedicated first-call/warm benchmark. On a MacBook Pro M2 Max with Node 25, warmed distant COUNT queries improved from 48-806 ms to 9-13 microseconds for fixed-step/simple daily/weekly selection, and a narrow expanded daily between() improved from 30.4 ms to 34.7 microseconds. A 9,000-count monthly last-weekday query improved from 186.3 ms to 31.9 microseconds, while both COUNT-128 cases also became faster.

2.0.3 (2026-08-06)

  • Corrected RFC 5545 recurrence-set ordering so COUNT and UNTIL bound RRULE-generated occurrences before RDATE values are added and EXDATE values are removed.
  • Preserved lazy iterator behavior for recurrence sets with RDATE or EXDATE, keeping next() and previous() from materializing the complete bounded rule before returning.
Commits
  • 1dac074 chore(release): v2.2.1
  • fa9fbcc fix(rrule): reject COUNT with UNTIL in strict mode
  • 391bfbc fix(rrule): lazily stream dense recurrence periods (#134)
  • 992b153 chore(release): v2.2.0
  • 4840d43 Add typed Temporal output selection
  • d1d380d Refresh v2.1.0 generation benchmarks
  • 7540275 chore(release): v2.1.0
  • 98d371f Optimize COUNT-bound recurrence queries
  • 61754b5 chore(release): v2.0.3
  • f89df72 Fix RFC recurrence-set ordering
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [rrule-temporal](https://github.com/ggaabe/rrule-temporal) from 2.0.2 to 2.2.1.
- [Release notes](https://github.com/ggaabe/rrule-temporal/releases)
- [Changelog](https://github.com/ggaabe/rrule-temporal/blob/main/CHANGELOG.md)
- [Commits](ggaabe/rrule-temporal@v2.0.2...v2.2.1)

---
updated-dependencies:
- dependency-name: rrule-temporal
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants