226 lines
7.4 KiB
Markdown
226 lines
7.4 KiB
Markdown
# Changelog
|
|
|
|
## [v0.11.1](https://github.com/jeromefroe/lru-rs/tree/0.11.1) - 2023-09-05
|
|
|
|
- Add `try_get_or_insert_mut` method.
|
|
|
|
## [v0.11.0](https://github.com/jeromefroe/lru-rs/tree/0.11.0) - 2023-07-11
|
|
|
|
- Update dependency on hashbrown to 0.14 and update MSRV to 1.64.0.
|
|
|
|
## [v0.10.1](https://github.com/jeromefroe/lru-rs/tree/0.10.1) - 2023-06-29
|
|
|
|
- Add `try_get_or_insert` method.
|
|
|
|
## [v0.10.0](https://github.com/jeromefroe/lru-rs/tree/0.10.0) - 2023-03-04
|
|
|
|
- Remove `KeyRef` from the public API.
|
|
|
|
## [v0.9.0](https://github.com/jeromefroe/lru-rs/tree/0.9.0) - 2022-12-31
|
|
|
|
- Update dependency on hashbrown to 0.13.
|
|
- Change `LruCache.map` to hold a pointer, rather than owned `LruEntry`.
|
|
|
|
## [v0.8.1](https://github.com/jeromefroe/lru-rs/tree/0.8.1) - 2022-10-01
|
|
|
|
- Add "caching" and "no-std" to list of categories.
|
|
|
|
## [v0.8.0](https://github.com/jeromefroe/lru-rs/tree/0.8.0) - 2022-09-11
|
|
|
|
- Use `NonZeroUsize` for LRU capacity instead of usize.
|
|
- Add `get_or_insert_mut` method which is similiar to `get_or_insert` but returns a mutable
|
|
reference instead of an immutable reference.
|
|
- Add `LruCache::promote` and `LruCache::demote` API to manipulate LRU order of the entry directly.
|
|
|
|
## [v0.7.8](https://github.com/jeromefroe/lru-rs/tree/0.7.8) - 2022-07-19
|
|
|
|
- Update dependency on hashbrown to 0.12.
|
|
|
|
## [v0.7.7](https://github.com/jeromefroe/lru-rs/tree/0.7.7) - 2022-06-14
|
|
|
|
- Use `FnOnce` instead of `Fn` for trait bound of `fn` in `get_or_insert`.
|
|
|
|
## [v0.7.6](https://github.com/jeromefroe/lru-rs/tree/0.7.6) - 2022-05-25
|
|
|
|
- Add `pop_entry` method.
|
|
|
|
## [v0.7.5](https://github.com/jeromefroe/lru-rs/tree/0.7.5) - 2022-04-04
|
|
|
|
- Add `push` method.
|
|
|
|
## [v0.7.4](https://github.com/jeromefroe/lru-rs/tree/0.7.4) - 2022-04-03
|
|
|
|
- Implement `IntoIterator` trait and fix lifetime bug in `get_or_insert`.
|
|
|
|
## [v0.7.3](https://github.com/jeromefroe/lru-rs/tree/0.7.3) - 2022-02-28
|
|
|
|
- Add `get_or_insert` method.
|
|
|
|
## [v0.7.2](https://github.com/jeromefroe/lru-rs/tree/0.7.2) - 2021-12-28
|
|
|
|
- Explicitly implement Borrow for Box for non-nightly.
|
|
|
|
## [v0.7.1](https://github.com/jeromefroe/lru-rs/tree/0.7.1) - 2021-12-18
|
|
|
|
- Fix lifetime of iterators.
|
|
|
|
## [v0.7.0](https://github.com/jeromefroe/lru-rs/tree/0.7.0) - 2021-09-14
|
|
|
|
- Explicitly implement Borrow for String and Vec types for non-nightly.
|
|
|
|
## [v0.6.6](https://github.com/jeromefroe/lru-rs/tree/0.6.6) - 2021-07-28
|
|
|
|
- Update dependency on hashbrown to 0.11.2.
|
|
|
|
## [v0.6.5](https://github.com/jeromefroe/lru-rs/tree/0.6.5) - 2021-02-12
|
|
|
|
- Add `unbounded_with_hasher` constructor.
|
|
|
|
## [v0.6.4](https://github.com/jeromefroe/lru-rs/tree/0.6.4) - 2021-02-03
|
|
|
|
- Fix memory leak when keys contain heap allocated data and ensure send/sync bounds apply to
|
|
all conforming hashers.
|
|
|
|
## [v0.6.3](https://github.com/jeromefroe/lru-rs/tree/0.6.3) - 2020-12-19
|
|
|
|
- Fix memory leak in `clear` and `resize` methods.
|
|
|
|
## [v0.6.2](https://github.com/jeromefroe/lru-rs/tree/0.6.2) - 2020-12-12
|
|
|
|
- Rename `optin_builtin_traits` to `auto_traits`.
|
|
|
|
## [v0.6.1](https://github.com/jeromefroe/lru-rs/tree/0.6.1) - 2020-11-02
|
|
|
|
- Update dependency on hashbrown to 0.9.
|
|
|
|
## [v0.6.0](https://github.com/jeromefroe/lru-rs/tree/0.6.0) - 2020-08-02
|
|
|
|
- Update dependency on hashbrown to 0.8.
|
|
|
|
## [v0.5.3](https://github.com/jeromefroe/lru-rs/tree/0.5.3) - 2020-07-06
|
|
|
|
- Fix bug that causes crash when putting an item into a zero-capacity cache.
|
|
|
|
## [v0.5.2](https://github.com/jeromefroe/lru-rs/tree/0.5.2) - 2020-06-17
|
|
|
|
- Fix nightly feature.
|
|
|
|
## [v0.5.1](https://github.com/jeromefroe/lru-rs/tree/0.5.1) - 2020-06-02
|
|
|
|
- Fix memory leak whereby old entries wouldn't be dropped when cache is full.
|
|
|
|
## [v0.5.0](https://github.com/jeromefroe/lru-rs/tree/0.5.0) - 2020-05-28
|
|
|
|
- Stop gating the `alloc` crate behind the `nightly` flag.
|
|
|
|
## [v0.4.5](https://github.com/jeromefroe/lru-rs/tree/0.4.5) - 2020-05-25
|
|
|
|
- Use `as_mut_ptr` in `drop` to fix memory leak.
|
|
|
|
## [v0.4.4](https://github.com/jeromefroe/lru-rs/tree/0.4.4) - 2020-05-19
|
|
|
|
- Use `mem::MaybeUninit` for key and value fields of nodes and not the nodes themselves.
|
|
|
|
## [v0.4.3](https://github.com/jeromefroe/lru-rs/tree/0.4.3) - 2019-12-10
|
|
|
|
- Add back import of alloc crate on nightly which was accidentally removed.
|
|
|
|
## [v0.4.2](https://github.com/jeromefroe/lru-rs/tree/0.4.2) - 2019-12-08
|
|
|
|
- Make hasbrown usage optional and add MSRV documentation.
|
|
|
|
## [v0.4.1](https://github.com/jeromefroe/lru-rs/tree/0.4.1) - 2019-11-26
|
|
|
|
- Use `mem::MaybeUninit` instead of `mem::uninitialized`.
|
|
|
|
## [v0.4.0](https://github.com/jeromefroe/lru-rs/tree/0.4.0) - 2019-10-28
|
|
|
|
- Use `Borrow` trait in `contains` and `pop` methods.
|
|
|
|
## [v0.3.1](https://github.com/jeromefroe/lru-rs/tree/0.3.1) - 2019-10-08
|
|
|
|
- Implement `Debug` for `LruCache`.
|
|
|
|
## [v0.3.0](https://github.com/jeromefroe/lru-rs/tree/0.3.0) - 2019-10-06
|
|
|
|
- Update the signature of the `peek` methods to use the `Borrow` trait and add a `peek_mut` method.
|
|
|
|
## [v0.2.0](https://github.com/jeromefroe/lru-rs/tree/0.2.0) - 2019-09-27
|
|
|
|
- Release a new minor version because of an accidental breaking change in the previous release ([#50](https://github.com/jeromefroe/lru-rs/issues/50)).
|
|
|
|
## [v0.1.18](https://github.com/jeromefroe/lru-rs/tree/0.1.18) - 2019-09-25
|
|
|
|
- Add borrowed type support for get_mut.
|
|
|
|
## [v0.1.17](https://github.com/jeromefroe/lru-rs/tree/0.1.17) - 2019-08-21
|
|
|
|
- Return Option from put method which contains old value if it exists.
|
|
|
|
## [v0.1.16](https://github.com/jeromefroe/lru-rs/tree/0.1.16) - 2019-07-25
|
|
|
|
- Implement Borrow trait for KeyRef with nightly OIBIT feature.
|
|
|
|
## [v0.1.15](https://github.com/jeromefroe/lru-rs/tree/0.1.15) - 2019-04-13
|
|
|
|
- Make crate no_std compatible with nightly feature.
|
|
|
|
## [v0.1.14](https://github.com/jeromefroe/lru-rs/tree/0.1.14) - 2019-04-13
|
|
|
|
- Implement `IterMut` to be able to get a mutable iterator for the cache.
|
|
|
|
## [v0.1.13](https://github.com/jeromefroe/lru-rs/tree/0.1.13) - 2019-03-12
|
|
|
|
- Bug fix to ensure that popped items are released.
|
|
|
|
## [v0.1.12](https://github.com/jeromefroe/lru-rs/tree/0.1.12) - 2019-03-04
|
|
|
|
- Replace standard HashMap with hashbrown HashMap.
|
|
|
|
## [v0.1.11](https://github.com/jeromefroe/lru-rs/tree/0.1.11) - 2018-12-10
|
|
|
|
- Implement `Iterator` trait for the cache.
|
|
|
|
## [v0.1.10](https://github.com/jeromefroe/lru-rs/tree/0.1.10) - 2018-11-07
|
|
|
|
- Add `peek_lru` method to get the least recently used element.
|
|
|
|
## [v0.1.9](https://github.com/jeromefroe/lru-rs/tree/0.1.9) - 2018-10-30
|
|
|
|
- Add `with_hasher` constructor to allow callers to use a custom hash function.
|
|
|
|
## [v0.1.8](https://github.com/jeromefroe/lru-rs/tree/0.1.8) - 2018-08-19
|
|
|
|
- Add `pop_lru` to remove least recently used element and `unbounded` constructor.
|
|
|
|
## [v0.1.7](https://github.com/jeromefroe/lru-rs/tree/0.1.7) - 2018-01-22
|
|
|
|
- Implement `Send` and `Sync` for the cache.
|
|
|
|
## [v0.1.6](https://github.com/jeromefroe/lru-rs/tree/0.1.6) - 2018-01-15
|
|
|
|
- Add `resize` method to dynamically resize the cache.
|
|
|
|
## [v0.1.5](https://github.com/jeromefroe/lru-rs/tree/0.1.5) - 2018-01-15
|
|
|
|
- Add `get_mut` method to get a mutable reference from the cache.
|
|
|
|
## [v0.1.4](https://github.com/jeromefroe/lru-rs/tree/0.1.4) - 2017-02-19
|
|
|
|
- Add function to clear the contents of the cache.
|
|
|
|
## [v0.1.3](https://github.com/jeromefroe/lru-rs/tree/0.1.3) - 2017-01-02
|
|
|
|
- Create internal hashmap with specified capacity.
|
|
|
|
## [v0.1.2](https://github.com/jeromefroe/lru-rs/tree/0.1.2) - 2017-01-02
|
|
|
|
- Add `peek` and `contains` functions.
|
|
|
|
## [v0.1.1](https://github.com/jeromefroe/lru-rs/tree/0.1.1) - 2016-12-31
|
|
|
|
- Fix documentation link in Cargo.toml.
|
|
|
|
## [v0.1.0](https://github.com/jeromefroe/lru-rs/tree/0.1.0) - 2016-12-31
|
|
|
|
- Initial release.
|