v1.2.0
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'sspec.forProvider
, with this release we can see thespec.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
- Add needs:triage label to issue template by @turkenf in #131
- Convert all singleton lists in the MR APIs to embedded objects by @ulucinar in #123
- Bump crossplane-runtime version to consume the fix of MR metrics by @sergenyalcin in #132
- Bump upjet to the latest commit by @sergenyalcin in #133
Full Changelog: v1.1.0...v1.2.0