Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Go 1.20 (once it's released) #32420

Closed
apparentlymart opened this issue Dec 21, 2022 · 1 comment · Fixed by #32688
Closed

Upgrade to Go 1.20 (once it's released) #32420

apparentlymart opened this issue Dec 21, 2022 · 1 comment · Fixed by #32688

Comments

@apparentlymart
Copy link
Contributor

apparentlymart commented Dec 21, 2022

This is a tracking issue for eventually upgrading to the Go 1.20 toolchain for producing our official release packages.

When we upgrade Go we often end up passing Go compiler and standard library changes onto Terraform users as effective Terraform changes, and so the following are some potential changelog entries derived from the Go tip release notes as of December 20, 2022. This includes changes that might be breaking for a small number of users, within the exceptions allowed in our 1.x compatibility promises.

Some of these are notes about future changes in which exact versions of Windows and macOS we support. The Go team is planning to end support for the given older versions in Go 1.21, but we cannot know yet which Terraform version will be under development when Go 1.21 is released and so the proposed statements below are weaker than the corresponding statements in the Go release notes.


UPGRADE NOTES:

  • This is the last version of Terraform for which macOS 10.13 High Sierra or 10.14 Mojave are officially supported. Future Terraform versions may not function correctly on these older versions of macOS.

  • This is the last version of Terraform for which Windows 7, 8, Server 2008, and Server 2012 are supported by Terraform's main implementation language, Go. We already ended explicit support for versions earlier than Windows 10 in Terraform v0.15.0, but future Terraform versions may malfunction in more significant ways on these older Windows versions.

  • On Linux (and some other non-macOS Unix platforms we don't officially support), Terraform will now notice the trust-ad option in /etc/resolv.conf and, if set, will set the "authentic data" option in outgoing DNS requests in order to better match the behavior of the GNU libc resolver.

    Terraform does not pay any attention to the corresponding option in responses, but some DNSSEC-aware recursive resolvers return different responses when the request option isn't set. This should therefore avoid some potential situations where a DNS request from Terraform might get a different response than a similar request from other software on your system.


There is also a change to limit the size of regular expressions which applies indirectly to Terraform's regex, regexall and replace functions. However, I have intentionally omitted that from the above because it seems unlikely that any reasonable Terraform configuration will be affected by the new limit.

There are some other changes which I did not include because I assume that any users who notice them will consider them as unambiguous improvements rather than compatibility concerns. My focus here is only on changes that might cause subtle behavior changes for existing users after upgrading.

@github-actions
Copy link

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants