Skip to content

⬆️ upgrade node-cron to v4.6.0 - #172

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/node-cron-4.x-lockfile
Open

⬆️ upgrade node-cron to v4.6.0#172
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/node-cron-4.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
node-cron (source) 4.2.14.6.0 age confidence

Release Notes

node-cron/node-cron (node-cron)

v4.6.0

Compare Source

Added
Fixed
  • background task state transition on stop/destroy without fork (#​584) (9dbc6de)
  • clear jitter timeout on runner stop (#​583) (28b8146)
  • CommonJS type resolution (#​608) (ee9d294)
  • correct falied->failed typo in daemon task error log (#​594) (66c6961)
  • correct shutdown listener typing that broke the build (#​595) (7aac3ad)
  • correlate execute() by id, isolate event hooks, and stop counting manual runs toward maxExecutions (#​607) (0f039a9)
  • daemon serialized task state with wrong field name (#​587) (688d465)
  • expand inverted ranges with wrap-around instead of silently swapping (#​602) (a10ae53)
  • harden cron.shutdown() teardown (#​598) (a0b0d1f)
  • kill orphan child process on background task stop/destroy timeout (#​582) (8179e10)
  • make concurrent background start() await the daemon and time out coordinator lookups (#​605) (446f03a)
  • make lifecycle calls on a destroyed task safe no-ops (#​600) (7fa9795)
  • prevent double destroy on registry remove (#​585) (8ae9f06)
  • release-please: match existing v-prefixed tags (#​575) (e43c152)
  • runner promise bugs that could hang scheduling or crash process (#​581) (0ae62be)
  • unref the IPC channel so background tasks let the process exit (#​599) (534e593)
  • validate the cron expression when scheduling a task (#​603) (196e6cd)
  • validate() consistency and multi-asterisk expansion (#​606) (8cf41c4)
  • weekday 7-to-0 conversion corrupting ranges (#​580) (c8a3943)
Changed
  • replace chai and sinon with native vitest assertions (#​590) (d29d07a)

v4.5.0

Compare Source

Added
  • lastRun() introspection getter on ScheduledTask: returns { date, result } after
    a successful execution, { date, error } after a failed one, or null before the first
    run. ([#​557])
  • Extended day-of-week tokens: <weekday>#<nth> (nth weekday of the month, e.g.
    1#1 for the first Monday) and <weekday>L (last weekday of the month, e.g. 5L
    for the last Friday). ([#​560])
Performance
  • Cache Intl.DateTimeFormat instances per timezone instead of rebuilding on every
    call. ([#​561])
  • Parse the cron expression once per TimeMatcher instead of re-parsing in
    MatcherWalker. ([#​562])
  • Compute the GMT offset lazily (only when formatting ISO strings, not during the
    next-run search). ([#​563])
  • Replace crypto.randomBytes with crypto.randomUUID for internal ID
    generation. ([#​564])
  • Skip setTimeout jitter wrapper when maxRandomDelay is zero. ([#​565])
  • Bundle dist into flat files instead of preserving the module tree (reduces import
    time). ([#​566])
Fixed
  • Flaky should schedule a task test: poll for the first execution instead of
    asserting an exact count after a fixed sleep.
Changed
  • Renamed internal functions interprete to interpret and
    appendSeccondExpression to appendSecondExpression. ([#​567])
  • Rewritten README and package metadata to surface scheduling capabilities
    (overlap prevention, distributed coordination, background tasks). ([#​568])

v4.4.1

Compare Source

Changed
  • Renamed the distributedTtl option to distributedLease (same meaning:
    the safety lease, in ms, for lease-based coordinators). The old name was the
    only abbreviation in the options API; the new one groups with distributed.
    distributedTtl was introduced in 4.4.0 and is removed without an alias.

v4.4.0

Compare Source

Added
  • Task introspection on ScheduledTask: getNextRuns(n) (preview the next N
    run times), match(date), msToNext(), isBusy(), runsLeft() and
    getPattern(). ([#​547])
  • cron.parse(expression) and cron.validateDetailed(expression):
    decompose an expression into its fields, or get every field-level problem
    (without throwing) for tooling and richer error messages. ([#​548])
  • Distributed run coordination — opt-in distributed: true runs a task on a
    single instance per fire across a fleet. Ships a built-in NODE_CRON_RUN
    env-var default (one designated runner, no dependencies) and a pluggable
    RunCoordinator (via setRunCoordinator, or the per-task runCoordinator
    option) for high-availability, per-fire coordination (e.g. a Redis lock).
    Adds the distributedTtl option and an execution:skipped event carrying a
    reason ('not-elected' | 'coordinator-error'). Works for inline and
    background tasks. ([#​549])
Fixed
  • getNextMatch no longer scans every time of day on a day that matches the
    day-of-month but not the weekday. A dense expression constrained by both
    (e.g. * * * 15 * 1) could take minutes to resolve; it is now instant.
Changed
  • Internal-only cleanups (no public API change): fixed the milisecond
    millisecond spelling and the convertion/conversion/ directory name.

v4.3.0

Compare Source

Added
  • L (last day of month) in the day-of-month field — e.g. 0 0 12 L * *,
    leap-year aware and combinable with explicit days (15,L). ([#​147])
  • missedExecutionTolerance option (ms, default 1000): a heartbeat that
    wakes a little late still runs its slot instead of being reported as missed.
    Always capped to the gap to the next slot, so it can never run a slot twice.
    ([#​485])
  • startTimeout option for background tasks (ms, default 5000). ([#​535])
Fixed
  • DST correctness in getNextMatch: no more ~1-year overshoot when a daily time
    falls in the spring-forward gap. ([#​518])
  • Background task start failures now reject with the real cause (e.g.
    unsupported TypeScript syntax, missing file) instead of an opaque timeout, and
    a failed or timed-out start no longer leaves an orphaned daemon running.
    ([#​484])
  • Long-timer drift no longer produces spurious "missed execution" warnings or
    skipped runs on daily/weekly schedules. ([#​485])
Changed
  • Minimum supported Node.js is now >= 20 (was >= 20.11); tested on Node
    20, 22 and 24.

Behavior note: missedExecutionTolerance defaults to 1000ms, so a
scheduled run that wakes up to ~1s late now executes instead of emitting
execution:missed. This is a bug-fix improvement, not an API break.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from antoinekm as a code owner June 17, 2026 19:12
@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Jun 17, 2026
@renovate renovate Bot changed the title ⬆️ upgrade node-cron to v4.3.0 ⬆️ upgrade node-cron to v4.4.1 Jun 18, 2026
@renovate
renovate Bot force-pushed the renovate/node-cron-4.x-lockfile branch 2 times, most recently from 3c7581f to 1fc8a6a Compare June 21, 2026 20:26
@renovate renovate Bot changed the title ⬆️ upgrade node-cron to v4.4.1 ⬆️ upgrade node-cron to v4.5.0 Jun 21, 2026
@renovate
renovate Bot force-pushed the renovate/node-cron-4.x-lockfile branch from 1fc8a6a to efc00e7 Compare July 5, 2026 16:41
@renovate renovate Bot changed the title ⬆️ upgrade node-cron to v4.5.0 ⬆️ upgrade node-cron to v4.6.0 Jul 5, 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant