This patch release backports two bug fixes to the release-1.10 branch.
Bug Fixes
-
Prevent Terraform provider panics on cached state for missing resources (#686, backport of #685): When a Terraform state was previously cached in the tracker store with a zero-valued
RawConfig/RawPlanbut the external resource is no longer found duringObserve, these fields could remainnil. This could panic the underlying Terraform provider when it attempted to read an attribute fromRawConfigorRawPlan(for example, the Terraform AWS provider's tagging interceptor inverify.SetTagsDiff). The external client now sets theInstanceState'sRawConfigandRawPlanin this scenario. A regression test reproducing the panic conditions was added. -
Omit
XValidationfor required fields with references (#690, backport of #684): When a field is marked as required but also has a reference configured, it is satisfiable via the generated*Ref/*Selectormechanisms. Upjet now explicitly sets such fields to non-required inNewReferenceField, so noXValidationrule is emitted for them. Fixes an issue observed in crossplane-contrib/provider-upjet-gcp#952.
What's Changed
- [Backport release-1.10] Set InstanceState's RawConfig & RawPlan if Resource is not found by @ulucinar in #686
- [Backport release-1.10] fix(types): omit XValidation for required fields with references by @jonasz-lasut in #690
Full Changelog: v1.10.2...v1.10.3