Skip to content

chore(deps): update dependency node-cron to v4.6.0 - #4

Merged
Skiipy11 merged 1 commit into
mainfrom
renovate/node-cron-4.x-lockfile
Jul 19, 2026
Merged

chore(deps): update dependency node-cron to v4.6.0#4
Skiipy11 merged 1 commit into
mainfrom
renovate/node-cron-4.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
node-cron (source) 4.2.14.6.0 age adoption passing 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.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • api/package-lock.json is excluded by !**/package-lock.json

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b196ebb0-e4ad-48b4-8076-6aa490ce510b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/node-cron-4.x-lockfile

Comment @coderabbitai help to get the list of available commands.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednode-cron@​4.2.1 ⏵ 4.6.09910010092 +1100

View full report

@Skiipy11
Skiipy11 merged commit 34e3bb4 into main Jul 19, 2026
5 checks passed
@Skiipy11
Skiipy11 deleted the renovate/node-cron-4.x-lockfile branch July 19, 2026 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant