gbbirkisson / spis

Simple private image server 🖼️
GNU General Public License v3.0
128 stars 8 forks source link

fix(deps): update rust crate chrono to v0.4.38 #189

Closed renovate[bot] closed 4 months ago

renovate[bot] commented 5 months ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
chrono dependencies patch 0.4.33 -> 0.4.38

Release Notes

chronotope/chrono (chrono) ### [`v0.4.38`](https://togithub.com/chronotope/chrono/releases/tag/v0.4.38) [Compare Source](https://togithub.com/chronotope/chrono/compare/v0.4.37...v0.4.38) This release bring a ca. 20% improvement to the performance of the formatting code, and a convenient `days_since` method for the `Weekday` type. Chrono 0.4.38 also removes the long deprecated `rustc-serialize` feature. Support for `rustc-serialize` will be [soft-destabilized in the next Rust edition](https://togithub.com/rust-lang/rust/pull/116016). Removing the feature will not break existing users of the feature; Cargo will just not update dependents that rely on it to newer versions of chrono. In chrono 0.4.36 we made an accidental breaking change by switching to `derive(Copy)` for `DateTime` instead of a manual implementation. It is reverted in this release. ### Removals - Remove `rustc-serialize` feature ([#​1548](https://togithub.com/chronotope/chrono/issues/1548), thanks [@​workingjubilee](https://togithub.com/workingjubilee)) ### Additions - Add `Weekday::days_since` ([#​1249](https://togithub.com/chronotope/chrono/issues/1249), based on [#​216](https://togithub.com/chronotope/chrono/issues/216) by [@​clarfonthey](https://togithub.com/clarfonthey)) - Add `TimeDelta::checked_mul` and `TimeDelta::checked_div` ([#​1565](https://togithub.com/chronotope/chrono/issues/1565), thanks [@​Zomtir](https://togithub.com/Zomtir)) ### Fixes - Return error when rounding with a zero duration ([#​1474](https://togithub.com/chronotope/chrono/issues/1474), thanks [@​Dav1dde](https://togithub.com/Dav1dde)) - Manually implement `Copy` for `DateTime` if offset is `Copy` ([#​1573](https://togithub.com/chronotope/chrono/issues/1573)) ### Internal - Inline `test_encodable_json` and `test_decodable_json` functions ([#​1550](https://togithub.com/chronotope/chrono/issues/1550)) - CI: Reduce combinations in `cargo hack check` ([#​1553](https://togithub.com/chronotope/chrono/issues/1553)) - Refactor formatting code ([#​1335](https://togithub.com/chronotope/chrono/issues/1335)) - Optimize number formatting ([#​1558](https://togithub.com/chronotope/chrono/issues/1558)) - Only package files needed for building and testing ([#​1554](https://togithub.com/chronotope/chrono/issues/1554)) Thanks to all contributors on behalf of the chrono team, [@​djc](https://togithub.com/djc) and [@​pitdicker](https://togithub.com/pitdicker)! ### [`v0.4.37`](https://togithub.com/chronotope/chrono/releases/tag/v0.4.37) [Compare Source](https://togithub.com/chronotope/chrono/compare/v0.4.36...v0.4.37) Version 0.4.36 introduced an unexpected breaking change and was yanked. In it `LocalResult` was renamed to `MappedLocalTime` to avoid the impression that it is a `Result` type were some of the results are errors. For backwards compatibility a type alias with the old name was added. As it turns out there is one case where a type alias behaves differently from the regular enum: you can't import enum variants from a type alias with `use chrono::LocalResult::*`. With 0.4.37 we make the new name `MappedLocalTime` the alias, but keep using it in function signatures and the documentation as much as possible. See also the release notes of [chrono 0.4.36](https://togithub.com/chronotope/chrono/releases/tag/v0.4.36) from yesterday for the yanked release. ### [`v0.4.36`](https://togithub.com/chronotope/chrono/releases/tag/v0.4.36) [Compare Source](https://togithub.com/chronotope/chrono/compare/v0.4.35...v0.4.36) This release un-deprecates the methods on `TimeDelta` that were deprecated with the 0.4.35 release because of the churn they are causing for the ecosystem. New is the `DateTime::with_time()` method. As an example of when it is useful: ```rust use chrono::{Local, NaiveTime}; // Today at 12:00:00 let today_noon = Local::now().with_time(NaiveTime::from_hms_opt(12, 0, 0).unwrap()); ``` ### Additions - Add `DateTime::with_time()` ([#​1510](https://togithub.com/chronotope/chrono/issues/1510)) ### Deprecations - Revert `TimeDelta` deprecations ([#​1543](https://togithub.com/chronotope/chrono/issues/1543)) - Deprecate `TimeStamp::timestamp_subsec_nanos`, which was missed in the 0.4.35 release ([#​1486](https://togithub.com/chronotope/chrono/issues/1486)) ### Documentation - Correct version number of deprecation notices ([#​1486](https://togithub.com/chronotope/chrono/issues/1486)) - Fix some typos ([#​1505](https://togithub.com/chronotope/chrono/issues/1505)) - Slightly improve serde documentation ([#​1519](https://togithub.com/chronotope/chrono/issues/1519)) - Main documentation: simplify links and reflow text ([#​1535](https://togithub.com/chronotope/chrono/issues/1535)) ### Internal - CI: Lint benchmarks ([#​1489](https://togithub.com/chronotope/chrono/issues/1489)) - Remove unnessary `Copy` and `Send` impls ([#​1492](https://togithub.com/chronotope/chrono/issues/1492), thanks [@​erickt](https://togithub.com/erickt)) - Backport streamlined `NaiveDate` unit tests ([#​1500](https://togithub.com/chronotope/chrono/issues/1500), thanks [@​Zomtir](https://togithub.com/Zomtir)) - Rename `LocalResult` to `TzResolution`, add alias ([#​1501](https://togithub.com/chronotope/chrono/issues/1501)) - Update windows-bindgen to 0.55 ([#​1504](https://togithub.com/chronotope/chrono/issues/1504)) - Avoid duplicate imports, which generate warnings on nightly ([#​1507](https://togithub.com/chronotope/chrono/issues/1507)) - Add extra debug assertions to `NaiveDate::from_yof` ([#​1518](https://togithub.com/chronotope/chrono/issues/1518)) - Some small simplifications to `DateTime::date_naive` and `NaiveDate::diff_months` ([#​1530](https://togithub.com/chronotope/chrono/issues/1530)) - Remove `unwrap` in Unix `Local` type ([#​1533](https://togithub.com/chronotope/chrono/issues/1533)) - Use different method to ignore feature-dependent doctests ([#​1534](https://togithub.com/chronotope/chrono/issues/1534)) Thanks to all contributors on behalf of the chrono team, [@​djc](https://togithub.com/djc) and [@​pitdicker](https://togithub.com/pitdicker)! ### [`v0.4.35`](https://togithub.com/chronotope/chrono/releases/tag/v0.4.35) [Compare Source](https://togithub.com/chronotope/chrono/compare/v0.4.34...v0.4.35) Most of our efforts have shifted to improving the API for a 0.5 release, for which cleanups and refactorings are landing on the 0.4.x branch. The most significant changes in this release are two sets of deprecations. - We deprecated all timestamp-related methods on `NaiveDateTime`. The reason is that a timestamp is defined to be in UTC. The `NaiveDateTime` type doesn't know the offset from UTC, so it was technically wrong to have these methods. The alternative is to use the similar methods on the `DateTime` type, or from the `TimeZone` trait. Converting from `NaiveDateTime` to `DateTime` is simple with `.and_utc()`, and in the other direction with `.naive_utc()`. - The panicking constructors of `TimeDelta` (the new name of the `Duration` type) are deprecated. This was the last part of chrono that defaulted to panicking on error, dating from before rust 1.0. - A nice change is that `NaiveDate` now includes a niche. So now `Option`, `Option` and `Option>` are the same size as their base types. - `format::Numeric` and `format::Fixed` are marked as `non_exhaustive`. This will allow us to improve our formatting and parsing support, and we have reason to believe this breaking change will have little to no impact on users. ### Additions - Add `DateTime::{from_timestamp_micros, from_timestamp_nanos}` ([#​1234](https://togithub.com/chronotope/chrono/issues/1234)) - Add getters to `Parsed` ([#​1465](https://togithub.com/chronotope/chrono/issues/1465)) ### Deprecations - Deprecate timestamp methods on `NaiveDateTime` ([#​1473](https://togithub.com/chronotope/chrono/issues/1473)) - Deprecate panicking constructors of `TimeDelta` ([#​1450](https://togithub.com/chronotope/chrono/issues/1450)) ### Changes/fixes - Use `NonZeroI32` inside `NaiveDate` ([#​1207](https://togithub.com/chronotope/chrono/issues/1207)) - Mark `format::Numeric` and `format::Fixed` as `non_exhaustive` ([#​1430](https://togithub.com/chronotope/chrono/issues/1430)) - `Parsed` fixes to error values ([#​1439](https://togithub.com/chronotope/chrono/issues/1439)) - Use `overflowing_naive_local` in `DateTime::checked_add*` ([#​1333](https://togithub.com/chronotope/chrono/issues/1333)) - Do complete range checks in `Parsed::set_*` ([#​1465](https://togithub.com/chronotope/chrono/issues/1465)) ### Documentation - Rustfmt doctests ([#​1452](https://togithub.com/chronotope/chrono/issues/1452)) - Improve docs for crate features ([#​1455](https://togithub.com/chronotope/chrono/issues/1455), thanks [@​edmorley](https://togithub.com/edmorley)) - Add more documentation and examples to `Parsed` ([#​1439](https://togithub.com/chronotope/chrono/issues/1439)) ### Internal - Refactor `internals` module ([#​1428](https://togithub.com/chronotope/chrono/issues/1428), [#​1429](https://togithub.com/chronotope/chrono/issues/1429), [#​1431](https://togithub.com/chronotope/chrono/issues/1431), [#​1432](https://togithub.com/chronotope/chrono/issues/1432), [#​1433](https://togithub.com/chronotope/chrono/issues/1433), [#​1438](https://togithub.com/chronotope/chrono/issues/1438)) - CI: test cross-compiling to `x86_64-unknown-illumos` instead of Solaris ([#​1437](https://togithub.com/chronotope/chrono/issues/1437)) - CI: lint Windows target, fix clippy warning ([#​1441](https://togithub.com/chronotope/chrono/issues/1441)) - CI: only run `cargo hack check` on Linux ([#​1442](https://togithub.com/chronotope/chrono/issues/1442)) - Update windows-bindgen to 0.54 ([#​1462](https://togithub.com/chronotope/chrono/issues/1462), [#​1483](https://togithub.com/chronotope/chrono/issues/1483)) - Simplify error value of `parse_internal` ([#​1459](https://togithub.com/chronotope/chrono/issues/1459)) - Simplify `SerdeError` ([#​1458](https://togithub.com/chronotope/chrono/issues/1458)) - Simplify `NaiveDate::from_isoywd` a bit ([#​1464](https://togithub.com/chronotope/chrono/issues/1464)) Thanks to all contributors on behalf of the chrono team, [@​djc](https://togithub.com/djc) and [@​pitdicker](https://togithub.com/pitdicker)! ### [`v0.4.34`](https://togithub.com/chronotope/chrono/releases/tag/v0.4.34) [Compare Source](https://togithub.com/chronotope/chrono/compare/v0.4.33...v0.4.34) ### Notable changes - In chrono 0.4.34 we finished the work to make all methods const where doing so is supported by rust 1.61. - We renamed the `Duration` type to `TimeDelta`. This removes the confusion between chrono's type and the later `Duration` type in the standard library. It will remain available under the old name as a type alias for compatibility. - The Windows implementation of `Local` is rewritten. The new version avoids panics when the date is outside of the range supported by windows (the years 1601 to 30828), and gives more accurate results during DST transitions. - The `Display` format of `TimeDelta` is modified to conform better to ISO 8601. Previously it converted all values greater than 24 hours to a value with days. This is not correct, as doing so changes the duration from an 'accurate' to a 'nominal' representation to use ISO 8601 terms. ### Fixes - Add missing range check in `TimeDelta::milliseconds` ([#​1385](https://togithub.com/chronotope/chrono/issues/1385), thanks [@​danwilliams](https://togithub.com/danwilliams)) - Remove check for `DurationExceedsTimestamp` in `DurationRound` ([#​1403](https://togithub.com/chronotope/chrono/issues/1403), thanks [@​joroKr21](https://togithub.com/joroKr21)) - Fix localized formatting with `%X` ([https://github.com/chronotope/pure-rust-locales/pull/12](https://togithub.com/chronotope/pure-rust-locales/pull/12), [#​1420](https://togithub.com/chronotope/chrono/issues/1420)) - Windows: base implementation on `GetTimeZoneInformationForYear` ([#​1017](https://togithub.com/chronotope/chrono/issues/1017)) ### Additions - Add `TimeDelta::try_milliseconds` ([#​1385](https://togithub.com/chronotope/chrono/issues/1385), thanks [@​danwilliams](https://togithub.com/danwilliams)) - Add `TimeDelta::new` ([#​1337](https://togithub.com/chronotope/chrono/issues/1337)) - Add `StrftimeItems::{parse, parse_to_owned}` and more documentation ([#​1184](https://togithub.com/chronotope/chrono/issues/1184)) - More standard traits and documentation for `format::Locale` (via [https://github.com/chronotope/pure-rust-locales/pull/8](https://togithub.com/chronotope/pure-rust-locales/pull/8)) ### Changes - Rename `Duration` to `TimeDelta`, add type alias ([#​1406](https://togithub.com/chronotope/chrono/issues/1406)) - Make `TimeDelta` methods const ([#​1337](https://togithub.com/chronotope/chrono/issues/1337)) - Make remaining methods of `NaiveDate`, `NaiveWeek`, `NaiveTime` and `NaiveDateTime` const where possible ([#​1337](https://togithub.com/chronotope/chrono/issues/1337)) - Make methods on `DateTime` const where possible ([#​1400](https://togithub.com/chronotope/chrono/issues/1400)) - Make `Display` format of `TimeDelta` conform better to ISO 8601 ([#​1328](https://togithub.com/chronotope/chrono/issues/1328)) ### Documentation - Fix the formatting of `timestamp_micros`'s Example doc ([#​1338](https://togithub.com/chronotope/chrono/issues/1338) via [#​1386](https://togithub.com/chronotope/chrono/issues/1386), thanks [@​emikitas](https://togithub.com/emikitas)) - Specify branch for GitHub Actions badge and fix link ([#​1388](https://togithub.com/chronotope/chrono/issues/1388)) - Don't mention some deprecated methods in docs ([#​1395](https://togithub.com/chronotope/chrono/issues/1395)) - Remove stray documentation from main ([#​1397](https://togithub.com/chronotope/chrono/issues/1397)) - Improved documentation of `TimeDelta` constructors ([#​1385](https://togithub.com/chronotope/chrono/issues/1385), thanks [@​danwilliams](https://togithub.com/danwilliams)) ### Internal - Switch branch names: 0.4.x releases are the `main` branch, work on 0.5 happens in the `0.5.x` branch ([#​1390](https://togithub.com/chronotope/chrono/issues/1390), [#​1402](https://togithub.com/chronotope/chrono/issues/1402)). - Don't use deprecated method in `impl Arbitrary for DateTime` and set up CI test ([#​1336](https://togithub.com/chronotope/chrono/issues/1336)) - Remove workaround for Rust < 1.61 ([#​1393](https://togithub.com/chronotope/chrono/issues/1393)) - Bump `codecov/codecov-action` from 3 to 4 ([#​1404](https://togithub.com/chronotope/chrono/issues/1404)) - Remove partial support for handling `-0000` offset ([#​1411](https://togithub.com/chronotope/chrono/issues/1411)) - Move `TOO_LONG` error out of `parse_internal` ([#​1419](https://togithub.com/chronotope/chrono/issues/1419)) Thanks to all contributors on behalf of the chrono team, [@​djc](https://togithub.com/djc) and [@​pitdicker](https://togithub.com/pitdicker)!

Configuration

📅 Schedule: 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.



This PR has been generated by Mend Renovate. View repository job log here.

codecov[bot] commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 6.89%. Comparing base (c8aa488) to head (872f48a).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #189 +/- ## ===================================== Coverage 6.89% 6.89% ===================================== Files 16 16 Lines 725 725 ===================================== Hits 50 50 Misses 675 675 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.