NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1339 most downloaded on crates.io
The entire Time Zone Database embedded into your binary.
Last release today
06 Oct 2026
Release timing varies
gaps range from 2 weeks to 9 months
Nearly every release is documented
notes for 10 of 11 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
11 releases · first in 2024
This release introduces new options for controlling the precision of fractional seconds when printing Zoned, Timestamp, civil::DateTime or civil::Time
This release introduces new options for controlling the precision
of fractional seconds when printing Zoned, Timestamp,
civil::DateTime or civil::Time values. This is principally exposed
via jiff::fmt::temporal::DateTimePrinter::precision, but it's also
available via the standard library's formatting machinery. For example,
if zdt is a jiff::Zoned, then format!("{zdt:.6}") will format
it into a string with microsecond precision, even if its fractional
component is zero.
Enhancements:
This releases fixes a build error in Jiff's alloc-only configuration. This regression was introduced in jiff 0.1.6.
This releases fixes a build error in Jiff's alloc-only configuration. This
regression was introduced in jiff 0.1.6.
Bug fixes:
core::time::Duration everywhere instead of std::time::Duration.One column per month.
This release relaxes Jiff's dependency on windows-sys to include multiple semver incompatible releases. The purpose of this relaxation is to enable Ji
This release relaxes Jiff's dependency on windows-sys to include multiple
semver incompatible releases. The purpose of this relaxation is to enable
Jiff to work with different versions of windows-sys in the hopes that this
reduces the likelihood that multiple copies of windows-sys are included in
your dependency tree.
Dependencies:
windows-sys dependency constraint to >=0.52.0, <=0.59.*.Basically, all of the above APIs either accept or return a std::Duration. To avoid breaking changes at this point, new methods for SignedDuration were…
This release includes a new top-level type, SignedDuration, that provides a
near exact replica of std::time::Duration, but signed. It is meant to provide
alternative APIs for working with durations at a lower level than what Span
provides, and to facilitate better integration with the standard library.
A SignedDuration has also been integrated with all of Jiff's datetime types.
For example, previously, Zoned::checked_add only accepted a concrete
jiff::Span. But now it accepts a jiff::Span, jiff::SignedDuration or even
a std::time::Duration. Moreover, all of the until and since APIs on
datetime types have been ported and copied to return SignedDuration under the
duration_until and duration_since names.
This marks an initial integration phase with SignedDuration. It is planned
to integrate it more with the datetime types. Currently, there are integrations
on Timestamp and Span, but more will be added in the future.
Overall, folks should still use Span. That is the intended default duration
type in Jiff and will continue to be. Users of Jiff may find SignedDuration
useful in contexts where speed is important or when one needs to integrate
with the standard library.
This release also includes a few related deprecations as the APIs involving
std::time::Duration are phased out in favor of SignedDuration.
Deprecations:
Timestamp::as_duration: replaced with as_jiff_duration, which will be
renamed to as_duration in jiff 0.2.Timestamp::from_duration: replaced with from_jiff_duration, which will be
renamed to from_duration in jiff 0.2.Timestamp::from_signed_duration: replaced with from_jiff_duration.Span::to_duration: replaced with to_jiff_duration, which will be renamed
to to_duration in jiff 0.2.Basically, all of the above APIs either accept or return a
std::time::Duration. To avoid breaking changes at this point, new methods
for SignedDuration were added. For example, Timestamp::as_jiff_duration.
In jiff 0.2, the above deprecated methods will be removed and replaced with
equivalent methods that accept or return a SignedDuration instead. Callers
can then convert between a SignedDuration and a std::time::Duration using
appropriate TryFrom trait implementations.
Enhancements:
SignedDuration type.Span with >=day units with a Timestamp.Performance:
This release includes some improvements and bug fixes, particularly for Jiff's strtime APIs.
This release includes some improvements and bug fixes, particularly for Jiff's
strtime APIs.
Enhancements:
DESIGN.md.%V for formatting and parsing IANA time zone identifiers.devcontainer.json to support GitHub Codespaces.days_in_month.Bug fixes:
This release includes a small improvement for strptime that permits %Y%m%d to parse 20240730 correctly.
This release includes a small improvement for strptime that permits
%Y%m%d to parse 20240730 correctly.
Enhancements:
strptime so that things like %Y aren't unceremoniously greedy.This release features support for wasm32-unknown-unknown. That is, when Jiff's new js crate feature is enabled, Jiff will automatically use JavaScript
This release features support for wasm32-unknown-unknown. That is, when
Jiff's new js crate feature is enabled, Jiff will automatically use
JavaScript APIs to determine the current time and time zone.
Enhancements:
PLATFORM.md guide.This release features a few new APIs that a need for arose while experimenting with actually using Jiff in real projects. Namely, the jiff::strtime mo
This release features a few new APIs that a need for arose while experimenting
with actually using Jiff in real projects. Namely, the jiff::fmt::strtime
module now has %f and %.f directives for parsing and formatting fractional
seconds. And both jiff::fmt::rfc2822 and jiff::fmt::strtime now have
support for skipping weekday checks during parsing. (Previously, Jiff required
that an English weekday be consistent with the date parsed, and there was no
way to opt out. While this is still the default behavior, callers can disable
this check.)
Enhancements:
Span getter methods.jiff::fmt::strtime.Bug fixes:
This is a new semver compatible release. The principle addition are APIs for converting between a jiff::Span and a std::Duration. Specifically, there
This is a new semver compatible release. The principle addition are APIs for
converting between a jiff::Span and a std::time::Duration. Specifically,
there are now TryFrom<Span> for Duration and TryFrom<Duration> for Span
trait implementations. There is also a Span::to_duration, which requires a
relative date, for converting spans with non-uniform units (like months) to a
Duration.
Enhancements:
Bug fixes:
[IANA Time Zone Database]: https://www.iana.org/time-zones [PLATFORM]: PLATFORM.md [RFC 9110]: https://datatracker.ietf.org/doc/html/rfc9110#section-5
The initial release of Jiff.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →