CHANGELOG.md in identity_cache-1.0.1 vs CHANGELOG.md in identity_cache-1.1.0
- old
+ new
@@ -1,12 +1,32 @@
-# IdentityCache changelog
+# Identity Cache Changelog
-#### 1.0.1
+## 1.1.0
+### Fixes
+- Fix double debug logging of cache hits and misses (#474)
+- Fix a Rails 6.1 deprecation warning for Rails 7.0 compatibility (#482)
+- Recursively install parent expiry hooks when expiring parent caches (#476)
+- Expire caches before other `after_commit` callbacks (#471)
+- Avoid unnecessary record cache expiry on save with no DB update (#464)
+- Fix an Active Record deprecation warning by not using `Connection#type_cast` (#459)
+- Fix broken `prefetch_associations` of a polymorphic `cache_belongs_to` (#461)
+- Fix `should_use_cache?` check to avoid calling it on the wrong class (#454)
+- Fix fetch `has_many` embedded association on record after adding to it (#449)
+
+### Features
+- Support multiple databases and transactional tests in `IdentityCache.should_use_cache?` (#293)
+- Add support for the default `MemCacheStore` from `ActiveSupport` (#465)
+
+### Breaking Changes
+- Drop ruby 2.4 support, since it is no longer supported upstream (#468)
+
+## 1.0.1
+
- Fix expiry of cache_has_one association with scope and `embed: :id` (#442)
-#### 1.0.0
+## 1.0.0
- Remove inverse_name option. Specify inverse_of on the Active Record association instead. (#439)
- Bump the minimum Active Record version to 5.2 (#438)
- Remove the default embed option value from cache_has_one (#437)
- Lazily evaluate nested includes to fetch blobs in batches (#427)
@@ -23,47 +43,47 @@
- Fix column name in the preload association query when using custom primary keys (#338)
- Raise when trying to cache a belong_to association with a scope. Previously the scope was ignored on a cache hit (#323)
- Remove deprecated `never_set_inverse_association` option (#319)
- Lazy load associated classes (#306)
-#### 0.5.1
+## 0.5.1
- Fix bug in prefetch_associations for cache_has_one associations that may be nil
-#### 0.5.0
+## 0.5.0
- `never_set_inverse_association` and `fetch_read_only_records` are now `true` by default (#315)
- Store the class name instead of the class itself (#311)
-#### 0.4.1
+## 0.4.1
- Deprecated embedded associations on models that don't use IDC (#305)
- Remove a respond_to? check that hides mistakes in includes hash (#307)
- Drop ruby 2.1 support (#301)
- Avoid querying when no ids are passed to fetch_multi (#297)
- Fix fetching already loaded belongs_to association (#294)
- Move `should_use_cache?` calls to the model-level (#291)
- Clone instead of dup record when readonlyifying fetched records (#292)
- Consistently store the array for cached has many associations (#288)
-#### 0.4.0
+## 0.4.0
- Return an array from fetched association to prevent chaining. Up to now, a relation was returned by default. (#287)
-#### 0.3.2
+## 0.3.2
- Deprecate returning non read-only records when cache is used. Set IdentityCache.fetch_readonly_records to true to avoid this. (#282)
- Use loaded association first when fetching a cache_has_many id embedded association (#280)
- Deprecate setting the inverse active record association on cache hits. Set IdentityCache.never_set_inverse_association to true to avoid this. (#279)
- Fetch association returns relation or array depending on the configuration. It was only returning a relation for cache_has_many fetch association methods. (#276)
- Stop sharing the same attributes hash between the fetched record and the memoized cache, which could interfere with dirty tracking (#267)
-#### 0.3.1
+## 0.3.1
- Fix cache_index for non-id primary key
-#### 0.3.0
+## 0.3.0
- Add support for includes option on cache_index and fetch_by_id
- Use ActiveRecord instantiate
- Add association pre-fetching support for fetch_by_id
- Remove support for 3.2
@@ -72,80 +92,80 @@
- Raise if a class method is called on a scope. Previously the scope was ignored.
- Raise if a class method is called on a subclass of one that included IdentityCache. This never worked properly.
- Fix cache_belongs_to on polymorphic assocations.
- Fetching a cache_belongs_to association no longer loads the belongs_to association
-#### 0.2.5
+## 0.2.5
- Fixed support for namespaced model classes
- Added some deduplication for parent cache expiry
- Fixed some deprecation warnings in rails 4.2
-#### 0.2.4
+## 0.2.4
- Refactoring, documentation and test changes
-#### 0.2.3
+## 0.2.3
- PostgreSQL support
- Rails 4.2 compatibility
- Fix: Don't connect to database when calling `IdentityCache.should_use_cache?`
- Fix: Fix invalid parent cache invalidation if object is embedded in different parents
-#### 0.2.2
+## 0.2.2
- Change: memcached is no longer a runtime dependency
- Use cache for read-only models.
-#### 0.2.1
+## 0.2.1
- Add a fallback backend using local memory.
-#### 0.2.0
+## 0.2.0
- Memcache CAS support
-#### 0.1.0
+## 0.1.0
- Backwards incompatible change: Stop expiring cache on after_touch callback.
- Change: fetch_multi accepts an array of keys as argument
- Change: :embed option value from false to :ids for cache_has_many for clarity
- Fix: Consistently use ActiveRecord / Arel APIs to build SQL queries
- Fix: `SystemStackError` when fetching more records than the max stack size
- Fix: Bug in `fetch_multi` in a transaction where results weren't compacted.
- Fix: Avoid unused preload on fetch_multi with :includes option for cache miss
- Fix: reload will invalidate the local instance cache
-#### 0.0.7
+## 0.0.7
- Add support for non-integer primary keys
- Fix: Not implemented error for cache_has_one with embed: false
- Fix: cache key to change when adding a cache_has_many association with :embed => false
- Fix: Compatibility rails 4.1 for `quote_value`, which needs default column.
-#### 0.0.6
+## 0.0.6
- Fix: bug where previously nil-cached attribute caches weren't expired on record creation
- Fix: cache key to not change when adding a non-embedded association.
- Perf: Rails 4 Only create `CollectionProxy` when using it
-#### 0.0.5
+## 0.0.5
-#### 0.0.4
+## 0.0.4
- Fix: only marshal attributes, embedded associations and normalized association IDs
- Add cache version number to cache keys
- Add test case to ensure version number is updated when the marshalled format changes
-#### 0.0.3
+## 0.0.3
- Fix: memoization for multi hits actually work
- Fix: quotes `SELECT` projection elements on cache misses
- Add CPU performance benchmark
- Fix: table names are not hardcoded anymore
- Logger now differentiates memoized vs non memoized hits
-#### 0.0.2
+## 0.0.2
- Fix: Existent embedded entries will no longer raise when `ActiveModel::MissingAttributeError` when accessing a newly created attribute.
- Fix: Do not marshal raw ActiveRecord associations