chronotope/chrono (chrono)
### [`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)!
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» 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.
[ ] 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.34
->0.4.35
Release Notes
chronotope/chrono (chrono)
### [`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 `DateTimeConfiguration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» 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.