cdktf project over, follow the
migration guide.
Breaking changes
Packages renamed from cdktf to cdktn (v0.22.0)
All packages have new names:
cdktf→cdktncdktf-cli→cdktn-cli@cdktf/*→@cdktn/*
cdktf.json, writes to cdktf.out/, and honors CDKTF_* environment
variables. The migration guide
lists everything that stays the same.
Pre-built providers require cdktn (v0.22.0)
Pre-built providers now declare cdktn as their peer dependency, so each one
shipped as a new major version under @cdktn/provider-*. If you mix old
@cdktf/provider-* packages with cdktn, you can hit type errors. See
Transitional Period.
Features
Java and .NET packages published again (v0.22.1)
cdktn Java artifacts are published to Maven Central, and .NET packages to
NuGet.org.
Generated TypeScript without parameter properties (v0.22.1)
The provider generator no longer emits TypeScript parameter properties (for exampleconstructor(private x: string)) in generated structs
(cdk-terrain#43).
That syntax can’t be erased, so removing it brings generated code closer to
running directly in Node.js with type stripping.
Notable fixes
cdktn init(v0.22.1): the TypeScript template pins TypeScript 5.x, becausets-jestdidn’t support TypeScript 6 yet. v0.25 moved the template totsxand TypeScript 6 (cdk-terrain#396).TerraformOutput(v0.22.1): no longer triggers the Node.jsDEP0044deprecation warning aboututil.isArray.- Provider generation (v0.22.1): Terraform variable types with inline comments that contain brackets now parse correctly.
- Go (v0.22.1): Go module releases were fixed.
Pre-built providers
These changes landed in the pre-built provider packages while v0.22 was current:- Switched to
cdktn: the pre-built providers depend oncdktnandcdktn-cli^0.22.0instead ofcdktfandcdktf-cli. - Providers imported into
cdktn-io: these providers moved from the archived CDKTF organization and are now maintained undercdktn-ioas@cdktn/provider-*packages:acme,azuread,cloudflare,databricks,datadog,hcp,helm,newrelic,pagerduty,postgresql,snowflake, andvault.