sanpii / effitask

Graphical task manager, based on the todo.txt format.
MIT License
226 stars 15 forks source link

Bump chrono from 0.4.19 to 0.4.21 #117

Closed dependabot[bot] closed 2 years ago

dependabot[bot] commented 2 years ago

Bumps chrono from 0.4.19 to 0.4.21.

Release notes

Sourced from chrono's releases.

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)

0.4.20

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

  • Fix unsound call to localtime_r() by parsing timezone files in Rust on Unix (#677 and #728)
  • Allow RFC 2822 parser to deal with comments (#733 then #737, thanks to @​Finomnis)
  • Avoid panicking during parsing (#686, thanks to @​botahamec)
  • Avoid panics when rounding durations (#659, thanks to @​ARBaart)
  • Fix Duration::abs() behavior in case of negative durations with nanoseconds (#734, thanks to @​abreis)

Additions

Non-functional improvements

  • Improve CI to better exercise WASM targets (#662, thanks to @​AmateurECE)
  • More WASM testing improvements, enable dependencies by default (#746)
  • Fix compiling for wasm32-unknown-emscripten target (#568, thanks to @​orion78fr)
  • Use stub implementation for anything not unix and not windows (#593, thanks to @​yu-re-ka)
  • Remove now unused libc dependency (#710, thanks to @​metent)
  • Clean up some clippy warnings (#721, thanks to @​botahamec)
  • Clarify documentation for Utc::now() (#647, thanks to @​ModProg)

... (truncated)

Changelog

Sourced from chrono's changelog.

ChangeLog for Chrono

This documents all notable changes to Chrono.

Chrono obeys the principle of Semantic Versioning, with one caveat: we may move previously-existing code behind a feature gate and put it behind a new feature. This new feature will always be placed in the previously-default feature, which you can use to prevent breakage if you use no-default-features.

There were/are numerous minor versions before 1.0 due to the language changes. Versions with only mechanical changes will be omitted from the following list.

0.4.20 (unreleased)

  • Add more formatting documentation and examples.
  • Add support for microseconds timestamps serde serialization/deserialization (#304)
  • Fix DurationRound is not TZ aware (#495)
  • Implement DurationRound for NaiveDateTime
  • Implement std::iter::Sum for Duration
  • Add DateTime::from_local() to construct from given local date and time (#572)
  • Add a function that calculates the number of years elapsed between now and a given Date or DateTime (#557)
  • Correct build for wasm32-unknown-emscripten target (#568)
  • Change Local::now() and Utc::now() documentation from "current date" to "current date and time" (#647)
  • Fix duration_round panic on rounding by Duration::zero() (#658)
  • Add optional rkyv support.
  • Add support for microseconds timestamps serde serialization for NaiveDateTime.
  • Add support for optional timestamps serde serialization for NaiveDateTime.
  • Fix build for wasm32-unknown-emscripten (@​yu-re-ka #593)
  • Make ParseErrorKind public and available through ParseError::kind() (#588)
  • Implement DoubleEndedIterator for NaiveDateDaysIterator and NaiveDateWeeksIterator
  • Fix panicking when parsing a DateTime (@​botahamec)
  • Add support for getting week bounds based on a specific NaiveDate and a Weekday (#666)
  • Remove libc dependency from Cargo.toml.
  • Add the and_local_timezone method to NaiveDateTime
  • Fix the behavior of Duration::abs() for negative durations with non-zero nanos
  • Add compatibility with rfc2822 comments (#733)
  • Make js-sys and wasm-bindgen enabled by default when target is wasm32-unknown-unknown for ease of API discovery
  • Add the Months struct and associated Add and Sub impls
Commits
  • 2d22e57 Bump version number to 0.4.21
  • 557bcd5 handle missing /etc/localtime on some unix platforms (#756)
  • 5edf4d0 fixes #758 -- correctly document that %Y parses negative years (#760)
  • a185d3b Remove unnecessary try_opt!() macro
  • 0b7feac Clean up some unreachable_pub warnings
  • 65f1f2e Bump version to 0.4.20
  • bd3b48d Revise Months API
  • ab688c3 Implement Add\<Months> and Sub\<Months> for NaiveDate (#731)
  • 782f904 Clarify docs for DateTime::with_timezone
  • 27c0558 dont use stub.rs when wasmbind feature is enabled
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 2 years ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.