Skip to content

Update Rust crate chrono to ~0.4.24

Óscar García Amor requested to merge renovate/chrono-0.x into master

This MR contains the following updates:

Package Type Update Change
chrono dependencies patch ~0.4 -> ~0.4.24

Release Notes

chronotope/chrono

v0.4.24: 0.4.24

Compare Source

This is a small maintenance release with accumulated fixes and improvements.

Thanks to all contributors from the chrono team, @​esheppa and @​djc.

v0.4.23: 0.4.23

Compare Source

0.4.23 is the next 0.4 release of the popular chrono date and time library for Rust. After the 0.4.20-0.4.22 series that brought chrono back to life after a long hiatus, development has been fairly quiet, allowing us to start planning changes for the 0.5.0 release. As such, we've started deprecating some APIs that are likely to be removed in 0.5. If you have any feedback on these changes, please let us know in the issue tracker!

Deprecations
  • Deprecate methods that have an _opt() alternative (#​827)
  • Deprecate usage of the Date<Tz> type (#​851)
Features
Fixes
  • Support tzdb location on AIX (#​826)
  • Fix warnings in documentation (#​847)

On behalf of @​esheppa and @​djc, thanks to all contributors!

v0.4.22: 0.4.22

Compare Source

Unfortunately the introduction of the iana-time-zone dependency in 0.4.21 caused some new regressions with lesser known platforms. This release fixes all of the issues we've encountered, improving the situation on some WebAssembly targets, SGX and on macOS/iOS. We've improved our CI setup to hopefully catch more of these issues before release in the future.

  • Make wasm-bindgen optional on wasm32-unknown-unknown target (#​771)
  • Avoid iana-time-zone dependency on x86_64-fortanix-unknown-sgx (#​767, thanks to @​trevor-crypto)
  • Update iana-time-zone version to 0.1.44 to avoid cyclic dependencies (#​773, thanks to @​Kijewski for the upstream MRs)
  • Clarify documentation about year range in formatting/parsing (#​765)

v0.4.21: 0.4.21

Compare Source

0.4.21 is a bugfix release that mainly fixes one regression from 0.4.20:

  • Fall back to UTC in case no timezone is found. Unfortunately this is a regression from the changes we made in 0.4.20 where we now parse the timezone database ourselves. Before 0.4.20, TimeZone::now() fell back to UTC in the case it could not find the current timezone, but the new implementation panicked in that case.
  • Correctly detect timezone on Android (also #​756). Android does have the timezone database installed, but it's in a different path, and it does not use /etc/localtime to keep track of the current timezone. Instead we now use the iana-time-zone crate as a dependency, since it already has quite a bit of logic for finding the current timezone on a host of platforms.

Additionally, there is a documentation fix that reverts an incorrect guarantee:

  • Document that %Y can have a negative value, both in formatting and in parsing (#​760, thanks to @​alex)

v0.4.20: 0.4.20

Compare Source

chrono is a date and time library for Rust and 0.4.20 is the first chrono release since Sep 2020. There has been a long hiatus since the previous maintainer was no longer able to spend much time on the crate; thanks to @​quodlibetor for their stewardship of the chrono crate for many years! The new maintainers are @​djc and @​esheppa. Our first priority has been fixing the soundness issues with calls to localtime_r() as first reported in #​499 and the RUSTSEC-2020-0159 advisory. In order to do this we adapted code from the tz-rs crate maintained by @​x-hgg-x for use within chrono -- thanks for working on that! With the new implementation, chrono uses safe Rust code to parse the timezone data files on Unix platforms directly instead of relying on libc.

Due to compatibility reasons, this release does not yet remove the time 0.1 dependency, though chrono 0.4.20 does not depend on the vulnerable parts of the time 0.1.x versions. In a future 0.5 release, we will remove the time dependency.

The minimum supported Rust version for 0.4.20 is 1.32.0, which is intentionally still quite conservative. If you are using chrono 0.4 with a Rust version older than 1.52, we'd like to hear from you since we'd like to further modernize the code base to ease maintenance.

Fixes

Additions

Non-functional improvements

v0.4.19

Compare Source

  • Correct build on solaris/illumos

v0.4.18

Compare Source

  • Restore support for x86_64-fortanix-unknown-sgx

v0.4.17

Compare Source

  • Fix a name resolution error in wasm-bindgen code introduced by removing the dependency on time v0.1

v0.4.16

Compare Source

Features
  • Add %Z specifier to the FromStr, similar to the glibc strptime (does not set the offset from the timezone name)

  • Drop the dependency on time v0.1, which is deprecated, unless the oldtime feature is active. This feature is active by default in v0.4.16 for backwards compatibility, but will likely be removed in v0.5. Code that imports time::Duration should be switched to import chrono::Duration instead to avoid breakage.

v0.4.15

Compare Source

Fixes

v0.4.14

Compare Source

Features
  • Add day and week iterators for NaiveDate (@​gnzlbg & @​robyoung)
  • Add a Month enum (@​hhamana)
  • Add locales. All format functions can now use locales, see the documentation for the unstable-locales feature.
  • Fix Local.from_local_datetime method for wasm
Improvements
  • Added MIN and MAX values for NaiveTime, NaiveDateTime and DateTime<Utc>.

v0.4.13

Compare Source

Features
  • Add DurationRound trait that allows rounding and truncating by Duration (@​robyoung)
Internal Improvements

v0.4.12

Compare Source

New Methods and impls
Compatibility improvements
Bugfixes
Internal Improvements
  • Migrate to github actions from travis-ci, make the overall CI experience more comprehensible, significantly faster and more correct (#​439 @​quodlibetor)

v0.4.11

Compare Source

Improvements
  • Support a space or T in FromStr for DateTime<Tz>, meaning that e.g. dt.to_string().parse::<DateTime<Utc>>() now correctly works on round-trip. (@​quodlibetor in #​378)
  • Support "negative UTC" in parse_from_rfc2822 (@​quodlibetor #​368 reported in #​102)
  • Support comparisons of DateTimes with different timezones (@​dlalic in #​375)
  • Many documentation improvements
Bitrot and external integration fixes
Internal improvements

v0.4.10

Compare Source

Compatibility notes
  • Putting some functionality behind an alloc feature to improve no-std support (in #​341) means that if you were relying on chrono with no-default-features and using any of the functions that require alloc support (i.e. any of the string-generating functions like to_rfc3339) you will need to add the alloc feature in your Cargo.toml.
Improvements
  • DateTime::parse_from_str is more than 2x faster in some cases. (@​michalsrb #​358)
  • Significant improvements to no-std and alloc support (This should also make many format/serialization operations induce zero unnecessary allocations) (@​CryZe #​341)
Features
  • Functions that were accepting Iterator of Items (for example format_with_items) now accept Iterator of Borrow<Item>, so one can use values or references. (@​michalsrb #​358)
  • Add built-in support for structs with nested Option<Datetime> etc fields (@​manifest #​302)
Internal/doc improvements
  • Use markdown footnotes on the strftime docs page (@​qudlibetor #​359)
  • Migrate from try! -> ? (question mark) because it is now emitting deprecation warnings and has been stable since rustc 1.13.0
  • Deny dead code

v0.4.9

Fixes

v0.4.8

Fixes
Features
  • Support wasm-unknown-unknown via wasm-bindgen (in addition to emscripten/wasm-unknown-emscripten). (finished by @​evq in #​331, initial work by @​jjpe #​287)

v0.4.7

Compare Source

Fixes
  • Disable libc default features so that CI continues to work on rust 1.13
  • Fix panic on negative inputs to timestamp_millis (@​cmars #​292)
  • Make LocalResult Copy/Eq/Hash
Features

v0.4.6

Compare Source

Maintenance
  • Doc improvements -- improve README CI verification, external links
  • winapi upgrade to 0.3

v0.4.5

Compare Source

Features

v0.4.4

Compare Source

Features

v0.4.3

Compare Source

Features
  • Added methods to DateTime/NaiveDateTime to present the stored value as a number of nanoseconds since the UNIX epoch (@​harkonenbade #​247)
  • Added a serde serialise/deserialise module for nanosecond timestamps. (@​harkonenbade #​247)
  • Added "Permissive" timezone parsing which allows a numeric timezone to be specified without minutes. (@​quodlibetor #​242)

v0.4.2

Compare Source

Deprecations
  • More strongly deprecate RustcSerialize: remove it from documentation unless the feature is enabled, issue a deprecation warning if the rustc-serialize feature is enabled (@​quodlibetor #​174)
Features
  • Move all uses of the system clock behind a clock feature, for use in environments where we don't have access to the current time. (@​jethrogb #​236)
  • Implement subtraction of two Dates, Times, or DateTimes, returning a Duration (@​tobz1000 #​237)

v0.4.1

Compare Source

  • Correct build on solaris/illumos

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 MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports