Skip to main content

Documentation Index

Fetch the complete documentation index at: https://cdktn.io/docs/llms.txt

Use this file to discover all available pages before exploring further.

0.23 contains breaking changes to the language runtimes CDK Terrain (cdktn) supports. The framework and CLI APIs are unchanged — you only need to make sure your toolchain is running a supported runtime version before upgrading.
If your project already uses recent runtime versions, upgrading is as simple as bumping cdktn and cdktn-cli (and any @cdktn/provider-* packages) to ^0.23.2.

Breaking Changes

Dropped runtime support

LanguageNo longer supportedMinimum supportedRecommended
Go1.18 – 1.241.251.25+
Python3.83.93.9+
TypeScript< 4.54.5Latest 5.x
  • Go: update your go.mod toolchain directive and CI to Go 1.25 or higher.
  • Python: update your environment / pyproject.toml / requirements.txt to Python 3.9 or higher.
  • TypeScript: provider generation now uses features from TypeScript 4.5. There is no official minimum TypeScript version at this time, but using the latest 5.x release is recommended.
These are hard requirements for v0.23. Building or synthesizing on an unsupported runtime is no longer tested or supported.

Upcoming Breaking Changes

Node.js 20.x is end-of-life. Node.js 22.x will become the minimum supported version in an upcoming release. Plan to move your local and CI environments to Node 22.x soon.

Upgrade Process

1. Ensure TypeScript 4.5+ (latest 5.x recommended):
npm install --save-dev typescript@latest
2. Bump cdktn packages in package.json:
{
  "dependencies": {
-   "cdktn": "^0.22.0",
+   "cdktn": "^0.23.2",
    "@cdktn/provider-aws": "^20.0.0"
  },
  "devDependencies": {
-   "cdktn-cli": "^0.22.0"
+   "cdktn-cli": "^0.23.2"
  }
}
3. Reinstall and verify:
npm install
npx tsc --noEmit

What Stays the Same

The framework and CLI surface is unchanged from v0.22. Configuration (cdktf.json), the output directory (cdktf.out/), CDKTF_* environment variables, the ~/.cdktf home directory, Terraform provider sources, and your Terraform state are all unaffected. See the v0.22 migration guide if you are still migrating from cdktf.

Verification

After upgrading, confirm your project still synthesizes:
# Synthesize
cdktn synth

# Verify output
ls cdktf.out/stacks/*/cdk.tf.json

Getting Help