The upgrade of golang.org/x/crypto includes a change to the SSH implementation to make it validate certificates more strictly as required by the current draft specification. Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
7.0 KiB
1.11.0 (Unreleased)
UPGRADE NOTES:
-
OpenTofu on macOS now requires macOS 12 Monterey or later.
-
The
issensitivefunction previously incorrectly returned known results when given unknown values, which has now been corrected to avoid confusing consistency check failures during the apply phase, as reported in issue #2415.If your module was previously assigning something derived from an
issensitiveresult to a context where unknown values are not allowed during the planning phase, such ascount/for_eacharguments for resources or modules, this will now fail during the planning phase and so you will need to choose a new approach where either theissensitiveargument is always known during the planning phase or where the sensitivity of an unknown value is not used as part of the decision. -
Testing mocks previously only followed a subset of the rules defined in provider schemas. The provider schema now drives the mocking to ensure the schema is correctly followed. (#3069)
In rare cases this change might result in some previously-passing tests now failing, due to invalid mocks or overrides that were not detected in earlier versions.
-
OpenTofu no longer accepts SHA-1 signatures in TLS handshakes, as recommended in RFC 9155.
-
OpenTofu's remote provisioners, when using SSH to connect to a remote server using certificate-based authentication, no longer accept a certificate key as the signature key for a certificate, as required by draft-miller-ssh-cert-03 section 2.1.1.
This may cause new failures if you are currently using an incorrectly-generated certificate, but does not affect correctly-generated certificates.
ENHANCEMENTS:
- OpenTofu will now suggest using
-excludeif a provider reports that it cannot create a plan for a particular resource instance due to values that won't be known until the apply phase. (#2643) tofu validatenow supports running in a module that contains provider configuration_aliases. (#2905)- The
regexandregexallfunctions now support using\pand\Psequences with the long-form names for Unicode general character properties. For example,\p{Letter}now has the same meaning as\p{L}. (#3166) tofu shownow supports-configand-module=DIRoptions, to be used in conjunction with-jsonto produce a machine-readable summary of either the whole configuration or a single module without first creating a plan. (#2820, #3003)- The JSON representation of configuration returned by
tofu showin-jsonmode now includes type constraint information for input variables and whether each input variable is required, in addition to the existing properties related to input variables. (#3013) - Multiline string updates in arrays are now diffed line-by-line, rather than as a single element, making it easier to see changes in the plan output. (#3030)
- Add full support for -var, -var-file, and TF_VARS during
tofu applyto support plan encryption (#1998) - The S3 state backend now supports arguments to specify tags of the state and lock files. #3038
- Plan UI now explicitly states that the "update in-place" notation is "current -> planned", as part of the existing description of the meaning of each change type symbol. (#3159)
- Upgrade go from 1.24.4 to 1.24.6 to fix GO-2025-3849 (3127)
- Improved error messages when a submodule is not found in a module ([#3144]https://github.com/opentofu/opentofu/pull/3144)
- Add support for the
for_eachattribute in themock_providerblock. (#3087) - Upgrade github.com/openbao/openbao/api/v2 from 2.1.0 to 2.3.0 to fix GO-2025-3783 (3134)
- The upgrade is necessary to silence the security scanner and does not affect the actual state encryption provided by OpenBao.
- Add logs for the DynamoDB operations in the S3 backend (#3103)
- When running the
sttyprogram to disable or reenable local echo at a sensitive input prompt, OpenTofu will now searchPATHfor the program rather than requiring it to be at exactly/bin/stty. (#3182)
BUG FIXES:
- The
tofu.rcconfiguration file now properly takes precedence overterraform.rcon Windows (#2891) - S3 backend now correctly sends the
x-amz-server-side-encryptionheader for the lockfile (#2870) - The
importblock now correctly validates theidproperty. (#2416 - Allow function calls in test variable blocks (#2947)
- The
issensitivefunction now returns an unknown result when its argument is unknown, since a sensitive unknown value can potentially become non-sensitive once more information is available. (#3008) - Provider references like "null.some_alias[each.key]" in .tf.json files are now correctly parsed (#2915)
- Fixed crash when processing multiple deprecated marks on a complex object (#3105)
- Variables with validation no longer interfere with the destroy process (#3131)
- Ensure that generated mock values for testing correctly follows the provider schema. (#3069)
- Remote provisioners now reject SSH certificates whose signature key is a certificate key, as required by the current SSH Certificate Format specification draft. (#3180)
BREAKING CHANGES:
Previous Releases
For information on prior major and minor releases, refer to their changelogs: