# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.6.0] - 2026-05-04
### Added
- OrderedHashMap: Added Entry API for in-place manipulation.
### Changed
- Move MSRV to Rust 1.71
### Fixed
- OrderedHashMap::insert no longer eagerly boxes key; boxing only happens if a new insertion takes place
- ValuesMut iterator now overrides size\_hint by delegating to inner iterator
## [0.5.0] - 2025-09-12
### Changed
- Updated hashbrown to 0.15.2
- Unified Q: ?Sized bounds with the other bounds in the where clauses
- Added elided lifetimes to drain
### Fixed
- EvictingCacheMap's no\_promote functions were improperly took &mut self
## [0.4.0] - 2023-11-12
### Added
- OrderedHashSet created as specialization to the OrderedHashMap.
- OrderedHashMap functions:
- back\_entry
- front\_entry
- move\_to\_back
- OrderedHashMap Extend impl for `&'a (K, V)` added
- Plenty of tests for each module
- Some documentation examples (more to come)
### Changed
- Updated and improved READMEs for OrderedHashMap and EvictingCacheMap
### Fixed
- Fixed CHANGELOG diffs to actually point at diffs (not tags/releases)
- OrderedHashMap::get\_key\_value no longer requires &mut self
- OrderedHashMap::move\_to\_front now works correctly
- Removed unnecessary pub(crate) from ordered\_map::IntoIter
- EvictingCachemap::prune\_with variants now actually let you pass in a different lambda than the one associated with the container
## [0.3.1] - 2023-11-09
### Fixed
- Fixed README files
## [0.3.0] - 2023-11-09
### Added
- Added new workspace member for EvictingCacheMap
### Changed
- Workspace resolver changed to 2
- Tweaked OrderedHashMap iterators to allow completely private members
### Fixed
- Minor typos in documentation addressed
## [0.2.0] - 2023-03-04
### Added
- Added CHANGELOG.md
- OrderedHashMap draining iterator added.
- OrderedHashMap now has front, front\_mut, back, and back\_mut, and get\_key\_value\_mut getters.
### Changed
- OrderedHashMap::contains\_key takes &self immutably now.
- OrderedHashMap exports HashBuilder publicly.
- OrderedHashMap now has a pub move\_to\_front() which moves the given Key to the front of the LinkedList without removing/reinserting the node.
- Iterator methods and OrderedHashMap getters marked with #[inline]. This does not force in lining but allows the compiler to inline across crate boundaries.
### Fixed
- Fixed the wording on pop\_front/back\[\_entry\]() functions documentation to accurately describe oldest/newest element.
## [0.1.0] - 2023-03-01
### Added
- First pass implementation of OrderedHashMap
- xtask to run code coverage reports
- Gitlab CI
[unreleased]: https://codeberg.org/Kelderon/rs-collections/compare/v0.5.0...main
[0.6.0]: https://codeberg.org/Kelderon/rs-collections/compare/v0.5.0...v0.6.0
[0.5.0]: https://codeberg.org/Kelderon/rs-collections/compare/v0.4.0...v0.5.0
[0.4.0]: https://codeberg.org/Kelderon/rs-collections/compare/v0.3.1...v0.4.0
[0.3.1]: https://codeberg.org/Kelderon/rs-collections/compare/v0.3.0...v0.3.1
[0.3.0]: https://codeberg.org/Kelderon/rs-collections/compare/v0.2.0...v0.3.0
[0.2.0]: https://codeberg.org/Kelderon/rs-collections/compare/v0.1.0...v0.2.0
[0.1.0]: https://codeberg.org/Kelderon/rs-collections/src/tag/v0.1.0