Skip to content

v0.23.0

Choose a tag to compare

@jodydonetti jodydonetti released this 02 Aug 00:02
· 664 commits to main since this release
564a948

馃摙 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 BackplaneAutoRecoveryMaxItems to unlimited
  • added support for fake connection strings in MemoryBackplane for 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 (EnableDistributedExpireOnBackplaneAutoRecovery option)
  • automatically delayed processing on reconnect (BackplaneAutoRecoveryReconnectDelay option)
  • 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 of IFusionCacheSerializer)
  • NullDistributedCache (impl of IDistributedCache)
  • NullBackplane (impl of IFusionCacheBackplane)
  • NullPlugin (impl of IFusionCachePlugin)

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.