@@ -66,320 +66,4 @@ which is roughly:
6666Recent Changes
6767==============
6868
69- - 1.7.0
70-
71- - **MSRV **: Rust 1.49 or later is now required.
72-
73- - The ``hashbrown `` dependency has been updated to version 0.11.
74-
75- - 1.6.2
76-
77- - Fixed to match ``std `` behavior, ``OccupiedEntry::key `` now references the
78- existing key in the map instead of the lookup key, by @cuviper in PR 170 _.
79-
80- - The new ``Entry::or_insert_with_key `` matches Rust 1.50's ``Entry `` method,
81- passing ``&K `` to the callback to create a value, by @cuviper in PR 175 _.
82-
83- .. _170 : https://github.com/bluss/indexmap/pull/170
84- .. _175 : https://github.com/bluss/indexmap/pull/175
85-
86- - 1.6.1
87-
88- - The new ``serde_seq `` module implements ``IndexMap `` serialization as a
89- sequence to ensure order is preserved, by @cuviper in PR 158 _.
90-
91- - New methods on maps and sets work like the ``Vec ``/slice methods by the same name:
92- ``truncate ``, ``split_off ``, ``first ``, ``first_mut ``, ``last ``, ``last_mut ``, and
93- ``swap_indices ``, by @cuviper in PR 160 _.
94-
95- .. _158 : https://github.com/bluss/indexmap/pull/158
96- .. _160 : https://github.com/bluss/indexmap/pull/160
97-
98- - 1.6.0
99-
100- - **MSRV **: Rust 1.36 or later is now required.
101-
102- - The ``hashbrown `` dependency has been updated to version 0.9.
103-
104- - 1.5.2
105-
106- - The new "std" feature will force the use of ``std `` for users that explicitly
107- want the default ``S = RandomState ``, bypassing the autodetection added in 1.3.0,
108- by @cuviper in PR 145 _.
109-
110- .. _145 : https://github.com/bluss/indexmap/pull/145
111-
112- - 1.5.1
113-
114- - Values can now be indexed by their ``usize `` position by @cuviper in PR 132 _.
115-
116- - Some of the generic bounds have been relaxed to match ``std `` by @cuviper in PR 141 _.
117-
118- - ``drain `` now accepts any ``R: RangeBounds<usize> `` by @cuviper in PR 142 _.
119-
120- .. _132 : https://github.com/bluss/indexmap/pull/132
121- .. _141 : https://github.com/bluss/indexmap/pull/141
122- .. _142 : https://github.com/bluss/indexmap/pull/142
123-
124- - 1.5.0
125-
126- - **MSRV **: Rust 1.32 or later is now required.
127-
128- - The inner hash table is now based on ``hashbrown `` by @cuviper in PR 131 _.
129- This also completes the method ``reserve `` and adds ``shrink_to_fit ``.
130-
131- - Add new methods ``get_key_value ``, ``remove_entry ``, ``swap_remove_entry ``,
132- and ``shift_remove_entry ``, by @cuviper in PR 136 _
133-
134- - ``Clone::clone_from `` reuses allocations by @cuviper in PR 125 _
135-
136- - Add new method ``reverse `` by @linclelinkpart5 in PR 128 _
137-
138- .. _125 : https://github.com/bluss/indexmap/pull/125
139- .. _128 : https://github.com/bluss/indexmap/pull/128
140- .. _131 : https://github.com/bluss/indexmap/pull/131
141- .. _136 : https://github.com/bluss/indexmap/pull/136
142-
143- - 1.4.0
144-
145- - Add new method ``get_index_of `` by @Thermatrix in PR 115 _ and 120 _
146-
147- - Fix build script rebuild-if-changed configuration to use "build.rs";
148- fixes issue 123 _. Fix by @cuviper.
149-
150- - Dev-dependencies (rand and quickcheck) have been updated. The crate's tests
151- now run using Rust 1.32 or later (MSRV for building the crate has not changed).
152- by @kjeremy and @bluss
153-
154- .. _123 : https://github.com/bluss/indexmap/issues/123
155- .. _115 : https://github.com/bluss/indexmap/pull/115
156- .. _120 : https://github.com/bluss/indexmap/pull/120
157-
158- - 1.3.2
159-
160- - Maintenance update to regenerate the published `Cargo.toml `.
161-
162- - 1.3.1
163-
164- - Maintenance update for formatting and ``autocfg `` 1.0.
165-
166- - 1.3.0
167-
168- - The deprecation messages in the previous version have been removed.
169- (The methods have not otherwise changed.) Docs for removal methods have been
170- improved.
171- - From Rust 1.36, this crate supports being built **without std **, requiring
172- ``alloc `` instead. This is enabled automatically when it is detected that
173- ``std `` is not available. There is no crate feature to enable/disable to
174- trigger this. The new build-dep ``autocfg `` enables this.
175-
176- - 1.2.0
177-
178- - Plain ``.remove() `` now has a deprecation message, it informs the user
179- about picking one of the removal functions ``swap_remove `` and ``shift_remove ``
180- which have different performance and order semantics.
181- Plain ``.remove() `` will not be removed, the warning message and method
182- will remain until further.
183-
184- - Add new method ``shift_remove `` for order preserving removal on the map,
185- and ``shift_take `` for the corresponding operation on the set.
186-
187- - Add methods ``swap_remove ``, ``swap_remove_entry `` to ``Entry ``.
188-
189- - Fix indexset/indexmap to support full paths, like ``indexmap::indexmap!() ``
190-
191- - Internal improvements: fix warnings, deprecations and style lints
192-
193- - 1.1.0
194-
195- - Added optional feature `"rayon" ` that adds parallel iterator support
196- to `IndexMap ` and `IndexSet ` using Rayon. This includes all the regular
197- iterators in parallel versions, and parallel sort.
198-
199- - Implemented ``Clone `` for ``map::{Iter, Keys, Values} `` and
200- ``set::{Difference, Intersection, Iter, SymmetricDifference, Union} ``
201-
202- - Implemented ``Debug `` for ``map::{Entry, IntoIter, Iter, Keys, Values} `` and
203- ``set::{Difference, Intersection, IntoIter, Iter, SymmetricDifference, Union} ``
204-
205- - Serde trait ``IntoDeserializer `` are implemented for ``IndexMap `` and ``IndexSet ``.
206-
207- - Minimum Rust version requirement increased to Rust 1.30 for development builds.
208-
209- - 1.0.2
210-
211- - The new methods ``IndexMap::insert_full `` and ``IndexSet::insert_full `` are
212- both like ``insert `` with the index included in the return value.
213-
214- - The new method ``Entry::and_modify `` can be used to modify occupied
215- entries, matching the new methods of ``std `` maps in Rust 1.26.
216-
217- - The new method ``Entry::or_default `` inserts a default value in unoccupied
218- entries, matching the new methods of ``std `` maps in Rust 1.28.
219-
220- - 1.0.1
221-
222- - Document Rust version policy for the crate (see rustdoc)
223-
224- - 1.0.0
225-
226- - This is the 1.0 release for ``indexmap ``! (the crate and datastructure
227- formerly known as “ordermap”)
228- - ``OccupiedEntry::insert `` changed its signature, to use ``&mut self `` for
229- the method receiver, matching the equivalent method for a standard
230- ``HashMap ``. Thanks to @dtolnay for finding this bug.
231- - The deprecated old names from ordermap were removed: ``OrderMap ``,
232- ``OrderSet ``, ``ordermap!{} ``, ``orderset!{} ``. Use the new ``IndexMap ``
233- etc names instead.
234-
235- - 0.4.1
236-
237- - Renamed crate to ``indexmap ``; the ``ordermap `` crate is now deprecated
238- and the types ``OrderMap/Set `` now have a deprecation notice.
239-
240- - 0.4.0
241-
242- - This is the last release series for this ``ordermap `` under that name,
243- because the crate is **going to be renamed ** to ``indexmap `` (with types
244- ``IndexMap ``, ``IndexSet ``) and no change in functionality!
245- - The map and its associated structs moved into the ``map `` submodule of the
246- crate, so that the map and set are symmetric
247-
248- + The iterators, ``Entry `` and other structs are now under ``ordermap::map:: ``
249-
250- - Internally refactored ``OrderMap<K, V, S> `` so that all the main algorithms
251- (insertion, lookup, removal etc) that don't use the ``S `` parameter (the
252- hasher) are compiled without depending on ``S ``, which reduces generics bloat.
253-
254- - ``Entry<K, V> `` no longer has a type parameter ``S ``, which is just like
255- the standard ``HashMap ``'s entry.
256-
257- - Minimum Rust version requirement increased to Rust 1.18
258-
259- - 0.3.5
260-
261- - Documentation improvements
262-
263- - 0.3.4
264-
265- - The ``.retain() `` methods for ``OrderMap `` and ``OrderSet `` now
266- traverse the elements in order, and the retained elements **keep their order **
267- - Added new methods ``.sort_by() ``, ``.sort_keys() `` to ``OrderMap `` and
268- ``.sort_by() ``, ``.sort() `` to ``OrderSet ``. These methods allow you to
269- sort the maps in place efficiently.
270-
271- - 0.3.3
272-
273- - Document insertion behaviour better by @lucab
274- - Updated dependences (no feature changes) by @ignatenkobrain
275-
276- - 0.3.2
277-
278- - Add ``OrderSet `` by @cuviper!
279- - ``OrderMap::drain `` is now (too) a double ended iterator.
280-
281- - 0.3.1
282-
283- - In all ordermap iterators, forward the ``collect `` method to the underlying
284- iterator as well.
285- - Add crates.io categories.
286-
287- - 0.3.0
288-
289- - The methods ``get_pair ``, ``get_pair_index `` were both replaced by
290- ``get_full `` (and the same for the mutable case).
291- - Method ``swap_remove_pair `` replaced by ``swap_remove_full ``.
292- - Add trait ``MutableKeys `` for opt-in mutable key access. Mutable key access
293- is only possible through the methods of this extension trait.
294- - Add new trait ``Equivalent `` for key equivalence. This extends the
295- ``Borrow `` trait mechanism for ``OrderMap::get `` in a backwards compatible
296- way, just some minor type inference related issues may become apparent.
297- See `#10 `__ for more information.
298- - Implement ``Extend<(&K, &V)> `` by @xfix.
299-
300- __ https://github.com/bluss/ordermap/pull/10
301-
302- - 0.2.13
303-
304- - Fix deserialization to support custom hashers by @Techcable.
305- - Add methods ``.index() `` on the entry types by @garro95.
306-
307- - 0.2.12
308-
309- - Add methods ``.with_hasher() ``, ``.hasher() ``.
310-
311- - 0.2.11
312-
313- - Support ``ExactSizeIterator `` for the iterators. By @Binero.
314- - Use ``Box<[Pos]> `` internally, saving a word in the ``OrderMap `` struct.
315- - Serde support, with crate feature ``"serde-1" ``. By @xfix.
316-
317- - 0.2.10
318-
319- - Add iterator ``.drain(..) `` by @stevej.
320-
321- - 0.2.9
322-
323- - Add method ``.is_empty() `` by @overvenus.
324- - Implement ``PartialEq, Eq `` by @overvenus.
325- - Add method ``.sorted_by() ``.
326-
327- - 0.2.8
328-
329- - Add iterators ``.values() `` and ``.values_mut() ``.
330- - Fix compatibility with 32-bit platforms.
331-
332- - 0.2.7
333-
334- - Add ``.retain() ``.
335-
336- - 0.2.6
337-
338- - Add ``OccupiedEntry::remove_entry `` and other minor entry methods,
339- so that it now has all the features of ``HashMap ``'s entries.
340-
341- - 0.2.5
342-
343- - Improved ``.pop() `` slightly.
344-
345- - 0.2.4
346-
347- - Improved performance of ``.insert() `` (`#3 `__) by @pczarn.
348-
349- __ https://github.com/bluss/ordermap/pull/3
350-
351- - 0.2.3
352-
353- - Generalize ``Entry `` for now, so that it works on hashmaps with non-default
354- hasher. However, there's a lingering compat issue since libstd ``HashMap ``
355- does not parameterize its entries by the hasher (``S `` typarm).
356- - Special case some iterator methods like ``.nth() ``.
357-
358- - 0.2.2
359-
360- - Disable the verbose ``Debug `` impl by default.
361-
362- - 0.2.1
363-
364- - Fix doc links and clarify docs.
365-
366- - 0.2.0
367-
368- - Add more ``HashMap `` methods & compat with its API.
369- - Experimental support for ``.entry() `` (the simplest parts of the API).
370- - Add ``.reserve() `` (placeholder impl).
371- - Add ``.remove() `` as synonym for ``.swap_remove() ``.
372- - Changed ``.insert() `` to swap value if the entry already exists, and
373- return ``Option ``.
374- - Experimental support as an *indexed * hash map! Added methods
375- ``.get_index() ``, ``.get_index_mut() ``, ``.swap_remove_index() ``,
376- ``.get_pair_index() ``, ``.get_pair_index_mut() ``.
377-
378- - 0.1.2
379-
380- - Implement the 32/32 split idea for ``Pos `` which improves cache utilization
381- and lookup performance.
382-
383- - 0.1.1
384-
385- - Initial release.
69+ See `RELEASES.rst <./RELEASES.rst >`_.
0 commit comments