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)!
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: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
0.4.35
->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)!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: Never, 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.