Skip to content

Commit d7fa468

Browse files
chore(deps): update rust crates (#4)
> **Note:** This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [arrayvec05](https://redirect.github.com/bluss/arrayvec) | dependencies | minor | `0.5` -> `0.7` | | [arrayvec07](https://redirect.github.com/bluss/arrayvec) | dependencies | patch | `0.7.4` -> `0.7.6` | | [bigdecimal03](https://redirect.github.com/akubera/bigdecimal-rs) | dependencies | minor | `0.3` -> `0.4` | | [bigdecimal04](https://redirect.github.com/akubera/bigdecimal-rs) | dependencies | patch | `0.4.2` -> `0.4.9` | | [bytes](https://redirect.github.com/tokio-rs/bytes) | dependencies | minor | `1.5.0` -> `1.11.0` | | [chrono](https://redirect.github.com/chronotope/chrono) | dependencies | patch | `0.4.31` -> `0.4.42` | | [dyn-clone](https://redirect.github.com/dtolnay/dyn-clone) | dependencies | patch | `1.0.14` -> `1.0.20` | | [either](https://redirect.github.com/rayon-rs/either) | dependencies | minor | `1.9.0` -> `1.15.0` | | [enumset](https://redirect.github.com/Lymia/enumset) | dependencies | patch | `1.1.3` -> `1.1.10` | | [indexmap](https://redirect.github.com/indexmap-rs/indexmap) | dependencies | minor | `1.2.0` -> `1.9.3` | | [indexmap2](https://redirect.github.com/indexmap-rs/indexmap) | dependencies | minor | `2.0.2` -> `2.12.1` | | [pretty_assertions](https://redirect.github.com/rust-pretty-assertions/rust-pretty-assertions) | dev-dependencies | patch | `1.4.0` -> `1.4.1` | | [proc-macro2](https://redirect.github.com/dtolnay/proc-macro2) | dependencies | patch | `1.0.69` -> `1.0.103` | | [quote](https://redirect.github.com/dtolnay/quote) | dependencies | patch | `1.0.33` -> `1.0.42` | | [rust_decimal](https://redirect.github.com/paupino/rust-decimal) | dependencies | minor | `1.32.0` -> `1.39.0` | | [semver](https://redirect.github.com/dtolnay/semver) | dependencies | patch | `1.0.20` -> `1.0.27` | | [serde](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | dependencies | patch | `1.0.189` -> `1.0.228` | | [serde_derive_internals](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | dependencies | patch | `0.29.0` -> `0.29.1` | | [serde_json](https://redirect.github.com/serde-rs/json) | dependencies | patch | `1.0.107` -> `1.0.145` | | [smallvec](https://redirect.github.com/servo/rust-smallvec) | dependencies | minor | `1.11.1` -> `1.15.1` | | [smol_str](https://redirect.github.com/rust-analyzer/smol_str) | dependencies | minor | `0.1.17` -> `0.3.0` | | [syn](https://redirect.github.com/dtolnay/syn) | dependencies | patch | `2.0.38` -> `2.0.111` | | [trybuild](https://redirect.github.com/dtolnay/trybuild) | dev-dependencies | patch | `1.0.85` -> `1.0.114` | | [url](https://redirect.github.com/servo/rust-url) | dependencies | minor | `2.4.1` -> `2.5.7` | | [uuid1](https://redirect.github.com/uuid-rs/uuid) | dependencies | minor | `1.5.0` -> `1.19.0` | --- ### Release Notes <details> <summary>bluss/arrayvec (arrayvec05)</summary> ### [`v0.7.6`](https://redirect.github.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#076) [Compare Source](https://redirect.github.com/bluss/arrayvec/compare/0.7.5...0.7.6) - Fix no-std build [#&#8203;274](https://redirect.github.com/bluss/arrayvec/pull/274) ### [`v0.7.5`](https://redirect.github.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#075) [Compare Source](https://redirect.github.com/bluss/arrayvec/compare/0.7.4...0.7.5) - Add `as_ptr` and `as_mut_ptr` to `ArrayString` [@&#8203;YuhanLiin](https://redirect.github.com/YuhanLiin) [#&#8203;260](https://redirect.github.com/bluss/arrayvec/pull/260) - Add borsh serialization support by [@&#8203;honzasp](https://redirect.github.com/honzasp) and [@&#8203;Fuuzetsu](https://redirect.github.com/Fuuzetsu) [#&#8203;259](https://redirect.github.com/bluss/arrayvec/pull/259) - Move length field before before data in ArrayVec and ArrayString by [@&#8203;JakkuSakura](https://redirect.github.com/JakkuSakura) [#&#8203;255](https://redirect.github.com/bluss/arrayvec/pull/255) - Fix miri error for ZST case in extend by [@&#8203;bluss](https://redirect.github.com/bluss) - implement AsRef<Path> for ArrayString by [@&#8203;Zoybean](https://redirect.github.com/Zoybean) [#&#8203;218](https://redirect.github.com/bluss/arrayvec/pull/218) - Fix typos in changelog by [@&#8203;striezel](https://redirect.github.com/striezel) [#&#8203;241](https://redirect.github.com/bluss/arrayvec/pull/241) - Add `as_slice`, `as_mut_slice` methods to `IntoIter` by [@&#8203;clarfonthey](https://redirect.github.com/clarfonthey) [#&#8203;224](https://redirect.github.com/bluss/arrayvec/pull/224) ### [`v0.7.4`](https://redirect.github.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#074) [Compare Source](https://redirect.github.com/bluss/arrayvec/compare/0.7.3...0.7.4) - Add feature zeroize to support the `Zeroize` trait by [@&#8203;elichai](https://redirect.github.com/elichai) ### [`v0.7.3`](https://redirect.github.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#073) [Compare Source](https://redirect.github.com/bluss/arrayvec/compare/0.7.2...0.7.3) - Use track\_caller on multiple methods like push and similar, for capacity overflows by [@&#8203;kornelski](https://redirect.github.com/kornelski) - impl BorrowMut for ArrayString by [@&#8203;msrd0](https://redirect.github.com/msrd0) - Fix stacked borrows violations by [@&#8203;clubby789](https://redirect.github.com/clubby789) - Update Miri CI by [@&#8203;RalfJung](https://redirect.github.com/RalfJung) ### [`v0.7.2`](https://redirect.github.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#072) [Compare Source](https://redirect.github.com/bluss/arrayvec/compare/0.7.1...0.7.2) - Add `.as_mut_str()` to `ArrayString` by [@&#8203;clarfonthey](https://redirect.github.com/clarfonthey) - Add `remaining_capacity` to `ArrayString` by [@&#8203;bhgomes](https://redirect.github.com/bhgomes) - Add `zero_filled` constructor by [@&#8203;c410-f3r](https://redirect.github.com/c410-f3r) - Optimize `retain` by [@&#8203;TennyZhuang](https://redirect.github.com/TennyZhuang) and [@&#8203;niklasf](https://redirect.github.com/niklasf) - Make the following methods `const` by [@&#8203;bhgomes](https://redirect.github.com/bhgomes): - len - is\_empty - capacity - is\_full - remaining\_capacity - CapacityError::new ### [`v0.7.1`](https://redirect.github.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#071) [Compare Source](https://redirect.github.com/bluss/arrayvec/compare/0.7.0...0.7.1) - Add new ArrayVec methods `.take()` and `.into_inner_unchecked()` by [@&#8203;conradludgate](https://redirect.github.com/conradludgate) - `clone_from` now uses `truncate` when needed by [@&#8203;a1phyr](https://redirect.github.com/a1phyr) ### [`v0.7.0`](https://redirect.github.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#070) [Compare Source](https://redirect.github.com/bluss/arrayvec/compare/0.6.1...0.7.0) - `fn new_const` is now the way to const-construct arrayvec and arraystring, and `fn new` has been reverted to a regular "non-const" function. This works around performance issue [#&#8203;182](https://redirect.github.com/bluss/arrayvec/issues/182), where the const fn version did not optimize well. Change by [@&#8203;bluss](https://redirect.github.com/bluss) with thanks to [@&#8203;rodrimati1992](https://redirect.github.com/rodrimati1992) and [@&#8203;niklasf](https://redirect.github.com/niklasf) for analyzing the problem. - The deprecated feature flag `unstable-const-fn` was removed, since it's not needed - Optimize `.retain()` by using the same algorithm as in std, change by [@&#8203;niklasf](https://redirect.github.com/niklasf), issue [#&#8203;174](https://redirect.github.com/bluss/arrayvec/issues/174). Original optimization in Rust std by [@&#8203;oxalica](https://redirect.github.com/oxalica) in rust-lang/rust/pull/81126 ### [`v0.6.1`](https://redirect.github.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#061) [Compare Source](https://redirect.github.com/bluss/arrayvec/compare/0.6.0...0.6.1) - The `ArrayVec::new` and `ArrayString::new` constructors are properly const fns on stable and the feature flag `unstable-const-fn` is now deprecated. by [@&#8203;rodrimati1992](https://redirect.github.com/rodrimati1992) - Small fix to the capacity check macro by [@&#8203;Xaeroxe](https://redirect.github.com/Xaeroxe) - Typo fix in documentation by [@&#8203;cuviper](https://redirect.github.com/cuviper) - Small code cleanup by [@&#8203;bluss](https://redirect.github.com/bluss) ### [`v0.6.0`](https://redirect.github.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#060) [Compare Source](https://redirect.github.com/bluss/arrayvec/compare/0.5.2...0.6.0) - The **const generics** release 🎉. Arrayvec finally implements what it wanted to implement, since its first version: a vector backed by an array, with generic parameters for the arbitrary element type *and* backing array capacity. The New type syntax is `ArrayVec<T, CAP>` where `CAP` is the arrayvec capacity. For arraystring the syntax is `ArrayString<CAP>`. Length is stored internally as u32; this limits the maximum capacity. The size of the `ArrayVec` or `ArrayString` structs for the same capacity may grow slightly compared with the previous version (depending on padding requirements for the element type). Change by [@&#8203;bluss](https://redirect.github.com/bluss). - Arrayvec's `.extend()` and `FromIterator`/`.collect()` to arrayvec now **panic** if the capacity of the arrayvec is exceeded. Change by [@&#8203;bluss](https://redirect.github.com/bluss). - Arraystring now implements `TryFrom<&str>` and `TryFrom<fmt::Arguments>` by [@&#8203;c410-f3r](https://redirect.github.com/c410-f3r) - Minimum supported rust version is Rust 1.51 </details> <details> <summary>akubera/bigdecimal-rs (bigdecimal03)</summary> ### [`v0.4.9`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.9) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.4.8...v0.4.9) #### Changes - Add methods `BigDecimal::{powi, powi_with_context}` for raising a decimal to a i64 power - the `powi` uses Default Context - Add methods `BigDecimal::mul_with_context` for efficient multiplication to fixed precision - uses precision and rounding-mode in the Context - Add method `BigDecimal::decimal_digit_count`, returning number of decimal digits (i.e. precision) of the number - Add method `BigDecimal::order_of_magnitude`, returning position of most significant digit of this decimal - Add method `BigDecimal::is_one_quickcheck`, returning `Option<bool>` indicating if the value is `1.0` if it can be calculated without allocating, or None if too large - Replaced `is_one` in multiplication methods when used for optimizations - Should test if that actually speeds it up - Eg value `1.00000000000000000000000000000000000000000` is stored internally as `[4870020673419870208, 16114848830623546549, 293] E -41` and it's hard to tell this is equivalent to 1 - Add optimizations to inverse - small powers of ten will simply flip their scale `1/10e-5 -> 10e5` - convert to f64 to make initial guess when before iterative algorithm - Add `Context::invert(&self, BigDecimalRef)`, equivalent to `BigDecimal::inverse_with_context(&self, &ctx)` - Still has a bug where rounding ignores sign, affecting floor/ceiling modes ### [`v0.4.8`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.8) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.4.7...v0.4.8) #### What's Changed - Fix broken link in README.md by [@&#8203;jonahgao](https://redirect.github.com/jonahgao) in [#&#8203;142](https://redirect.github.com/akubera/bigdecimal-rs/pull/142) - Fix formatting a "scaled zero" value (eg `0e15 = 0*10^15`) by [@&#8203;drinkcat](https://redirect.github.com/drinkcat) in [#&#8203;145](https://redirect.github.com/akubera/bigdecimal-rs/pull/145) **Full Changelog**: <https://github.com/akubera/bigdecimal-rs/compare/v0.4.7...v0.4.8> ### [`v0.4.7`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.7) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.4.6...v0.4.7) #### Changes - Fixed bug in `BigDecimal::to_f64` - Impl `num_traits::ToPrimitive` for `BigDecimalRef` - Added methods `BigDecimal::{ToPlainString,WritePlainString}` - Added Justfile to repo ### [`v0.4.6`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.6) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.4.5...v0.4.6) ##### Changes - Fix error in formatting code that would skip "carrying the one" when rounding up series of nines, overflowing - Improved implementation of sqrt and cbrt - Uses consistent rounding implementations in formatting and arithmetic operations - Add new constructor methods `BigDecimal::from_bigint` & `BigDecimal::from_biguint` ### [`v0.4.5`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.5) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.4.4...v0.4.5) ##### Changes - Remove restrictions on `num-*` dependencies. - num-traits and num-bigint need to be specified for users using Rust versions older than 1.60 (let me know if this should be continued to be supported) - Fix some bad assumptions when running in 32 bit mode. - Uses of `as usize` have been replaced with `as u64` ### [`v0.4.4`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.4) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.4.3...v0.4.4) ##### Changes - Revert formatting semantics to match Rust's meanings rather than Python's - The meaning of the formatting string `"{:.4}"` has returned to "4 digits after decimal place" rather than "four digits of precision" - Add new compile-time parameters for safer formatting - Configurable thresholds prevent printing out full decimal form of large numbers, like [`1e99999`](https://redirect.github.com/akubera/bigdecimal-rs/commit/1e999999999999999) (could be used in) - Improved JSON serialization / formatting routines > \[!NOTE] > Please add your own tests to ensure this library formats (and continues to format) numbers as you expect - Added methods - `BigDecimalRef::clone_into` - `BigDecimal::set_scale` (mutable version of `take_and_scale`) - Optimized bigdecimal comparison algorithms - Restricted versions of num-\* crates to respect Minimum Supported Rust Version (1.43) - I may raise this up soon ### [`v0.4.3`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.3) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.4.2...v0.4.3) ##### Changes - Use exponential formatting (scientific-notation) if number of leading zeros is greater than 5 - so `1234e-304` is formatted as `1.234e-301` rather than `0.00.....(300-zeros)....00123` - Fixes "out of memory errors" when massive amounts of zeros would have been printed - Add methods for printing using scientific-notation & engineering-notation - Add derived Clone trait to ParseBigDecimalError - Preserve scale when adding zero - Mimics Python's Decimal behavior: ```python >>> Decimal("1.2") + Decimal("0.00000") Decimal('1.20000') ``` - Minor optimizations removing unnecessary clones in addition and multiplication ### [`v0.4.2`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.2) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.4.1...v0.4.2) #### Changes - Add ***Context*** struct - For user-controlled precision and rounding - Support for a few BigDecimal functions added (eg: `sqrt_with_context(&self, ctx: &Context)`) , more to come in future versions. - Note standard operations use default (compile-time-defined) context - Add ***BigDecimalRef*** struct - Non-owning BigDecimal struct that has some non-digit-changing methods (i.e. change sign/scale without copying digits) for more efficient calculations - Implements math operations `Add,Sub` - Implement `From<&BigInt> for BigDecimalRef` - Compile-time default rounding mode may be set by environment variable `RUST_BIGDECIMAL_DEFAULT_ROUNDING_MODE` - Fix issue recompiling if `RUST_BIGDECIMAL_DEFAULT_PRECISION` haddn't changed - Add `BigDecimal::with_precision_round()` - trim the bigdecimal after operations, rounding at given point - Add `BigDecimal::fractional_digit_count()` - Return's the bigdecimal's "scale", (number of digits right of the decimal point) - Support reading subnormal floating-point numbers - Improve initial "guess" in calculation of inverted value. - Fix panic in from\_str\_radix ([#&#8203;115](https://redirect.github.com/akubera/bigdecimal-rs/issues/115)) - (internal) Reorganize std::ops implementations by moving each to separate functions (`src/impl_ops_add.rs`, `src/impl_ops_sub.rs`, etc) ##### Performance Improvements - `BigDecimal::eq` takes into account trailing zeros, avoids aligning digits - (internal) `ten_to_the` - used everywhere to align BigIntegers within BigDecimals, all operations with high precision numbers should be faster ### [`v0.4.1`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.1) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.4.0...v0.4.1) #### Changes - Fix issue where RUST\_BIGDECIMAL\_DEFAULT\_PRECISION envar would always trigger a rebuild - Fix issue where .neg() could be called on {signed-int}::MIN values - Add implementations of Add/Sub/Mul/Div for primitive values - Use 'proptest' crate to improve arithmetic testing ### [`v0.4.0`](https://redirect.github.com/akubera/bigdecimal-rs/releases/tag/v0.4.0) [Compare Source](https://redirect.github.com/akubera/bigdecimal-rs/compare/v0.3.1...v0.4.0) #### Changes - `no_std` feature support [#&#8203;97](https://redirect.github.com/akubera/bigdecimal-rs/pull/97) - To disable std, change your Cargo.toml dependency to:\ `bigdecimal = { version = "0.4", default-features = false }` - Still depends on alloc (I think we will always need dynamic storage) - Allow user to set default max-precision at compile time - Use environment variable `RUST_BIGDECIMAL_DEFAULT_PRECISION` - Defaults to 100 - This "is the number of 3s in calculation of 1/3" - Better solutions are being considered - This is tricky: Do we set a global variable? Do we require every math operation to specify precision? Do we store precision in each BigDecimal? Is *that* set from a global variable? Should we use macros to balance explicit precision and tidy code? - Add [rounding module](https://redirect.github.com/akubera/bigdecimal-rs/blob/2977cf9690dcf0b30347982bd9cab1dd04f250c6/src/rounding.rs) with `RoundingMode` enum - Used in new method: [BigDecimal::with\_scale\_round](https://redirect.github.com/akubera/bigdecimal-rs/blob/2977cf9690dcf0b30347982bd9cab1dd04f250c6/src/lib.rs#L256C10-L256C10) - Finally, you can truncate your decimal with the rounding you prefer! - Will be coming to more methods, soon - Reimplement parsing from {32,64}-bit float values - Use binary bits instead of formatting to string and parsing - Already surprising users: [#&#8203;103](https://redirect.github.com/akubera/bigdecimal-rs/issues/103) - Bump *Minimum Supported Rust Version* from 1.34 to 1.43 - Was breaking a few test dependencies - Able to do more at compile time - Probably wont affect too many people? - Fix implementations of to\_u128/to\_i128 [#&#8203;101](https://redirect.github.com/akubera/bigdecimal-rs/pull/101) - Default implementations cast values to 64 bit ints - Fix issue where underscores after the decimal counted towards total digit count (giving wrong exponent) [#&#8203;99](https://redirect.github.com/akubera/bigdecimal-rs/pull/99) - Fix case of panic during rounding [#&#8203;90](https://redirect.github.com/akubera/bigdecimal-rs/issues/90) - Add preliminary benchmarking code - Unsatisfied with statistics: more work to be done with Criterion - Eventually get some answers on how best to parse strings, and in what format should the digits be stored - Started using my [crazy approach to unit testing](https://redirect.github.com/akubera/bigdecimal-rs/blob/2977cf9690dcf0b30347982bd9cab1dd04f250c6/src/parsing.tests.parse_from_f32.rs) </details> <details> <summary>tokio-rs/bytes (bytes)</summary> ### [`v1.11.0`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1110-November-14th-2025) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.10.1...v1.11.0) - Bump MSRV to 1.57 ([#&#8203;788](https://redirect.github.com/tokio-rs/bytes/issues/788)) ##### Fixed - fix: `BytesMut` only reuse if src has remaining ([#&#8203;803](https://redirect.github.com/tokio-rs/bytes/issues/803)) - Specialize `BytesMut::put::<Bytes>` ([#&#8203;793](https://redirect.github.com/tokio-rs/bytes/issues/793)) - Reserve capacity in `BytesMut::put` ([#&#8203;794](https://redirect.github.com/tokio-rs/bytes/issues/794)) - Change `BytesMut::remaining_mut` to use `isize::MAX` instead of `usize::MAX` ([#&#8203;795](https://redirect.github.com/tokio-rs/bytes/issues/795)) ##### Internal changes - Guarantee address in `slice()` for empty slices. ([#&#8203;780](https://redirect.github.com/tokio-rs/bytes/issues/780)) - Rename `Vtable::to_*` -> `Vtable::into_*` ([#&#8203;776](https://redirect.github.com/tokio-rs/bytes/issues/776)) - Fix latest clippy warnings ([#&#8203;787](https://redirect.github.com/tokio-rs/bytes/issues/787)) - Ignore `BytesMut::freeze` doctest on wasm ([#&#8203;790](https://redirect.github.com/tokio-rs/bytes/issues/790)) - Move `drop_fn` of `from_owner` into vtable ([#&#8203;801](https://redirect.github.com/tokio-rs/bytes/issues/801)) ### [`v1.10.1`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1101-March-5th-2025) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.10.0...v1.10.1) ##### Fixed - Fix memory leak when using `to_vec` with `Bytes::from_owner` ([#&#8203;773](https://redirect.github.com/tokio-rs/bytes/issues/773)) ### [`v1.10.0`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1100-February-3rd-2025) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.9.0...v1.10.0) ##### Added - Add feature to support platforms without atomic CAS ([#&#8203;467](https://redirect.github.com/tokio-rs/bytes/issues/467)) - `try_get_*` methods for `Buf` trait ([#&#8203;753](https://redirect.github.com/tokio-rs/bytes/issues/753)) - Implement `Buf::chunks_vectored` for `Take` ([#&#8203;617](https://redirect.github.com/tokio-rs/bytes/issues/617)) - Implement `Buf::chunks_vectored` for `VecDeque<u8>` ([#&#8203;708](https://redirect.github.com/tokio-rs/bytes/issues/708)) ##### Fixed - Remove incorrect guarantee for `chunks_vectored` ([#&#8203;754](https://redirect.github.com/tokio-rs/bytes/issues/754)) - Ensure that tests pass under `panic=abort` ([#&#8203;749](https://redirect.github.com/tokio-rs/bytes/issues/749)) ### [`v1.9.0`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#190-November-27-2024) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.8.0...v1.9.0) ##### Added - Add `Bytes::from_owner` to enable externally-allocated memory ([#&#8203;742](https://redirect.github.com/tokio-rs/bytes/issues/742)) ##### Documented - Fix typo in Buf::chunk() comment ([#&#8203;744](https://redirect.github.com/tokio-rs/bytes/issues/744)) ##### Internal changes - Replace BufMut::put with BufMut::put\_slice in Writer impl ([#&#8203;745](https://redirect.github.com/tokio-rs/bytes/issues/745)) - Rename hex\_impl! to fmt\_impl! and reuse it for fmt::Debug ([#&#8203;743](https://redirect.github.com/tokio-rs/bytes/issues/743)) ### [`v1.8.0`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#180-October-21-2024) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.7.2...v1.8.0) - Guarantee address in `split_off`/`split_to` for empty slices ([#&#8203;740](https://redirect.github.com/tokio-rs/bytes/issues/740)) ### [`v1.7.2`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#172-September-17-2024) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.7.1...v1.7.2) ##### Fixed - Fix default impl of `Buf::{get_int, get_int_le}` ([#&#8203;732](https://redirect.github.com/tokio-rs/bytes/issues/732)) ##### Documented - Fix double spaces in comments and doc comments ([#&#8203;731](https://redirect.github.com/tokio-rs/bytes/issues/731)) ##### Internal changes - Ensure BytesMut::advance reduces capacity ([#&#8203;728](https://redirect.github.com/tokio-rs/bytes/issues/728)) ### [`v1.7.1`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#171-August-1-2024) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.7.0...v1.7.1) This release reverts the following change due to a regression: - Reuse capacity when possible in `<BytesMut as Buf>::advance` impl ([#&#8203;698](https://redirect.github.com/tokio-rs/bytes/issues/698)) The revert can be found at [#&#8203;726](https://redirect.github.com/tokio-rs/bytes/issues/726). ### [`v1.7.0`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#170-July-31-2024) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.6.1...v1.7.0) ##### Added - Add conversion from `Bytes` to `BytesMut` ([#&#8203;695](https://redirect.github.com/tokio-rs/bytes/issues/695), [#&#8203;710](https://redirect.github.com/tokio-rs/bytes/issues/710)) - Add reclaim method without additional allocation ([#&#8203;686](https://redirect.github.com/tokio-rs/bytes/issues/686)) ##### Documented - Clarify how `BytesMut::zeroed` works ([#&#8203;714](https://redirect.github.com/tokio-rs/bytes/issues/714)) - Clarify the behavior of `Buf::chunk` ([#&#8203;717](https://redirect.github.com/tokio-rs/bytes/issues/717)) ##### Changed - Change length condition of `BytesMut::truncate` - Reuse capacity when possible in `<BytesMut as Buf>::advance` impl ([#&#8203;698](https://redirect.github.com/tokio-rs/bytes/issues/698)) - Improve `must_use` suggestion of `BytesMut::split` ([#&#8203;699](https://redirect.github.com/tokio-rs/bytes/issues/699)) ##### Internal changes - Use `ManuallyDrop` instead of `mem::forget` ([#&#8203;678](https://redirect.github.com/tokio-rs/bytes/issues/678)) - Don't set `len` in `BytesMut::reserve` ([#&#8203;682](https://redirect.github.com/tokio-rs/bytes/issues/682)) - Optimize `Bytes::copy_to_bytes` ([#&#8203;688](https://redirect.github.com/tokio-rs/bytes/issues/688)) - Refactor `BytesMut::truncate` ([#&#8203;694](https://redirect.github.com/tokio-rs/bytes/issues/694)) - Refactor `BytesMut::resize` ([#&#8203;696](https://redirect.github.com/tokio-rs/bytes/issues/696)) - Reorder assertion in `Bytes::split_to`, `Bytes::split_off` ([#&#8203;689](https://redirect.github.com/tokio-rs/bytes/issues/689), [#&#8203;693](https://redirect.github.com/tokio-rs/bytes/issues/693)) - Use `offset_from` in more places ([#&#8203;705](https://redirect.github.com/tokio-rs/bytes/issues/705)) - Correct the wrong usage of `IntoIter` ([#&#8203;707](https://redirect.github.com/tokio-rs/bytes/issues/707)) ### [`v1.6.1`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#161-July-13-2024) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.6.0...v1.6.1) This release fixes a bug where `Bytes::is_unique` returns incorrect values when the `Bytes` originates from a shared `BytesMut`. ([#&#8203;718](https://redirect.github.com/tokio-rs/bytes/issues/718)) ### [`v1.6.0`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#160-March-22-2024) [Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.5.0...v1.6.0) ##### Added - Add `Bytes::is_unique` ([#&#8203;643](https://redirect.github.com/tokio-rs/bytes/issues/643)) ##### Documented - Fix changelog typo ([#&#8203;628](https://redirect.github.com/tokio-rs/bytes/issues/628)) - Fix some spelling mistakes ([#&#8203;633](https://redirect.github.com/tokio-rs/bytes/issues/633)) - Typo fix ([#&#8203;637](https://redirect.github.com/tokio-rs/bytes/issues/637)) - Fix broken links ([#&#8203;639](https://redirect.github.com/tokio-rs/bytes/issues/639)) - Add security policy ([#&#8203;649](https://redirect.github.com/tokio-rs/bytes/issues/649)) ##### Internal changes - Move comment to correct constant ([#&#8203;629](https://redirect.github.com/tokio-rs/bytes/issues/629)) - Various cleanup ([#&#8203;635](https://redirect.github.com/tokio-rs/bytes/issues/635)) - Simplify `UninitSlice::as_uninit_slice_mut()` logic ([#&#8203;644](https://redirect.github.com/tokio-rs/bytes/issues/644)) - Use `self.` instead of `Self::` ([#&#8203;642](https://redirect.github.com/tokio-rs/bytes/issues/642)) - `BytesMut`: Assert alignment of `Shared` ([#&#8203;652](https://redirect.github.com/tokio-rs/bytes/issues/652)) - Remove unnecessary namespace qualifier ([#&#8203;660](https://redirect.github.com/tokio-rs/bytes/issues/660)) - Remove an unnecessary else branch ([#&#8203;662](https://redirect.github.com/tokio-rs/bytes/issues/662)) - Remove unreachable else branch ([#&#8203;661](https://redirect.github.com/tokio-rs/bytes/issues/661)) - make parameter mut in `From<Vec>` ([#&#8203;667](https://redirect.github.com/tokio-rs/bytes/issues/667)) - Restore commented tests ([#&#8203;665](https://redirect.github.com/tokio-rs/bytes/issues/665)) - Use `sub` instead of `offset` ([#&#8203;668](https://redirect.github.com/tokio-rs/bytes/issues/668)) - Calculate original capacity only if necessary ([#&#8203;666](https://redirect.github.com/tokio-rs/bytes/issues/666)) - `set_vec_pos` does not need a second parameter ([#&#8203;672](https://redirect.github.com/tokio-rs/bytes/issues/672)) - `get_vec_pos`: use `&self` instead of `&mut self` ([#&#8203;670](https://redirect.github.com/tokio-rs/bytes/issues/670)) - Refactor `split_at`/`split_to` ([#&#8203;663](https://redirect.github.com/tokio-rs/bytes/issues/663)) - Use `Iterator` from the prelude ([#&#8203;673](https://redirect.github.com/tokio-rs/bytes/issues/673)) - `copy_to_bytes`: Add panic section to docs ([#&#8203;676](https://redirect.github.com/tokio-rs/bytes/issues/676)) - Remove redundant reserve call ([#&#8203;674](https://redirect.github.com/tokio-rs/bytes/issues/674)) - Use `ManuallyDrop` instead of `mem::forget` ([#&#8203;675](https://redirect.github.com/tokio-rs/bytes/issues/675)) </details> <details> <summary>chronotope/chrono (chrono)</summary> ### [`v0.4.42`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.42): 0.4.42 [Compare Source](https://redirect.github.com/chronotope/chrono/compare/v0.4.41...v0.4.42) #### What's Changed - Add fuzzer for DateTime::parse\_from\_str by [@&#8203;tyler92](https://redirect.github.com/tyler92) in [#&#8203;1700](https://redirect.github.com/chronotope/chrono/pull/1700) - Fix wrong amount of micro/milliseconds by [@&#8203;nmlt](https://redirect.github.com/nmlt) in [#&#8203;1703](https://redirect.github.com/chronotope/chrono/pull/1703) - Add warning about MappedLocalTime and wasm by [@&#8203;lutzky](https://redirect.github.com/lutzky) in [#&#8203;1702](https://redirect.github.com/chronotope/chrono/pull/1702) - Fix incorrect parsing of fixed-length second fractions by [@&#8203;chris-leach](https://redirect.github.com/chris-leach) in [#&#8203;1705](https://redirect.github.com/chronotope/chrono/pull/1705) - Fix cfgs for `wasm32-linux` support by [@&#8203;arjunr2](https://redirect.github.com/arjunr2) in [#&#8203;1707](https://redirect.github.com/chronotope/chrono/pull/1707) - Fix OpenHarmony's `tzdata` parsing by [@&#8203;ldm0](https://redirect.github.com/ldm0) in [#&#8203;1679](https://redirect.github.com/chronotope/chrono/pull/1679) - Convert NaiveDate to/from days since unix epoch by [@&#8203;findepi](https://redirect.github.com/findepi) in [#&#8203;1715](https://redirect.github.com/chronotope/chrono/pull/1715) - Add `?Sized` bound to related methods of `DelayedFormat::write_to` by [@&#8203;Huliiiiii](https://redirect.github.com/Huliiiiii) in [#&#8203;1721](https://redirect.github.com/chronotope/chrono/pull/1721) - Add `from_timestamp_secs` method to `DateTime` by [@&#8203;jasonaowen](https://redirect.github.com/jasonaowen) in [#&#8203;1719](https://redirect.github.com/chronotope/chrono/pull/1719) - Migrate to core::error::Error by [@&#8203;benbrittain](https://redirect.github.com/benbrittain) in [#&#8203;1704](https://redirect.github.com/chronotope/chrono/pull/1704) - Upgrade to windows-bindgen 0.63 by [@&#8203;djc](https://redirect.github.com/djc) in [#&#8203;1730](https://redirect.github.com/chronotope/chrono/pull/1730) - strftime: simplify error handling by [@&#8203;djc](https://redirect.github.com/djc) in [#&#8203;1731](https://redirect.github.com/chronotope/chrono/pull/1731) ### [`v0.4.41`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.41) [Compare Source](https://redirect.github.com/chronotope/chrono/compare/v0.4.40...v0.4.41) #### What's Changed - Add `subsec_micros` and `subsec_millis` methods to `TimeDelta` by [@&#8203;ggoetz](https://redirect.github.com/ggoetz) in [#&#8203;1668](https://redirect.github.com/chronotope/chrono/pull/1668) - Deprecate `NaiveDateTime::UNIX_EPOCH` by [@&#8203;robertbastian](https://redirect.github.com/robertbastian) in [#&#8203;1670](https://redirect.github.com/chronotope/chrono/pull/1670) - Implement `as_seconds_f32` and `as_seconds_f64` for `TimeDelta` by [@&#8203;ggoetz](https://redirect.github.com/ggoetz) in [#&#8203;1671](https://redirect.github.com/chronotope/chrono/pull/1671) - chore: fix some comments by [@&#8203;jimmycathy](https://redirect.github.com/jimmycathy) in [#&#8203;1677](https://redirect.github.com/chronotope/chrono/pull/1677) - Add `num_days_in_month` method to `Datelike` trait by [@&#8203;aslilac](https://redirect.github.com/aslilac) in [#&#8203;1673](https://redirect.github.com/chronotope/chrono/pull/1673) - add `WeekdaySet`, a collection of `Weekday` that is `Copy` by [@&#8203;Kinrany](https://redirect.github.com/Kinrany) in [#&#8203;1676](https://redirect.github.com/chronotope/chrono/pull/1676) - WeekdaySet tweaks by [@&#8203;djc](https://redirect.github.com/djc) in [#&#8203;1680](https://redirect.github.com/chronotope/chrono/pull/1680) - Upgrade to windows-bindgen 0.61 by [@&#8203;djc](https://redirect.github.com/djc) in [#&#8203;1682](https://redirect.github.com/chronotope/chrono/pull/1682) - Implemented a consistent Eq trait for NaiveWeek by [@&#8203;Splashling1789](https://redirect.github.com/Splashling1789) in [#&#8203;1687](https://redirect.github.com/chronotope/chrono/pull/1687) - TimeZone::from\_posix\_tz: Treat empty TZ variable as UTC by [@&#8203;drinkcat](https://redirect.github.com/drinkcat) in [#&#8203;1691](https://redirect.github.com/chronotope/chrono/pull/1691) - Add support for lossy format strings by [@&#8203;Qelxiros](https://redirect.github.com/Qelxiros) in [#&#8203;1693](https://redirect.github.com/chronotope/chrono/pull/1693) ### [`v0.4.40`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.40): 0.4.40 [Compare Source](https://redirect.github.com/chronotope/chrono/compare/v0.4.39...v0.4.40) #### What's Changed - Add Month::num\_days() by [@&#8203;djc](https://redirect.github.com/djc) in [#&#8203;1645](https://redirect.github.com/chronotope/chrono/pull/1645) - Update Windows dependencies by [@&#8203;kennykerr](https://redirect.github.com/kennykerr) in [#&#8203;1646](https://redirect.github.com/chronotope/chrono/pull/1646) - Feature/round\_up method on DurationRound trait by [@&#8203;MagnumTrader](https://redirect.github.com/MagnumTrader) in [#&#8203;1651](https://redirect.github.com/chronotope/chrono/pull/1651) - Expose `write_to` for `DelayedFormat` by [@&#8203;tugtugtug](https://redirect.github.com/tugtugtug) in [#&#8203;1654](https://redirect.github.com/chronotope/chrono/pull/1654) - Update LICENSE.txt by [@&#8203;maximevtush](https://redirect.github.com/maximevtush) in [#&#8203;1656](https://redirect.github.com/chronotope/chrono/pull/1656) - docs: fix minor typo by [@&#8203;samfolo](https://redirect.github.com/samfolo) in [#&#8203;1659](https://redirect.github.com/chronotope/chrono/pull/1659) - Use NaiveDateTime for internal tz\_info methods. by [@&#8203;AVee](https://redirect.github.com/AVee) in [#&#8203;1658](https://redirect.github.com/chronotope/chrono/pull/1658) - Upgrade to windows-bindgen 0.60 by [@&#8203;djc](https://redirect.github.com/djc) in [#&#8203;1665](https://redirect.github.com/chronotope/chrono/pull/1665) - Add quarter (%q) date string specifier by [@&#8203;drinkcat](https://redirect.github.com/drinkcat) in [#&#8203;1666](https://redirect.github.com/chronotope/chrono/pull/1666) ### [`v0.4.39`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.39): 0.4.39 [Compare Source](https://redirect.github.com/chronotope/chrono/compare/v0.4.38...v0.4.39) #### What's Changed - [#&#8203;1577](https://redirect.github.com/chronotope/chrono/issues/1577): Changed years\_since documentation to match its implementation by [@&#8203;Taxalo](https://redirect.github.com/Taxalo) in [#&#8203;1578](https://redirect.github.com/chronotope/chrono/pull/1578) - Remove obsolete weird feature guard by [@&#8203;djc](https://redirect.github.com/djc) in [#&#8203;1582](https://redirect.github.com/chronotope/chrono/pull/1582) - Fix format::strftime docs link by [@&#8203;frederikhors](https://redirect.github.com/frederikhors) in [#&#8203;1581](https://redirect.github.com/chronotope/chrono/pull/1581) - Fix micros (optional) limit in and\_hms\_micro\_opt by [@&#8203;qrilka](https://redirect.github.com/qrilka) in [#&#8203;1584](https://redirect.github.com/chronotope/chrono/pull/1584) - Update windows-bindgen requirement from 0.56 to 0.57 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [#&#8203;1589](https://redirect.github.com/chronotope/chrono/pull/1589) - native/date: Improve DelayedFormat doc re Panics by [@&#8203;behnam-oneschema](https://redirect.github.com/behnam-oneschema) in [#&#8203;1590](https://redirect.github.com/chronotope/chrono/pull/1590) - Fix typo in rustdoc of `from_timestamp_nanos()` by [@&#8203;sgoll](https://redirect.github.com/sgoll) in [#&#8203;1591](https://redirect.github.com/chronotope/chrono/pull/1591) - Update windows-bindgen requirement from 0.57 to 0.58 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [#&#8203;1594](https://redirect.github.com/chronotope/chrono/pull/1594) - docs: document century cutoff for %y by [@&#8203;MarcoGorelli](https://redirect.github.com/MarcoGorelli) in [#&#8203;1598](https://redirect.github.com/chronotope/chrono/pull/1598) - Checked `NaiveWeek` methods by [@&#8203;bragov4ik](https://redirect.github.com/bragov4ik) in [#&#8203;1600](https://redirect.github.com/chronotope/chrono/pull/1600) - Impl serde::Serialize and serde::Deserialize for TimeDelta by [@&#8203;Awpteamoose](https://redirect.github.com/Awpteamoose) in [#&#8203;1599](https://redirect.github.com/chronotope/chrono/pull/1599) - Derive `PartialEq`,`Eq`,`Hash`,`Copy` and `Clone` on `NaiveWeek` by [@&#8203;DSeeLP](https://redirect.github.com/DSeeLP) in [#&#8203;1618](https://redirect.github.com/chronotope/chrono/pull/1618) - Support ohos tzdata since ver.oh35 by [@&#8203;MirageLyu](https://redirect.github.com/MirageLyu) in [#&#8203;1613](https://redirect.github.com/chronotope/chrono/pull/1613) - Use Formatter::pad (instead of write\_str) for Weekdays by [@&#8203;horazont](https://redirect.github.com/horazont) in [#&#8203;1621](https://redirect.github.com/chronotope/chrono/pull/1621) - Fix typos by [@&#8203;szepeviktor](https://redirect.github.com/szepeviktor) in [#&#8203;1623](https://redirect.github.com/chronotope/chrono/pull/1623) - Fix comment. by [@&#8203;khuey](https://redirect.github.com/khuey) in [#&#8203;1624](https://redirect.github.com/chronotope/chrono/pull/1624) - chore: add `#[inline]` to `num_days` by [@&#8203;CommanderStorm](https://redirect.github.com/CommanderStorm) in [#&#8203;1627](https://redirect.github.com/chronotope/chrono/pull/1627) - fix typo by [@&#8203;futreall](https://redirect.github.com/futreall) in [#&#8203;1633](https://redirect.github.com/chronotope/chrono/pull/1633) - Update mod.rs by [@&#8203;donatik27](https://redirect.github.com/donatik27) in [#&#8203;1638](https://redirect.github.com/chronotope/chrono/pull/1638) ### [`v0.4.38`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.38) [Compare Source](https://redirect.github.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://redirect.github.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 ([#&#8203;1548](https://redirect.github.com/chronotope/chrono/issues/1548), thanks [@&#8203;workingjubilee](https://redirect.github.com/workingjubilee)) ### Additions - Add `Weekday::days_since` ([#&#8203;1249](https://redirect.github.com/chronotope/chrono/issues/1249), based on [#&#8203;216](https://redirect.github.com/chronotope/chrono/issues/216) by [@&#8203;clarfonthey](https://redirect.github.com/clarfonthey)) - Add `TimeDelta::checked_mul` and `TimeDelta::checked_div` ([#&#8203;1565](https://redirect.github.com/chronotope/chrono/issues/1565), thanks [@&#8203;Zomtir](https://redirect.github.com/Zomtir)) ### Fixes - Return error when rounding with a zero duration ([#&#8203;1474](https://redirect.github.com/chronotope/chrono/issues/1474), thanks [@&#8203;Dav1dde](https://redirect.github.com/Dav1dde)) - Manually implement `Copy` for `DateTime` if offset is `Copy` ([#&#8203;1573](https://redirect.github.com/chronotope/chrono/issues/1573)) ### Internal - Inline `test_encodable_json` and `test_decodable_json` functions ([#&#8203;1550](https://redirect.github.com/chronotope/chrono/issues/1550)) - CI: Reduce combinations in `cargo hack check` ([#&#8203;1553](https://redirect.github.com/chronotope/chrono/issues/1553)) - Refactor formatting code ([#&#8203;1335](https://redirect.github.com/chronotope/chrono/issues/1335)) - Optimize number formatting ([#&#8203;1558](https://redirect.github.com/chronotope/chrono/issues/1558)) - Only package files needed for building and testing ([#&#8203;1554](https://redirect.github.com/chronotope/chrono/issues/1554)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://redirect.github.com/djc) and [@&#8203;pitdicker](https://redirect.github.com/pitdicker)! ### [`v0.4.37`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.37) [Compare Source](https://redirect.github.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://redirect.github.com/chronotope/chrono/releases/tag/v0.4.36) from yesterday for the yanked release. ### [`v0.4.36`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.36) [Compare Source](https://redirect.github.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()` ([#&#8203;1510](https://redirect.github.com/chronotope/chrono/issues/1510)) ### Deprecations - Revert `TimeDelta` deprecations ([#&#8203;1543](https://redirect.github.com/chronotope/chrono/issues/1543)) - Deprecate `TimeStamp::timestamp_subsec_nanos`, which was missed in the 0.4.35 release ([#&#8203;1486](https://redirect.github.com/chronotope/chrono/issues/1486)) ### Documentation - Correct version number of deprecation notices ([#&#8203;1486](https://redirect.github.com/chronotope/chrono/issues/1486)) - Fix some typos ([#&#8203;1505](https://redirect.github.com/chronotope/chrono/issues/1505)) - Slightly improve serde documentation ([#&#8203;1519](https://redirect.github.com/chronotope/chrono/issues/1519)) - Main documentation: simplify links and reflow text ([#&#8203;1535](https://redirect.github.com/chronotope/chrono/issues/1535)) ### Internal - CI: Lint benchmarks ([#&#8203;1489](https://redirect.github.com/chronotope/chrono/issues/1489)) - Remove unnessary `Copy` and `Send` impls ([#&#8203;1492](https://redirect.github.com/chronotope/chrono/issues/1492), thanks [@&#8203;erickt](https://redirect.github.com/erickt)) - Backport streamlined `NaiveDate` unit tests ([#&#8203;1500](https://redirect.github.com/chronotope/chrono/issues/1500), thanks [@&#8203;Zomtir](https://redirect.github.com/Zomtir)) - Rename `LocalResult` to `TzResolution`, add alias ([#&#8203;1501](https://redirect.github.com/chronotope/chrono/issues/1501)) - Update windows-bindgen to 0.55 ([#&#8203;1504](https://redirect.github.com/chronotope/chrono/issues/1504)) - Avoid duplicate imports, which generate warnings on nightly ([#&#8203;1507](https://redirect.github.com/chronotope/chrono/issues/1507)) - Add extra debug assertions to `NaiveDate::from_yof` ([#&#8203;1518](https://redirect.github.com/chronotope/chrono/issues/1518)) - Some small simplifications to `DateTime::date_naive` and `NaiveDate::diff_months` ([#&#8203;1530](https://redirect.github.com/chronotope/chrono/issues/1530)) - Remove `unwrap` in Unix `Local` type ([#&#8203;1533](https://redirect.github.com/chronotope/chrono/issues/1533)) - Use different method to ignore feature-dependent doctests ([#&#8203;1534](https://redirect.github.com/chronotope/chrono/issues/1534)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://redirect.github.com/djc) and [@&#8203;pitdicker](https://redirect.github.com/pitdicker)! ### [`v0.4.35`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.35) [Compare Source](https://redirect.github.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<Utc>` type, or from the `TimeZone` trait. Converting from `NaiveDateTime` to `DateTime<Utc>` 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<NaiveDate>`, `Option<NaiveDateTime>` and `Option<DateTime<Tz>>` 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}` ([#&#8203;1234](https://redirect.github.com/chronotope/chrono/issues/1234)) - Add getters to `Parsed` ([#&#8203;1465](https://redirect.github.com/chronotope/chrono/issues/1465)) ### Deprecations - Deprecate timestamp methods on `NaiveDateTime` ([#&#8203;1473](https://redirect.github.com/chronotope/chrono/issues/1473)) - Deprecate panicking constructors of `TimeDelta` ([#&#8203;1450](https://redirect.github.com/chronotope/chrono/issues/1450)) ### Changes/fixes - Use `NonZeroI32` inside `NaiveDate` ([#&#8203;1207](https://redirect.github.com/chronotope/chrono/issues/1207)) - Mark `format::Numeric` and `format::Fixed` as `non_exhaustive` ([#&#8203;1430](https://redirect.github.com/chronotope/chrono/issues/1430)) - `Parsed` fixes to error values ([#&#8203;1439](https://redirect.github.com/chronotope/chrono/issues/1439)) - Use `overflowing_naive_local` in `DateTime::checked_add*` ([#&#8203;1333](https://redirect.github.com/chronotope/chrono/issues/1333)) - Do complete range checks in `Parsed::set_*` ([#&#8203;1465](https://redirect.github.com/chronotope/chrono/issues/1465)) ### Documentation - Rustfmt doctests ([#&#8203;1452](https://redirect.github.com/chronotope/chrono/issues/1452)) - Improve docs for crate features ([#&#8203;1455](https://redirect.github.com/chronotope/chrono/issues/1455), thanks [@&#8203;edmorley](https://redirect.github.com/edmorley)) - Add more documentation and examples to `Parsed` ([#&#8203;1439](https://redirect.github.com/chronotope/chrono/issues/1439)) ### Internal - Refactor `internals` module ([#&#8203;1428](https://redirect.github.com/chronotope/chrono/issues/1428), [#&#8203;1429](https://redirect.github.com/chronotope/chrono/issues/1429), [#&#8203;1431](https://redirect.github.com/chronotope/chrono/issues/1431), [#&#8203;1432](https://redirect.github.com/chronotope/chrono/issues/1432), [#&#8203;1433](https://redirect.github.com/chronotope/chrono/issues/1433), [#&#8203;1438](https://redirect.github.com/chronotope/chrono/issues/1438)) - CI: test cross-compiling to `x86_64-unknown-illumos` instead of Solaris ([#&#8203;1437](https://redirect.github.com/chronotope/chrono/issues/1437)) - CI: lint Windows target, fix clippy warning ([#&#8203;1441](https://redirect.github.com/chronotope/chrono/issues/1441)) - CI: only run `cargo hack check` on Linux ([#&#8203;1442](https://redirect.github.com/chronotope/chrono/issues/1442)) - Update windows-bindgen to 0.54 ([#&#8203;1462](https://redirect.github.com/chronotope/chrono/issues/1462), [#&#8203;1483](https://redirect.github.com/chronotope/chrono/issues/1483)) - Simplify error value of `parse_internal` ([#&#8203;1459](https://redirect.github.com/chronotope/chrono/issues/1459)) - Simplify `SerdeError` ([#&#8203;1458](https://redirect.github.com/chronotope/chrono/issues/1458)) - Simplify `NaiveDate::from_isoywd` a bit ([#&#8203;1464](https://redirect.github.com/chronotope/chrono/issues/1464)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://redirect.github.com/djc) and [@&#8203;pitdicker](https://redirect.github.com/pitdicker)! ### [`v0.4.34`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.34) [Compare Source](https://redirect.github.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` ([#&#8203;1385](https://redirect.github.com/chronotope/chrono/issues/1385), thanks [@&#8203;danwilliams](https://redirect.github.com/danwilliams)) - Remove check for `DurationExceedsTimestamp` in `DurationRound` ([#&#8203;1403](https://redirect.github.com/chronotope/chrono/issues/1403), thanks [@&#8203;joroKr21](https://redirect.github.com/joroKr21)) - Fix localized formatting with `%X` ([chronotope/pure-rust-locales#12](https://redirect.github.com/chronotope/pure-rust-locales/pull/12), [#&#8203;1420](https://redirect.github.com/chronotope/chrono/issues/1420)) - Windows: base implementation on `GetTimeZoneInformationForYear` ([#&#8203;1017](https://redirect.github.com/chronotope/chrono/issues/1017)) ### Additions - Add `TimeDelta::try_milliseconds` ([#&#8203;1385](https://redirect.github.com/chronotope/chrono/issues/1385), thanks [@&#8203;danwilliams](https://redirect.github.com/danwilliams)) - Add `TimeDelta::new` ([#&#8203;1337](https://redirect.github.com/chronotope/chrono/issues/1337)) - Add `StrftimeItems::{parse, parse_to_owned}` and more documentation ([#&#8203;1184](https://redirect.github.com/chronotope/chrono/issues/1184)) - More standard traits and documentation for `format::Locale` (via [chronotope/pure-rust-locales#8](https://redirect.github.com/chronotope/pure-rust-locales/pull/8)) ### Changes - Rename `Duration` to `TimeDelta`, add type alias ([#&#8203;1406](https://redirect.github.com/chronotope/chrono/issues/1406)) - Make `TimeDelta` methods const ([#&#8203;1337](https://redirect.github.com/chronotope/chrono/issues/1337)) - Make remaining methods of `NaiveDate`, `NaiveWeek`, `NaiveTime` and `NaiveDateTime` const where possible ([#&#8203;1337](https://redirect.github.com/chronotope/chrono/issues/1337)) - Make methods on `DateTime` const where possible ([#&#8203;1400](https://redirect.github.com/chronotope/chrono/issues/1400)) - Make `Display` format of `TimeDelta` conform better to ISO 8601 ([#&#8203;1328](https://redirect.github.com/chronotope/chrono/issues/1328)) ### Documentation - Fix the formatting of `timestamp_micros`'s Example doc ([#&#8203;1338](https://redirect.github.com/chronotope/chrono/issues/1338) via [#&#8203;1386](https://redirect.github.com/chronotope/chrono/issues/1386), thanks [@&#8203;emikitas](https://redirect.github.com/emikitas)) - Specify branch for GitHub Actions badge and fix link ([#&#8203;1388](https://redirect.github.com/chronotope/chrono/issues/1388)) - Don't mention some deprecated methods in docs ([#&#8203;1395](https://redirect.github.com/chronotope/chrono/issues/1395)) - Remove stray documentation from main ([#&#8203;1397](https://redirect.github.com/chronotope/chrono/issues/1397)) - Improved documentation of `TimeDelta` constructors ([#&#8203;1385](https://redirect.github.com/chronotope/chrono/issues/1385), thanks [@&#8203;danwilliams](https://redirect.github.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 ([#&#8203;1390](https://redirect.github.com/chronotope/chrono/issues/1390), [#&#8203;1402](https://redirect.github.com/chronotope/chrono/issues/1402)). - Don't use deprecated method in `impl Arbitrary for DateTime` and set up CI test ([#&#8203;1336](https://redirect.github.com/chronotope/chrono/issues/1336)) - Remove workaround for Rust < 1.61 ([#&#8203;1393](https://redirect.github.com/chronotope/chrono/issues/1393)) - Bump `codecov/codecov-action` from 3 to 4 ([#&#8203;1404](https://redirect.github.com/chronotope/chrono/issues/1404)) - Remove partial support for handling `-0000` offset ([#&#8203;1411](https://redirect.github.com/chronotope/chrono/issues/1411)) - Move `TOO_LONG` error out of `parse_internal` ([#&#8203;1419](https://redirect.github.com/chronotope/chrono/issues/1419)) Thanks to all contributors on behalf of the chrono team, [@&#8203;djc](https://redirect.github.com/djc) and [@&#8203;pitdicker](https://redirect.github.com/pitdicker)! ### [`v0.4.33`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.33) [Compare Source](https://redirect.github.com/chronotope/chrono/compare/v0.4.32...v0.4.33) This release fixes the broken docrs.rs build of [chrono 0.4.32](https://redirect.github. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- 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/oxc-project/schemars). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xNi4xIiwidXBkYXRlZEluVmVyIjoiNDIuNDIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Boshen <boshenc@gmail.com>
1 parent ae306cd commit d7fa468

2 files changed

Lines changed: 50 additions & 24 deletions

File tree

Cargo.lock

Lines changed: 49 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

schemars/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ rust_decimal = { version = "1", default-features = false, optional = true }
3838
bigdecimal03 = { version = "0.3", default-features = false, optional = true, package = "bigdecimal" }
3939
bigdecimal04 = { version = "0.4", default-features = false, optional = true, package = "bigdecimal" }
4040
enumset = { version = "1.0", optional = true }
41-
smol_str = { version = "0.1.17", optional = true }
41+
smol_str = { version = "0.3.0", optional = true }
4242
semver = { version = "1.0.9", features = ["serde"], optional = true }
4343
regex = { version = "1.12", optional = true }
4444

0 commit comments

Comments
 (0)