Skip to content

v1.2.0

Compare
Choose a tag to compare
@turkenf turkenf released this 16 May 19:13
· 15 commits to main since this release
14395d1

The v1.2.0 release introduces converting singleton lists in the MR APIs to embedded objects, and dependency updates.

In this release, we've updated how Terraform configuration blocks are handled in our APIs. Terraform configuration blocks, even if they have a MaxItems constraint of 1, are (almost) always generated as lists. We now generate the lists with a MaxItems constraint of 1 as embedded objects in our MR APIs. This also helps when updating or patching via SSA the (previously list) objects.

The new v1beta2 versions of the CRD APIs incorporate these changes, ensuring backward compatibility for clients using the older v1beta1 versions. Any clients wanting to use the embedded objects-based APIs should update to the v1beta2 versions of the CRD APIs.

  • For instance, let's look at the YAML output of the Location.conditionalaccess.azuread.upbound.io/v1beta2 resource's spec.forProvider, with this release we can see the spec.forProvider.ip field as an object:
spec:
  forProvider:
    displayName: IP Named Location
    ip:
      ipRanges:
      - 1.1.1.1/32
      - 2.2.2.2/32
      trusted: true
  • If we look at the v1beta1 YAML output of the resource, we see the field as a list:
spec:
  forProvider:
    displayName: IP Named Location
    ip:
    - ipRanges:
      - 1.1.1.1/32
      - 2.2.2.2/32
      trusted: true

For a detailed overview of the implementation, please see crossplane/upjet#387 and crossplane/upjet#400

What's Changed

Full Changelog: v1.1.0...v1.2.0