Skip to content

Conversation

@renovate
Copy link

@renovate renovate bot commented Nov 22, 2025

This PR contains the following updates:

Package Type Update Change
indexmap dependencies major 1.2 -> 2.0
uuid08 dependencies major 0.8 -> 1.0

Release Notes

indexmap-rs/indexmap (indexmap)

v2.12.1

Compare Source

  • Simplified a lot of internals using hashbrown's new bucket API.

v2.12.0

Compare Source

  • MSRV: Rust 1.82.0 or later is now required.
  • Updated the hashbrown dependency to 0.16 alone.
  • Error types now implement core::error::Error.
  • Added pop_if methods to IndexMap and IndexSet, similar to the
    method for Vec added in Rust 1.86.

v2.11.4

Compare Source

  • Updated the hashbrown dependency to a range allowing 0.15 or 0.16.

v2.11.3

Compare Source

  • Make the minimum serde version only apply when "serde" is enabled.

v2.11.2

Compare Source

  • Switched the "serde" feature to depend on serde_core, improving build
    parallelism in cases where other dependents have enabled "serde/derive".

v2.11.1

Compare Source

  • Added a get_key_value_mut method to IndexMap.
  • Removed the unnecessary Ord bound on insert_sorted_by methods.

v2.11.0

Compare Source

  • Added insert_sorted_by and insert_sorted_by_key methods to IndexMap,
    IndexSet, and VacantEntry, like customizable versions of insert_sorted.
  • Added is_sorted, is_sorted_by, and is_sorted_by_key methods to
    IndexMap and IndexSet, as well as their Slice counterparts.
  • Added sort_by_key and sort_unstable_by_key methods to IndexMap and
    IndexSet, as well as parallel counterparts.
  • Added replace_index methods to IndexMap, IndexSet, and VacantEntry
    to replace the key (or set value) at a given index.
  • Added optional sval serialization support.

v2.10.0

Compare Source

  • Added extract_if methods to IndexMap and IndexSet, similar to the
    methods for HashMap and HashSet with ranges like Vec::extract_if.
  • Added more #[track_caller] annotations to functions that may panic.

v2.9.0

Compare Source

  • Added a get_disjoint_mut method to IndexMap, matching Rust 1.86's
    HashMap method.
  • Added a get_disjoint_indices_mut method to IndexMap and map::Slice,
    matching Rust 1.86's get_disjoint_mut method on slices.
  • Deprecated the borsh feature in favor of their own indexmap feature,
    solving a cyclic dependency that occurred via borsh-derive.

v2.8.0

Compare Source

  • Added indexmap_with_default! and indexset_with_default! to be used with
    alternative hashers, especially when using the crate without std.
  • Implemented PartialEq between each Slice and []/arrays.
  • Removed the internal rustc-rayon feature and dependency.

v2.7.1

Compare Source

  • Added #[track_caller] to functions that may panic.
  • Improved memory reservation for insert_entry.

v2.7.0

Compare Source

  • Added methods Entry::insert_entry and VacantEntry::insert_entry, returning
    an OccupiedEntry after insertion.

v2.6.0

Compare Source

  • Implemented Clone for map::IntoIter and set::IntoIter.
  • Updated the hashbrown dependency to version 0.15.

v2.5.0

Compare Source

  • Added an insert_before method to IndexMap and IndexSet, as an
    alternative to shift_insert with different behavior on existing entries.
  • Added first_entry and last_entry methods to IndexMap.
  • Added From implementations between IndexedEntry and OccupiedEntry.

v2.4.0

Compare Source

  • Added methods IndexMap::append and IndexSet::append, moving all items from
    one map or set into another, and leaving the original capacity for reuse.

v2.3.0

Compare Source

  • Added trait MutableEntryKey for opt-in mutable access to map entry keys.
  • Added method MutableKeys::iter_mut2 for opt-in mutable iteration of map
    keys and values.

v2.2.6

Compare Source

  • Added trait MutableValues for opt-in mutable access to set values.

v2.2.5

Compare Source

  • Added optional borsh serialization support.

v2.2.4

Compare Source

  • Added an insert_sorted method on IndexMap, IndexSet, and VacantEntry.
  • Avoid hashing for lookups in single-entry maps.
  • Limit preallocated memory in serde deserializers.

v2.2.3

Compare Source

  • Added move_index and swap_indices methods to IndexedEntry,
    OccupiedEntry, and RawOccupiedEntryMut, functioning like the existing
    methods on IndexMap.
  • Added shift_insert methods on VacantEntry and RawVacantEntryMut, as
    well as shift_insert_hashed_nocheck on the latter, to insert the new entry
    at a particular index.
  • Added shift_insert methods on IndexMap and IndexSet to insert a new
    entry at a particular index, or else move an existing entry there.

v2.2.2

Compare Source

  • Added indexing methods to raw entries: RawEntryBuilder::from_hash_full,
    RawEntryBuilder::index_from_hash, and RawEntryMut::index.

v2.2.1

Compare Source

  • Corrected the signature of RawOccupiedEntryMut::into_key(self) -> &'a mut K,
    This a breaking change from 2.2.0, but that version was published for less
    than a day and has now been yanked.

v2.2.0

Compare Source

  • The new IndexMap::get_index_entry method finds an entry by its index for
    in-place manipulation.

  • The Keys iterator now implements Index<usize> for quick access to the
    entry's key, compared to indexing the map to get the value.

  • The new IndexMap::splice and IndexSet::splice methods will drain the
    given range as an iterator, and then replace that range with entries from
    an input iterator.

  • The new trait RawEntryApiV1 offers opt-in access to a raw entry API for
    IndexMap, corresponding to the unstable API on HashSet as of Rust 1.75.

  • Many IndexMap and IndexSet methods have relaxed their type constraints,
    e.g. removing K: Hash on methods that don't actually need to hash.

  • Removal methods remove, remove_entry, and take are now deprecated
    in favor of their shift_ or swap_ prefixed variants, which are more
    explicit about their effect on the index and order of remaining items.
    The deprecated methods will remain to guide drop-in replacements from
    HashMap and HashSet toward the prefixed methods.

v2.1.0

Compare Source

  • Empty slices can now be created with map::Slice::{new, new_mut} and
    set::Slice::new. In addition, Slice::new, len, and is_empty are
    now const functions on both types.

  • IndexMap, IndexSet, and their respective Slices all have binary
    search methods for sorted data: map binary_search_keys and set
    binary_search for plain comparison, binary_search_by for custom
    comparators, binary_search_by_key for key extraction, and
    partition_point for boolean conditions.

v2.0.2

Compare Source

  • The hashbrown dependency has been updated to version 0.14.1 to
    complete the support for Rust 1.63.

v2.0.1

Compare Source

  • MSRV: Rust 1.63.0 is now supported as well, pending publication of
    hashbrown's relaxed MSRV (or use cargo --ignore-rust-version).

v2.0.0

Compare Source

  • MSRV: Rust 1.64.0 or later is now required.

  • The "std" feature is no longer auto-detected. It is included in the
    default feature set, or else can be enabled like any other Cargo feature.

  • The "serde-1" feature has been removed, leaving just the optional
    "serde" dependency to be enabled like a feature itself.

  • IndexMap::get_index_mut now returns Option<(&K, &mut V)>, changing
    the key part from &mut K to &K. There is also a new alternative
    MutableKeys::get_index_mut2 to access the former behavior.

  • The new map::Slice<K, V> and set::Slice<T> offer a linear view of maps
    and sets, behaving a lot like normal [(K, V)] and [T] slices. Notably,
    comparison traits like Eq only consider items in order, rather than hash
    lookups, and slices even implement Hash.

  • IndexMap and IndexSet now have sort_by_cached_key and
    par_sort_by_cached_key methods which perform stable sorts in place
    using a key extraction function.

  • IndexMap and IndexSet now have reserve_exact, try_reserve, and
    try_reserve_exact methods that correspond to the same methods on Vec.
    However, exactness only applies to the direct capacity for items, while the
    raw hash table still follows its own rules for capacity and load factor.

  • The Equivalent trait is now re-exported from the equivalent crate,
    intended as a common base to allow types to work with multiple map types.

  • The hashbrown dependency has been updated to version 0.14.

  • The serde_seq module has been moved from the crate root to below the
    map module.

uuid-rs/uuid (uuid08)

v1.18.1

Compare Source

What's Changed

Full Changelog: uuid-rs/uuid@v1.18.0...v1.18.1

v1.18.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@v1.17.0...v1.18.0

v1.17.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@v1.16.0...v1.17.0

v1.16.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@v1.15.1...v1.16.0

v1.15.1

Compare Source

What's Changed

Full Changelog: uuid-rs/uuid@v1.15.0...v1.15.1

v1.15.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@v1.14.0...v1.15.0

v1.14.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@v1.13.2...v1.14.0

v1.13.2

Compare Source

What's Changed

Full Changelog: uuid-rs/uuid@1.13.1...v1.13.2

v1.13.1

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.13.0...1.13.1

v1.13.0

Compare Source

⚠️ Potential Breakage

This release updates our version of getrandom to 0.3 and rand to 0.9. It is a potentially breaking change for the following users:

no-std users who enable the rng feature

uuid still uses getrandom by default on these platforms. Upgrade your version of getrandom and follow its new docs on configuring a custom backend.

wasm32-unknown-unknown users who enable the rng feature without the js feature

Upgrade your version of getrandom and follow its new docs on configuring a backend.

You'll also need to enable the rng-getrandom or rng-rand feature of uuid to force it to use getrandom as its backend:

[dependencies.uuid]
version = "1.13.0"
- features = ["v4"]
+ features = ["v4", "rng-getrandom"]

[dependencies.getrandom]
version = "0.3"

If you're on wasm32-unknown-unknown and using the js feature of uuid you shouldn't see any breakage. We've kept this behavior by vendoring in getrandom's web-based backend when the js feature is enabled.

What's Changed

Full Changelog: uuid-rs/uuid@1.12.1...1.13.0

v1.12.1

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.12.0...1.12.1

v1.12.0

Compare Source

⚠️ Possible Breakage

This release includes additional PartialEq implementations on Uuid, which can break inference in some cases.

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.11.1...1.12.0

v1.11.1

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.11.0...1.11.1

v1.11.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.10.0...1.11.0

v1.10.0

Compare Source

Deprecations

This release deprecates and renames the following functions:

  • Builder::from_rfc4122_timestamp -> Builder::from_gregorian_timestamp
  • Builder::from_sorted_rfc4122_timestamp -> Builder::from_sorted_gregorian_timestamp
  • Timestamp::from_rfc4122 -> Timestamp::from_gregorian
  • Timestamp::to_rfc4122 -> Timestamp::to_gregorian

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.9.1...1.10.0

v1.9.1

Compare Source

What's Changed

Full Changelog: uuid-rs/uuid@1.9.0...1.9.1

v1.9.0

Compare Source

Uuid::now_v7() is guaranteed to be monotonic

Before this release, Uuid::now_v7() would only use the millisecond-precision timestamp for ordering. It now also uses a global 42-bit counter that's re-initialized each millisecond so that the following will always pass:

let a = Uuid::now_v7();
let b = Uuid::now_v7();

assert!(a < b);

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.8.0...1.9.0

v1.8.0

Compare Source

⚠️ Potential Breakage ⚠️

A new impl AsRef<Uuid> for Uuid bound has been added, which can break inference on code like:

let b = uuid.as_ref();

You can fix these by explicitly typing the result of the conversion:

let b: &[u8] = uuid.as_ref();

or by calling as_bytes instead:

let b = uuid.as_bytes();

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.7.0...1.8.0

v1.7.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.6.1...1.7.0

v1.6.1

Compare Source

What's Changed

Full Changelog: uuid-rs/uuid@1.6.0...1.6.1

v1.6.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.5.0...1.6.0

v1.5.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.4.1...1.5.0

v1.4.1

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.4.0...1.4.1

v1.4.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.3.4...1.4.0

v1.3.4

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.3.3...1.3.4

v1.3.3

Compare Source

What's Changed

Full Changelog: uuid-rs/uuid@1.3.2...1.3.3

v1.3.2

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.3.1...1.3.2

v1.3.1

Compare Source

What's Changed

Full Changelog: uuid-rs/uuid@1.3.0...1.3.1

v1.3.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.2.2...1.3.0

v1.2.2

Compare Source

What's Changed

Full Changelog: uuid-rs/uuid@1.2.1...1.2.2

v1.2.1

Compare Source

What's Changed

Full Changelog: uuid-rs/uuid@1.2.0...1.2.1

v1.2.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.1.2...1.2.0

v1.1.2

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.1.1...1.1.2

v1.1.1

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.1.0...1.1.1

v1.1.0

Compare Source

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@1.0.0...1.1.0

v1.0.0

Compare Source

This release includes a huge amount of work from a lot of contributors. These notes are duplicated from 1.0.0-alpha.1 since they're relevant for anybody moving from 0.8.2 to 1.0.0.

Changes since the last release

Contributions since the last release

@​Gaelan @​hecsalazarf @​Expyron @​saiintbrisson @​tshepang @​Tehnix @​Takashiidobe @​A248 @​clehner

With a special thanks to:

@​kinggoesgaming @​QnnOkabayashi @​Nugine

Highlights

Parsing and formatting methods are now much faster,


Configuration

📅 Schedule: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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
Copy link
Author

renovate bot commented Nov 22, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path schemars/Cargo.toml --package [email protected] --precise 2.12.1
    Updating crates.io index
error: failed to select a version for `indexmap`.
    ... required by package `oxc-schemars v0.8.27 (/tmp/renovate/repos/github/oxc-project/schemars/schemars)`
versions that meet the requirements `^2.0` (locked to 2.0.2) are: 2.0.2

package `oxc-schemars` depends on `indexmap` with feature `serde-1` but `indexmap` does not have that feature.
 package `indexmap` does have feature `serde`


failed to select a version for `indexmap` which could resolve this conflict

@renovate renovate bot force-pushed the renovate/major-rust-crates branch from d3cba9f to e0e1ef7 Compare November 23, 2025 16:57
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