Skip to content

chore(deps)(deps): bump croner from 2.2.0 to 3.0.1 - #132

Merged
chinkan merged 2 commits into
mainfrom
dependabot/cargo/croner-4.0.0
Oct 6, 2026
Merged

chinkan merged 2 commits into
mainfrom
dependabot/cargo/croner-4.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Bumps croner from 2.2.0 to 3.0.1.

Release notes

Sourced from croner's releases.

3.0.1

Croner 3.0.1 Release Notes

This is a patch release that fixes a grammatical issue in cron pattern descriptions and updates several dependencies to their latest versions.

Bug Fixes

Fixed Incorrect Cron Descriptors (#35)

Fixed grammatical errors in human-readable descriptions for patterns with wildcard minutes/seconds and specific hours.

Before:

Cron::from_str("* 0 * * *").unwrap().describe()
// Output: "At of hour 0."  ❌

After:

Cron::from_str("* 0 * * *").unwrap().describe()
// Output: "Every minute past hour 0."  ✅

Additional patterns fixed:

  • * 5 * * * → "Every minute past hour 5."
  • * 0,12 * * * → "Every minute past hour 0 and 12."
  • * 0-5 * * * → "Every minute past hour 0-5."
  • * */2 * * * → "Every minute past of every 2 hours."
  • * * 0 * * * → "Every second past hour 0." (6-field patterns)
  • * * 5 * * * → "Every second past hour 5." (6-field patterns)

Dependency Updates

All dependencies have been updated to their latest compatible versions:

Production Dependencies

  • chrono: 0.4.38 → 0.4.42 (bug fixes and improvements)
  • strum: 0.27.1 → 0.27.2 (minor update)

Development Dependencies

  • chrono-tz: 0.10.0 → 0.10.4 (IANA timezone database updates)
  • criterion: 0.5.1 → 0.7.0 (benchmarking improvements)
  • rstest: 0.25.0 → 0.26.1 (test framework improvements)

All updates maintain full backwards compatibility.

🙏 Contributors

Thanks to @​JosiahParry for reporting issue #35!

... (truncated)

Changelog

Sourced from croner's changelog.

[3.0.1]

Fixed

  • Fixed natural-language descriptions for patterns such as * 0 * * * and * * 0 * * *.

Changed

  • Updated dependency versions and refreshed versioned README examples.
Commits
  • 2d9085c Fix issue #35
  • 6e7b30d Update README
  • cbf9ce4 Bump version
  • 602d877 Feature/separate interval vs fixed jobs (#33)
  • 05b94f7 Implement plus-modifier for full OCPS-conformance. (#32)
  • 5820e63 Fix year search (#31)
  • 0e78d79 Merge pull request #30 from Hexagon/fix/ensure-7-fields-years-required
  • 7fbd4d4 Ensure 7 fields when years are required
  • f2aec12 Merge pull request #27 from Hexagon/feature/ocps-1.4-compliance
  • caf7993 Add --all-features to development docs. Fix serde test.
  • Additional commits viewable in compare view

@dependabot @github

dependabot Bot commented on behalf of github Oct 4, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies, rust. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot changed the title chore(deps)(deps): bump croner from 2.2.0 to 4.0.0 chore(deps)(deps): bump croner from 2.2.0 to 3.0.1 Oct 6, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/croner-4.0.0 branch from c1c8049 to c55b0e3 Compare October 6, 2026 00:25
@chinkan

chinkan commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Fix for croner 4 CI breakage

Root cause: croner 3+/4 removed Cron::new(...).with_seconds_*().with_dom_and_dow().parse(). Call sites in src/agent.rs (validate_cron_expr) and src/scheduler/reminders.rs (next_cron_occurrence) failed to compile.

Change:

  • Bump croner to \"4\" (Dependabot branch targeted 4.x; PR body had stopped at 3.0.1)
  • Migrate to CronParser::builder() via shared parse_scheduler_cron
  • Preserve old behaviour: Seconds::Required + dom_and_dow(true) (same as tokio-cron-scheduler) + sloppy_ranges(true) (croner 4 rejects shortcut steps like 1/10 by default; 2.x/3.x and tcs still accept them)
  • Regression test pins 6-field next occurrence, rejects 5-field, and accepts sloppy 0 1/10 * * * *

Dual versions: croner 4.0.1 (rustfox) + croner 3.0.1 (tokio-cron-scheduler 0.15.1) — no conflict; they do not fight in one graph edge.

Local verification:

  • cargo fmt --check ✅
  • cargo clippy --all-targets -- -D warnings ✅
  • env -u RUSTFOX_GOOGLE_OAUTH_CLIENT_ID cargo test ✅ — 917 tests passed

New head: 9136408

@chinkan
chinkan force-pushed the dependabot/cargo/croner-4.0.0 branch from c55b0e3 to 9136408 Compare October 6, 2026 00:53

@chinkan chinkan left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TL ACCEPT at 9136408 (code review; rebase tip may move after #134).

  • Shared parse_scheduler_cron: Seconds::Required + dom_and_dow(true) + sloppy_ranges(true) — preserves 0.12-era / tcs behaviour including 1/10 steps
  • Call sites in agent.rs + reminders.rs unified; regression pins 6-field next occurrence, rejects 5-field, keeps sloppy step
  • Dual croner (4.x rustfox / 3.x via tokio-cron-scheduler) is fine

Required CI green including Windows. Merge only after: (1) #134 lands and this PR is rebased clean, (2) Product GO + QA GO on PO schedule/reminder smoke (existing DB load + 1-min reminder). Do not tag.

dependabot Bot and others added 2 commits October 6, 2026 09:11
Bumps [croner](https://github.com/hexagon/croner-rust) from 2.2.0 to 3.0.1.
- [Release notes](https://github.com/hexagon/croner-rust/releases)
- [Changelog](https://github.com/Hexagon/croner-rust/blob/main/CHANGELOG.md)
- [Commits](Hexagon/croner-rust@v2.2.0...v3.0.1)

---
updated-dependencies:
- dependency-name: croner
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
croner 3+/4 removed Cron::new(...).with_seconds_*().parse() in favour of
CronParser::builder(). Keep Seconds::Required + dom_and_dow(true) to match
tokio-cron-scheduler, and enable sloppy_ranges(true) so shortcut step
forms like 1/10 (accepted in 2.x/3.x and by tcs) still parse under croner
4's stricter OCPS defaults. Shared via parse_scheduler_cron; bump crate
to 4 (tcs remains on croner 3 — dual versions in the tree).
@chinkan
chinkan force-pushed the dependabot/cargo/croner-4.0.0 branch from 9136408 to a54efd1 Compare October 6, 2026 01:13

@chinkan chinkan left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TL ACCEPT reaffirmed at rebase tip a54efd1 (on main e67250d).

Source diff unchanged vs 9136408 ACCEPT (parse_scheduler_cron + croner 4 + regressions). Merge after Product GO + QA schedule/reminder smoke + CI green. Do not tag.

@chinkan
chinkan merged commit 117e166 into main Oct 6, 2026
14 of 15 checks passed
@dependabot
dependabot Bot deleted the dependabot/cargo/croner-4.0.0 branch October 6, 2026 01:31
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