github hashicorp/terraform-cdk v0.15.0

latest releases: v0.21.0-pre.126, v0.21.0-pre.125, v0.21.0-pre.124...
20 months ago

Breaking changes

Renaming of *Options and *Props to *Config

We had several exports where the configuration passed to constructs or functions was using a class with a different suffix then Config. If you are using a language like C#, Java, Python, or Go you might have needed to specify these classes in your CDKTF application. To simplify the usage we changed every suffix to be Config, so if you currently use one of the others please rename them to use the Config suffix. No options were changed in the process, only the names were aligned.

This would be one example of the change to be made (this is in Java):

import software.constructs.Construct;
import com.hashicorp.cdktf.App;
import com.hashicorp.cdktf.TerraformStack;
import com.hashicorp.cdktf.CloudBackend;
-import com.hashicorp.cdktf.CloudBackendProps;
+import com.hashicorp.cdktf.CloudBackendConfig;
import com.hashicorp.cdktf.NamedCloudWorkspace;

    public static class Demo extends TerraformStack{

        public Demo(Construct scope, String id){
            super(scope, id);
-            new CloudBackend(this, CloudBackendProps.builder()
+            new CloudBackend(this, CloudBackendConfig.builder()
                    .organization("hashicorp")
                    .workspaces(new NamedCloudWorkspace("demo"))
                    .build()
            );

Notice: CDKTF 0.15 bumps minimum Terraform version to 1.2

CDKTF is bumping the minimum supported version of Terraform from 1.0 to 1.2 starting from CDKTF version 0.15. This change is necessary as CDKTF 0.15 uses the Terraform CLI for planning and applying changes for Terraform Cloud and Terraform Enterprise instead of the API used in version 0.14.

Terraform promises compatibility between all v1.x releases, so there shouldn't be any issues with this change. The only changes between these versions are bug fixes, and new feature additions.

Please open an issue if you encounter any issues or bugs with this change.

Deprecation: We deprecate the feature flags that go into the context field of the cdktf.json

CDKTF used to use feature flags to enable potentially breaking behaviors in a release. These are no longer needed since most of the changes we introduce from here can not be hidden behind feature flags. When the feature flags are removed, the behavior will be the same as this configuration:

{
  "context": {
    "excludeStackIdFromLogicalIds": "true",
    "allowSepCharsInLogicalIds": "true"
  }
}

feat

  • feat(cli): Add cdktf provider list command #2270
  • feat(cli): support -var and -var-file terraform flags #2468
  • feat(cli): add -no-color tag #2307
  • feat: enable non-escaping mode for tokens #2179
  • feat: use our own pre-built package for node-pty to have builds for Nodejs 19 available #2478
  • feat(docs): Document node-gyp errors if no precompiled binaries are available and the target system misses a native toolchain #2497

fix

  • fix(cli): don't enquote args as they will be escaped and end up in the calls to Terraform #2493
  • fix: detect destroys on windows / TF version #2486
  • fix(tests): change Options -> Config as per #2471 #2482
  • fix(cli): windows fixes #2480
  • fix: limit concurrency for integration tests to 10 for each windows and linux #2474
  • fix(tests): Make version more stable #2467
  • fix: use older SHA from jsii superchain docker image #2465
  • fix: fix go build in pipeline #2464
  • fix(cli): remove newlines from tokens during terraform login #2459
  • fix(cli): abort apply if not all variables are known #2455
  • fix: Expose provider matcher to jest #2448
  • fix: Adds environment to keys to preserve case #2446
  • fix: Allow git access for sentry cli in docker #2426
  • fix: add path: dist for npm and pypi #2410

chore

  • chore: create upgrade guide #2494
  • chore: increase parallel limit (10->30) to speed up integration tests #2487
  • chore: disable cron for project board #2484
  • chore(docs): fix some docs #2483
  • chore: fix typo in function name #2462
  • chore: add a notice for minimum supported version to changelog #2461
  • chore: fix broken GHA version updater #2453
  • chore: update CODEOWNERS #2444
  • chore(docs): running snippet update tool revealed an existing snippet that is not up-to-date #2440
  • chore: update JSII #2428
  • chore: Support custom endpoints #2427
  • chore: create TFC/TFE workspace using the Terraform CLI #2424
  • chore: switch to SHA-based workflow pins #2422
  • chore: Update all documentation examples for Typescript #2421
  • chore: remove long-running hooks #2418
  • chore: translate documentation to csharp #2417
  • chore: add a refactoring guide #2413
  • chore: fix homebrew deploy step #2412
  • chore: add TFE information to TFC docs #2407
  • chore: deprecate feature flags #2498
  • chore: document variable flags #2495

refactor

  • refactor: rename all *Props and *Options classes and interfaces to *Config #2471

Don't miss a new terraform-cdk release

NewReleases is sending notifications on new releases.