HCP Terraform Agent Changelog
These are the release notes from the HCP Terraform Agent application. Changes within each release are categorized into one or more of the following labels:
FEATURES
- Used for net-new features being added to the agent.BUG FIXES
- Backward-compatible fixes for buggy functionality.IMPROVEMENTS
- Functional improvements to performance, effeciency, etc.SECURITY
- Fixes for security-related issues.BREAKING CHANGES
- Reserved for changes which break previous functionality.
Each version below corresponds to a release artifact available for download on the official releases website.
1.17.0 (10/29/2024)
BREAKING CHANGES:
- Breaking changes to the network protocol that supports unreleased Request Forwarding functionality, which affects Private VCS Providers (#801)
BUG FIXES:
- Fixed issue where some fatal errors were logged at debug level instead of error (#799)
- Fixed an issue where the hashicorp/tfc-agent Docker image could have the wrong owners for /home/tfc-agent/bin/* content (#807)
1.16.0 (10/02/2024)
FEATURES:
- Added support for authenticating with AWS and GCP using dynamic credentials generated via HCP Vault Secrets (#786)
1.15.5 (09/18/2024)
IMPROVEMENTS:
- Included a copy of the license text with all releases (#772)
SECURITY:
- Moved to building with Go 1.22.7 in which several CVEs are addressed (#781)
1.15.4 (07/24/2024)
SECURITY:
- Moved to building with Go 1.22.5 in which several CVEs are addressed (#727)
1.15.3 (07/10/2024)
SECURITY:
- Updated go-retryablehttp dependency to address CVE-2024-6104 (#712)
- Removed unnecessary linux-libc-dev package from published container image (#714)
1.15.2 (05/29/2024)
BUG FIXES:
- Fixed consistency of the
status.<idle,busy>
gauge metrics (#680) - Fixed cpu utilization gauge and clarified metric names (#681)
IMPROVEMENTS:
- Improved collection of errors from VCS Repositories when performing ingress (#683)
1.15.1 (05/01/2024)
IMPROVEMENTS:
- Added telemetry metric
requests.forwarding.count
(#651) - Added error log for when an organization does not have request forwarding permission (#658)
- Improved logs when disconnected from the broker (#654)
- Added resource utilization metrics during workload execution (#619)
- Added support for authenticating with HCP via dynamic credentials (#673)
BUG FIXES:
- Updated documentation to include ingress and test as accept options. (#643)
- Fixed bug which allowed forwarding requests when unauthorized. (#661)
1.15.0 (03/13/2024)
FEATURES:
- Added support for HTTP request forwarding (#635)
- Added support for Ingress functionality (#637)
1.14.5 (02/28/2024)
BUG FIXES:
- Fixed bug to handle Sentinel parameters that were collection of nested data types (#624)
1.14.4 (02/14/2024)
BUG FIXES:
- Fixed Sentinel metrics to use snake-case for consistency with other metrics (#617)
1.14.3 (01/17/2024)
BUG FIXES:
- Updated dependencies to address CVEs: GHSA-9763-4f94-gfch, CVE-2023-49569, CVE-2023-49568
1.14.2 (12/19/2023)
BUG FIXES:
- Fixed issue that caused a canceled plan to not interrupt terraform (#575)
1.14.1 (11/16/2023)
BUG FIXES:
- Fixed issue that could cause a "failed to load shared config file" error in certain cases for Vault-backed AWS dynamic credentials (#557)
1.14.0 (11/09/2023)
FEATURES:
- Added support for terraform test (#546)
- Added support for dynamic provider credentials for the Kubernetes and Helm providers (#503)
IMPROVEMENTS:
- Optimized filesystem storage footprint by trimming provider installs before upload (#532)
BUG FIXES:
- Fixed unexpected behavior with policies by preserving file timestamps and modes on unpacked archives (#548)
1.13.1 (10/25/2023)
IMPROVEMENTS:
- Added any warnings emitted from Sentinel evaluation into the policy outcome (#534)
1.13.0 (09/27/2023)
FEATURES:
- Added support for Sentinel policies to be evaluated within the agent (#519)
IMPROVEMENTS:
- Increased timeout for generating JSON artifacts from 5 to 10 minutes (#511)
1.12.1 (09/13/2023)
IMPROVEMENTS:
- Added policy tool version into the policy outcome for better debugging (#461)
- Added handling for the "errored.tfstate" file when states fail to upload (#464)
- Added ability to omit filesystem upload based on the presence of the filesystem url (#480)
BUG FIXES:
- Fixed a race condition which could lead to unsent job status updates to the backend (#466)
1.12.0 (07/26/2023)
BUG FIXES:
- Fixed OpenTelemetry log message to reflect insecure connections (#453)
FEATURES:
- Added support for specifying a wait time after generating Vault-backed AWS credentials (#451)
- Added support for multiple dynamic credentials configurations (#452)
IMPROVEMENTS:
- Increased max wait time for Vault-backed Azure credentials to 25 minutes from 15 minutes (#450)
1.11.0 (07/19/2023)
FEATURES:
- Added support for specifying a wait time after generating Vault-backed Azure credentials (#437)
- Ensured that all assessment jobs execute a terraform refresh (#426)
BUG FIXES:
- Fixed dependency report generation to respect Terraform workspace working directory settings - previous report generation would fail to find files relating to Terraform dependencies in some circumstances. (#441)
1.10.1 (07/07/2023)
BUG FIXES:
- Fixed JSON unmarshalling errors when generating the redacted plan (#427)
1.10.0 (06/08/2023)
FEATURES:
- Added support for Terraform 1.5 (#395)
1.9.0 (05/04/2023)
FEATURES:
- Added support for specifying a custom CA cert for Vault dynamic credentials (#379)
- Added support for setting env vars from Terraform hook scripts (#378)
IMPROVEMENTS:
- Updated Docker container to pre-create the data directory (#380)
1.8.0 (04/18/2023)
BUG FIXES:
- Fixed an issue which prevented some Dynamic Credentials validation error messages from being relayed (#365)
- Fixed crash when unpacking configuration versions that contained archive entries with an empty name (#371)
IMPROVEMENTS:
- Updated logs, metrics, and traces to have consistently named attributes (#357, #364)
- Removed unnecessary nesting from telemetry attributes (#368)
FEATURES:
- Added ability to collect terraform, module and provider versions for reporting purposes (#367)
- Added support for vault-backed dynamic provider credentials (#370)
1.7.1 (03/29/2023)
BUG FIXES:
- Fixed tracing span issues when executing Terraform operations (#340)
- Changed the metrics export interval to support more telemetry platforms (#348)
IMPROVEMENTS:
- Updated OpenTelemetry SDK libraries for improved compatibility (#327)
1.7.0 (03/02/2023)
FEATURES:
- Added support for dynamic provider credentials (#328)
BUG FIXES:
- Fixed exit code during startup errors (#335)
1.6.1 (02/23/2023)
SECURITY:
- Added validation checks for filepaths when extracting Terraform bundles (#323)
1.6.0 (12/20/2022)
FEATURES:
- Added a new configuration setting for defining the cache directory (#303)
IMPROVEMENTS:
- Increased deadline for "terraform init" process to 10 minutes (#312)
1.5.0 (12/14/2022)
FEATURES:
- Added new CLI configuration for controlling which types of jobs an agent accepts (#251)
- Terraform module sources now support the generic hostname
localterraform.com
(#264)
BUG FIXES:
- Fixed hook scripts not executing if the operation errors or exits early (#250)
- Fixed handling of plugin directory in custom Terraform bundles (#295)
1.4.0 (10/05/2022)
IMPROVEMENTS:
- Added better validation of Terraform run payloads (#226)
FEATURES:
- Added the policy component, making it possible for policies to be evaluated within the agent (#235)
1.3.1 (09/13/2022)
BUG FIXES:
- Fixed issues with download retries (#191)
- Fixed validation of workspaces with no Terraform configuration files (#190)
IMPROVEMENTS:
- Added error logging when failing to generate JSON artifacts (#192)
1.3.0 (08/04/2022)
FEATURES:
- Added generation of "terraform show" plaintext output during plans (#183)
BUG FIXES:
- Fixed a race condition causing tfc-agent to send status updates forever (#186)
1.2.7 (08/01/2022)
BUG FIXES:
- Fixed provider symlink preservation for custom Terraform bundles (#182)
IMPROVEMENTS:
- Removed the redundant "terraform init" command during apply operations (#182)
1.2.6 (06/24/2022)
BUG FIXES:
- Fixed execution of internal Terraform commands when TF_* args are set (#170)
1.2.5 (06/23/2022)
BUG FIXES:
- Fixed support for absolute symlinks which point to relative files (#168)
- Added a fixed deadline for telemetry shutdown (#166)
IMPROVEMENTS:
- Added user-error classification for bad data during filesystem uploads (#167)
1.2.4 (06/21/2022)
BUG FIXES:
- Added support for dangling symlinks with relative targets (#164)
1.2.3 (06/09/2022)
BUG FIXES:
- Fixed inconsistent paths between plan and apply (#161)
1.2.2 (05/12/2022)
IMPROVEMENTS:
- Added attributes to traces created by the agent. (#134)
BUG FIXES:
- Fixed handling of Terraform JSON artifact generation errors (#156)
1.2.1 (05/11/2022)
BUG FIXES:
- Fixed the ability to use a symlink as the working directory (#151)
1.2.0 (05/02/2022)
IMPROVEMENTS:
- Added better error handling for non-existent working directories (#148)
- Added jq, python, and pip to the Docker image (#149)
1.1.7 (04/25/2022)
BUG FIXES:
- Fixed response handling for retryable downloads (#146)
1.1.6 (04/20/2022)
BUG FIXES:
- Fixed OpenTelemetry metrics by rolling back client version (#144)
1.1.5 (04/18/2022)
IMPROVEMENTS:
- Improved resilience of downloads by adding retries. (#136)
1.1.4 (03/22/2022)
BUG FIXES:
- Fixed
HOME
environment variable during hook execution. (#130)
1.1.3 (03/17/2022)
SECURITY:
- Updated Docker image to address OpenSSL CVE-2022-0778 (#129)
1.1.2 (03/11/2022)
BUG FIXES:
- Fixed Terraform variable validation to accept Terraform v0.12+ syntax. (#122)
- Fixed core HTTP requests (fetch jobs, post status) to log in debug mode (#125)
- Extended HTTP header timeout to 30 seconds (#127)
1.1.1 (03/09/2022)
IMPROVEMENTS:
- Added redacted HTTP logs in debug log mode (#123)
1.1.0 (02/23/2022)
FEATURES:
- Added support for executing hooks at various stages of a Terraform run. (#109)
BUG FIXES:
- Fixed missing operation name in Terraform run temp dir paths (#115)
IMPROVEMENTS:
- Added Nomad context to logs, traces, and metrics when available (#109)
- Added ping command to Docker image (#112)
1.0.2 (12/07/2021)
BUG FIXES:
- Fixed key collision in log attributes when performaing status updates (#105)
- Fixed race condition during status updates at the end of a job (#106)
1.0.1 (11/11/2021)
IMPROVEMENTS:
- Added basic user-error classification to Terraform component logs (#103)
1.0.0 (10/29/2021)
BREAKING CHANGES:
- Changed logging to only include Terraform output at trace level (#88)
- Removed deprecated
-disable-update
andTFC_AGENT_DISABLE_UPDATE
(#95)
SECURITY:
- Removed all SUID/SGID binaries from the Docker container (#91)
BUG FIXES:
- Fixed agent behavior when core HTTP requests block for a long time (#90)
IMPROVEMENTS:
- Added additional metadata to logs when using JSON logging mode (#84)
- Added more descriptive log when new major versions become available (#89)
- Increased HTTP retries when receiving server errors from TFC (#92)
- Added utilities to Docker image to support modules, provisioners, etc. (#93)
- Added support for Terraform versions 1.1+ via the "cloud" integration (#94)
- Added detection of unrecognized
TFC_AGENT_*
environment variables (#97)
0.4.2 (10/06/2021)
BUG FIXES:
- Fixed errors resulting from using "disabled" auto-update mode (#81)
- Fixed trace flushing to ensure all spans are recorded properly (#82)
IMPROVEMENTS:
- Added verification of core plugin major version (#80)
0.4.1 (09/13/2021)
IMPROVEMENTS:
- Increased timeout for generating JSON artifacts from one to five minutes (#78)
- Improved timeout logging when generating JSON artifacts (#78)
0.4.0 (08/20/2021)
FEATURES:
- Added configurable automatic update strategy to make upgrades safer (#59)
BUG FIXES:
- Fixed segfault when no valid Terraform files were found (#67)
0.3.2 (07/22/2021)
BUG FIXES:
- Fixed Docker image OS permissions for automatic updates (#64)
0.3.1 (07/22/2021)
BUG FIXES:
- Fixed Terraform output buffer corruption (#63)
0.3.0 (07/07/2021)
BREAKING CHANGES:
- Changed the user in the Docker container to be non-root (#56)
SECURITY:
- Changed the user in the Docker container to be non-root (#56)
0.2.1 (06/03/2021)
IMPROVEMENTS:
- Added HTTP retries during registration and status updates. (#53)
FEATURES:
- Added support for JSON-formatted log output (#54)
BUG FIXES:
- Fixed release builds to always compile binaries statically (#55)
0.2.0 (06/18/2021)
FEATURES:
- Added support for using custom Terraform bundles (#52)
- Added support for Terraform's -replace flag (#51)
- Added support for Terraform's -refresh-only flag (#49)
- Added support for structured run output (#34)
BUG FIXES:
- Fixed Terraform resource targeting (#50)
0.1.14 (05/06/2021)
BREAKING CHANGES:
- Updated the HashiCorp GPG public key for release verification (#41)
0.1.13 (05/06/2021)
FEATURES:
- Added support for Terraform's -refresh=false flag (#43)
- Added support for flash messages (#47)
0.1.12 (04/27/2021)
FEATURES:
- Added support for exporting tracing and metrics via OpenTelemetry (#38)
0.1.11 (04/14/2021)
IMPROVEMENTS:
- Expanded signal handling to include SIGTERM, SIGINT, and SIGQUIT (#39)
0.1.10 (04/05/2021)
IMPROVEMENTS:
- Added support for Terraform versions back to v0.9.1 (#35)
0.1.9 (03/09/2021)
BUG FIXES:
- Fixed upgrades from Terraform v0.12 to v0.13 (#33)
IMPROVEMENTS:
- Added base OS update during Docker image builds (#30)
0.1.8 (01/11/2021)
BUG FIXES:
- Added a work-around for Docker sending multiple INT signals on ctrl+c (#29)
0.1.7 (01/07/2021)
SECURITY:
- Removed access to tfc-agent configuration env vars after agent boot up (#28)
0.1.6 (01/05/2021)
FEATURES:
- Added variable sensitivity propagation for Terraform 0.14+ (#27)
0.1.5 (12/03/2020)
SECURITY:
- Mitigated zipslip vulnerability (#24)
0.1.4 (10/21/2020)
BUG FIXES:
- Fixed handling of user-defined SSH keys during Terraform runs (#21)
0.1.3 (09/08/2020)
BUG FIXES:
- Removed dynamic linker cache in Docker image (#20)
0.1.2 (08/14/2020)
BUG FIXES:
- Fixed handling of custom env vars when running "terraform version" (#19)
0.1.1 (08/12/2020)
BUG FIXES:
- Added required packages used by Terraform for cloning modules
0.1.0 (08/12/2020)
Initial release