PackageTrack
Sign in Get early access

chrono

Date and time library for Rust

0.4.45 752M downloads/mo #100 most downloaded on crates.io chronotope/chrono

What this package is like to depend on

Last release 2 months ago

04 Jun 2026

Release timing varies

gaps range from 3 weeks to 8 months

Most releases are documented

notes for 45 of 71 stable releases

22 versions withdrawn

withdrawn after publishing

12 years old

95 releases · first in 2014

4 releases in the last 12 months

see the full history below

Release timeline

95 releases · Nov 2014 to Jun 2026
2015 2017 2019 2021 2023 2025
Release Pre-release Withdrawn

Releases

latest 60 of 95
  1. 0.4.45 04 Jun 2026
    Release notes

    What's Changed

    Open source →
  2. 0.4.44 23 Feb 2026
    Release notes

    What's Changed

    Open source →
  3. 0.4.43 14 Jan 2026
    Release notes

    What's Changed

    Open source →
  4. 0.4.42 08 Sep 2025
    Release notes

    What's Changed

    Open source →
  5. 0.4.41 29 Apr 2025
    Release notes

    What's Changed

    Open source →
  6. 0.4.40 26 Feb 2025
    Release notes

    What's Changed

    Open source →
  7. 0.4.39 09 Dec 2024
    Release notes

    What's Changed

    Open source →
  8. 0.4.38 15 Apr 2024
    Release notes

    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. 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

    Additions

    Fixes

    • Return error when rounding with a zero duration (#1474, thanks @Dav1dde)
    • Manually implement Copy for DateTime if offset is Copy (#1573)

    Internal

    • Inline test_encodable_json and test_decodable_json functions (#1550)
    • CI: Reduce combinations in cargo hack check (#1553)
    • Refactor formatting code (#1335)
    • Optimize number formatting (#1558)
    • Only package files needed for building and testing (#1554)

    Thanks to all contributors on behalf of the chrono team, @djc and @pitdicker!

    Open source →
  9. 0.4.37 27 Mar 2024

    Nothing published for this version

  10. 0.4.36 26 Mar 2024 withdrawn

    Nothing published for this version

  11. 0.4.35 06 Mar 2024

    Nothing published for this version

  12. 0.4.34 11 Feb 2024

    Nothing published for this version

  13. 0.4.33 25 Jan 2024

    Nothing published for this version

  14. 0.4.32 22 Jan 2024
    Release notes

    This tag was signed with the committer’s verified signature .

    djc Dirkjan Ochtman

    SSH Key Fingerprint: 37smfZ/b9hCzt4lr8r1baBBAPt9mNWXkOPDefColTWI Verified Learn about vigilant mode .

    bf70419

    In this release we shipped part of the effort to reduce the number of methods that could unexpectedly panic, notably for the DateTime and Duration types.

    Chrono internally stores the value of a DateTime in UTC, and transparently converts it to the local value as required. For example adding a second to a DateTime needs to be done in UTC to get the correct result, but adding a day needs to be done in local time to be correct. What happens when the value is near the edge of the representable range, and the implicit conversions pushes it beyond the representable range? Many methods could panic on such inputs, including formatting the value for Debug output.

    In chrono 0.4.32 the range of NaiveDate , NaiveDateTime and DateTime is made slightly smaller. This allows us to always do the implicit conversion, and in many cases return the expected result. Specifically the range is now from January 1, -262144 until December 31, 262143, one year less on both sides than before. We expect this may trip up tests if you hardcoded the MIN and MAX dates.

    Duration had a similar issue. The range of this type was pretty arbitrary picked to match the range of an i64 in milliseconds. Negating an i64::MIN pushes a value out of range, and in the same way negating Duration::MIN could push it out of our defined range and cause a panic. This turns out to be somewhat common and hidden behind many layers of abstraction. We adjusted the type to have a minimum value of -Duration::MAX instead and prevent the panic case.

    Other highlights:

    • Duration gained new fallible initialization methods.

    • Better support for rkyv .

    • Most methods on NaiveDateTime are now const.

    • We had to bump our MSRV to 1.61 to keep building with our dependencies. This will also allow us to make more methods on DateTime const in a future release.

    Complete list of changes:

    Fixes

    • Fix panic in TimeZone::from_local_datetime ( #1071 )

    • Fix out of range panics in DateTime getters and setters ( #1317 , #1329 )

    Additions

    • Add NaiveDateTime::checked_(add|sub)_offset ( #1313 )

    • Add DateTime::to_utc ( #1325 )

    • Derive Default for Duration ( #1327 )

    • Add Duration::subsec_nanos ( #1327 )

    • Add try_* builders to Duration ( #1327 )

    • Implement AddAssign and SubAssign for Duration ( #1327 )

    • Make methods on NaiveDateTime const where possible ( #1286 )

    • Split clock feature into clock and now ( #1343 , thanks @mmastrac )

    • Add From<NaiveDate> for NaiveDateTime ( #1355 , thanks @dcechano )

    • Add NaiveDateTime::from_timestamp_nanos ( #1357 , thanks @Ali-Mirghasemi )

    • Add Months::num_months() and num_years() ( #1373 , thanks @danwilliams )

    • Add DateTime<Utc>::from_timestamp_millis ( #1374 , thanks @xmakro )

    Changes

    • Fix panic in Duration::MIN.abs() (adjust Duration::MIN by 1 millisecond) ( #1334 )

    • Bump MSRV to 1.61 ( #1347 )

    • Update windows-targets requirement from 0.48 to 0.52 ( #1360 )

    • Update windows-bindgen to 0.52 ( #1379 )

    Deprecations

    • Deprecate standalone format functions ( #1306 )

    Documentation

    • Improve doc comment and tests for timestamp_nanos_opt ( #1299 , thanks @mlegner )

    • Switch to doc_auto_cfg ( #1305 , #1326 )

    • Document panics in Add / Sub impls and use expect ( #1316 )

    • Improve types listed in top-level documentation ( #1274 )

    • Improve deprecation note of TimeZone::datetime_from_str ( #1342 , thanks @tmccombs )

    • Fix typos in Datelike impl for DateTime ( #1376 , thanks @ElectrifyPro )

    Rkyv support

    • Export Archived* types in rkyv module ( #1304 )

    • Duplicate derives on Archived* types ( #1271 , thanks @Awpteamoose )

    • Archive derive of PartialEq for rkyv ( #959 , thanks @mkatychev )

    • Expose rkyv features as features for chrono users ( #1368 , thanks @gz )

    Changes to unstable features

    • Don't let unstable-locales imply the alloc feature ( #1307 )

    • Remove format::{format_localized, format_item_localized} ( #1311 )

    • Inline write_rfc2822_inner , don't localize ( #1322 )

    Internal

    • Add benchmark for DateTime::with_* ( #1309 )

    • Fix *_DAYS_FROM_YEAR_0 calculation ( #1312 )

    • Add NaiveTime::overflowing_(add|sub)_offset ( #1310 )

    • Rewrite DateTime::overflowing_(add|sub)_offset ( #1069 )

    • Tests calling date command set env LC_ALL ( #1315 , thanks @jtmoon79 )

    • Update deny.toml ( #1320 )

    • Bump actions/setup-node from 3 to 4 ( #1346 )

    • test.yml remove errant with: node-version ( #1352 , thanks @jtmoon79 )

    • CI Linting: Fix missing sources checkout in toml job ( #1371 , thanks @gibbz00 )

    • Silence clippy lint for test code with Rust 1.74.0 ( #1362 )

    Thanks to all contributors on behalf of the chrono team, @djc and @pitdicker !

    Contributors

    gz, djc, and 13 other contributors

    Open source →
  15. 0.4.31 15 Sep 2023

    Nothing published for this version

  16. 0.4.30 07 Sep 2023

    Nothing published for this version

  17. 0.4.29 05 Sep 2023

    Nothing published for this version

  18. 0.4.28 30 Aug 2023

    Nothing published for this version

  19. 0.4.27 29 Aug 2023

    Nothing published for this version

  20. 0.4.26 30 May 2023

    Nothing published for this version

  21. 0.4.25 29 May 2023

    Nothing published for this version

  22. 0.4.24 12 Mar 2023

    Nothing published for this version

  23. 0.4.23 12 Nov 2022

    Nothing published for this version

  24. 0.4.22 13 Aug 2022

    Nothing published for this version

  25. 0.4.21 09 Aug 2022

    Nothing published for this version

  26. 0.4.20 04 Aug 2022

    Nothing published for this version

  27. 0.4.20-rc.1 26 Jul 2022 pre-release

    Nothing published for this version

  28. 0.4.20-beta.1 25 Jul 2022 pre-release
    Release notes

    Bump version to 0.4.20-beta.1

    Open source →
  29. 0.4.19 30 Sep 2020
    Release notes
    • Correct build on solaris/illumos
    Open source →
  30. 0.4.18 26 Sep 2020
    Release notes
    • Restore support for x86_64-fortanix-unknown-sgx
    Open source →
  31. 0.4.17 26 Sep 2020
    Release notes
    • Fix a name resolution error in wasm-bindgen code introduced by removing the dependency on time v0.1
    Open source →
  32. 0.4.16 25 Sep 2020
    Release notes

    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.

    Open source →
  33. 0.4.15 14 Aug 2020
    Release notes

    Fixes

    • Correct usage of vec in specific feature combinations (@quodlibetor)
    Open source →
  34. 0.4.14 07 Aug 2020 withdrawn
    Release notes

    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>.
    Open source →
  35. 0.4.13 05 Jul 2020
    Release notes

    Features

    • Add DurationRound trait that allows rounding and truncating by Duration (@robyoung)

    Internal Improvements

    • Code improvements to impl From for js_sys in wasm to reuse code (@schrieveslaach)
    Open source →
  36. 0.4.12 01 Jul 2020
    Release notes

    New Methods and impls

    • Duration::abs to ensure that a duration is just a magnitude (#418 @abreis).

    Compatibility improvements

    • impl From for js_sys in wasm (#424 @schrieveslaach)
    • Bump required version of time for redox support.

    Bugfixes

    • serde modules do a better job with Option types (#417 @mwkroening and #429 @fx-kirin)
    • Use js runtime when using wasmbind to get the local offset (#412 @quodlibetor)

    Internal Improvements

    • Migrate to github actions from travis-ci, make the overall CI experience more comprehensible, significantly faster and more correct (#439 @quodlibetor)
    Open source →
  37. 0.4.11 07 Mar 2020
    Release notes

    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

    • Don't use wasmbind on wasi (@coolreader18 #365)
    • Avoid deprecation warnings for Error::description (@AnderEnder and @quodlibetor #376)

    Internal improvements

    • Use Criterion for benchmarks (@quodlibetor)
    Open source →
  38. 0.4.10 24 Nov 2019
    Release notes

    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
    Open source →
  39. 0.4.9 04 Sep 2019
    Release notes

    Fixes

    • Make Datetime arithmetic adjust their offsets after discovering their new timestamps (@quodlibetor #337)
    • Put wasm-bindgen related code and dependencies behind a wasmbind feature gate. (@quodlibetor #335)
    Open source →
  40. 0.4.8 31 Aug 2019
    Release notes

    Fixes

    • Add '0' to single-digit days in rfc2822 date format (@wyhaya #323)
    • Correctly pad DelayedFormat (@SamokhinIlya #320)

    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)
    Open source →
    Release notes

    Fixes

    • Add '0' to single-digit days in rfc2822 date format (@wyhaya #323)
    • Correctly pad DelayedFormat (@SamokhinIlya #320)

    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)
    Open source →
  41. 0.4.7 25 Jun 2019
    Release notes

    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

    • Add std::convert::From conversions between the different timezone formats (@mqudsi #271)
    • Add timestamp_nanos methods (@jean-airoldie #308)
    • Documentation improvements
    Open source →
  42. 0.4.6 25 Aug 2018
    Release notes

    Maintenance

    • Doc improvements -- improve README CI verification, external links
    • winapi upgrade to 0.3
    Open source →
  43. 0.4.5 28 Jul 2018
    Release notes

    Features

    • Added several more serde deserialization helpers (@novacrazy #258)
    • Enabled all features on the playground (@davidtwco #267)
    • Derive Hash on FixedOffset (@LuoZijun #254)
    • Improved docs (@storyfeet #261, @quodlibetor #252)
    Open source →
  44. 0.4.4 23 Jun 2018
    Release notes

    Features

    • Added support for parsing nanoseconds without the leading dot (@emschwartz #251)
    Open source →
  45. 0.4.3 11 Jun 2018
    Release notes

    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)
    Open source →
  46. 0.4.2 07 Apr 2018
    Release notes

    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)
    Open source →
  47. 0.4.1 28 Mar 2018
    Release notes

    Bug Fixes

    • Allow parsing timestamps with subsecond precision (@jonasbb)
    • RFC2822 allows times to not include the second (@upsuper)

    Features

    • New timestamp_millis method on DateTime and NaiveDateTime that returns number of milliseconds since the epoch. (@quodlibetor)
    • Support exact decimal width on subsecond display for RFC3339 via a new to_rfc3339_opts method on DateTime (@dekellum)
    • Use no_std-compatible num dependencies (@cuviper)
    • Add SubsecRound trait that allows rounding to the nearest second (@dekellum)

    Code Hygiene and Docs

    • Docs! (@alatiera @kosta @quodlibetor @kennytm)
    • Run clippy and various fixes (@quodlibetor)
    Open source →
  48. 0.4.0 21 Jun 2017
    Release notes

    This was originally planned as a minor release but was pushed to a major release due to the compatibility concern raised.

    Added

    • IsoWeek has been added for the ISO week without time zone.

    • The += and -= operators against time::Duration are now supported for NaiveDate, NaiveTime and NaiveDateTime. (#99)

      (Note that this does not invalidate the eventual deprecation of time::Duration.)

    • SystemTime and DateTime<Tz> types can be now converted to each other via From. Due to the obvious lack of time zone information in SystemTime, the forward direction is limited to DateTime<Utc> and DateTime<Local> only.

    Changed

    • Intermediate implementation modules have been flattened (#161), and UTC has been renamed to Utc in accordance with the current convention (#148).

      The full list of changes is as follows:

      Before After
      chrono::date::Date chrono::Date
      chrono::date::MIN chrono::MIN_DATE
      chrono::date::MAX chrono::MAX_DATE
      chrono::datetime::DateTime chrono::DateTime
      chrono::naive::time::NaiveTime chrono::naive::NaiveTime
      chrono::naive::date::NaiveDate chrono::naive::NaiveDate
      chrono::naive::date::MIN chrono::naive::MIN_DATE
      chrono::naive::date::MAX chrono::naive::MAX_DATE
      chrono::naive::datetime::NaiveDateTime chrono::naive::NaiveDateTime
      chrono::offset::utc::UTC chrono::offset::Utc
      chrono::offset::fixed::FixedOffset chrono::offset::FixedOffset
      chrono::offset::local::Local chrono::offset::Local
      chrono::format::parsed::Parsed chrono::format::Parsed

      With an exception of Utc, this change does not affect any direct usage of chrono::* or chrono::prelude::* types.

    • Datelike::isoweekdate is replaced by Datelike::iso_week which only returns the ISO week.

      The original method used to return a tuple of year number, week number and day of the week, but this duplicated the Datelike::weekday method and it had been hard to deal with the raw year and week number for the ISO week date. This change isolates any logic and API for the week date into a separate type.

    • NaiveDateTime and DateTime can now be deserialized from an integral UNIX timestamp. (#125)

      This turns out to be very common input for web-related usages. The existing string representation is still supported as well.

    • chrono::serde and chrono::naive::serde modules have been added for the serialization utilities. (#125)

      Currently they contain the ts_seconds modules that can be used to serialize NaiveDateTime and DateTime values into an integral UNIX timestamp. This can be combined with Serde's [de]serialize_with attributes to fully support the (de)serialization to/from the timestamp.

      For rustc-serialize, there are separate chrono::TsSeconds and chrono::naive::TsSeconds types that are newtype wrappers implementing different (de)serialization logics. This is a suboptimal API, however, and it is strongly recommended to migrate to Serde.

    Fixed

    • The major version was made to fix the broken Serde dependency issues. (#146, #156, #158, #159)

      The original intention to technically break the dependency was to facilitate the use of Serde 1.0 at the expense of temporary breakage. Whether this was appropriate or not is quite debatable, but it became clear that there are several high-profile crates requiring Serde 0.9 and it is not feasible to force them to use Serde 1.0 anyway.

      To the end, the new major release was made with some known lower-priority breaking changes. 0.3.1 is now yanked and any remaining 0.3 users can safely roll back to 0.3.0.

    • Various documentation fixes and goodies. (#92, #131, #136)

    Open source →
  49. 0.3.1 01 May 2017 withdrawn
    Release notes

    Added

    • Weekday now implements FromStr, Serialize and Deserialize. (#113)

      The syntax is identical to %A, i.e. either the shortest or the longest form of English names.

    Changed

    • Serde 1.0 is now supported. (#142)

      This is technically a breaking change because Serde 0.9 and 1.0 are not compatible, but this time we decided not to issue a minor version because we have already seen Serde 0.8 and 0.9 compatibility problems even after 0.3.0 and a new minor version turned out to be not very helpful for this kind of issues.

    Fixed

    • Fixed a bug that the leap second can be mapped wrongly in the local time zone. Only occurs when the local time zone is behind UTC. (#130)
    Open source →
  50. 0.3.0 06 Feb 2017
    Release notes

    The project has moved to the Chronotope organization.

    Added

    • chrono::prelude module has been added. All other glob imports are now discouraged.

    • FixedOffset can be added to or subtracted from any timelike types.

      • FixedOffset::local_minus_utc and FixedOffset::utc_minus_local methods have been added. Note that the old Offset::local_minus_utc method is gone; see below.
    • Serde support for non-self-describing formats like Bincode is added. (#89)

    • Added Item::Owned{Literal,Space} variants for owned formatting items. (#76)

    • Formatting items and the Parsed type have been slightly adjusted so that they can be internally extended without breaking any compatibility.

    • Weekday is now Hashable. (#109)

    • ParseError now implements Eq as well as PartialEq. (#114)

    • More documentation improvements. (#101, #108, #112)

    Changed

    • Chrono now only supports Rust 1.13.0 or later (previously: Rust 1.8.0 or later).

    • Serde 0.9 is now supported. Due to the API difference, support for 0.8 or older is discontinued. (#122)

    • Rustc-serialize implementations are now on par with corresponding Serde implementations. They both standardize on the std::fmt::Debug textual output.

      This is a silent breaking change (hopefully the last though). You should be prepared for the format change if you depended on rustc-serialize.

    • Offset::local_minus_utc is now Offset::fix, and returns FixedOffset instead of a duration.

      This makes every time zone operation operate within a bias less than one day, and vastly simplifies many logics.

    • chrono::format::format now receives FixedOffset instead of time::Duration.

    • The following methods and implementations have been renamed and older names have been removed. The older names will be reused for the same methods with std::time::Duration in the future.

      • checked_*checked_*_signed in Date, DateTime, NaiveDate and NaiveDateTime types

      • overflowing_*overflowing_*_signed in the NaiveTime type

      • All subtraction implementations between two time instants have been moved to signed_duration_since, following the naming in std::time.

    Fixed

    • Fixed a panic when the Local offset receives a leap second. (#123)

    Removed

    • Rustc-serialize support for Date<Tz> types and all offset types has been dropped.

      These implementations were automatically derived and never had been in a good shape. Moreover there are no corresponding Serde implementations, limiting their usefulness. In the future they may be revived with more complete implementations.

    • The following method aliases deprecated in the 0.2 branch have been removed.

      • DateTime::num_seconds_from_unix_epoch (→ DateTime::timestamp)
      • NaiveDateTime::from_num_seconds_from_unix_epoch (→ NaiveDateTime::from_timestamp)
      • NaiveDateTime::from_num_seconds_from_unix_epoch_opt (→ NaiveDateTime::from_timestamp_opt)
      • NaiveDateTime::num_seconds_unix_epoch (→ NaiveDateTime::timestamp)
    • Formatting items are no longer Copy, except for chrono::format::Pad.

    • chrono::offset::add_with_leapsecond has been removed. Use a direct addition with FixedOffset instead.

    Open source →
  51. 0.2.25 03 Aug 2016
    Release notes

    This is the last version officially supports Rust 1.12.0 or older.

    (0.2.24 was accidentally uploaded without a proper check for warnings in the default state, and replaced by 0.2.25 very shortly. Duh.)

    Added

    • Serde 0.8 is now supported. 0.7 also remains supported. (#86)

    Fixed

    • The deserialization implementation for rustc-serialize now properly verifies the input. All serialization codes are also now thoroughly tested. (#42)
    Open source →
  52. 0.2.24 03 Aug 2016

    Nothing published for this version

  53. 0.2.23 02 Aug 2016
    Release notes

    Added

    • The documentation was greatly improved for several types, and tons of cross-references have been added. (#77, #78, #80, #82)

    • DateTime::timestamp_subsec_{millis,micros,nanos} methods have been added. (#81)

    Fixed

    • When the system time records a leap second, the nanosecond component was mistakenly reset to zero. (#84)

    • Local offset misbehaves in Windows for August and later, due to the long-standing libtime bug (dates back to mid-2015). Workaround has been implemented. (#85)

    Open source →
  54. 0.2.22 21 Apr 2016
    Release notes

    Fixed

    • %.6f and %.9f used to print only three digits when the nanosecond part is zero. (#71)
    • The documentation for %+ has been updated to reflect the current status. (#71)
    Open source →
  55. 0.2.21 29 Mar 2016
    Release notes

    Fixed

    • Fixed::LongWeekdayName was unable to recognize "sunday" (whoops). (#66)
    Open source →
  56. 0.2.20 05 Mar 2016
    Release notes

    Changed

    • serde dependency has been updated to 0.7. (#63, #64)
    Open source →
  57. 0.2.19 04 Feb 2016
    Release notes

    Added

    • The documentation for Date is made clear about its ambiguity and guarantees.

    Fixed

    • DateTime::date had been wrong when the local date and the UTC date is in disagreement. (#61)
    Open source →
  58. 0.2.18 23 Jan 2016
    Release notes

    Fixed

    • Chrono no longer pulls a superfluous rand dependency. (#57)
    Open source →
  59. 0.2.17 21 Nov 2015
    Release notes

    Added

    • Naive date and time types and DateTime now have a serde support. They serialize as an ISO 8601 / RFC 3339 string just like Debug. (#51)
    Open source →
  60. 0.2.16 06 Sep 2015
    Release notes

    Added

    • Added %.3f, %.6f and %.9f specifier for formatting fractional seconds up to 3, 6 or 9 decimal digits. This is a natural extension to the existing %f. Note that this is (not yet) generic, no other value of precision is supported. (#45)

    Changed

    • Forbade unsized types from implementing Datelike and Timelike. This does not make a big harm as any type implementing them should be already sized to be practical, but this change still can break highly generic codes. (#46)

    Fixed

    • Fixed a broken link in the README.md. (#41)
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive