Update Rust crate jiff to v0.2.18 (#17559)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [jiff](https://redirect.github.com/BurntSushi/jiff) | workspace.dependencies | patch | `0.2.16` → `0.2.18` | --- ### Release Notes <details> <summary>BurntSushi/jiff (jiff)</summary> ### [`v0.2.18`](https://redirect.github.com/BurntSushi/jiff/blob/HEAD/CHANGELOG.md#0218-2026-01-05) [Compare Source](https://redirect.github.com/BurntSushi/jiff/compare/0.2.17...0.2.18) \=================== This release ships a sizeable refactor to the RFC 2822, RFC 9110, RC 3339, RFC 9557, ISO 8601 and friendly format printers. Specifically, they are now all monomorphic internally (instead of being generic over `jiff::fmt::Write`) and write to uninitialized buffers. This improves runtime performance (sometimes dramatically so), and to a more modest degree, decreases binary size and improves compile times. This release also includes a bug fix where `DateTime::MIN.to_zoned(..)` could panic. Enhancements: - [#​460](https://redirect.github.com/BurntSushi/jiff/pull/460): Improve runtime performance and binary size of RFC 2822 printer. - [#​461](https://redirect.github.com/BurntSushi/jiff/pull/461): Tweak behavior of printing min/max offsets in RFC 2822 and Temporal printers. - [#​462](https://redirect.github.com/BurntSushi/jiff/pull/462): Export fallible constructors for `jiff::SignedDuration`. - [#​465](https://redirect.github.com/BurntSushi/jiff/pull/465): Improve runtime performance and binary size of the "friendly" duration printer. - [#​468](https://redirect.github.com/BurntSushi/jiff/pull/468): Improve runtime performance and binary size of the Temporal ISO 8601 duration printer. - [#​470](https://redirect.github.com/BurntSushi/jiff/pull/470): Improve runtime performance and binary size of the Temporal ISO 8601 datetime printer. - [#​474](https://redirect.github.com/BurntSushi/jiff/pull/474): Improve runtime performance and binary size of Jiff's `strftime` implementation. - [#​477](https://redirect.github.com/BurntSushi/jiff/pull/477): Fix a bug where time zone lookups for `civil::DateTime::MIN` could panic. ### [`v0.2.17`](https://redirect.github.com/BurntSushi/jiff/blob/HEAD/CHANGELOG.md#0217-2025-12-24) [Compare Source](https://redirect.github.com/BurntSushi/jiff/compare/0.2.16...0.2.17) \=================== This release contains binary size improvements to Jiff, more succinct error messages and some new minor APIs. While Jiff 1.0 is overdue, I've been doing a lot of experimenting with improving Jiff's binary size and compile times. In particular, I want to spend time doing this before Jiff 1.0 so that we don't box ourselves into a corner. (For example, some binary size improvements may require minor API breaking changes.) In this release, Jiff has switched to structured error handling internally in an effort to provide error predicates and also hopefully improve binary sizes and compile times. Overall this didn't have as big of an impact on binary sizes or compile times as I was hoping. I did take this opportunity to make Jiff's error messages a bit more succinct. In many cases, this involved de-duplicating some aspects of error messages and omitting user provided input in the messages. If you feel like there is a significant decrease in error message quality that isn't easily amended by callers providing additional context themselves, please open an issue. This release also updates Jiff's bundled copy of the \[IANA Time Zone Database] to `2025c`. See the [`2025c` release announcement] for more details. Enhancements: - [#​412](https://redirect.github.com/BurntSushi/jiff/issues/412): Add `Display`, `FromStr`, `Serialize` and `Deserialize` trait implementations for `jiff::civil::ISOWeekDate`. These all use the ISO 8601 week date format. - [#​418](https://redirect.github.com/BurntSushi/jiff/issues/418): Add some basic predicates to `jiff::Error` for basic error introspection. - [#​453](https://redirect.github.com/BurntSushi/jiff/pull/453), [#​454](https://redirect.github.com/BurntSushi/jiff/pull/454): Switch to structured error handling internally. - [#​456](https://redirect.github.com/BurntSushi/jiff/pull/456), [#​457](https://redirect.github.com/BurntSushi/jiff/pull/457), [#​458](https://redirect.github.com/BurntSushi/jiff/pull/458): Various improvements to binary size. [`2025c` release announcement]: https://lists.iana.org/hyperkitty/list/tz-announce@iana.org/thread/TAGXKYLMAQRZRFTERQ33CEKOW7KRJVAK/ </details> --- ### Configuration 📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/astral-sh/uv). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC41IiwidXBkYXRlZEluVmVyIjoiNDIuNzQuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Zanie Blue <contact@zanie.dev>
This commit is contained in:
Generated
+4
-4
@@ -2417,9 +2417,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||
|
||||
[[package]]
|
||||
name = "jiff"
|
||||
version = "0.2.16"
|
||||
version = "0.2.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35"
|
||||
checksum = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50"
|
||||
dependencies = [
|
||||
"jiff-static",
|
||||
"jiff-tzdb-platform",
|
||||
@@ -2432,9 +2432,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "jiff-static"
|
||||
version = "0.2.16"
|
||||
version = "0.2.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69"
|
||||
checksum = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
||||
@@ -997,7 +997,7 @@ fn lock_exclude_newer_relative_values() -> Result<()> {
|
||||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
error: invalid value 'P4Z' for '--exclude-newer <EXCLUDE_NEWER>': `P4Z` could not be parsed as an ISO 8601 duration: failed to parse "P4Z" as an ISO 8601 duration string: expected to find date unit designator suffix (Y, M, W or D), but found "Z" instead
|
||||
error: invalid value 'P4Z' for '--exclude-newer <EXCLUDE_NEWER>': `P4Z` could not be parsed as an ISO 8601 duration: expected to find date unit designator suffix (`Y`, `M`, `W` or `D`), but found `Z` instead
|
||||
|
||||
For more information, try '--help'.
|
||||
"#);
|
||||
@@ -1039,7 +1039,7 @@ fn lock_exclude_newer_relative_values() -> Result<()> {
|
||||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
error: invalid value '2 weak' for '--exclude-newer <EXCLUDE_NEWER>': `2 weak` could not be parsed as a duration: failed to parse "2 weak" in the "friendly" format: parsed value 'P2W', but unparsed input "eak" remains (expected no unparsed input)
|
||||
error: invalid value '2 weak' for '--exclude-newer <EXCLUDE_NEWER>': `2 weak` could not be parsed as a duration: failed to parse input in the "friendly" duration format: parsed value 'P2W', but unparsed input "eak" remains (expected no unparsed input)
|
||||
|
||||
For more information, try '--help'.
|
||||
"#);
|
||||
@@ -1067,7 +1067,7 @@ fn lock_exclude_newer_relative_values() -> Result<()> {
|
||||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
error: invalid value '1000000 years' for '--exclude-newer <EXCLUDE_NEWER>': `1000000 years` could not be parsed as a duration: failed to parse "1000000 years" in the "friendly" format: failed to set value 1000000 as year unit on span: parameter 'years' with value 1000000 is not in the required range of -19998..=19998
|
||||
error: invalid value '1000000 years' for '--exclude-newer <EXCLUDE_NEWER>': `1000000 years` could not be parsed as a duration: failed to parse input in the "friendly" duration format: failed to set value for year unit on span: parameter 'years' with value 1000000 is not in the required range of -19998..=19998
|
||||
|
||||
For more information, try '--help'.
|
||||
"#);
|
||||
@@ -1135,7 +1135,7 @@ fn lock_exclude_newer_relative_values_pyproject() -> Result<()> {
|
||||
|
|
||||
9 | exclude-newer = "2 foos"
|
||||
| ^^^^^^^^
|
||||
`2 foos` could not be parsed as a duration: failed to parse "2 foos" in the "friendly" format: expected to find unit designator suffix (e.g., 'years' or 'secs'), but found input beginning with "foos" instead
|
||||
`2 foos` could not be parsed as a duration: failed to parse input in the "friendly" duration format: expected to find unit designator suffix (e.g., `years` or `secs`) after parsing integer
|
||||
|
||||
Resolved 2 packages in [TIME]
|
||||
"#);
|
||||
@@ -1165,7 +1165,7 @@ fn lock_exclude_newer_relative_values_pyproject() -> Result<()> {
|
||||
|
|
||||
9 | exclude-newer = "P4Z"
|
||||
| ^^^^^
|
||||
`P4Z` could not be parsed as an ISO 8601 duration: failed to parse "P4Z" as an ISO 8601 duration string: expected to find date unit designator suffix (Y, M, W or D), but found "Z" instead
|
||||
`P4Z` could not be parsed as an ISO 8601 duration: expected to find date unit designator suffix (`Y`, `M`, `W` or `D`), but found `Z` instead
|
||||
|
||||
Resolved 2 packages in [TIME]
|
||||
"#);
|
||||
|
||||
@@ -3437,7 +3437,7 @@ fn compile_exclude_newer() -> Result<()> {
|
||||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
error: invalid value '2022-04-04T26:00:00+00' for '--exclude-newer <EXCLUDE_NEWER>': `2022-04-04T26:00:00+00` could not be parsed as a valid date: failed to parse hour in time "26:00:00+00": hour is not valid: parameter 'hour' with value 26 is not in the required range of 0..=23
|
||||
error: invalid value '2022-04-04T26:00:00+00' for '--exclude-newer <EXCLUDE_NEWER>': `2022-04-04T26:00:00+00` could not be parsed as a valid date: failed to parse hour in time: parsed hour is not valid: parameter 'hour' with value 26 is not in the required range of 0..=23
|
||||
|
||||
For more information, try '--help'.
|
||||
"#
|
||||
|
||||
Reference in New Issue
Block a user