Releases: hashicorp/terraform-cdk
v0.16.1
fix
- fix(cli): run terraform init in serial so no text file is busy in the cache #2843
- fix(cli): buffer the output from the Terraform CLI and only forward output that has been terminated by a newline #2844
- fix(cli): fix no-color flag passing #2845
- fix(hcl2cdk): Support conversion of functions that have variate arguments at the end #2833
chore
v0.16.0
Breaking changes
Update to .NET 6.0
We updated our C# template to .NET 6.0 as JSII updated recently and dropped support for netcoreapp3.1
:
The runtime library for .NET & generated .NET bindings will no longer support netcoreapp3.1 after this release. Users are advised to upgrade their apps to use net6.0 or net7.0 instead.
from JSII v.1.76.0 release notes
Changes to Terraform function bindings
Terraform functions are now generated based on the JSON schema returned by the new metadata functions
command which is going to be added to the Terraform CLI in version 1.4 (PR #32487, already available in v1.4.0-beta2
).
The following new functions were introduced:
Fn.endswith()
- checks the suffix of a stringFn.startswith()
- checks the prefix of a stringFn.timecmp()
- compares two timestamps
The following functions changed:
Fn.parseInt()
is nowFn.parseint()
to match the format of all other functionsFn.mergeLists()
does not exist anymore, useFn.concat()
insteadFn.mergeMaps()
does not exist anymore, useFn.merge()
instead
As part of this change, we use the same parameter names as Terraform which might require changing keyword arguments in Python.
Fn.join(",", [src.stringResource.result, src.stringResource.result])
Fn.join(separator=",", value=[src.stringResource.result, src.stringResource.result])
v0.15.5
v0.15.4
v0.15.3
chore
- chore: Don't run
terraform init
when not required #2572 - chore: additionally lock providers for linux only #2593
- chore: refactor 'needs upgrade' #2570
- chore: Update remaining Typescript documentation snippets #2564
- chore: translate more csharp docs #2433
- chore: translate rest of the docs to C# #2558
- chore: run dotnet format #2559
- chore: Update contributing #2479
- chore: truly autoclose older GHA updater PRs #2546
fix
- fix: rename CloudBackendProps to CloudBackendConfig in templates #2553
- fix: switch back to offical image to fix issue with stale signature files #2588
- fix: use correctly named syntax in comments #2562
- fix(lib): Update special defaults #2523
- fix(docs): camel -> snake case in resource escape hatches #2571
- fix(docs): Go post mortem review feedback #2587
- fix(docs): fix typo in CSharp example #2580
- fix(docs): fix links to examples page #2574
- fix(docs): add missing java remote backend example #2563
- fix(docs): properties in create module example use snake case #2561
feat
- feat: add cache flag for prettier to speed up subsequent runs #2556
- feat: Add a wrap in stack optional param to cdktf convert #2539
- feat(docs): Convert some code snippets in docs to Golang #2439
- feat(docs): Translate Aspect example to Go #2445
- feat(docs): Translate more examples to Go #2554
- feat(docs): Translate more examples to Go #2560
- feat(docs): Translate more examples to Go #2569
- feat: also go through files not yet added to git #2567
v0.15.2
v0.15.1
v0.15.0
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
v0.14.3
fix
- fix: add completed tfc pending states #2398
- fix: skip confirming on auto-apply enabled tfc workspaces #2397
- fix(hcl2cdk): snapshot generated code instead of snapshotting that the function returns a promise #2392
- fix: add
required_version
to json schema #2355
chore
- chore: add provider-integration tests conditionally for PRs and to releases #2371
- chore: increase operations per run of stale workflow #2363
- chore: update github workflow actions #2361
- chore(docs): Add Example for Complex input variables #2309
- chore: add Terraform
1.3.4
to Docker container #2285
feat
v0.14.2
Breaking changes
We split up our cdktf-cli
package into cdktf-cli
for the UI parts, utilizing @cdktf/cli-core
for the functionality. If you previously relied on the internal cdktf-cli/lib
entrypoint you should switch to @cdktf/cli-core
. This was never an official API, but we want to mention it here in case it breaks for anyone.
chore
- chore: skip hcl2cdk tests for now #2384
- chore: Update Digital Team Files #2383
- chore: move from pr target to pr #2381
- chore: fix finalizing the Sentry release #2379
- chore: update workflows for new workflow endpoint #2378
- chore: disable python edge test #2369
- chore: only trigger unit tests once #2362
- chore: use secret #2358
- chore: document go version #2351
- chore: fix stale workflow #2343
- chore: add build step to ci #2338
- chore: add workflows to auto-close and lock stale issues and PRs #2335
- chore: add expression paranthesis #2332
- chore: dedupe concurrency prefix #2330
- chore: npm-check-updates && yarn upgrade #2329
- chore: improve release pipelines #2328
- chore: add GH Action that labels PRs #2325
- chore(docs): Update remote-backends.mdx #2324
- chore: ensure we run all tests on dependency updates #2323
- chore: re-add run url #2320
- chore: limit concurrency on releases #2318
- chore: fix sentry release script #2317
- chore: fix typo #2316
- chore: offboard checks from PRs to main #2315
- chore(docs): prepare for code samples in multiple languages #2314
- chore: run CI more selectively #2313
- chore: make feature flag tests more resilient to provider updates #2312
- chore: additional potential speedup experiments for hcl2cdk unit tests #2311
- chore(tests): enable go provider add tests #2308
- chore: run linting and prettier as part of CI #2304
- chore(docs): translate hcl-interop examples to c# #2288
- chore: add workflow to update our github actions #2283
- chore(docs): translate functions examples to c# #2277
- chore(docs): translate data-sources examples to c# #2276
- chore(docs): translate aspects example to c# #2273
- chore(docs): translate all examples to python #2186
- chore(docs): Translate Documentation Snippets for Java #2183
feat
- feat(examples): python upcloud server #2366
fix
- fix: pin yargs types version #2364
- fix: Transition to planned state after cost estimation and policy checks with TFC/TFE #2360
- fix(cli): don't fail with UsageError when determining whether a provider is installed as a pre-built provider #2348
- fix: scoped packages need a publish config to be published to npm #2347
- fix: scoped packages need a publish config to be published to npm #2346
- fix(docs): fix header indentation causing no page contents sidebar for this page #2299
- fix(hcl2json): don't overwrite crypto if it's set already #2282
- fix: Graceful failures when using
cdktf
with non-admin tokens #2258 - fix: Prevent any release jobs from triggering if no release is required #2158