- New: Add SinLruRedux module compatible with LruRedux module
- Refactor: Improve implementation
- Test: Improve tests
- Other: Improve CI
- Other: Fix README.md
- New: Be able to require
sin_lru_redux
instead oflru_redux
- Other: Update .rubocop.yml
- Other: Add how to sponsor
- New: Add alias method
length
andsize
forcount
- Refactor: Improve implementation
- Test: Update tests
- Other: Improve README.md
- Refactor: Improve implementation
- Test: Improve tests
- New: Raise an error when trying to assign nil to max_size, ttl, or ignore_nil
- Fix: Fix a bug where ignore_nil was not updated when ignore_nil was specified as false
- Fix: Fix a bug where items with nil value were deleted when ignore_nil was changed
- Refactor: Improve implementation
- Test: Improve tests
- Other: Improve CI
- Other: Improve documents
- New: Set default max_size to 1000
- Fix: Fix a bug where ttl of item was not extended during LruRedux::TTL::Cache#getset, #fetch, and #[] execution
- Fix: Fix a bug where items with nil value were not deleted when ignore_nil was changed
- Refactor: Improve implementation
- Test: Improve tests
- Other: Update .gitignore
- Other: Add bin
- Other: Update Gemfile
- Other: Improve gemspec
- Other: Improve documents
- Refactor: Make valid_xxxx? methods private
- Fix: Fix lint CI
- Other: Update gemspec
- New: Add ignore_nil argument to cache initialize arguments. If true, blocks called by getset yielding nil values will be returned but not stored in the cache.
- Fix: Fix LruRedux::TTL::ThreadSafeCache#delete to return deleted value
- Ruby Support: Drop runtime support for Ruby 2.2 and below and JRuby
- New: TTL cache added. This cache is LRU like with the addition of time-based eviction. Check the Usage -> TTL Cache section in README.md for details.
- Ruby Support: Ruby 1.9+ is now required by LruRedux. If you need to use LruRedux in Ruby 1.8, please specify gem version 0.8.4 in your Gemfile. v0.8.4 is the last 1.8 compatible release and included a number of fixes and performance improvements for the Ruby 1.8 implementation. @Seberius
- Perf: improve performance in Ruby 2.1+ on the MRI @Seberius
- Fix: regression of ThreadSafeCache under JRuby 1.7 @Seberius
- Perf: improve ThreadSafeCache performance @Seberius
- Perf: use #size instead of #count when checking length @Seberius
- Fix: Cache could grow beyond its size in Ruby 1.8 @Seberius
- Fix: #each could deadlock in Ruby 1.8 @Seberius
- Fix #each implementation
- Fix deadlocks with ThreadSafeCache
- Version jump is because its been used in production for quite a while now
- Fix bug in getset, overflow was not returning the yeilded val
- Added getset and fetch
- Optimised implementation so it 20-30% faster on Ruby 1.9+
- Initial version