- API incompatible change: upgrade
hashbrown
to 0.15 (thank you @djc!). - API incompatible change: we now wrap
DefaultHashBuilder
andDefaultHasher
fromhashbrown
so that in the future upgradinghashbrown
is not an API incompatible change (thank you @djc!).
- Bugfix:
LruCache::contains_key
should take&self
and not move the entry as though it is accessed. - Add basic
CursorMut
API toHashMap
(thanks @olebedev!) - Bump
hashbrown
dependency to depend on a version ofhashbrown
past a downstreamzerocopy
dependency. - Don't depend on default features of
hashbrown
, removesallocator-api2
dependency.
- API incompatible change: Don't panic in
reserve
andtry_reserve
in cases where a rehash is needed. Previously would panic, adds the proper bounds on reserve methods to do a rehash (previously bounds were missing, and reserve would result in panics). (Thank you @cuviper!)
- Now builds with
#![no_std]
.
- bump hashbrown to 0.14
- bump hashbrown to 0.13
- Add
retain_with_order
methods, equivalent toretain
but which iterate through the map in the proper linked list order
- API incompatible change: No longer re-export hashbrown types so that bumping hashbrown is no longer an API compatible change.
- bump hashbrown to 0.12
- Fix implementation of
shrink_to_fit
to not panic when called on non-empty containers.
- API incompatible change: depend on hashbrown 0.11, changes re-exported types.
- Fix
LinkedHashSet::back
to take&self
not&mut self
. - API incompatible change: equality tests on
LinkedHashSet
are now ordered, similar toLinkedHashMap
. - Make the serde
Deserialize
implementations onLinkedHashMap
andLinkedHashSet
generic on theBuildHasher
type. - Add
to_back
andto_front
methods forLinkedHashMap
to control entry order.
- API incompatible change: depend on hashbrown 0.9, re-export renamed hashbrown::TryReserveError type.
- Add a
Debug
impl toLruCache
(thanks @thomcc!) - Adjust trait bounds for
LinkedHashMap::retain
,LinkedHashSet::default
to be less strict (to match hashbrown) - Adjust trait bounds for all
Debug
impls to be less strict (to match hashbrown). - Adjust trait bounds for all
IntoIterator
impls to be less strict (to match hashbrown). - Adjust trait bounds for
LruCache::with_hasher
,LruCache::capacity
,LruCache::len
,LruCache::is_empty
,LruCache::clear
,LruCache::iter
,LruCache::iter_mut
, andLruCache::drain
to be less strict - Add optional serde support for
LinkedHashMap
andLinkedHashSet
. - Add
to_back
andto_front
methods for LinkedHashSet to control entry order.
- Add
LinkedHashMap::remove_entry
andLruCache::remove_entry
- Add
LruCache::new_unbounded
constructor that sets capacity to usize::MAX - Add
LruCache::get
method to go withLruCache::get_mut
- Add
LruCache::peek
andLruCache::peek_mut
to access the cache without moving the entry in the LRU list
- API incompatible change: depend on hashbrown 0.7
- API incompatible change: depend on hashbrown 0.6
- Passes miri
- Add some minimal documentation for methods that change the internal ordering.
- Decide on a pattern for methods that change the internal ordering: the word "insert" means that it will move an existing entry to the back.
- Some methods have been renamed to conform to the above system.
- Fix variance for LinkedHashMap (now covariant where appropriate)
- Add Debug impls to many more associated types
- Add LinkedHashSet
- Add
LinkedHashMap::retain
- Move
linked_hash_map
into its own module - Add
LruCache
type ported fromlru-cache
crate into its own module - Add
LruCache
entry and raw-entry API - Add
linked_hash_map
IntoIter
iterator that is different fromDrain
iterator - Make
Drain
iterator recycle freed linked list nodes
- Initial release