Skip to content

Releases: vmware-labs/reconciler-runtime

v0.11.1

21 Feb 20:17
e64e0f5
Compare
Choose a tag to compare

Dependency updates only

What's Changed

Full Changelog: v0.11.0...v0.11.1

v0.11.0

04 Jan 15:15
084f021
Compare
Choose a tag to compare

Breaking Changes

Upstream breaking changes introduced by Kubernetes 1.26 and Controller Runtime 0.14 are embraced in this release.

What's Changed

  • Adapt to controller-runtime client changes by @scothis in #327
  • Allow test cases to interact with client builder by @scothis in #328

Full Changelog: v0.10.0...v0.11.0

v0.10.0

09 Nov 14:29
d526d74
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.1...v0.10.0

v0.9.1

21 Sep 14:49
bdb5c29
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.9.1

Release v0.9.0

05 Sep 21:27
Compare
Choose a tag to compare

Breaking changes

Includes breaking changes introduced with Kubernetes 1.25 and controller-runtime 0.13.0 including requiring Go 1.19.

What's Changed

  • Support Kubernetes 1.25 by @scothis in #285
  • Use p.GoString when searching unstructured suffixes for lastTransitionTime by @emmjohnson in #286
  • Support Unstructured resources with ResourceReconciler by @scothis in #288
  • Bump dies.dev from 0.6.1 to 0.6.2 by @dependabot in #290
  • Bump dies.dev/diegen from 0.6.1 to 0.6.2 in /hack by @dependabot in #289
  • Bump sigs.k8s.io/controller-runtime from 0.12.3 to 0.13.0 by @dependabot in #291

New Contributors

Full Changelog: v0.8.0...v0.9.0

Release v0.8.2

25 Aug 19:17
Compare
Choose a tag to compare

What's Changed

  • Clarify support for Unstructured resources with ResourceReconciler by @scothis in #288

Full Changelog: v0.8.1...v0.8.2

Release v0.8.1

24 Aug 23:49
Compare
Choose a tag to compare

What's Changed

  • Use p.GoString when searching unstructured suffixes for lastTransitionTime by @emmjohnson in #286

Full Changelog: v0.8.0...v0.8.1

Release v0.8.0

23 Aug 23:29
8a6c98d
Compare
Choose a tag to compare

Breaking Changes

While there are breaking changes and a number of deprecations, most users will be able to upgrade from 0.7.x without changes. Please review the following, especially if the compiler reports errors while upgrading.

The method signature for the Prepare and CleanUp methods has changed for ReconcilerTestCase, SubReconcilerTestCase and AdmissionWebhookTestCase. The new signatures are (where XTestCase is one of the preceding test cases):

Prepare func(t *testing.T, ctx context.Context, tc *XTestCase) (context.Context, error)
CleanUp func(t *testing.T, ctx context.Context, tc *XTestCase) error

The prepare method is now called before any other initiation of the test case. It is possible to define the full content of the test case inside the prepare method, except for Name, Skip and Focus, which can only be defined at XTests/XTestSuite level.

The prepare method must return a context and should avoid returning a context that is not extended from the context provided as an argument. The context returned from Prepare is used when calling the unit under test, and is passed to the CleanUp method.

The full content of the github.com/vmware-labs/reconciler-runtime/validation is deprecated, and will be removed in a later release. Users are encouraged to use the k8s.io/apimachinery/pkg/util/validation and k8s.io/apimachinery/pkg/util/validation/field packages instead.

The rtesting pointer and assertion methods are now deprecated and will be removed in a future release. These include:

  • rtesting.AssertErrorEqual
  • rtesting.AssertErrorMessagef
  • rtesting.StringPtr
  • rtesting.BoolPtr
  • rtesting.Int32Ptr
  • rtesting.Int64Ptr

The SemanticEquals methods are no longer used by ResourceReconciler and AggregateReconciler. The effect of the semantic equals check is performed by comparing the input and output of MergeBeforeUpdate. The ability to set the SemanticEquals method (which is no longer called) will be removed in a later release.

Highlights

  • Breaking: Refine test case Prepare and Cleanup methods by @scothis in #278
  • Deprecation: Deprecate testing pointer and assertion helpers by @scothis in #265
  • Deprecation: Deprecate validation package by @scothis in #262
  • Deprecation: Infer SemanticEquals method by @scothis in #266
  • Bug: Improve comparison of unstructured resources within tests by @scothis in #258
  • Feature: Test ExpectConfig by @scothis in #263
  • Feature: Seed the test tracker with given values by @scothis in #279

What's Changed

Full Changelog: v0.7.0...v0.8.0

Release v0.7.1

17 Jun 03:50
7cdf77f
Compare
Choose a tag to compare

Fixes a regression caused in v0.7.0 by defaulting the creation timestamp for given resources when stashing a retrieved resource. The ExpectStashed assertions now ignore the creation timestamp. Ignored fields are now matched within unstructured resources in addition to structured resources.

What's Changed

Full Changelog: v0.7.0...v0.7.1

Release v0.7.0

16 Jun 15:06
1623f3c
Compare
Choose a tag to compare

Breaking Changes

No breaking changes in this release.

Renames (old fields are deprecated, but still available):

  • ReconcilerTestCase.Key -> ReconcilerTestCase.Request

Highlights

  • <Type>TestSuites are now optionally exposed as a map instead of a slice as <Type>Tests. Maps provide better code folding and inherently must have unique names (#241)
  • AdmissionWebhookAdapter handles an admission webhook with a SubReconciler. AdmissionWebhookTests can be used to test any admission.Webhook, including the AdmissionWebhookAdapter. (#254)
  • ExpectConfig abstracts out the test Config expectations, observations and assertions for the various <Type>TestCases. ReconcilerTestCase and SubReconcilerTestCase also allow additional ExpectConfigs to be defined and are expected to be combined with the WithConfig sub reconciler to manage multiple configs within a single reconciler request. (#251)

What's Changed

  • Update gopkg.in/yaml.v3 to 3.0.0 by @scothis in #249
  • Truncate LastTransitionTime to second precision by @scothis in #250
  • Restructure ReconcilerTestSuite to a map by @scothis in #252
  • Move ReconcilerTestCase Key to Request by @scothis in #253
  • Use ExpectConfig to manage config expectations and assertions by @scothis in #251
  • Default CreationTimestamp for given test objects by @scothis in #257
  • AdmissionWebhookAdapter by @scothis in #254

Full Changelog: v0.6.0...v0.7.0