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 ofcdktf
as they've been removed fromconstructs
. If you use them, you need to change your import statement to import them from thecdktf
package. The api also has changed a bit. The new way to registerAspects
isAspects.of(construct).add(aspect)
instead ofconstruct.node.applyAspect(aspect)
.- The
construct.node.addInfo()
,construct.node.addWarning()
andconstruct.node.addError()
methods are now available under theAnnotations.of(construct)
API: e.g.Annotations.of(construct).addWarning('my warning')
.Annotations
are a part of thecdktf
base library.
Removed functionality
construct.onPrepare
/construct.prepare()
has been removed. Instead you can useAspects
.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