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 major dependencies #9

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 2, 2024

This PR contains the following updates:

Package Type Update Change
actions/checkout action major v3 -> v4
derive_more dependencies major 0.99.18 -> 1.0.0
duplicate dependencies major 1.0.0 -> 2.0.0
itertools dependencies minor 0.11.0 -> 0.13.0
thiserror dependencies major 1.0.64 -> 2.0.7
windows dependencies minor 0.51.1 -> 0.58.0

Release Notes

actions/checkout (actions/checkout)

v4

Compare Source

JelteF/derive_more (derive_more)

v1.0.0

Compare Source

More than 8 years after the first commit and almost 5 years after the 0.99.0
release, derive_more has finally reached its 1.0.0 release. This release
contains a lot of changes (including some breaking ones) to make it easier to
use the derives and make it possible to extend them without having to break
backwards compatibility again. There are five major changes that I would like
to call out, but there are many more changes that are documented below:

  1. There is a new Debug derive that can be used to easily customize Debug
    formatting.
  2. A greatly improved Display derive, which allows you to do anything that
    thiserror provides, but it works
    for any type not just errors. And by combining the Display derive with the
    Error and From derives, there shouldn't really be any need to use
    thiserror anymore (if you are missing a feature/behaviour from thiserror
    please report an issue).
  3. Traits that can return errors now return a type that implements Error
    when an error occurs instead of a &'static str.
  4. When using use derive_more::SomeTrait the actual trait is also imported
    not just the derive macro. This is especially useful for Error and
    Display
  5. The docs are now rendered on docs.rs and are much better overall.
Breaking changes
  • The minimum supported Rust version (MSRV) is now Rust 1.75.
  • Add the std feature which should be disabled in no_std environments.
  • All Cargo features, except std, are now disabled by default. The full
    feature can be used to get the old behavior of supporting all possible
    derives.
  • The TryFrom, Add, Sub, BitAnd, BitOr, BitXor, Not and Neg
    derives now return a dedicated error type instead of a &'static str on
    error.
  • The FromStr derive now uses a dedicated FromStrError error type instead
    of generating unique one each time.
  • The Display derive (and other fmt-like ones) now uses
    #[display("...", (<expr>),*)] syntax instead of
    #[display(fmt = "...", ("<expr>"),*)], and #[display(bound(<bound>))]
    instead of #[display(bound = "<bound>")]. So without the double quotes
    around the expressions and bounds.
  • The Debug and Display derives (and other fmt-like ones) now transparently
    delegate to the inner type when #[display("...", (<expr>),*)] attribute is
    trivially substitutable with a transparent call.
    (#​322)
  • The DebugCustom derive is renamed to just Debug (gated now under a separate
    debug feature), and its semantics were changed to be a superset of std variant
    of Debug.
  • The From derive doesn't derive From<()> for enum variants without any
    fields anymore. This feature was removed because it was considered useless in
    practice.
  • The From derive now uses #[from(<types>)] instead of #[from(types(<types>))]
    and ignores field type itself.
  • The Into derive now uses #[into(<types>)] instead of #[into(types(<types>))]
    and ignores field type itself.
  • The Into derive now generates separate impls for each field whenever the #[into(...)]
    attribute is applied to it. (#​291)
  • Importing a derive macro now also imports its corresponding trait.
  • The Error derive is updated with changes to the error_generic_member_access
    unstable feature for nightly users. (#​200,
    #​294)
  • The as_mut feature is removed, and the AsMut derive is now gated by the
    as_ref feature. (#​295)
  • A top level #[display("...")] attribute on an enum now requires the usage
    of {_variant} to include the variant instead of including it at {}. The
    reason is that {} now references the first argument to the format string,
    just like in all other format strings. (#​377)
Added
  • Add support captured identifiers in Display derives. So now you can use:
    #[display(fmt = "Prefix: {field}")] instead of needing to use
    #[display(fmt = "Prefix: {}", field)]
  • Add FromStr derive support for enums that contain variants without fields.
    If you pass the name of the variant to from_str it will create the matching
    variant.
  • Add #[unwrap(owned, ref, ref_mut)] attribute for the Unwrap derive.
    By using them, it is possible to derive implementations for the reference types as well.
    (#​206)
  • Add TryUnwrap derive similar to the Unwrap derive. This one returns a Result and does not panic.
    (#​206)
  • Add support for container format in Debug derive with the same syntax as Display derives.
    (#​279)
  • derive_more::derive module exporting only macros, without traits.
    (#​290)
  • Add support for specifying concrete types to AsRef/AsMut derives.
    (#​298)
  • Add TryFrom derive for enums to convert from their discriminant.
    (#​300)
  • #[inline] attributes to IsVariant and Debug implementations.
    (#​334
  • Add #[track_caller] to Add, Mul, AddAssign and MulAssign derives
    (#​378
Changed
  • The Constructor and IsVariant derives now generate const fn functions.
  • Static methods derived by IsVariant are now marked #[must_use].
    (#​350)
  • The Unwrap and IsVariant derives now generate doc comments.
  • #[automatically_derived] is now emitted from all macro expansions. This
    should prevent code style linters from attempting to modify the generated
    code.
  • Upgrade to syn 2.0.
  • The Error derive now works in nightly no_std environments
Fixed
  • Use a deterministic HashSet in all derives, this is needed for rust analyzer
    to work correctly.
  • Use Provider API for backtraces in Error derive.
  • Fix Error derive not working with const generics.
  • Support trait objects for source in Error, e.g.
    Box<dyn Error + Send + 'static>
  • Fix bounds on derived IntoIterator impls for generic structs.
    (#​284)
  • Fix documentation of generated bounds in Display derive.
    (#​297)
  • Hygiene of macro expansions in presence of custom core crate.
    (#​327)
  • Fix documentation of generated methods in IsVariant derive.
  • Make {field:p} do the expected thing in format strings for Display and
    Debug. Also document weirdness around Pointer formatting when using
    expressions, due to field variables being references.
    (#​381)
Emoun/duplicate (duplicate)

v2.0.0

Compare Source

Added
  • substitute! and substitute_item allow the use of global substitutions without duplication. See #​49.
Changed
  • [BREAKING] Increased base MSRV to 1.65.
  • [BREAKING] duplicate! and duplicate_item no longer allow using exclusively global substitutions.
  • Edition increased to 2021.
  • Replaced proc-macro-error dependency with proc-macro2-diagnostics for printing nice error messages and hints. See #​61.
  • Updated heck dependency to version 0.5.
rust-itertools/itertools (itertools)

v0.13.0

Compare Source

Breaking
  • Removed implementation of DoubleEndedIterator for ConsTuples (#​853)
  • Made MultiProduct fused and fixed on an empty iterator (#​835, #​834)
  • Changed iproduct! to return tuples for maxi one iterator too (#​870)
  • Changed PutBack::put_back to return the old value (#​880)
  • Removed deprecated repeat_call, Itertools::{foreach, step, map_results, fold_results} (#​878)
  • Removed TakeWhileInclusive::new (#​912)
Added
  • Added Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key} (#​654, #​885)
  • Added Itertools::tail (#​899)
  • Implemented DoubleEndedIterator for ProcessResults (#​910)
  • Implemented Debug for FormatWith (#​931)
  • Added Itertools::get (#​891)
Changed
  • Deprecated Itertools::group_by (renamed chunk_by) (#​866, #​879)
  • Deprecated unfold (use std::iter::from_fn instead) (#​871)
  • Optimized GroupingMapBy (#​873, #​876)
  • Relaxed Fn bounds to FnMut in diff_with, Itertools::into_group_map_by (#​886)
  • Relaxed Debug/Clone bounds for MapInto (#​889)
  • Documented the use_alloc feature (#​887)
  • Optimized Itertools::set_from (#​888)
  • Removed badges in README.md (#​890)
  • Added "no-std" categories in Cargo.toml (#​894)
  • Fixed Itertools::k_smallest on short unfused iterators (#​900)
  • Deprecated Itertools::tree_fold1 (renamed tree_reduce) (#​895)
  • Deprecated GroupingMap::fold_first (renamed reduce) (#​902)
  • Fixed Itertools::k_smallest(0) to consume the iterator, optimized Itertools::k_smallest(1) (#​909)
  • Specialized Combinations::nth (#​914)
  • Specialized MergeBy::fold (#​920)
  • Specialized CombinationsWithReplacement::nth (#​923)
  • Specialized FlattenOk::{fold, rfold} (#​927)
  • Specialized Powerset::nth (#​924)
  • Documentation fixes (#​882, #​936)
  • Fixed assert_equal for iterators longer than i32::MAX (#​932)
  • Updated the must_use message of non-lazy KMergeBy and TupleCombinations (#​939)
Notable Internal Changes
  • Tested iterator laziness (#​792)
  • Created CONTRIBUTING.md (#​767)

v0.12.1

Compare Source

Added
  • Documented iteration order guarantee for Itertools::[tuple_]combinations (#​822)
  • Documented possible panic in iterate (#​842)
  • Implemented Clone and Debug for Diff (#​845)
  • Implemented Debug for WithPosition (#​859)
  • Implemented Eq for MinMaxResult (#​838)
  • Implemented From<EitherOrBoth<A, B>> for Option<Either<A, B>> (#​843)
  • Implemented PeekingNext for RepeatN (#​855)
Changed
  • Made CoalesceBy lazy (#​801)
  • Optimized Filter[Map]Ok::next, Itertools::partition, Unique[By]::next[_back] (#​818)
  • Optimized Itertools::find_position (#​837)
  • Optimized Positions::next[_back] (#​816)
  • Optimized ZipLongest::fold (#​854)
  • Relaxed Debug bounds for GroupingMapBy (#​860)
  • Specialized ExactlyOneError::fold (#​826)
  • Specialized Interleave[Shortest]::fold (#​849)
  • Specialized MultiPeek::fold (#​820)
  • Specialized PadUsing::[r]fold (#​825)
  • Specialized PeekNth::fold (#​824)
  • Specialized Positions::[r]fold (#​813)
  • Specialized PutBackN::fold (#​823)
  • Specialized RepeatN::[r]fold (#​821)
  • Specialized TakeWhileInclusive::fold (#​851)
  • Specialized ZipLongest::rfold (#​848)
Notable Internal Changes

v0.12.0

Compare Source

Breaking
  • Made take_while_inclusive consume iterator by value (#​709)
  • Added Clone bound to Unique (#​777)
Added
  • Added Itertools::try_len (#​723)
  • Added free function sort_unstable (#​796)
  • Added GroupMap::fold_with (#​778, #​785)
  • Added PeekNth::{peek_mut, peek_nth_mut} (#​716)
  • Added PeekNth::{next_if, next_if_eq} (#​734)
  • Added conversion into (Option<A>,Option<B>) to EitherOrBoth (#​713)
  • Added conversion from Either<A, B> to EitherOrBoth<A, B> (#​715)
  • Implemented ExactSizeIterator for Tuples (#​761)
  • Implemented ExactSizeIterator for (Circular)TupleWindows (#​752)
  • Made EitherOrBoth<T> a shorthand for EitherOrBoth<T, T> (#​719)
Changed
  • Added missing #[must_use] annotations on iterator adaptors (#​794)
  • Made Combinations lazy (#​795)
  • Made Intersperse(With) lazy (#​797)
  • Made Permutations lazy (#​793)
  • Made Product lazy (#​800)
  • Made TupleWindows lazy (#​602)
  • Specialized Combinations::{count, size_hint} (#​729)
  • Specialized CombinationsWithReplacement::{count, size_hint} (#​737)
  • Specialized Powerset::fold (#​765)
  • Specialized Powerset::count (#​735)
  • Specialized TupleCombinations::{count, size_hint} (#​763)
  • Specialized TupleCombinations::fold (#​775)
  • Specialized WhileSome::fold (#​780)
  • Specialized WithPosition::fold (#​772)
  • Specialized ZipLongest::fold (#​774)
  • Changed {min, max}_set* operations require alloc feature, instead of std (#​760)
  • Improved documentation of tree_fold1 (#​787)
  • Improved documentation of permutations (#​724)
  • Fixed typo in documentation of multiunzip (#​770)
Notable Internal Changes
dtolnay/thiserror (thiserror)

v2.0.7

Compare Source

  • Work around conflict with #[deny(clippy::allow_attributes)] (#​397, thanks @​zertosh)

v2.0.6

Compare Source

  • Suppress deprecation warning on generated From impls (#​396)

v2.0.5

Compare Source

  • Prevent deprecation warning on generated impl for deprecated type (#​394)

v2.0.4

Compare Source

v2.0.3

Compare Source

  • Support the same Path field being repeated in both Debug and Display representation in error message (#​383)
  • Improve error message when a format trait used in error message is not implemented by some field (#​384)

v2.0.2

Compare Source

  • Fix hang on invalid input inside #[error(...)] attribute (#​382)

v2.0.1

Compare Source

  • Support errors that contain a dynamically sized final field (#​375)
  • Improve inference of trait bounds for fields that are interpolated multiple times in an error message (#​377)

v2.0.0

Compare Source

Breaking changes

  • Referencing keyword-named fields by a raw identifier like {r#type} inside a format string is no longer accepted; simply use the unraw name like {type} (#​347)

    This aligns thiserror with the standard library's formatting macros, which gained support for implicit argument capture later than the release of this feature in thiserror 1.x.

    #[derive(Error, Debug)]
    #[error("... {type} ...")]  // Before: {r#type}
    pub struct Error {
        pub r#type: Type,
    }
  • Trait bounds are no longer inferred on fields whose value is shadowed by an explicit named argument in a format message (#​345)

    // Before: impl<T: Octal> Display for Error<T>
    // After: impl<T> Display for Error<T>
    #[derive(Error, Debug)]
    #[error("{thing:o}", thing = "...")]
    pub struct Error<T> {
        thing: T,
    }
  • Tuple structs and tuple variants can no longer use numerical {0} {1} access at the same time as supplying extra positional arguments for a format message, as this makes it ambiguous whether the number refers to a tuple field vs a different positional arg (#​354)

    #[derive(Error, Debug)]
    #[error("ambiguous: {0} {}", $N)]
    //                  ^^^ Not allowed, use #[error("... {0} {n}", n = $N)]
    pub struct TupleError(i32);
  • Code containing invocations of thiserror's derive(Error) must now have a direct dependency on the thiserror crate regardless of the error data structure's contents (#​368, #​369, #​370, #​372)

Features

  • Support disabling thiserror's standard library dependency by disabling the default "std" Cargo feature: thiserror = { version = "2", default-features = false } (#​373)

  • Support using r#source as field name to opt out of a field named "source" being treated as an error's Error::source() (#​350)

    #[derive(Error, Debug)]
    #[error("{source} ==> {destination}")]
    pub struct Error {
        r#source: char,
        destination: char,
    }
    
    let error = Error { source: 'S', destination: 'D' };
  • Infinite recursion in a generated Display impl now produces an unconditional_recursion warning (#​359)

    #[derive(Error, Debug)]
    #[error("??? {self}")]
    pub struct Error;
  • A new attribute #[error(fmt = path::to::myfmt)] can be used to write formatting logic for an enum variant out-of-line (#​367)

    #[derive(Error, Debug)]
    pub enum Error {
        #[error(fmt = demo_fmt)]
        Demo { code: u16, message: Option<String> },
    }
    
    fn demo_fmt(code: &u16, message: &Option<String>, formatter: &mut fmt::Formatter) -> fmt::Result {
        write!(formatter, "{code}")?;
        if let Some(msg) = message {
            write!(formatter, " - {msg}")?;
        }
        Ok(())
    }
  • Enums with an enum-level format message are now able to have individual variants that are transparent to supersede the enum-level message (#​366)

    #[derive(Error, Debug)]
    #[error("my error {0}")]
    pub enum Error {
        Json(#[from] serde_json::Error),
        Yaml(#[from] serde_yaml::Error),
        #[error(transparent)]
        Other(#[from] anyhow::Error),
    }

v1.0.69

Compare Source

v1.0.68

Compare Source

  • Handle incomplete expressions more robustly in format arguments, such as while code is being typed (#​341, #​344)

v1.0.67

Compare Source

v1.0.66

Compare Source

  • Improve compile error on malformed format attribute (#​327)

v1.0.65

Compare Source

  • Ensure OUT_DIR is left with deterministic contents after build script execution (#​325)
microsoft/windows-rs (windows)

v0.58.0

Compare Source

This release includes updates to metadata for new or fixed API definitions (#​3111, #​3136), various improvements and fixes to code generation, compliance with new Rust warnings, additional COM authoring support improvements (#​3065), limited non-Windows support (#​3135), and more.

It includes major updates to the following crates, mainly due to breaking changes in metadata for API definitions.

  • riddle 0.58.0
  • windows 0.58.0
  • windows-bindgen 0.58.0
  • windows-core 0.58.0
  • windows-implement 0.58.0
  • windows-interface 0.58.0
  • windows-metadata 0.58.0

It also includes major updates to the following utility crates.

  • windows-result 0.2.0
  • windows-registry 0.2.0

The windows-result crate now provides limited non-Windows support, and the windows-registry crate offers new lossless queries for binary and wide string values.

And it includes minor updates to the windows-targets crates, with the addition of several new APIs.

  • windows-targets 0.52.6

This release also includes the first published version of the windows-strings crate, moving the string types from the windows-core crate into a dedicated crate as a smaller dependency. It also offers an efficient HSTRING builder (#​3133).

To clarify, the only crates that continue to support limited non-Windows builds are:

  • windows-bindgen and windows-metadata for code generation on non-Windows platforms.
  • windows-core and windows-result for COM support on non-Windows platforms.

What's Changed

Full Changelog: microsoft/windows-rs@0.57.0...0.58.0

v0.57.0

Compare Source

This release includes updates to a number of crates.

It includes major updates to the following:

  • riddle 0.57.0
  • windows 0.57.0
  • windows-bindgen 0.57.0
  • windows-core 0.57.0
  • windows-implement 0.57.0
  • windows-interface 0.57.0
  • windows-metadata 0.57.0

It also includes minor updates to the following:

  • windows-result 0.1.2
  • windows-registry 0.1.2

This includes various improvements and fixes to code generation, compliance with new Rust warnings, COM authoring support helpers, and more.

This release also includes the first published version of the cppwinrt crate.

What's Changed

New Contributors

Full Changelog: microsoft/windows-rs@0.56.0...0.57.0

v0.56.0

Compare Source

This release includes updates to all crates except windows-sys.

It includes major updates to the following:

  • riddle 0.56.0
  • windows 0.56.0
  • windows-bindgen 0.56.0
  • windows-core 0.56.0
  • windows-implement 0.56.0
  • windows-interface 0.56.0
  • windows-metadata 0.56.0

This includes various improvements and fixes to code generation, compliance with new Rust warnings, Arm64EC bindings, as well as ergonomic improvements. The riddle crate in particular now matches the version of windows-bindgen as they are inextricably linked.

It includes minor updates to the following:

  • windows-targets 0.52.5
  • windows-result 0.1.1
  • windows-registry 0.1.1
  • windows-version 0.1.1

The windows-targets crate adds support for arm64ec-pc-windows-msvc and i686-pc-windows-gnullvm. The other crates only update dependencies.

What's Changed


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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • 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/major-dependencies branch 2 times, most recently from 45f6faa to 880fd3f Compare October 2, 2024 13:50
@renovate renovate bot force-pushed the renovate/major-dependencies branch 4 times, most recently from 2b22e4c to 81ef575 Compare November 11, 2024 01:42
@renovate renovate bot force-pushed the renovate/major-dependencies branch 3 times, most recently from c9cfcec to c7a179c Compare December 8, 2024 19:50
@renovate renovate bot changed the title chore(deps): update major dependencies fix(deps): update major dependencies Dec 10, 2024
@renovate renovate bot force-pushed the renovate/major-dependencies branch from c7a179c to 2fd4dde Compare December 14, 2024 00:18
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.

0 participants