We are maintaining reasonable compatibility where we can. For example, there are some terraform cloud specific features that don't make sense for OpenTofu which we have not added.
Given that we are trying to make the migration as painless as possible, we plan on continuing this approach as long as we reasonably can.
While a lot of our focus is on maintaining compatibility with new terraform releases, we also try to dedicate a lot of our release cycle to implementing features that the community is advocating for. I'm quite proud that this release is a good example of that.
We've added support for the .tofu extension and are working on IDE support for it. This will allow module authors to include support for new OpenTofu (and Terraform) features side-by-side. We have some good examples in the blog post!
In the mean time, OpenTofu is aiming to implement many of the new features that Terraform has been adding (driven by community input). We've also seen recent Terraform releases add features that OpenTofu has already included (templatestring for example).
For this upcoming release we are trying to keep feature parity where possible. This is a feature that is generally available in Terraform and has an api that is almost the same.
One significant note is that by default OpenTofu supports most s3 compatible endpoints out of the box, without having to disable s3 checksum validation (as opposed to Terraform 1.6.3).
Also our backwards compatibility with older endpoint configurations is fully supported, without any configuration changes. Terraform (as of 1.6.3) still does not function correctly with bare endpoints.
We just pushed our latest release with some pretty massive features that have been long requested!
Provider for_each allows significant de-duplication of providers and modules.
We also added the `-exclude` flag as the inverse of `-target` which the community has been waiting a long time for.
This is in addition to many other features and bug fixes. I hope you give it at try!