Skip to content

chore(deps): update rust crate time to v0.3.55 - #7

Merged
chikof merged 1 commit into
mainfrom
renovate/time-0.x
Aug 8, 2026
Merged

chore(deps): update rust crate time to v0.3.55#7
chikof merged 1 commit into
mainfrom
renovate/time-0.x

Conversation

@renovate

@renovate renovate Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
time (source) workspace.dependencies patch =0.3.47=0.3.55

Release Notes

time-rs/time (time)

v0.3.55

Compare Source

Fixed
  • Avoid underflow in DateIter::nth, ensuring correct behavior.
  • Avoid overflow when deserializing timestamps.
  • Handle out-of-bounds data when deserializing.
  • Don't assume that the format being deserialized was generated by the serializer; this previously
    led to some valid values being parsed incorrectly and others being rejected.
  • No longer silence errors when deserializing UtcOffset.
  • OffsetDateTime::from_unix_timestamp_nanos and UtcDateTime::from_unix_timestamp_nanos correctly
    return None for all out-of-range values, rather than unexpectedly panicking in some situations.
  • OffsetDateTime::checked_to_offset and UtcDateTime::checked_to_offset correctly return None
    for all out-of-range values, rather than unexpectedly panicking in some situations.

v0.3.54

Compare Source

Added
  • PrimitiveDateTime has been renamed to PlainDateTime.
  • Duration has been renamed to SignedDuration.
  • Iteration is now possible over Date, Month, and Weekday. Relevant iterator methods have been
    overridden to ensure maximum performance.

For both PlainDateTime and SignedDuration, a non-deprecated type alias has been added for
backwards compatibility. The new names should be preferred.

Changed
  • The associated metadata type (for powerfmt implementations) for various types has been changed
    to () and made public. This guarantees that no additional metadata will be present.
Performance
  • More gains when parsing RFC 2822.

v0.3.53

Compare Source

There are no publicly-facing changes in this release. It solely works around the cookie crate
relying on an implementation detail of time that was never part of the public API (and thus
subject to semver guarantees). The internal API has been reverted to the extent necessary for
cookie to compile. This measure is temporary; the internal change will be re-applied in an
yet-to-be-determined future release.

v0.3.52

Compare Source

Fixed
  • Subsecond values in the time! macro are parsed using the textual representation, ensuring
    accuracy. Previously, they were parsed using the floating point representation, which could result
    in a loss of precision and even invalid values.
  • The date! macro could previously create an invalid value that would then panic at compile time.
    The macro now emits a proper error instead.
  • When parsing an invalid format description, an edge case would inadvertently panic. This now
    returns an error as intended.
Added
  • Support default values when parsing

v0.3.51

Compare Source

Fixed
  • time compiles with macros enabled. This version is otherwise identical to v0.3.50.

v0.3.50

Compare Source

Fixed
  • time compiles with macros enabled. This version is otherwise identical to v0.3.50.

v0.3.49

Compare Source

Fixed
  • Due to a long-standing bug in the Rust compiler, v0.3.48 caused a number of crates to stop
    compiling. A patch has been added that avoids triggering the bug.

v0.3.48

Compare Source

Security
  • The number of digits parsed by [subsecond digits:1+] is capped at 32 to avoid parsing unbounded
    user input. Digits after the 9th have no semantic meaning.
  • Explicitly specify #[repr] for Weekday. The value of the variants is relied upon in multiple
    locations for soundness. The practical effect of this change is nothing, as Rust has always mapped
    C-like enums to 0..N in memory.
Compatibility
  • Non-UTF-8 formatting and parsing is deprecated without replacement. It is recommended to only
    format and parse valid UTF-8.
  • format_description::parse is deprecated. It is recommended to use
    format_description::parse_borrowed::<3> or format_description::parse_owned::<3>.
Added
  • All types in the unit module have a generic parameter, though this is currently not used for
    much. Usage will be expanded in the future.
  • Comparisons between types in the unit module and the generic Unit type are permitted.
  • Support for rand 0.10
  • Version 3 format descriptions
    • Only UTF-8 is supported. As a side effect of this, [ignore] requires that the remaining input
      not begin mid-codepoint.
    • Representation is deliberately opaque to allow for arbitrary changes going forward.
    • format:false is supported on [optional] components. This is not possible in version 1 and
      version 2 format descriptions due to API compatibility.
    • The time::serde::format_description! macro uses a new, clearer syntax for version 3.
      • time::serde::format_description!(mod foo [Date] = "[year]-[month]-[day]");
      • Unlike version 1 and version 2 format descriptions, the type is not automatically brought into
        scope. You must import it yourself.
    • Nonsensical combinations of modifiers are rejected. For example, you cannot specify
      case-sensitivity when parsing a numerical month.
    • [year] defaults to range:standard
    • Components and modifiers are case sensitive (and always lowercase).
Changed
  • The convert module has been renamed to unit.
Fixed
  • Macro hygiene has been improved by specifying re-exports.
  • Fix handling of T in ISO 8601
  • Support parsing the full range of UTC offset hours
  • Version 1 nested format descriptions may now start with a component. Previously, a lexer bug
    unintentionally prohibited this.
  • Error when ISO week date overflows the max year. This would previously panic.
  • Error when padding is specified in strftime format descriptions but the component is not. This
    would previously panic.
Performance

Huge performance gains across multiple areas, including:

  • optimizing equality checks for Duration
  • optimizing Display impls for all major types
  • optimizing the formatting of components and well-known formats
  • precomputing metadata when formatting, reducing allocations
  • adding fast path for typical RFC 2822 usage
  • optimizing strftime parsing
  • refactoring format description parsing

Depending on the area, gains range from 3× to even 11×.


Configuration

📅 Schedule: (UTC)

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

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


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/time-0.x branch from 2d617d8 to edc2880 Compare August 1, 2026 11:35
@renovate renovate Bot changed the title chore(deps): update rust crate time to v0.3.54 chore(deps): update rust crate time to v0.3.55 Aug 1, 2026
@renovate
renovate Bot force-pushed the renovate/time-0.x branch 2 times, most recently from 13ebec9 to 2007fb4 Compare August 8, 2026 00:12
@renovate
renovate Bot requested a review from chikof as a code owner August 8, 2026 00:12
@renovate
renovate Bot force-pushed the renovate/time-0.x branch from 2007fb4 to a7ffc42 Compare August 8, 2026 02:37
@chikof
chikof merged commit 58ec4cf into main Aug 8, 2026
4 of 5 checks passed
@chikof
chikof deleted the renovate/time-0.x branch August 8, 2026 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant