This release replaces the LRU cache with a custom S3-FIFO implementation, removing the lru dependency and improving cache eviction performance with O(1) lookups.

Improvements

  • Replace LRU cache strategy with S3-FIFO algorithm based on "FIFO queues are all you need for cache eviction" (Yang et al., 2023)
  • Remove lru crate dependency in favor of ~250 lines of pure, safe Rust
  • Use O(1) HashMap lookup in pop() instead of O(n) VecDeque scan

Bug Fixes

  • Fix infinite loop when cache capacity is 1 by routing all insertions directly to the main queue
  • Fix CI issues with feature flags and #[must_use] warnings on cache operations

Internal

  • Add #[must_use] attribute to len(), capacity(), and is_empty() query methods
  • Add comprehensive edge case tests for capacity=1, capacity=2, clear/reinsert, tombstone handling, and ghost promotion
  • Remove unnecessary #[allow(unused)] attribute from s3fifo module

Full Changelog: https://github.com/AndreyAkinshin/zesven/compare/v1.0.0...v1.0.1