Releases: MichaCo/CacheManager
1.2.0
This will most likely be the last 1.x release of CacheManager. Version 2.0 will get more changes and maybe breaking changes and simplifications.
Because of building 2.0 is taking longer, I decided to re-release the 1.1.2 bits with .NET Standard 2.0 support and the StackExchange.Redis client upgrade to 2.x,.
Apart from that, the code is exactly the same as in Version 1.1.2!
Changes
1.1.2
Version 1.1.2
This release contains some bug fixes and minor improvements.
Bugfixes
- Update StackExchange.Redis minimum version to 1.2.6 because of some bugfixes in that library - #179
- Fixed an issue where using
Default
expiration mode didn't allowTimeSpan.Zero
- #192 - Fixed a compatibility issue with keys in Redis created with earlier versions of CacheManager - #183
- Removed sealed from BaseCacheManager - #176
- Fixed a bug where the default database setting in the connection string wasn't used - #175
1.1.1
Version 1.1.1
This release contains some bug fixes and minor improvements.
New Features
- Added some missing overloads for GetOrAdd (see #152). Thanks to @ahockersten for the PR!
- Improved message size and read/write speed of backplane messages (see f4846d9)
Bugfixes
1.1.0
Release 1.1.0 comes with some improvements for redis keyspace events and some love for the Couchbase based implementation.
New Features
- If configured, CacheManager can now listen on external
del
s in Redis and sync the instances accordingly (see #148) - The redis backplane can now also be used with in-memory caches only (see #111).
- Added compatibility mode setting to Redis and support for TwemProxy (see #54 and 07f1db9). Also added lua script support without pre-loading (if that is not available).
Improvements for Couchbase (see #154)
- Added netstandard support as the Couchbase client now supports it.
- A bunch of configuration and initialization changes. The extensions to configure Couchbase now are more flexible.
Other Improvements
The API documentation has been updated/fixed to use latest version of docfx and is published on the re-designed site http://cachemanager.michaco.net.
Bug Fixes
- #159 Small sanity check for too low expiration timeouts when using Redis
1.0.1
Release 1.0.1
- Improvements for using CacheManager in ASP.NET Core DI, new overloads for the
IServiceCollection
- Fixed an issue with NuGet references when CacheManager.Core was referenced implicitly only #147
- Extended the
RemoveByHandle
event to also return the removed cache value (if possible). This is not supported for Redis key-events based triggers #144
Release 1.0.0
New Things
- New serializer(s) based on Microsoft.Bond supporting all three Bond serializers! #127
- Eviction based events reacting on the cache vendor specific evictions see #116
- New event on
BaseCacheManager
with information about which cache handle and why the event was triggered - With this, CacheManager now can sync the cache
Up
.
- New event on
Minor New Things
- Dictionary Cache Handle now has a timer based eviction loop which should be more reliable.
- The Memcached cache handle now finally has a working clear region function #104
- All serializers can be used via Microsoft's configuration extensions as known types (also added to the json schema)
- Memcached and Redis cache handles now can be configured to use an already initialized client. The
WithxyzHandle
extension methods have new overloads to pass in the existing client. #118
Bug Fixes
- #134 Serialization had some issues in some cases with loading the correct Types
- #136 when working with absolute expiration, there were some odds when renewing the expiration date
- Memcached handle had a bug in version 0.9.3 when configured via xml configuration section, see #118
Breaking Changes
- UpdateMode
Full
has been removed - Minimum netstandard has been increased to 1.2 from 1.1 for the
Core
package
Please report any bugs on github, and feel free to ask questions on either StackOverflow with the [cachemanager]
tag or on our (moved) homepage http://cachemanager.michaco.net.
1.0.0 Nuget Release
This is finally the 1.0 release.
It has been some time but after migration the solution to the new csproj format and Visual Studio 2017, it was about time ;)
Thanks everyone for supporting this library and sending in either feature requests, questions or bug reports!
New Things
- New serializer(s) based on Microsoft.Bond supporting all three Bond serializers! #127
- Eviction based events reacting on the cache vendor specific evictions see #116
- New event on
BaseCacheManager
with information about which cache handle and why the event was triggered - With this, CacheManager now can sync the cache
Up
.
- New event on
Minor New Things
- Dictionary Cache Handle now has a timer based eviction loop which should be more reliable.
- The Memcached cache handle now finally has a working clear region function #104
- All serializers can be used via Microsoft's configuration extensions as known types (also added to the json schema)
- Memcached and Redis cache handles now can be configured to use an already initialized client. The
WithxyzHandle
extension methods have new overloads to pass in the existing client. #118
Bug Fixes
- #134 Serialization had some issues in some cases with loading the correct Types
- #136 when working with absolute expiration, there were some odds when renewing the expiration date
- Memcached handle had a bug in version 0.9.3 when configured via xml configuration section, see #118
Breaking Changes
- UpdateMode
Full
has been removed - Minimum netstandard has been increased to 1.2 from 1.1 for the
Core
package
Please report any bugs on github, and feel free to ask questions on either StackOverflow with the [cachemanager]
tag or on our (moved) homepage http://cachemanager.michaco.net.
0.9.3 Nuget Release
This release has some new features and fixes.
New Features
- Exists method to check if the key exists without actually retrieving it (if supported by the cache vendor) #46
- Added more "knownTypes" to Microsoft.Extensions.Configuration based CacheManager configuration's json schema #125 #123
- for the Microsoft.Extensions.Caching.MemoryCache based cache handle
- Protobuf serializer
- GzJson serializer
- Allow Memcached and Redis cache handles to use pre existing cache clients. The clients can now be passed into the configuration methods
WithRedisConfiguration
,WithMemcachedHandle
. #118
Other Changes
- Instead of CacheManagerConfiguration now ICacheManagerConfiguration will be used everywhere (more injection friendly)
- Improved validation at configuration time in case a cache handle requires a serializer, but none is defined (only net core target as full framework falls back to binary).
- custom serialization logic for memcached to use our cache serializers instead of the build in binary.
- Added overload to configure binary serializer settings during configuration.
Bug fixes
- Validate expiration timeout not being in the past #74
- Changed update mechanism in the redis implementation to use a version field #109
- Fixed a bug where the mechanic in CacheManager which adds a key/value to other cache handles does not correctly apply expiration settings based on the cache handle configuration when it comes from Redis.
- other minor things
Please report any bugs or issues you find on github
0.9.2 Nuget Release
see https://github.com/MichaCo/CacheManager/milestone/7?closed=1
Changes:
- Rework of the event handling in CacheManager. Events are now more reliable and are now also getting triggered in multi instance scenarios using the backplane feature. Also, introduced an Origin property on the EventArgs which indicates where the event got triggered
- GetOrAdd and Update/TryUpdate were throwing exceptions a little inconsistently. Introduced a new TryGetOrAdd method
Bugfixes:
- Setting expiration mode to None for an individual cache item not working in some cases
- Serializer settings are not getting applied correctly
- Redis configuration via config file doesn't respect database if connection string is used
0.9.1 Nuget Release
- Protobuf serialization performance optimizations
- Bugfix in redis value converter to support different corelib type versions
- XML doc files now included in all nuget packages
- all packages are now signed #87
0.9.0 Nuget Release
The solution has been migrated to .NET Core 1.0 and build with the latest dotnet-cli.
Breaking Changes
- none
New Features
- New CacheHandle using Microsoft.Extensions.Caching.Memory (thanks to @AuroraDysis!)
- Protobuf-net based serialization package added (thanks to @wenisman!)
- Json Serializer got a GZip variant (thanks to @fgideali!)
- New GetOrAdd method in the main interface
Bugfixes