github hashicorp/terraform-cdk v0.6.0

latest releases: v0.21.0-pre.88, v0.21.0-pre.87, v0.20.7...
2 years ago

Breaking Changes

Abbreviated version below, for a guide see Upgrade Guide for 0.6

Constructs upgrade (v3 to v10)

The constructs package serves as the base for all building blocks of the CDKs (e.g. CDK for Terraform, AWS CDK and cdk8s). Recently the constructs package was lifted to v10 with a few but major changes. The reason behind those was to make it future proof and stable across different CDKs. In this process the API surface area of the constructs base package was reduced and some functionality has been moved directly to the AWS CDK instead. For more information and the underlying motivation for the changes to the constructs library refer to the Removal of Construct Compatibility Layer RFC.

Moved functionality

  • Aspects are now part of cdktf as they've been removed from constructs. If you use them, you need to change your import statement to import them from the cdktf package. The api also has changed a bit. The new way to register Aspects is Aspects.of(construct).add(aspect) instead of construct.node.applyAspect(aspect).
  • The construct.node.addInfo(), construct.node.addWarning() and construct.node.addError() methods are now available under the Annotations.of(construct) API: e.g. Annotations.of(construct).addWarning('my warning'). Annotations are a part of the cdktf base library.

Removed functionality

  • construct.onPrepare / construct.prepare() has been removed. Instead you can use Aspects.
  • onSynthesize has been removed. If you find yourself needing support for it, please file a new issue on this repo and describe your use-case.

Features

  • feat(hcl2cdk): inform about recommended variable usage #875
  • feat(lib): make asset paths change if asset content changes #769
  • feat(cli): Introduce support for shell completions #943
  • feat(lib): Print a hint when the app has been passed to a backend instead of the stack #945
  • feat(lib): expose unit testing helpers #942
  • feat(cli): detect and validate used node & go version #855
  • feat(lib): expose terraform functions #903

Documentation

  • chore(docs): add a first short note about how to release #864
  • feat(docs): document how to connect CDKTF to Terraform Cloud #874
  • fix(docs): update docs to be correct about outdir since multiple stacks feature #872
  • fix(hcl2cdk): aliased provider missed in graph #876
  • chore(docs): release pre-built providers #892
  • chore(docs): update telemetry.md for 0.6 release #1017
  • chore(docs): remove custom adapter section for now #1021
  • feat(docs): upgrade guide for v0.6 #991

Fixed Bugs

  • fix(lib): keysToSnakeCase needs to ignore intrinsic tokens #902
  • fix(lib): synthesise numbers correctly #899
  • fix(lib): better error for uninitialized provider #896
  • fix(cli): Don't specify --user flag when running in an pip activated virtualenv #912
  • fix(deps): check in husky hooks #919
  • fix(lib): Alternative Validation Approach #911
  • fix(cli): Don't print sensitive outputs when running deploy #940
  • fix(tests): enable windows test with escapes #957
  • fix(hcl2cdk): Fix convert with numeric count #1011
  • fix(lib): Module references to providers synthesizes array instead of map #933
  • fix(tests): disable terraform cloud test for now #955

Chores

  • chore(lib): speed up TS compilation #873
  • chore(deps): ignore tsbuildinfo #894
  • chore(docs): Brief reference for local provider usage #897
  • chore(docs): Link Python Poetry community template #922
  • chore(deps): bump tar from 4.4.13 to 4.4.17 #914
  • chore(tests): remove unused aws provider dependency to speed up test #926
  • chore: fix typos #927
  • chore(lib): BREAKING CHANGE upgrade constructs lib to v10 #921
  • chore(deps): Upgrade yargs to v17 #779
  • chore(tests): Align workflow trigger #931
  • chore(cli): Make sure Python dependencies are working locally #936
  • chore(deps): bump tar from 4.4.17 to 4.4.19 #941
  • chore(release): run all tests on npm test #962
  • chore(hcl2cdk): Provide guidance for imports #949
  • chore(deps): bump axios from 0.21.1 to 0.21.4 #963
  • refactor(lib): use the same jest config everywhere #930
  • feat(cli): Improve telemetry #895

Don't miss a new terraform-cdk release

NewReleases is sending notifications on new releases.