Releases: vmware-labs/reconciler-runtime
v0.11.1
Dependency updates only
What's Changed
- Bump k8s.io/api 0.26.1 by @dependabot in #331
- Bump sigs.k8s.io/controller-runtime 0.14.4 by @dependabot in #334
- Bump sigs.k8s.io/controller-tools 0.11.3 in /hack by @dependabot in #335
Full Changelog: v0.11.0...v0.11.1
v0.11.0
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
What's Changed
- Bump k8s.io/client-go from 0.25.1 to 0.25.2 by @dependabot in #301
- Bump sigs.k8s.io/controller-tools from 0.9.2 to 0.10.0 in /hack by @dependabot in #299
- Clear finalizer after managed resource is deleted by @scothis in #304
- Mention pre-creation tracking by @mamachanko in #305
- Bump k8s.io/api from 0.25.2 to 0.25.3 by @dependabot in #309
- Bump sigs.k8s.io/controller-runtime from 0.13.0 to 0.13.1 by @dependabot in #312
- Allow custom assertions for stashed values by @mamachanko in #311
Full Changelog: v0.9.1...v0.10.0
v0.9.1
What's Changed
- Fix some code annotations by @wanglei4687 in #292
- Bump github.com/google/go-cmp from 0.5.8 to 0.5.9 by @dependabot in #293
- Bump k8s.io/client-go from 0.25.0 to 0.25.1 by @dependabot in #294
- Adapt to changes introduced in cmp 0.5.9 by @scothis in #297
New Contributors
- @wanglei4687 made their first contribution in #292
Full Changelog: v0.9.0...v0.9.1
Release v0.9.0
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
- @emmjohnson made their first contribution in #286
Full Changelog: v0.8.0...v0.9.0
Release v0.8.2
What's Changed
Full Changelog: v0.8.1...v0.8.2
Release v0.8.1
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
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
- Improve diff ignores by @scothis in #258
- Bump k8s.io/apimachinery from 0.24.1 to 0.24.2 by @dependabot in #261
- Bump k8s.io/client-go from 0.24.1 to 0.24.2 by @dependabot in #260
- Deprecate validation package by @scothis in #262
- Bump sigs.k8s.io/controller-runtime from 0.12.1 to 0.12.2 by @dependabot in #264
- Test ExpectConfig by @scothis in #263
- Infer SemanticEquals method by @scothis in #266
- Bump sigs.k8s.io/controller-tools from 0.9.0 to 0.9.2 in /hack by @dependabot in #268
- Deprecate testing pointer and assertion helpers by @scothis in #265
- Bump sigs.k8s.io/controller-runtime from 0.12.2 to 0.12.3 by @dependabot in #269
- Bump k8s.io/client-go from 0.24.2 to 0.24.3 by @dependabot in #272
- Bump k8s.io/client-go from 0.24.3 to 0.24.4 by @dependabot in #274
- Allow Halting SubReconciler processing without erroring by @scothis in #277
- Refine test case Prepare and Cleanup methods by @scothis in #278
- Seed the test tracker with given values by @scothis in #279
Full Changelog: v0.7.0...v0.8.0
Release v0.7.1
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
Breaking Changes
No breaking changes in this release.
Renames (old fields are deprecated, but still available):
- ReconcilerTestCase.Key -> ReconcilerTestCase.Request
Highlights
<Type>TestSuite
s 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 aSubReconciler
.AdmissionWebhookTests
can be used to test any admission.Webhook, including the AdmissionWebhookAdapter. (#254)ExpectConfig
abstracts out the testConfig
expectations, observations and assertions for the various<Type>TestCase
s.ReconcilerTestCase
andSubReconcilerTestCase
also allow additionalExpectConfig
s to be defined and are expected to be combined with theWithConfig
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