This release fixes a garbage-collection race between namespaced and cluster-scoped Workspace controllers, adds a configurable GC interval, bumps the vendored Terraform CLI to v1.5.7, updates crossplane-runtime to v2.4.0 for its CRD-schema-strip and Secret-cache performance improvements, and rolls up a batch of dependency and CI updates including several security fixes.
Warning
The crossplane-runtime v2.4.0 bump adds a new--enable-secret-cache flag (env ENABLE_SECRET_CACHE), defaulting to true - i.e. Secrets continue to be served from the informer cache, matching pre-v1.2.0 behavior, so no action is required to keep the current behavior. Setting it to false disables informer caching for Secret objects and falls back to direct API server reads for every Secret access, trading lower controller memory usage for higher API server QPS. Only disable it if you understand that tradeoff for your cluster's Secret volume.
Highlights
Garbage Collection Fix: Consolidated garbage collection for namespaced and cluster-scoped Workspaces into a single manager.Runnable, fixing a race where each scope's independent GC loop against the shared tfDir could delete the other's workspace state directories
Configurable GC Interval: The Workspace garbage-collection interval is now configurable via the new --gc-interval flag, with support for disabling GC entirely via --gc-interval=0
Terraform CLI Update: Bumped the vendored Terraform CLI from v1.5.5 to v1.5.7, the last release under the MPL license
crossplane-runtime Update: Updated crossplane-runtime to v2.4.0, consuming upstream's CRD-schema-strip and Secret-cache performance improvements
Security: Applied multiple dependency security fixes, including google.golang.org/grpc, golang.org/x/mod, go.opentelemetry.io/otel, and github.com/klauspost/compress
Dependency Updates
Updated crossplane-runtime to v2.4.0
Updated Terraform CLI to v1.5.7
Updated golangci-lint to v2.13.0
Updated Alpine base image to v3.24.1
Security: updated google.golang.org/grpc to v1.82.1, golang.org/x/mod to v0.40.0, go.opentelemetry.io/otel to v1.44.0, github.com/klauspost/compress to v1.18.7
What's Changed
Rename Github workflow publish-provider-packages.yaml as publish-provider-package.yaml by @ulucinar in #235
fix: consolidate garbage collection for namespaced and cluster-scoped workspaces by @erhancagirici in #234