Skip to content

v2.9.1

Latest

Choose a tag to compare

@markusmobius markusmobius released this 13 Sep 22:17

Rust-Dateutil v2.9.1

Native Rust shared date compatibility for HtmlDate and DateParser, matching the Python-qualified Go-Dateutil v2.9.1 implementation. The upstream baseline remains python-dateutil 2.9.0.post0; CPython compatibility is separately pinned to 3.14.6.

Changes

  • Add compat::datetime::from_isoformat with CPython calendar/week dates, midnight rollover, microsecond offsets, and rejection behavior.
  • Add compat::datetime::timestamp with local naive gap/fold resolution and exact Python-compatible floating-point rounding.
  • Add explicit parser::LocalTimezone / parse_with_local_timezone and ParsedLocalDate fold state, preserving the existing ParsedDate API.
  • Expose the existing Python Unicode decimal helper. No new runtime dependencies, unsafe code, or worker threads.
  • Update README installation and API documentation; retain source provenance, independent fixtures, and the original CPython license.

Verification

17,256 independent Python-derived comparisons. Passed Rust 1.98.1 Linux debug/release and native Windows/GNU release suites, README doctests, strict all-target Clippy, formatting, package verification, and byte-identical pinned-Python regeneration.

GitHub source release only; not published to crates.io. This is the documented shared subset, not every Dateutil or CPython API. Complete HtmlDate integration remains a separate consumer gate. Existing v2.9.0 tags and fixtures are unchanged.

rust-dateutil = { version = "=2.9.1", git = "https://github.com/markusmobius/rust-dateutil", tag = "v2.9.1" }