Skip to content

Update Rust crate time to v0.3.55 - #102

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/time-0.x-lockfile
Open

Update Rust crate time to v0.3.55#102
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/time-0.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
time (source) workspace.dependencies patch 0.3.470.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 changed the title Update Rust crate time to v0.3.48 Update Rust crate time to v0.3.48 - autoclosed Jun 13, 2026
@renovate renovate Bot closed this Jun 13, 2026
@renovate
renovate Bot deleted the renovate/time-0.x-lockfile branch June 13, 2026 00:56
@renovate renovate Bot changed the title Update Rust crate time to v0.3.48 - autoclosed Update Rust crate time to v0.3.49 Jun 14, 2026
@renovate renovate Bot reopened this Jun 14, 2026
@renovate
renovate Bot force-pushed the renovate/time-0.x-lockfile branch 2 times, most recently from 22454cb to 7861203 Compare June 14, 2026 01:36
@renovate renovate Bot changed the title Update Rust crate time to v0.3.49 Update Rust crate time to v0.3.50 Jun 22, 2026
@renovate
renovate Bot force-pushed the renovate/time-0.x-lockfile branch from 7861203 to 39e8a7c Compare June 22, 2026 06:15
@renovate renovate Bot changed the title Update Rust crate time to v0.3.50 Update Rust crate time to v0.3.51 Jun 22, 2026
@renovate
renovate Bot force-pushed the renovate/time-0.x-lockfile branch from 39e8a7c to 330a931 Compare June 22, 2026 09:49
@renovate renovate Bot changed the title Update Rust crate time to v0.3.51 Update Rust crate time to v0.3.52 Jun 30, 2026
@renovate
renovate Bot force-pushed the renovate/time-0.x-lockfile branch from 330a931 to 0f23c7c Compare June 30, 2026 12:08
@renovate renovate Bot changed the title Update Rust crate time to v0.3.52 Update Rust crate time to v0.3.53 Jul 1, 2026
@renovate
renovate Bot force-pushed the renovate/time-0.x-lockfile branch from 0f23c7c to 8de99fb Compare July 1, 2026 15:09
@renovate renovate Bot changed the title Update Rust crate time to v0.3.53 Update Rust crate time to v0.3.54 Jul 20, 2026
@renovate
renovate Bot force-pushed the renovate/time-0.x-lockfile branch from 8de99fb to c9b7605 Compare July 20, 2026 19:37
@renovate renovate Bot changed the title Update Rust crate time to v0.3.54 Update Rust crate time to v0.3.55 Aug 1, 2026
@renovate
renovate Bot force-pushed the renovate/time-0.x-lockfile branch from c9b7605 to 828ac53 Compare August 1, 2026 09:03
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