OpenTofu version 1.13 introduces new capabilities for module authors to resolve expressions during the planning phase. Specifically, functions such as `convert` and `assumenotnull` address scenarios where `count` or `for_each` keys remain unknown due to dynamic inputs like `yamldecode` results. This allows the planner to determine the number of resource instances even when all their attributes are not yet known, preventing plan failures.
The `convert` function enables specifying a known type for values, even if the input is initially unknown, such as with `yamldecode`. When combined with `assumenotnull`, it allows `count` expressions based on nullness to resolve to zero or one, while the object's contents can remain unknown until the apply phase. This design aligns with a similar feature introduced in Terraform 1.15.
OpenTofu 1.13 includes experimental built-in linting rules, which can be enabled using the `-lint=all` flag with `tofu validate`, `tofu plan`, or `tofu apply`. These rules include `core:unused-variable` and `core:count-instead-enabled`. The maintainers noted that linting was a highly requested feature, with future plans for custom rules and broader policy checks. This feature complements existing static analysis tools like TFLint.
An opt-in experimental feature called Symbol Libraries is also part of this release. It allows sharing functions and type definitions through `*.sym.hcl` files. While libraries cannot directly access resources, data sources, or provider functions, callers can pass resource values into library functions. The OpenTofu team aims to stabilize this feature in version 1.14.
Version 1.13 also removes Windows Remote Management (WinRM) support from `tofu`.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
OpenTofu released version 1.13, introducing new functions like `convert` and `assumenotnull` to help module authors resolve expressions during the planning phase, particularly for `count` and `for_each` with unknown inputs. This version also adds experimental built-in linting rules and an opt-in Symbol Libraries feature, enhancing the platform's ability to handle complex configurations and improve code quality.