Skip to content

chore(deps): bump croner from 3.0.1 to 4.0.0 - #13

Merged
tinkeragora merged 2 commits into
mainfrom
dependabot/cargo/croner-4.0.0
Sep 21, 2026
Merged

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

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps croner from 3.0.1 to 4.0.0.

Release notes

Sourced from croner's releases.

4.0.0

Croner 4.0.0 Release Notes

Major Features & New Backends

  • Generic CronDateTime Trait & Jiff Support: Introduced a backend-agnostic CronDateTime trait by @​ion-elgreco (#48), adding an optional, high-performance jiff datetime backend alongside chrono (#49). The chrono backend is now placed behind an optional feature flag (enabled by default).
  • LW & 31W Support: Added support for the LW (last weekday) pattern and verified 31W behavior ([#37](Hexagon/croner-rust#37)).
  • OCPS-Compliant Validation: Added OCPS-compliant step syntax validation with an optional sloppy_ranges mode ([#39](Hexagon/croner-rust#39)).
  • Derive Traits: Derived Eq and Ord implementations for Cron by @​CardboardTurkey ([#43](Hexagon/croner-rust#43)).

Improvements, Bug Fixes & Refactoring


Breaking Changes & Migration Guide

Version 4.0 introduces architectural upgrades that may require code adjustments. For complete details, consult the official https://github.com/hexagon/croner-rust/blob/HEAD/MIGRATION.md guide. Key breaking changes include:

  • Optional Chrono Feature: chrono is now an optional feature flag (enabled by default). If your project compiles with default-features = false, you must explicitly add "chrono" or "jiff" to your Cargo.toml.
  • Stricter Step Syntax Validation: Shortcut step syntax (e.g., 5/5 * * * *) is now rejected by default and requires explicit ranges like 5-59/5 * * * *. You can restore the old lenient behavior by building your parser with .sloppy_ranges(true).
  • Generic Datetime Methods: Methods now bind on the new CronDateTime trait instead of chrono::TimeZone. Return types match the input type. When type inference is ambiguous (e.g., with multiple backends enabled), a turbofish annotation may be needed:
let next = cron
    .find_next_occurrence::<chrono::DateTime<chrono::Utc>>(&chrono::Utc::now(), false)
    .unwrap();

  • Removed/Deprecated APIs:
  • The internal tuple-returning find_occurrence method has been removed from the public API; use find_next_occurrence instead.
  • The crate-level croner::from_naive function is deprecated; use chrono::TimeZone::from_local_datetime directly.
  • CronIterator<Tz> has been renamed to CronIterator<T>.

New Contributors

Full Changelog: Hexagon/croner-rust@v3.0.1...v4.0.0

Changelog

Sourced from croner's changelog.

[4.0.0]

Added

  • Added backend-agnostic searching through the CronDateTime trait and shared civil-time abstractions.
  • Added an optional jiff backend, simple_demo_jiff, and backend parity coverage.
  • Added OCPS-focused coverage for LW, +, and strict step-syntax validation.
  • Added a dedicated migration guide for 3.x to 4.0 upgrades.
  • Added regression tests for backward searches across DST gaps.

Changed

  • Made the chrono backend optional while keeping it enabled by default.
  • Made occurrence-finding APIs generic over the input datetime type.
  • Tightened default step parsing to the OCPS-compliant forms, with sloppy_ranges(true) available for backward compatibility.

Fixed

  • Fixed DST overlap iteration and search ordering for both backends.
  • Fixed backward fixed-time searches in DST gaps so they return the post-gap scheduled instant instead of a pre-gap placeholder.
  • Refined README and example guidance for the 4.0 backend split.
Commits
  • 9babd91 Prepare 4.0 #2 (#55)
  • 0d8dc9d Preparations for 4.0.0 (#54)
  • 1d08347 Update README and simple_demo to use Jiff backend (#52)
  • d73190c Merge pull request #53 from ion-elgreco/fix/dst-iteration
  • b6a0993 fix: dst iteration for jiff
  • 7dd71c1 fix: iteration during dst overlap
  • 13d8b63 Merge pull request #49 from ion-elgreco/feat/jiff-support
  • f9f538d test: cap the parity test at the Unix epoch
  • c0ea870 feat: add a jiff backend
  • c8bf6a6 build: put the chrono backend behind a feature flag
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 14, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/croner-4.0.0 branch from a65c090 to 796e646 Compare September 21, 2026 10:34
Bumps [croner](https://github.com/hexagon/croner-rust) from 3.0.1 to 4.0.0.
- [Release notes](https://github.com/hexagon/croner-rust/releases)
- [Changelog](https://github.com/Hexagon/croner-rust/blob/main/CHANGELOG.md)
- [Commits](Hexagon/croner-rust@v3.0.1...v4.0.0)

---
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>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/croner-4.0.0 branch from 35dbe57 to 73d22ac Compare September 21, 2026 18:43
@tinkeragora
tinkeragora enabled auto-merge (squash) September 21, 2026 18:47
@tinkeragora
tinkeragora merged commit b82c54b into main Sep 21, 2026
15 checks passed
@tinkeragora
tinkeragora deleted the dependabot/cargo/croner-4.0.0 branch September 21, 2026 19:40
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 rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant