Bumps time from 0.3.44 to 0.3.47.
Release notes
Sourced from time's releases.
v0.3.47
See the changelog for details.
v0.3.46
See the changelog for details.
v0.3.45
See the changelog for details.
Changelog
Sourced from time's changelog.
0.3.47 [2026年02月05日]
Security
-
The possibility of a stack exhaustion denial of service attack when parsing RFC 2822 has been
eliminated. Previously, it was possible to craft input that would cause unbounded recursion. Now,
the depth of the recursion is tracked, causing an error to be returned if it exceeds a reasonable
limit.
This attack vector requires parsing user-provided input, with any type, using the RFC 2822 format.
Compatibility
- Attempting to format a value with a well-known format (i.e. RFC 3339, RFC 2822, or ISO 8601) will
error at compile time if the type being formatted does not provide sufficient information. This
would previously fail at runtime. Similarly, attempting to format a value with ISO 8601 that is
only configured for parsing (i.e.
Iso8601::PARSING) will error at compile time.
Added
- Builder methods for format description modifiers, eliminating the need for verbose initialization
when done manually.
date!(2026-W01-2) is now supported. Previously, a space was required between W and 01.
[end] now has a trailing_input modifier which can either be prohibit (the default) or
discard. When it is discard, all remaining input is ignored. Note that if there are components
after [end], they will still attempt to be parsed, likely resulting in an error.
Changed
- More performance gains when parsing.
Fixed
- If manually formatting a value, the number of bytes written was one short for some components.
This has been fixed such that the number of bytes written is always correct.
- The possibility of integer overflow when parsing an owned format description has been effectively
eliminated. This would previously wrap when overflow checks were disabled. Instead of storing the
depth as
u8, it is stored as u32. This would require multiple gigabytes of nested input to
overflow, at which point we've got other problems and trivial mitigations are available by
downstream users.
0.3.46 [2026年01月23日]
Added
- All possible panics are now documented for the relevant methods.
- The need to use
#[serde(default)] when using custom serde formats is documented. This applies
only when deserializing an Option<T>.
Duration::nanoseconds_i128 has been made public, mirroring
std::time::Duration::from_nanos_u128.
... (truncated)
Commits
d5144cd v0.3.47 release
f6206b0 Guard against integer overflow in release mode
1c63dc7 Avoid denial of service when parsing Rfc2822
5940df6 Add builder methods to avoid verbose construction
00881a4 Manually format macros everywhere
bb723b6 Add trailing_input modifier to end
31c4f8e Permit W12 in date! macro
490a17b Mark error paths in well-known formats as cold
6cb1896 Optimize Rfc2822 parsing
6d264d5 Remove erroneous #[inline(never)] attributes
- 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 show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@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)
You can disable automated security fix PRs for this repo from the Security Alerts page.
Bumps time from 0.3.44 to 0.3.47.
Release notes
Sourced from time's releases.
Changelog
Sourced from time's changelog.
... (truncated)
Commits
d5144cdv0.3.47 releasef6206b0Guard against integer overflow in release mode1c63dc7Avoid denial of service when parsing Rfc28225940df6Add builder methods to avoid verbose construction00881a4Manually format macros everywherebb723b6Addtrailing_inputmodifier toend31c4f8ePermitW12indate!macro490a17bMark error paths in well-known formats as cold6cb1896OptimizeRfc2822parsing6d264d5Remove erroneous#[inline(never)]attributesDependabot 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.