Skip to content

Releases: crossplane/crossplane-runtime

v0.11.0

11 Dec 21:00
31eef9b
Compare
Choose a tag to compare
v0.11.0 Pre-release
Pre-release

Enhancements

  • #227 Allows XRs and XRCs to record when they last published their connection details.
  • #216 Enhances the managed resource reconciler to make it easier to 'late initialize' observed managed resources.

Deprecations

  • #227 Marks the connection secret propagation machinery as deprecated. This machinery pertained to KubernetesApplication, which has already been removed.

Breaking Changes

  • #219 Removes several types that have been deprecated for some time, including utilities pertaining to KubernetesApplication, and reference resolution

v0.10.0

09 Oct 13:36
ae2a382
Compare
Choose a tag to compare
v0.10.0 Pre-release
Pre-release

This release contains several deprecation notices and breaking changes that simplify the overall experience.

Enhancements

  • #194 Package parser is introduced.
  • #199 GetInteger is added to fieldpath package.
  • #200 ErrNotControllable error type is introduced to be used by Applicators.
  • #202 New defaulter for managed resources to select the default ProviderConfig if none is specified.
  • #206 Add machinery to enable providers keep track of which ProviderConfigs are used by which managed resources.
  • #211 Linter for new packages.
  • #213 Reference resolver errors include more information about the cause of the error.
  • #212 ProviderConfigSpec (formerly ProviderSpec) now has static source types to choose as credential source.

Deprecations

  • #185 ReclaimPolicy is deprecated in favor of new DeletionPolicy.
  • #189 ProviderSpec is deprecated in favor of ProviderConfigSpec.
  • #195 meta.ReferenceTo function is deprecated in favor of strongly typed meta.TypedReferenceTo function.
  • #197 KubernetesTarget reconciler is deprecated.

Breaking Changes

#201 is the biggest breaking change of this release where we removed support for claims & classes in favor of composition.

  • #182 Use Reference type for provider references instead of corev1.ObjectReference.
  • #187 Requirements are renamed to claims.
  • #195 meta.AsOwner and meta.AsController now accepts TypedReference instead of corev1.ObjectReference as argument.
  • #196 Reason strings of conditions have been changed.
  • #201 Remove support for claim and classes.

Behavior Changes

  • #185 DeletionPolicy is Delete by default now.
  • #192 APIUpdatingApplicator now overrides the metadata.resourceVersion with the latest version by default.
  • #203 Managed reconciler calls Connect after all initializers and reference resolvers are called.

v0.9.0

19 May 14:34
290de73
Compare
Choose a tag to compare
v0.9.0 Pre-release
Pre-release

This release is mainly focused on bug fixes and reliability improvements related to the recent Composition feature support that was included in v0.8.0.

Bug Fixes

  • #176 Update with object that is gotten in APIUpdatingApplicator: Ensures the most recent object version is used to avoid stale resource versions during Update calls.

Breaking Changes

Behavior Changes

  • #174 Don't wait for IsBindable before calling AddFinalizer: the finalizer for an object will be added without waiting for the object to get to a bindable state, ensuring that clean-up for objects that never make it to bindable will still occur.
    • This means dynamically provisioned managed resources will be deleted along with their claim even if they never bound.
  • #175 Bind and unbind managed resources conservatively: The behavior for binding/unbinding is now more cautious to prevent scenarios where managed resources will have double ownership or race conditions for ownership.

v0.8.0

29 Apr 20:07
21d9cb6
Compare
Choose a tag to compare
v0.8.0 Pre-release
Pre-release

The release primarily includes features to enable composition in Crossplane.

Bug Fixes

  • #171 Deletes installed CRDs in foreground so that subsequent integration tests do not fail because old CRDs are still being deleted.

Breaking Changes

In addition, the following introduced deprecations:

  • #151 Deprecated the previous iteration of the reference resolving interface.

Behavior Changes

  • #151 Added a new reference resolver interface and introduced reference selectors.
  • #157 Added a client for unstructured Crossplane types.
  • #159 Made AddOwnerReference always update the array of owner references.
  • #160 Added a "controller engine" that manages the lifecycles of controllers.
  • #169 Distinguishes field path "field not found" errors from other errors.

v0.7.0

09 Apr 20:37
82a0ff5
Compare
Choose a tag to compare
v0.7.0 Pre-release
Pre-release

The release allows for resources to take control of existing orphaned connection secrets to enable back-up and restore. Previously, Crossplane used opaque Kubernetes secrets to store connection information, meaning that secrets created by Crossplane and those not created by Crossplane could not be distinguished. Crossplane now uses its own connection.crossplane.io/v1alpha1 secret type such that it can adopt orphaned secrets without risk of taking control of a secret created for other purposes.

Bug Fixes

No bug fixes were introduced as part of this release.

Breaking Changes

There are no breaking changes as part of this release, but #140 deprecated the ControllersMustMatch ApplyOption.

Behavior Changes

  • #139 Introduces the connection.crossplane.io/v1alpha1 secret type to distinguish connection secrets that Crossplane can adopt without risk of taking control of an existing secret that it did not create.
  • #140 Removes the requirement for connection secrets to have matching controller UIDs to be propagated. This allows for a lost resource to be recreated and assume control of its connection secret.
  • #126 Causes Not Found errors to be skipped when cleaning up CRDs installed using the integration testing framework.

v0.6.0

25 Mar 21:49
da385a7
Compare
Choose a tag to compare
v0.6.0 Pre-release
Pre-release

The most significant change in this release was the org name update from crossplaneio to crossplane, which resulted in a breaking change to the Go module.

Bug Fixes

No bug fixes were introduced as part of this release.

Breaking Changes

The breaking org name change was executed in #117 and #118.

Behavior Changes

  • #121 Adds a new package for getting and setting unstructured fields by path.
  • #125 / #129 Makes it possible to pass custom checks and modifications to merge patches.
  • #123 Adds a GetExternalTags function to consistently tag external resources across Crossplane providers.
  • #130 Adds new OAM Trait and Workload shared reconcilers that can be used across OAM controllers.

v0.5.0

17 Feb 22:53
e599809
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

This release includes adding logging and eventing to all reconcilers, as well as an update to the ProviderSpec embedded API type.

Bug Fixes

No bug fixes were introduced as part of this release.

Breaking Changes

  • #112 / #113 Removes pkg/util and all helper functions included within. They have been moved to either another pkg in crossplane-runtime, or are implemented in the stack for which they were originally created.
  • #115 Updates the credentialsSecretRef field on ProviderSpec to be optional, such that alternate authentication methods can be implemented. For an example of an alternative authentication method, see stack-aws.
  • #108 Primarily introduces new behavior, but could also require minor updates to consumers of pkg/logging.

Behavior Changes

  • #108 Adds logging and eventing behavior to all reconcilers. For more information on observability in Crossplane, see the developer guide.

v0.4.0

18 Jan 00:30
cd8c52b
Compare
Choose a tag to compare
v0.4.0 Pre-release
Pre-release

This release includes a number of breaking changes related to package structure. There are also updates to the existing Secret reconciler and the introduction of the new Target reconciler.

Bug Fixes

No bug fixes were introduced as part of this release.

Breaking Changes

  • #106 / #109 / #110 Broke existing reconcilers out of the resource package and into their own individual packages. No functionality was altered as part of this change, but updating to v0.4.0 will require significant changes to import paths.

Behavior Changes

  • #92 Modifies the Secret reconciler such that secrets can be propagated one-to-many, as long as both sides consent. Existing implementations should update to enqueue requests for the propagated Secret instead of the propagator.
  • #103 Added a new Target reconciler and interface that allows controllers to propagate secrets from managed resources to KubernetesTarget namespaces.

In addition to the changes listed above, crossplane-runtime migrated to go 1.13 as part of #107.

v0.3.0

24 Dec 06:18
1ab5880
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

This release primarily introduces an update of the controller-runtime dependency to v0.4.0.

Bug Fixes

No bug fixes were introduced as part of this release.

Breaking Changes

  • #94 The update of controller-runtime required a bump of all Kubernetes dependencies to v1.16.0, which included a small breaking change to metav1.ObjectMeta.

Behavior Changes

No existing behavior is changed as part of this release. However, the following PR's included new functionality:

  • #96 Introduced a ProviderSpec embedded type for use in Provider types across Crossplane stacks.
  • #56 Publicized mocks of the interfaces used across Crossplane stacks.
  • #91 / #89 Introduced an integration testing framework that wraps envtest.

v0.2.3

20 Nov 21:51
3706665
Compare
Choose a tag to compare
v0.2.3 Pre-release
Pre-release

This is a patch release to address a high impact bug in the claim binding process.

Bug Fixes

  • #83 - Namespaced resource claims are no longer the controller reference of cluster scoped managed resources. Cluster scoped resources controlled by namespaces resources are not supported by Kubernetes, and are at high risk of being deleted when the Kubernetes controller manager restarts.

Breaking Changes

This release does not introduce any breaking changes to v0.2.0.

Behaviour Changes

  • #87 - The reclaim policy field of all managed resources and resource classes now has identical semantics to that of the reclaim policy field of persistent volumes and storage classes. It controls whether the managed resource is deleted along with its claim, as well as whether the external resource is deleted along with its managed resource.

Deprecations

  • resource.ObjectMetaConfigurator is deprecated. It has been replaced by resource.ConfigureNames.