Skip to content

v0.22.0

Latest
Compare
Choose a tag to compare
@scothis scothis released this 01 Oct 12:52
· 19 commits to main since this release
72b6e1c

Highlights

Stashers

A Stasher provides a convenient way to stash typed values. Create a NewStasher using the type of the value being stashed and a unique stash key. All operations through a stasher, including retrieval are type safe with options for handling missing values on retrieval.

ObjectManager

The previous ResourceManager is split into an interface (ObjectManager) and implementation (UpdatingObjectManager).

The AggregateReconciler, ChildReconciler, and ChildSetReconciler are updated to use the interface allowing new strategies to be plugged-in.

Breaking Changes

There are no breaking changes in this release, but a number of existing APIs have been deprecated. Migration to the suggested APIs is encouraged as the deprecated APIs will be removed in a future release.

  • ResourceManager is deprecated in favor of ObjectManager for a generic type, or UpdatingObjectManager.
  • AggregateReconciler.{HarmonizeImmutableFields, MergeBeforeUpdate, Sanitize} are deprecated in favor of AggregateReconciler.AggregateObjectManager.
  • ChildReconciler.{Finalizer, HarmonizeImmutableFields, MergeBeforeUpdate, Sanitize, SetResourceManager} are deprecated in favor of ChildReconciler.ChildObjectManager.
  • ChildSetReconciler.{HarmonizeImmutableFields, MergeBeforeUpdate, Sanitize} are deprecated in favor of ChildSetReconciler.ChildObjectManager.

What's Changed

Full Changelog: v0.21.1...v0.22.0