|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [0.2.2] - 2026-04-27 |
| 9 | + |
| 10 | +### Added |
| 11 | + |
| 12 | +- Add `max_evict` parameter to `try_evict` to limit the number of evictions per call (#35) |
| 13 | + |
| 14 | +## [0.2.1] - 2026-03-10 |
| 15 | + |
| 16 | +### Fixed |
| 17 | + |
| 18 | +- Remove `Send` bound from `Entry`/`LruEntry` and relax `Sync` bounds for correctness (#34) |
| 19 | + |
| 20 | +### CI |
| 21 | + |
| 22 | +- Enhance CI workflow with multi-OS and multi-architecture build matrix (#32) |
| 23 | +- Upgrade `codecov-action` (#31) |
| 24 | + |
| 25 | +### Documentation |
| 26 | + |
| 27 | +- Add Crates.io download-count badge to README (#33) |
| 28 | + |
| 29 | +## [0.2.0] - 2026-03-05 |
| 30 | + |
| 31 | +### Changed |
| 32 | + |
| 33 | +- **Breaking:** Consolidate workspace into a single crate; migrate to `parking_lot` mutex and `HashTable`-based `LockMap` with a unified `Entry` API (#30) |
| 34 | + |
| 35 | +### Added |
| 36 | + |
| 37 | +- Add `set_max_size` interface for LRU cache size control (#29) |
| 38 | + |
| 39 | +### Performance |
| 40 | + |
| 41 | +- Single-hash, single-probe optimizations for LRU cache using the entry API (#27) |
| 42 | + |
| 43 | +## [0.1.16] - 2025-12-30 |
| 44 | + |
| 45 | +### Performance |
| 46 | + |
| 47 | +- Further optimize entry cleanup to reduce overhead (#25) |
| 48 | + |
| 49 | +## [0.1.15] - 2025-12-28 |
| 50 | + |
| 51 | +### Fixed |
| 52 | + |
| 53 | +- Fix Miri violations and improve concurrency safety (#22) |
| 54 | + |
| 55 | +### Performance |
| 56 | + |
| 57 | +- Optimize entry cleanup (#24) |
| 58 | + |
| 59 | +### CI |
| 60 | + |
| 61 | +- Speed up CI pipeline (#19) |
| 62 | + |
| 63 | +### Documentation |
| 64 | + |
| 65 | +- Add FAQ section addressing Miri test failure scenarios (#21) |
| 66 | + |
| 67 | +## [0.1.14] - 2025-09-04 |
| 68 | + |
| 69 | +### Fixed |
| 70 | + |
| 71 | +- Fix elided lifetime compilation warning (#15) |
| 72 | + |
| 73 | +### Documentation |
| 74 | + |
| 75 | +- Improve documentation comments throughout the project (#17) |
| 76 | + |
| 77 | +## [0.1.13] - 2025-08-01 |
| 78 | + |
| 79 | +### Added |
| 80 | + |
| 81 | +- Support batch lock acquisition for multiple keys atomically (#14) |
| 82 | + |
| 83 | +## [0.1.12] - 2025-07-25 |
| 84 | + |
| 85 | +### Added |
| 86 | + |
| 87 | +- Initial release of `lockmap` with a thread-safe, fine-grained per-key locking `HashMap` |
| 88 | +- Use `foldhash` as the default hasher for improved performance (#10) |
| 89 | +- Add benchmarks (#10) |
| 90 | +- Add MIT and Apache-2.0 dual-license headers (#9) |
| 91 | +- Configure trusted publishing via `crates.io` (#13) |
| 92 | + |
| 93 | +### Changed |
| 94 | + |
| 95 | +- Iterative interface optimizations across multiple releases (#3, #4, #6, #7) |
| 96 | +- Performance improvements to the core locking implementation (#5) |
| 97 | + |
| 98 | +[0.2.2]: https://github.com/SF-Zhou/lockmap/compare/v0.2.1...v0.2.2 |
| 99 | +[0.2.1]: https://github.com/SF-Zhou/lockmap/compare/v0.2.0...v0.2.1 |
| 100 | +[0.2.0]: https://github.com/SF-Zhou/lockmap/compare/v0.1.16...v0.2.0 |
| 101 | +[0.1.16]: https://github.com/SF-Zhou/lockmap/compare/v0.1.15...v0.1.16 |
| 102 | +[0.1.15]: https://github.com/SF-Zhou/lockmap/compare/v0.1.14...v0.1.15 |
| 103 | +[0.1.14]: https://github.com/SF-Zhou/lockmap/compare/v0.1.13...v0.1.14 |
| 104 | +[0.1.13]: https://github.com/SF-Zhou/lockmap/compare/v0.1.12...v0.1.13 |
| 105 | +[0.1.12]: https://github.com/SF-Zhou/lockmap/releases/tag/v0.1.12 |
0 commit comments