Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update rust crate time to 0.3.36 - autoclosed #36

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 1, 2024

Mend Renovate

This PR contains the following updates:

Package Type Update Change
time (source) dependencies patch 0.3 -> 0.3.36

Release Notes

time-rs/time (time)

v0.3.36

Compare Source

# Fixed
  • FormatItem can be used as part of an import path. See #​675 for details.

v0.3.35

Compare Source

Added
  • Duration::checked_neg
  • ext::InstantExt, which provides methods for using time::Duration with std::time::Instant
Changed
  • Instant is deprecated. It is recommended to use std::time::Instant directly, importing
    time::ext::InstantExt for interoperability with time::Duration.
  • FormatItem has been renamed to BorrowedFormatItem, avoiding confusion with OwnedFormatItem.
    An alias has been added for backwards compatibility.
Fixed
  • The weekday is optional when parsing RFC2822.
  • The range of sub-second values in Duration is documented correctly. The previous documentation
    contained an off-by-one error.
  • Leap seconds are now correctly handled when parsing ISO 8601.

v0.3.34

Compare Source

Fixed

Computing the local offset on Windows works again. It was broken in some cases in v0.3.32 and
v0.3.33.

v0.3.33

Compare Source

Fixed

Builds targeting wasm32-unknown-unknown now work again.

v0.3.32

Compare Source

Added
  • Methods to replace the day of the year.
    • Date::replace_ordinal
    • PrimitiveDateTime::replace_ordinal
    • OffsetDateTime::replace_ordinal
  • Modules to treat an OffsetDateTime as a Unix timestamp with subsecond precision for serde.
    • time::serde::timestamp::milliseconds
    • time::serde::timestamp::microseconds
    • time::serde::timestamp::nanoseconds
Changed
  • Duration::time_fn is deprecated.

v0.3.31

Compare Source

Added
  • OffsetDateTime::new_in_offset
  • OffsetDateTime::new_utc
Changed
  • The valid range of UtcOffset has been expanded from ±23:59:59 to ±25:59:59. This is to support
    the full POSIX range while permitting infallible negation.

v0.3.30

Compare Source

Added
  • powerfmt::smart_display::SmartDisplay has been added for the main types in the library. These
    implementations ensure that values follow the requested fill, width, and alignment when using
    format! or similar macros. Display is implemented in terms of SmartDisplay.
Fixed
  • Large values no longer wrap around in release mode when using NumericalDuration or
    NumericalStdDuration.

v0.3.29

Compare Source

Added
  • Niche value optimization for Date has been added. Both Date and Option<Date> are four bytes.
  • Unit conversions have been added. It is now possible to write Second::per(Day), which returns
    the number of seconds in one day. See the types in the [time::convert module][time::convert module] for more
    information.
Changed
  • The diagnostic for --cfg unsound_local_offset has been removed.
  • #![feature(no_coverage)] was previously used internally for code coverage. It is no longer used,
    so it has been removed.
  • The default value for modifier::OffsetHour has been changed. This was unintentionally changed in
    v0.3.17 and went unnoticed until now. The sign is now only present if needed by default, as was
    the case previously. This does not affect any situation where format_description! or
    format_description::parse is used.
Fixed
  • Adding or subtracting a std::time::Duration to/from an OffsetDateTime will not result in
    integer overflow internally. It will still panic if the result is out of range.

v0.3.28

Compare Source

Added
  • More additional constants for the well-known Iso8601 format description have been added. This
    avoids the need to manually configure the format.
  • An [end] component has been added. This is ignored during formatting, but is used to indicate
    the end of input when parsing. If any input remains after this component, an error is returned.
    This is useful when using the [first] component, as it avoids the need to reorder variants.
Changed
  • The exemption for MacOS introduced in 0.3.20 has been removed. This is because some supported
    versions of MacOS do not meet the requirements for the exemption.
  • The UnexpectedTrailingCharacters error variant has been moved to ParseFromDescription. All
    previously-existing locations of this variant have been deprecated and will no longer be returned.

v0.3.27

Compare Source

This sets the serde dependency requirement to >= 1.0.184 where the binaries have been removed.

v0.3.26

Compare Source

This release contains only a single change. serde is required to be a version prior to 1.0.171.
This is due to the decision by the maintainer of serde to include pre-built binaries that are
executed without the end user's knowledge. As of the time of publishing, the included binary has not
even been reproduced. This is a security risk, and the time project strongly opposes this
decision. While this may break some users' builds due to conflicting versions, it is a necessary
step to ensure the security.

v0.3.25

Compare Source

Fixed
  • Methods such as Time::replace_milliseconds would panic on some out-of-range values. This has
    been fixed.

v0.3.24

Compare Source

Added
  • The subsecond component is taken into account when parsing the unix_timestamp component. If
    data is conflicting, the subsecond value takes precedence.
  • Parsing a Time with only the hour component is now supported. The minute and second, and
    subsecond components are assumed to be zero.
Changed
  • The minimum supported Rust version is now 1.67.0.
  • The debug output for Parsed has been improved.
  • When parsing, invalid values are now rejected sooner. Previously, the entire input would be parsed
    before being rejected in the final step. Now, invalid values are rejected as soon as they are
    encountered. This affects the error variant returned, which may cause minor breakage for any code
    (incorrectly) relying on the exact error variant.
  • When parsing a Time, an error is returned if components are present but not consecutive. For
    example, if hours and seconds are present, minutes will not be assumed to be zero.
Fixed
  • The implementation of Duration::checked_div could return a slightly incorrect result in some
    cases. This has been fixed.

v0.3.23

Compare Source

Added
  • Date::next_occurrence
  • Date::prev_occurrence
  • Date::nth_next_occurrence
  • Date::nth_prev_occurrence
  • Weekday::nth_prev
  • Month::nth_next
  • Month::nth_prev
Changed

The minimum supported Rust version policy has been updated. See the README for
details.

Fixed
  • Duration::abs correctly returns Duration::MAX when near the minimum value. The nanoseconds
    value was previously incorrect.
  • Compliance with ISO 8601 has been improved. Previously, a UTC offset would be incorrectly rejected
    in some cases.

v0.3.22

Compare Source

Added
  • OffsetDateTime::checked_to_offset

v0.3.21

Compare Source

Added
  • Any formattable/parsable type can now be used with the time::serde::format_description! macro.
  • Weekday::nth_next
Changed
  • The minimum supported Rust version is now 1.65.0.

v0.3.20

Compare Source

Changed
  • The minimum supported Rust version is now 1.63.0.
  • On Unix-based operating systems with known thread-safe environments, functions obtaining the local
    offset no longer require a check that the program is single-threaded. This currently includes
    MacOS, illumos, and NetBSD.
Added
  • [ignore] component in format descriptions. A count modifier is required, indicating the number
    of bytes to ignore when parsing.
  • [unix_timestamp] component in format descriptions. This is currently only usable with
    OffsetDateTime. Users can choose between seconds, milliseconds, microseconds, and nanoseconds,
    and whether the sign is mandatory or optional.
Fixed
  • The API for declaring soundness now uses stricter atomic orderings internally.

v0.3.19

Compare Source

Fixed

This includes the update to the format_description! macro, which was supposed to be included in
0.3.18.

v0.3.18

Compare Source

Changed
  • The minimum supported Rust version is now 1.62.0.
Added
  • [first] and [optional] items can now be included in format descriptions. To parse this at
    runtime, you must use the format_description::parse_owned method.
  • format_description::parse_borrowed
  • An API has been added to opt out of soundness checks for obtaining the local offset. This replaces
    the previous, officially unsupported RUSTFLAGS="--cfg unsound_local_offset". End users may call
    time::util::local_offset::set_soundness(time::util::local_offset::Soundness::Unsound). This
    method is unsafe because it enables undefined behavior if its safety requirements are not
    upheld. Note that libraries must not set this to Unsound, as it is impossible for a library
    to guarantee end users uphold the required invariants.
Fixed
  • Correctly parse offset sign when hour is zero. The parse was previously unconditionally positive,
    even if the sign indicated otherwise.
  • Compilation is fixed for WebAssembly.

v0.3.17

Compare Source

Changed
  • The amount of code generated by time::serde::format_description! is reduced if not all feature
    flags are active.
  • cargo test --tests works with any configuration of feature flags. This occurs by spawning a
    subprocess that passes --all-features. cargo test --doc works with most combinations of
    feature flags, including the default. The combination of these changes means that crater will now
    run on time.
  • libc and num_threads are only included as dependencies when needed. They were previously
    unconditionally included.
Added
  • time::format_description::parse_owned, which returns an OwnedFormatItem. This avoids "lifetime
    hell", where all your structs now need a lifetime because a single field has one. Note that when
    possible, the borrowed format item (just called FormatItem) is still preferred, as it has
    significantly fewer allocations. The new OwnedFormatItem is usable for both formatting and
    parsing, as you would expect.
Compatibility
  • The parser for runtime format descriptions has been rewritten. A side effect of this is that some
    errors have slightly changed. No existing API has been altered, so this is not a breaking change.
    However, you may notice different errors, which are hopefully better! The parser for compile-time
    format descriptions has not yet been swapped out. If you notice any bugs, please file an issue.

v0.3.16

Compare Source

Changed
  • The minimum supported Rust version is now 1.60.0.
  • The serde-well-known feature flag is deprecated. The necessary features for an item to be
    enabled are indicated in documentation.
  • Feature gates have been loosened for well-known formats.
Added
  • consts can now be provided as the format description for time::serde::format_description!. The
    const must be of type &[FormatItem<'_>], which is what is returned by the
    time::macros::format_description! macro.

    const TIME_FORMAT_ALT: &[FormatItem<'_>] = time::macros::format_description!("[hour]:[minute]");
    time::serde::format_description!(time_format_alt, Time, TIME_FORMAT_ALT);
Compatibility
  • Some feature flags have been removed. None of these have ever been documented as flags, so any use
    was unsupported. These flags are:
    • js-sys
    • quickcheck-dep
    • itoa
    • time-macros

v0.3.15

Compare Source

Changed
  • Better gating for tm_gmtoff extension. This should eliminate build failures on some untested
    platforms.
  • Debug output for types are now human-readable. While this should not be relied upon, it is
    currently the same as the output with Display.
  • Eliminate overflows in the constructors for `Duration. When there is an overflow, the methods now
    panic. This was previously only the case in debug mode.
  • Panic if NaN is passed to Duration::from_secs_f32 or Duration::from_secs_f64.
Fixed
  • Fix error when deserializing data types from bytes. This affects formats such as JSON.
  • Eliminate a panic in an edge case when converting OffsetDateTime to another UtcOffset. This
    occurred due to an old assumption in code that was no longer the case.

v0.3.14

Compare Source

Changed
  • The minimum supported Rust version is now 1.59.0.
  • Duration::unsigned_abs is now const fn.
  • The const parameter for time::format_description::well_known::Iso8601 now has a default. This
    means Iso8601 is the same as Iso8601::DEFAULT.
  • The Parsed struct has been reduced in size from 56 to 32 bytes (a 43% reduction).

v0.3.13

Compare Source

Fixed
  • wasm builds other than those using wasm-bindgen work again.

v0.3.12

Compare Source

Added
  • js-sys now supports obtaining the system's local UTC offset.
Changed
  • Performance of many Date operations has improved when using the large-dates feature.
  • While an internal change, OffsetDateTime now stores the value in the attached UtcOffset, not
    UTC. This leads to significant performance gains on nearly all OffsetDateTime methods.
Fixed
  • Subtracting two Times can no longer panic. This previously occurred in some situations where the
    result was invalid.
  • ISO 8601 parsing rounds the subseconds to avoid incorrectly truncating the value.

v0.3.11

Compare Source

Fixed
  • #​479: regression when parsing optional values with serde
  • #​481: Time subtracted from Time can panic. This was caused by a bug that has always existed,
    in that an internal invariant was not upheld. Memory safety was not violated.

v0.3.10

Compare Source

Added
  • Serde support for non-self-describing formats
  • Duration::unsigned_abs, which returns a std::time::Duration
  • ISO 8601 well-known format
  • Duration can now be formatted with a .N specifier, providing a shorter representation when
    using Display.
  • Parse null as None on serde structs
Fixed
  • Fix incorrect parsing of UTC offset in Rfc3339.
Changed
  • The minimum supported Rust version is now 1.57.0.
  • Performance for Rfc2822 has been improved.
  • Debug assertions have been added in a few places. This should have no user facing impact, as it
    only serves to catch bugs and is disabled in release mode.

v0.3.9

Added
  • time::serde::format_description!
    • This macro is similar to time::format_description!, but it generates a module that can be used
      in #[serde(with = "foo")]. This makes it far easier to serialize/deserialize a custom format.
  • Date::replace_year
  • Date::replace_month
  • Date::replace_day
  • Time::replace_hour
  • Time::replace_minute
  • Time::replace_second
  • Time::replace_millisecond
  • Time::replace_microsecond
  • Time::replace_nanosecond
  • PrimitiveDateTime::replace_year
  • PrimitiveDateTime::replace_month
  • PrimitiveDateTime::replace_day
  • PrimitiveDateTime::replace_hour
  • PrimitiveDateTime::replace_minute
  • PrimitiveDateTime::replace_second
  • PrimitiveDateTime::replace_millisecond
  • PrimitiveDateTime::replace_microsecond
  • PrimitiveDateTime::replace_nanosecond
  • OffsetDateTime::replace_year
  • OffsetDateTime::replace_month
  • OffsetDateTime::replace_day
  • OffsetDateTime::replace_hour
  • OffsetDateTime::replace_minute
  • OffsetDateTime::replace_second
  • OffsetDateTime::replace_millisecond
  • OffsetDateTime::replace_microsecond
  • OffsetDateTime::replace_nanosecond
  • Parsed::offset_minute_signed
  • Parsed::offset_second_signed
  • Parsed::set_offset_minute_signed
  • Parsed::set_offset_second_signed
  • Parsed::with_offset_minute_signed
  • Parsed::with_offset_second_signed
  • error::InvalidVariant
  • impl FromStr for Weekday
  • impl FromStr for Month
  • impl Display for Duration
Deprecated

The following methods have been deprecated in favor of the new, signed equivalent methods. The
pre-existing methods

  • Parsed::offset_minute
  • Parsed::offset_second
  • Parsed::set_offset_minute
  • Parsed::set_offset_second
  • Parsed::with_offset_minute
  • Parsed::with_offset_second
Changed
  • Well-known formats that support leap seconds now return the TryFromParsed::ComponentRange error
    variant if the leap second could not occur at that given moment.

v0.3.8

This release is broken and has been yanked.

v0.3.7

Compare Source

Fixed

Solaris and Illumos build again.

v0.3.6

Compare Source

Added
  • Date::saturating_add
  • Date::saturating_sub
  • PrimitiveDateTime::saturating_add
  • PrimitiveDateTime::saturating_sub
  • OffsetDateTime::saturating_add
  • OffsetDateTime::saturating_sub
  • PrimitiveDatetime::MIN
  • PrimitiveDatetime::MAX
  • Rfc2822 format description
  • Serde support for well-known formats
    • This is placed behind the new serde-well-known feature flag.
Changed
  • MacOS and FreeBSD are supported obtaining the local offset when single-threaded.
    • Starting with this version, this is delegated to the num_threads crate.
  • Leap seconds are now parsed as the final nanosecond of the preceding second.
  • The minimum supported Rust version is now 1.53.0.
  • Deserializers for human readable formats will fall back to the binary format if the human readable
    format fails to deserialize.
Fixed
  • Deserialization will no longer fail when given a non-borrowed string.

v0.3.5

Compare Source

Added
  • Date::checked_add
  • Date::checked_sub
  • PrimitiveDateTime::checked_add
  • PrimitiveDateTime::checked_sub
  • OffsetDateTime::checked_add
  • OffsetDateTime::checked_sub
Changed
  • Attempts to obtain the local UTC offset will now succeed on Linux if the process is
    single-threaded. This does not affect other Unix platforms. As a reminder, the relevant methods
    are fallible and may return an Err value for any reason.

v0.3.4

Compare Source

Added
  • error::DifferentVariant and Error::DifferentVariant
  • impl From<Component> for FormatItem<'_>
  • impl TryFrom<FormatItem<'_>> for Component
  • impl<'a> From<&'a [FormatItem<'_>]> for FormatItem<'a>
  • impl<'a> TryFrom<FormatItem<'a>> for &[FormatItem<'a>]
  • impl PartialEq<Component> for FormatItem<'_>
  • impl PartialEq<FormatItem<'_>> for Component
  • impl PartialEq<&[FormatItem<'_>]> for FormatItem<'_>
  • impl PartialEq<FormatItem<'_>> for &[FormatItem<'_>]
  • impl TryFrom<Error> for error::TryFromParsed
  • impl TryFrom<Error> for error::Parse
  • impl TryFrom<Error> for error::ParseFromDescription
  • impl TryFrom<Error> for error::InvalidFormatDescription
  • impl TryFrom<Error> for error::IndeterminateOffset
  • impl TryFrom<Error> for error::Format
  • impl TryFrom<Error> for error::ConversionRange
  • impl TryFrom<Error> for error::ComponentRange
  • impl TryFrom<error::TryFromParsed> for error::ComponentRange
  • impl TryFrom<error::Parse> for error::TryFromParsed
  • impl TryFrom<error::Parse> for error::ParseFromDescription
  • impl TryFrom<error::Format> for std::io::Error
  • impl Sum for Duration
  • impl Sum<&Duration> for Duration
  • A const fn default() has been added to all modifiers that are structs. These methods exist to
    permit construction in const contexts and may be removed (without being considered a breaking
    change) once impl const Default is stabilized.
  • FormatItem::Optional, which will consume the contained value if present but still succeed
    otherwise.
  • FormatItem::First, which will consume the first successful parse, ignoring any prior errors.
Fixed
  • Cross-building to Windows now succeeds.
  • A parse error on a UtcOffset component now indicates the error comes from the offset.
  • Some arithmetic no longer panics in edge cases.

v0.3.3

Compare Source

# Fixed
  • FormatItem can be used as part of an import path. See #​675 for details.

v0.3.2

Compare Source

Added
  • Niche value optimization for Date has been added. Both Date and Option<Date> are four bytes.
  • Unit conversions have been added. It is now possible to write Second::per(Day), which returns
    the number of seconds in one day. See the types in the [time::convert module][time::convert module] for more
    information.
Changed
  • The diagnostic for --cfg unsound_local_offset has been removed.
  • #![feature(no_coverage)] was previously used internally for code coverage. It is no longer used,
    so it has been removed.
  • The default value for modifier::OffsetHour has been changed. This was unintentionally changed in
    v0.3.17 and went unnoticed until now. The sign is now only present if needed by default, as was
    the case previously. This does not affect any situation where format_description! or
    format_description::parse is used.
Fixed
  • Adding or subtracting a std::time::Duration to/from an OffsetDateTime will not result in
    integer overflow internally. It will still panic if the result is out of range.

v0.3.1

Compare Source

Fixed

This includes the update to the format_description! macro, which was supposed to be included in
0.3.18.


Configuration

📅 Schedule: 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 has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added dependencies Issues or PRs related to adding, removing or updating dependencies renovate Renovate issues and PRs labels May 1, 2024
@renovate renovate bot changed the title fix(deps): update rust crate time to 0.3.36 fix(deps): update rust crate time to 0.3.36 - autoclosed May 5, 2024
@renovate renovate bot closed this May 5, 2024
@renovate renovate bot deleted the renovate/time-0.x branch May 5, 2024 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Issues or PRs related to adding, removing or updating dependencies renovate Renovate issues and PRs size/XS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants