v0.23.0
馃摙 Better Backplane (docs)
The Backplane is a powerful component in FusionCache and is already a pretty good feature that works really well.
Now some more scenarios and edge cases are handled even better:
- active detection and processing of re-connection
- better handling of connection/subscription errors
- changed the defualt
BackplaneAutoRecoveryMaxItemsto unlimited - added support for fake connection strings in
MemoryBackplanefor better concurrency - more control on circuit breaker manual closing (eg: when receiving a message)
See here for more.
鈫╋笍 Better Auto-Recovery (docs)
The auto-recovery feature of the Backplane is already working pretty well, but sometimes there are situations where it could do a little more, a little better.
Now these scenarios are covered way better:
- better backpressure handling, with automatic re-sync of the distributed cache state (
EnableDistributedExpireOnBackplaneAutoRecoveryoption) - automatically delayed processing on reconnect (
BackplaneAutoRecoveryReconnectDelayoption) - better background queue processing
- remove duplicate items on publish
See here for more.
馃摐 Better log messages (docs)
Log messages have been fine tuned even more, with greater details where needed, some extra log messages removed when they were not needed, and finally better wording in certain circumstances, which should help clarify the timing of some events eve more.
See here for more.
馃樁 More Null Object Pattern support
In FusionCache v0.22.0 the NullFusionCache has been introduced, which is an implementation of the Null Object Pattern.
Now these implementations are also available:
NullSerializer(impl ofIFusionCacheSerializer)NullDistributedCache(impl ofIDistributedCache)NullBackplane(impl ofIFusionCacheBackplane)NullPlugin(impl ofIFusionCachePlugin)
There's also a new, specific namespace (ZiggyCreatures.Caching.Fusion.NullObjects) for these classes, to avoid polluting the root namespace.
See here for more.
Warning
The existing NullFusionCache class has been moved in the new namespace, and this is a (small) breaking change.
馃惖 Added ChaosPlugin
FusionCache already has a set of chaos-engineering related classes like ChaosBackplane, ChaosDistributedCache and more, to ease testing how the system reacts to malfunctioning components, but in a controlled way.
A ChaosPlugin was missing: now not anymore.
See here for more.