From 53400496f4a6a97ebdca9f9fb374d1d617cf9148 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Tue, 1 Oct 2024 14:55:07 -0700 Subject: [PATCH 1/2] Release 2.6.0 --- Cargo.toml | 2 +- RELEASES.md | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 52257db9..959ea4c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "indexmap" edition = "2021" -version = "2.5.0" +version = "2.6.0" documentation = "https://docs.rs/indexmap/" repository = "https://github.com/indexmap-rs/indexmap" license = "Apache-2.0 OR MIT" diff --git a/RELEASES.md b/RELEASES.md index bfe8ce83..7e1686b0 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,5 +1,10 @@ # Releases +## 2.6.0 + +- Implemented `Clone` for `map::IntoIter` and `set::IntoIter`. +- Updated the `hashbrown` dependency to version 0.15. + ## 2.5.0 - Added an `insert_before` method to `IndexMap` and `IndexSet`, as an From bd0b4f7c8c7fd636c1c8d04c62d3daf944e9f8b4 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Tue, 1 Oct 2024 16:32:19 -0700 Subject: [PATCH 2/2] Add all release dates --- RELEASES.md | 124 ++++++++++++++++++++++++++-------------------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 7e1686b0..b1f7a519 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,43 +1,43 @@ # Releases -## 2.6.0 +## 2.6.0 (2024-10-01) - Implemented `Clone` for `map::IntoIter` and `set::IntoIter`. - Updated the `hashbrown` dependency to version 0.15. -## 2.5.0 +## 2.5.0 (2024-08-30) - 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`. -## 2.4.0 +## 2.4.0 (2024-08-13) - Added methods `IndexMap::append` and `IndexSet::append`, moving all items from one map or set into another, and leaving the original capacity for reuse. -## 2.3.0 +## 2.3.0 (2024-07-31) - 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. -## 2.2.6 +## 2.2.6 (2024-03-22) - Added trait `MutableValues` for opt-in mutable access to set values. -## 2.2.5 +## 2.2.5 (2024-02-29) - Added optional `borsh` serialization support. -## 2.2.4 +## 2.2.4 (2024-02-28) - Added an `insert_sorted` method on `IndexMap`, `IndexSet`, and `VacantEntry`. - Avoid hashing for lookups in single-entry maps. - Limit preallocated memory in `serde` deserializers. -## 2.2.3 +## 2.2.3 (2024-02-11) - Added `move_index` and `swap_indices` methods to `IndexedEntry`, `OccupiedEntry`, and `RawOccupiedEntryMut`, functioning like the existing @@ -48,18 +48,18 @@ - Added `shift_insert` methods on `IndexMap` and `IndexSet` to insert a new entry at a particular index, or else move an existing entry there. -## 2.2.2 +## 2.2.2 (2024-01-31) - Added indexing methods to raw entries: `RawEntryBuilder::from_hash_full`, `RawEntryBuilder::index_from_hash`, and `RawEntryMut::index`. -## 2.2.1 +## 2.2.1 (2024-01-28) - 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. -## 2.2.0 +## 2.2.0 (2024-01-28) - The new `IndexMap::get_index_entry` method finds an entry by its index for in-place manipulation. @@ -83,7 +83,7 @@ The deprecated methods will remain to guide drop-in replacements from `HashMap` and `HashSet` toward the prefixed methods. -## 2.1.0 +## 2.1.0 (2023-10-31) - 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 @@ -95,17 +95,17 @@ comparators, `binary_search_by_key` for key extraction, and `partition_point` for boolean conditions. -## 2.0.2 +## 2.0.2 (2023-09-29) - The `hashbrown` dependency has been updated to version 0.14.1 to complete the support for Rust 1.63. -## 2.0.1 +## 2.0.1 (2023-09-27) - **MSRV**: Rust 1.63.0 is now supported as well, pending publication of `hashbrown`'s relaxed MSRV (or use cargo `--ignore-rust-version`). -## 2.0.0 +## 2.0.0 (2023-06-23) - **MSRV**: Rust 1.64.0 or later is now required. @@ -141,22 +141,22 @@ - The `serde_seq` module has been moved from the crate root to below the `map` module. -## 1.9.3 +## 1.9.3 (2023-03-24) - Bump the `rustc-rayon` dependency, for compiler use only. -## 1.9.2 +## 1.9.2 (2022-11-17) - `IndexMap` and `IndexSet` both implement `arbitrary::Arbitrary<'_>` and `quickcheck::Arbitrary` if those optional dependency features are enabled. -## 1.9.1 +## 1.9.1 (2022-06-21) - The MSRV now allows Rust 1.56.0 as well. However, currently `hashbrown` 0.12.1 requires 1.56.1, so users on 1.56.0 should downgrade that to 0.12.0 until there is a later published version relaxing its requirement. -## 1.9.0 +## 1.9.0 (2022-06-16) - **MSRV**: Rust 1.56.1 or later is now required. @@ -171,18 +171,18 @@ the position of an item from one index to another, shifting the items between to accommodate the move. -## 1.8.2 +## 1.8.2 (2022-05-27) - Bump the `rustc-rayon` dependency, for compiler use only. -## 1.8.1 +## 1.8.1 (2022-03-29) - The new `IndexSet::replace_full` will return the index of the item along with the replaced value, if any, by @zakcutner in PR [222]. [222]: https://github.com/indexmap-rs/indexmap/pull/222 -## 1.8.0 +## 1.8.0 (2022-01-07) - The new `IndexMap::into_keys` and `IndexMap::into_values` will consume the map into keys or values, respectively, matching Rust 1.54's `HashMap` @@ -212,13 +212,13 @@ [205]: https://github.com/indexmap-rs/indexmap/pull/205 [211]: https://github.com/indexmap-rs/indexmap/pull/211 -## 1.7.0 +## 1.7.0 (2021-06-29) - **MSRV**: Rust 1.49 or later is now required. - The `hashbrown` dependency has been updated to version 0.11. -## 1.6.2 +## 1.6.2 (2021-03-05) - Fixed to match `std` behavior, `OccupiedEntry::key` now references the existing key in the map instead of the lookup key, by @cuviper in PR [170]. @@ -229,7 +229,7 @@ [170]: https://github.com/indexmap-rs/indexmap/pull/170 [175]: https://github.com/indexmap-rs/indexmap/pull/175 -## 1.6.1 +## 1.6.1 (2020-12-14) - The new `serde_seq` module implements `IndexMap` serialization as a sequence to ensure order is preserved, by @cuviper in PR [158]. @@ -241,13 +241,13 @@ [158]: https://github.com/indexmap-rs/indexmap/pull/158 [160]: https://github.com/indexmap-rs/indexmap/pull/160 -## 1.6.0 +## 1.6.0 (2020-09-05) - **MSRV**: Rust 1.36 or later is now required. - The `hashbrown` dependency has been updated to version 0.9. -## 1.5.2 +## 1.5.2 (2020-09-01) - The new "std" feature will force the use of `std` for users that explicitly want the default `S = RandomState`, bypassing the autodetection added in 1.3.0, @@ -255,7 +255,7 @@ [145]: https://github.com/indexmap-rs/indexmap/pull/145 -## 1.5.1 +## 1.5.1 (2020-08-07) - Values can now be indexed by their `usize` position by @cuviper in PR [132]. @@ -267,7 +267,7 @@ [141]: https://github.com/indexmap-rs/indexmap/pull/141 [142]: https://github.com/indexmap-rs/indexmap/pull/142 -## 1.5.0 +## 1.5.0 (2020-07-17) - **MSRV**: Rust 1.32 or later is now required. @@ -286,7 +286,7 @@ [131]: https://github.com/indexmap-rs/indexmap/pull/131 [136]: https://github.com/indexmap-rs/indexmap/pull/136 -## 1.4.0 +## 1.4.0 (2020-06-01) - Add new method `get_index_of` by @Thermatrix in PR [115] and [120] @@ -301,15 +301,15 @@ [115]: https://github.com/indexmap-rs/indexmap/pull/115 [120]: https://github.com/indexmap-rs/indexmap/pull/120 -## 1.3.2 +## 1.3.2 (2020-02-05) - Maintenance update to regenerate the published `Cargo.toml`. -## 1.3.1 +## 1.3.1 (2020-01-15) - Maintenance update for formatting and `autocfg` 1.0. -## 1.3.0 +## 1.3.0 (2019-10-18) - The deprecation messages in the previous version have been removed. (The methods have not otherwise changed.) Docs for removal methods have been @@ -319,7 +319,7 @@ `std` is not available. There is no crate feature to enable/disable to trigger this. The new build-dep `autocfg` enables this. -## 1.2.0 +## 1.2.0 (2019-09-08) - Plain `.remove()` now has a deprecation message, it informs the user about picking one of the removal functions `swap_remove` and `shift_remove` @@ -336,7 +336,7 @@ - Internal improvements: fix warnings, deprecations and style lints -## 1.1.0 +## 1.1.0 (2019-08-20) - Added optional feature `"rayon"` that adds parallel iterator support to `IndexMap` and `IndexSet` using Rayon. This includes all the regular @@ -352,7 +352,7 @@ - Minimum Rust version requirement increased to Rust 1.30 for development builds. -## 1.0.2 +## 1.0.2 (2018-10-22) - The new methods `IndexMap::insert_full` and `IndexSet::insert_full` are both like `insert` with the index included in the return value. @@ -363,11 +363,11 @@ - The new method `Entry::or_default` inserts a default value in unoccupied entries, matching the new methods of `std` maps in Rust 1.28. -## 1.0.1 +## 1.0.1 (2018-03-24) - Document Rust version policy for the crate (see rustdoc) -## 1.0.0 +## 1.0.0 (2018-03-11) - This is the 1.0 release for `indexmap`! (the crate and datastructure formerly known as “ordermap”) @@ -378,12 +378,12 @@ `OrderSet`, `ordermap!{}`, `orderset!{}`. Use the new `IndexMap` etc names instead. -## 0.4.1 +## 0.4.1 (2018-02-14) - Renamed crate to `indexmap`; the `ordermap` crate is now deprecated and the types `OrderMap/Set` now have a deprecation notice. -## 0.4.0 +## 0.4.0 (2018-02-02) - This is the last release series for this `ordermap` under that name, because the crate is **going to be renamed** to `indexmap` (with types @@ -402,11 +402,11 @@ - Minimum Rust version requirement increased to Rust 1.18 -## 0.3.5 +## 0.3.5 (2018-01-14) - Documentation improvements -## 0.3.4 +## 0.3.4 (2018-01-04) - The `.retain()` methods for `OrderMap` and `OrderSet` now traverse the elements in order, and the retained elements **keep their order** @@ -414,23 +414,23 @@ `.sort_by()`, `.sort()` to `OrderSet`. These methods allow you to sort the maps in place efficiently. -## 0.3.3 +## 0.3.3 (2017-12-28) - Document insertion behaviour better by @lucab - Updated dependences (no feature changes) by @ignatenkobrain -## 0.3.2 +## 0.3.2 (2017-11-25) - Add `OrderSet` by @cuviper! - `OrderMap::drain` is now (too) a double ended iterator. -## 0.3.1 +## 0.3.1 (2017-11-19) - In all ordermap iterators, forward the `collect` method to the underlying iterator as well. - Add crates.io categories. -## 0.3.0 +## 0.3.0 (2017-10-07) - The methods `get_pair`, `get_pair_index` were both replaced by `get_full` (and the same for the mutable case). @@ -445,71 +445,71 @@ [#10]: https://github.com/indexmap-rs/indexmap/pull/10 -## 0.2.13 +## 0.2.13 (2017-09-30) - Fix deserialization to support custom hashers by @Techcable. - Add methods `.index()` on the entry types by @garro95. -## 0.2.12 +## 0.2.12 (2017-09-11) - Add methods `.with_hasher()`, `.hasher()`. -## 0.2.11 +## 0.2.11 (2017-08-29) - Support `ExactSizeIterator` for the iterators. By @Binero. - Use `Box<[Pos]>` internally, saving a word in the `OrderMap` struct. - Serde support, with crate feature `"serde-1"`. By @xfix. -## 0.2.10 +## 0.2.10 (2017-04-29) - Add iterator `.drain(..)` by @stevej. -## 0.2.9 +## 0.2.9 (2017-03-26) - Add method `.is_empty()` by @overvenus. - Implement `PartialEq, Eq` by @overvenus. - Add method `.sorted_by()`. -## 0.2.8 +## 0.2.8 (2017-03-01) - Add iterators `.values()` and `.values_mut()`. - Fix compatibility with 32-bit platforms. -## 0.2.7 +## 0.2.7 (2016-11-02) - Add `.retain()`. -## 0.2.6 +## 0.2.6 (2016-11-02) - Add `OccupiedEntry::remove_entry` and other minor entry methods, so that it now has all the features of `HashMap`'s entries. -## 0.2.5 +## 0.2.5 (2016-10-31) - Improved `.pop()` slightly. -## 0.2.4 +## 0.2.4 (2016-10-22) - Improved performance of `.insert()` ([#3]) by @pczarn. [#3]: https://github.com/indexmap-rs/indexmap/pull/3 -## 0.2.3 +## 0.2.3 (2016-10-11) - Generalize `Entry` for now, so that it works on hashmaps with non-default hasher. However, there's a lingering compat issue since libstd `HashMap` does not parameterize its entries by the hasher (`S` typarm). - Special case some iterator methods like `.nth()`. -## 0.2.2 +## 0.2.2 (2016-10-02) - Disable the verbose `Debug` impl by default. -## 0.2.1 +## 0.2.1 (2016-10-02) - Fix doc links and clarify docs. -## 0.2.0 +## 0.2.0 (2016-10-01) - Add more `HashMap` methods & compat with its API. - Experimental support for `.entry()` (the simplest parts of the API). @@ -521,11 +521,11 @@ `.get_index()`, `.get_index_mut()`, `.swap_remove_index()`, `.get_pair_index()`, `.get_pair_index_mut()`. -## 0.1.2 +## 0.1.2 (2016-09-19) - Implement the 32/32 split idea for `Pos` which improves cache utilization and lookup performance. -## 0.1.1 +## 0.1.1 (2016-09-16) - Initial release.