0.21.0
Breaking Changes
Minimum required Node version updated to 20.9
Since long-term support for Node.js 18 has ended, we updated our minimum compatible node version to 20.9.
fix
- fix: Stop escaping quotes within HEREDOC #3890
- fix: Pass migrate-state flag through to terraform init #3887
- fix: #3630 Slightly improve HCL rendering for skipped attributes #3878
- fix: issue where archive was being closed before the file finished writing causing corrupt TerraformAssets #3873
feat
- feat!: update minimum required Node.js version to 20.19 #3888
- feat: Skip Provider Locking on request #3879
chore
- chore(deps): bump tar-fs from 2.1.2 to 2.1.3 #3897
- chore: Upgrade base image for docker image used in building CDKTF #3872
- chore: Upgrading dependencies #3871
- chore(deps): bump the github-actions-backward-compatible group with 6 updates #3869
- chore(ci): use Dependabot to keep GitHub Actions updated #3867
- chore: add comments to docs #3863
0.20.12
feat
chore
- chore: add missing dependency on
fs-extra to @cdktf/hcl-tools #3854
- chore: Upgrade node-pty-prebuilt to support Node LTS #3851
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3847
- chore(docs): Update example for remote backend to show cloud backend #3833
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3828
- chore: Update docker container with latest version of node and JSII #3821
- chore: Upgrade archiver version to 7.0.1 #3818
- chore: Upgrade dependencies for lib #3815
- chore: Use tmccombs/hcl2json and fix go examples #3814
- chore: Remove web team from CODEOWNERS for content directories #3811
- chore: Upgrade dependencies for all #3800
- chore: update changelog #3798
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3795
- chore: Upgrade dependencies for all #3789
- chore: Upgrade dependencies for lib #3776
- chore: Upgrade dependencies for util #3767
fix
- fix: Upgrade dependencies to remove vulnerable version of micromatch #3844
- fix: Upgrade version of esbuild without security vuln #3843
- fix: Security warning on version of Axios #3841
- fix(examples): The Complex iterators example for C# that has been broken for a while #3840
- fix: Update slack action usage for slack action v2 #3802
- fix: always save terraform credentials #3785
- fix(lib): correct the concat method in TokenizedStringFragments #3772
0.20.11
fix
- fix: punycode deprecation warning #3792
chore
- chore: Add web presence ability to approve PRs to website files #3788
- chore: release 0.20.11 #3786
- chore: Upgrade dependencies for all #3780
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3770
- chore: Upgrade dependencies for all #3768
0.20.10
fix
- fix(provider-generator): Skip attributes for oracle/oci provider that use the unsupported mapmapmap type #3749
- fix: use 'go env GOROOT' when GOROOT env is missing #3745
- fix: run lint in Docker image to use same Node version as in other CI jobs #3742
chore
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3757
- chore: Upgrade dependencies for all #3756
- chore: update version of docs conversion tool #3750
- chore: increase time the docs conversion might take #3748
- chore: Upgrade dependencies for all #3709
0.20.9
feat
- feat(provider-generator): Skip definition attribute for aws_quicksight_analysis.definition data source #3725
fix
- fix(lib): render empty string as quotes #3683
- fix(lib): Correct types for allowedAccountIds & forbiddenAccountIds in S3Backend #3669
- fix(provider-generator): fix collision for Go for resources named version #3670
- fix(release): Don't validate single commit for semanticity #3715
chore
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3714
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3700
- chore: add extra pr for a catch-all package update #3699
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3693
- chore: Upgrade dependencies for JSII #3692
- chore: Upgrade dependencies for util #3691
- chore: Upgrade dependencies for cli #3690
- chore: Upgrade dependencies for lib #3689
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3682
- chore: Upgrade dependencies for JSII #3679
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3672
- chore: added index pages for each library to the docs #3671
- chore: reorganize API documentation #3668
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3666
- chore: Upgrade dependencies for util #3650
- chore: Upgrade dependencies for cli #3649
- chore: Upgrade dependencies for JSII
0.20.8
feat
- feat: add validation to TerraformModule #3608
fix
- fix: Empty string, booleans, and zero numbers in hcl rendering #3655
- fix: explicitly listen on ipv4 address for verdaccio due to Github runner image regression #3654
chore
- chore: manifest.json should have stable json #3584
- chore: update JSII #3616
- chore: remove dependency on jsii-srcmak #3607
- chore: Fix a small documentation typo #3629
- chore: Use single-label runner for custom-linux-xl #3623
- chore: fix branch cleanup #3644
- chore: remove Homebrew link and publishing step #3605
- chore: Upgrade dependencies for lib #3618
- chore: Upgrade dependencies for util #3599
- chore: Upgrade dependencies for util #3589
- chore: Upgrade dependencies for util #3612
- chore: Upgrade dependencies for cli #3613
- chore: Upgrade dependencies for cli #3598
- chore: Add links and headers #3594
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3614
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3606
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3652
0.20.7
fix
- fix(provider-generator): refactor logic to determine if a block is optional or required #3580
chore
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3583
- chore: Upgrade dependencies for cli #3588
- chore: Upgrade dependencies for cli #3574
- chore: Upgrade dependencies for util #3573
- chore: Upgrade dependencies for lib #3572
0.20.6
fix
- fix(cli): sanitize type arrays #3578
- fix(lib): Correctly render string tokens that contain plain objects #3545
- fix: hcl rendering nested maps #3536
- fix(docs): Italics broken #3490
chore
- chore: fix typo #3553
- chore: add separate workflow for JSII upgrades #3552
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3549
- chore: Upgrade dependencies for util #3548
- chore: Upgrade dependencies for util #3543
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3534
- chore: Upgrade dependencies for util #3533
- chore: run doc conversions on one runner #3522
- chore: Upgrade dependencies for cli #3517
- chore: Upgrade dependencies for lib #3516
- chore: update-project-board-issue calls different repo #3513
0.20.5
fix
- fix(lib): Correctly render string tokens that contain plain objects #3545
- fix: hcl rendering nested maps #3536
- fix(docs): Italics broken #3490
chore
- chore: fix typo #3553
- chore: add separate workflow for JSII upgrades #3552
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3549
- chore: Upgrade dependencies for util #3548
- chore: Upgrade dependencies for util #3543
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3534
- chore: Upgrade dependencies for util #3533
- chore: run doc conversions on one runner #3522
- chore: Upgrade dependencies for cli #3517
- chore: Upgrade dependencies for lib #3516
- chore: update-project-board-issue calls different repo #3513
0.20.4
fix
- fix: Make
CDKTF_LOG_FILE_DIRECTORY a common flag available on all commands #3495
- fix(cli): opening browser using CLI hangs the shell process forever #3480
chore
- chore: Upgrade dependencies for util #3518
- chore: npm-check-updates && yarn upgrade #3511
- chore: Upgrade dependencies for cli #3510
- chore: Upgrade dependencies for lib #3509
- chore: change schedule time to be before our week starts #3508
- chore: Upgrade dependencies for cli #3507
- chore: Upgrade dependencies for util #3506
- chore: Upgrade dependencies for lib #3505
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3504
- chore: Upgrade dependencies for lib #3498
- chore: Upgrade dependencies for util #3497
- chore: Upgrade dependencies for cli #3496
- chore: fix yarn upgrade for cdktf #3494
- chore: Upgrade dependencies for cli #3493
- chore: Upgrade dependencies for util #3492
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3491
- chore: bundle smaller packages together #3481
0.20.3
feat
- feat(cli): add console logs to better surface correct workflow for creating go projects #3466
- feat(docs): Document how outdir works when passed to App and while using CDKTF CLI #3463
fix
- fix: corrected formating for java provider dependencies #3468
- fix: Map keys not being quoted when they are not valid identifiers #3464
chore
- chore: Improve locals output - Group all locals into one locals block #3465
- chore: Update HCL Interoperability docs to include HCL synthesis #3462
0.20.2
feat
- feat(provider-generator): support renaming provider names in order to allow using two providers sharing the same name at the same time #3442
- feat(provider-generator): Ensure we have unique names for modules #3439
- feat(docs): Mention Maven examples in note on project setup page #3437
fix
- fix(docs): Run prettier #3445
- fix(lib): support dot-seperated nested accessors #3444
- fix(docs): Update CLI docs to refer to Gradle instead of Maven #3434
- fix(lib): Print a warning with manual steps to move a module when UpgradeIds aspect encounters modules #3432
- fix(cli): don't prompt for providers during convert #3431
- fix(lib): inline zip creation #3428
chore
- chore: Upgrade dependencies for @cdktf/hcl2cdk #3452
- chore: Upgrade dependencies for @cdktf/hcl2json #3451
- chore: Upgrade dependencies for @cdktf/provider-schema #3450
- chore: Upgrade dependencies for @cdktf/commons #3449
- chore: add CodeTabs component #3443
- chore(docs): update stacks documentation #3440
- chore: upgrade registry docs tool #3430
- chore: Upgrade dependencies for @cdktf/commons #3424
- chore(docs): fix currently-404 link to built-in templates #3418
- chore: Rk/suggestions for error codes #3417
- chore: fix updating script #3396
0.20.1
AWS Provider changes (breaking)
The AWS pre-built provider for Go is currently too large to be installed due to a hard limit in Go. This release adds skipping the statement block in the rule block of the aws_wafv2_web_acl and aws_wafv2_rule_group resources. Our resource docs page previously already mentioned that these resources have skipped attributes but they weren't actually skipped. This almost doubled AWS provider bindings in size due to the recursive nature of the statement block.
If you are using any of these two resources, the statement now has to be passed as a plain object instead and its keys have to be snake-cased (e.g. and_statement or regex_match_statement).
feat
- feat(hcl2cdk): support import blocks in cdktf convert #3415
fix
- fix(provider-generator): Skip
statement block for rule block in aws_wafv2_web_acl and aws_wafv2_rule_group resources #3414
- fix(cli): Fix version range matching for 0.x version ranges with the ~> operator #3403
- fix(docs): fix complex iterator example #3410
- fix(docs): product relative links #3401
chore
- chore: Upgrade dependencies for @cdktf/provider-generator #3423
- chore: break loop properly #3413
- chore: abort rebase when retrying pushing doc updates #3412
- chore: update registry docs tool #3407
- chore: update registry docs tool #3406
- chore: update provider docs tool #3404
0.20.0
Breaking changes
Module names / import paths changing
To resolve #3026 we improved the logic for generating names for Terraform Modules. This makes the default module names nicer, but also leads to breaking changes for Python, C#, and Java. When updating CDKTF, please generate the new bindings with cdktf get after updating the CLI and update your module imports.
Removal of deprecated backends
We have removed deprecated backends artifactory, etcd, etcdv3, manta, and swift. CDK for Terraform v0.14 deprecated these backends initially. Terraform removed these backends in v1.3. For migration paths from these removed backends, refer to Upgrading to Terraform v1.3.
Python 3.7 is no longer supported
We have dropped support for Python 3.7, please update to Python 3.8 or higher.
feat
- feat: Synthesis in HCL #3365
- feat(lib): update backend options #3352
- feat: add Terraform 1.6.5 to Docker image #3336
- feat(docs): Add note to address having the same name as new Terraform stacks feature #3333
- feat(lib): Add support for the built-in Terraform data resource #3317
- feat(lib): add
.allWithMapKey iterator to lists #3299
- feat(lib): Add DynamicListTerraformIterator with support for lists or sets with objects that have properties that are only known at apply time #3273
- feat(lib): allow chaining of TerraformIterator created resources #3272
- feat(lib): add move workflows for specifying ids directly #3231
fix
- fix pipenv build #3364
- fix(cli): Handle overlapping resource names in augmented logs #3343
- fix: Terraform Modules relatively referencing each other with generated bindings #3341
- fix(lib): respect AppOption.outdir before env var #3334
- fix(provider-generator): use module name that does not collide commonly #3332
- fix(lib): Fix handling of replaceTriggeredBy lifecycle attribute #3322
- fix(cli): error message for non-existent tf cloud orgs #3308
- fix(provider-generator): provided name does not need to match name in source #3305
- fix(provider-generator): don't require attributes to be set on nested_type #3304
- fix(lib): improve error messages for token resolution #3300
- fix: Use unique names to see if Github filters can pick it up #3291
- fix(tests): Update provider version in C# snapshot test #3289
- fix: Use an additional results step to ensure dynamic matrix jobs can… #3288
- fix(provider-generator): fix oci provider by skipping attributes that conflict after being camel cased #3285
- fix(lib): expose
conditional #3264
chore
- chore: cd into dist/python #3400
- chore: simplify python release #3399
- chore: remove set in gh action script #3398
- chore: fix python publishing #3397
- chore: Upgrade dependencies for @cdktf/hcl2json #3392
- chore: Upgrade dependencies for @cdktf/provider-schema #3391
- chore: Upgrade dependencies for cdktf #3390
- chore: Upgrade dependencies for @cdktf/cli-core #3389
- chore: Upgrade dependencies for @cdktf/commons #3388
- chore: Upgrade dependencies for @cdktf/provider-generator #3387
- chore: set include-system-site-packages=true for python release #3386
- chore: set include-system-site-packages=true for python release #3385
- chore: activate virtual env in same shell #3384
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3383
- chore: use publib for releases #3382
- chore: enable python virtual environment before releasing #3381
- chore: run python tests in virtual env
0.19.1
feat
- feat(cli): Include provider info in cdktf debug #3190
fix
- fix(cli): Don't send telemetry events if request body is larger than 8KB #3255
chore
- chore: disable provider schema tests #3257
- chore: update cdktf version being used in documentation tool #3256
- chore: fix provider-schema tests #3254
- chore: update registry docs version #3249
- chore: Upgrade dependencies for @cdktf/hcl2json #3248
- chore: Upgrade dependencies for cdktf #3247
- chore: Upgrade dependencies for @cdktf/provider-schema #3246
- chore: Upgrade dependencies for @cdktf/provider-generator #3245
- chore: Upgrade dependencies for @cdktf/commons #3241
- chore: use no scope for commit message #3240
- chore: run yarn upgrade per package #3212
- chore: fix link to refactoring guide #3211
- chore: add tags to jsii-terraform image #3210
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3208
- chore: add @cdktf/provider-schema tests to CI #3203
- chore: update zod #3200
0.19.0
Breaking changes
Minimum required Node.js version updated to 18.12
Since the long-term support for Node.js 16 ended on 2023-09-11, we updated our minimum compatible Node.js version to 18.12.
Potential provider naming collision with instance function moveTo on TerraformResource
We have added support for resource refactoring and renaming with the addition of the instance function moveTo on TerraformResource. We forsee the potential for naming collision with providers using moveTo as an attribute. In instances where provider bindings fail to compile due to the collision, regenerate your provider bindings and replace the provider related usage of moveTo to moveToAttribute in your configuration if applicable.
Java: codeMakerOutput needs to be set to a company identifier
We did not honor the codeMakerOutput setting in the cdktf.json previously, this is fixed now.
To have no changes in the generated code you can set codeMakerOutput: "imports".
If you like, you can now set it to your company name, e.g. codeMakerOutput: "com.hashicorp" so that the provider is generated under the com.hashicorp.aws namespace for example. Omitting the codeMakerOutput will lead to the default value .gen being used and results in an error.
feat
- feat(lib): add resource move functionality #3152
- feat: add import capabilities to cdktf #2972
- feat!: update minimum required Node.js version to 18.12 (LTS) #3181
fix
- fix(provider-generator): java akamai provider generation #3185
- fix: use codemaker output in java #3000
chore
- chore(examples): change debian image version in gcp example #3186
- chore: upgrade node-pty dependency to add support for Node.js 20 #3182
- chore(deps): pin trusted workflows based on HashiCorp TSCCR #3180
0.18.2
Fixes a bug in 0.18.1 that broke crash reporting due to a partial dependency upgrade.
fix
- fix: Fix partial dependency update for Sentry #3172
0.18.1