Вышла серия OpenTofu 1.13, а 21 октября — патч 1.13.2 с исправлениями безопасности.
Главное в 1.13
convertиassumenotnull. Авторы модулей могут подсказать тип значения, которое ещё неизвестно на этапе plan. Благодаря этому ключиcountиfor_eachвычисляются заранее — меньше «known after apply» и ошибок вида «Invalid for_each argument».- Экспериментальный линтер:
-lint=allс правилами вродеcore:unused-variable. - Symbol Libraries (опциональный эксперимент): общие функции и типы в файлах
*.sym.hcl, которые можно переиспользовать между модулями. - Пакеты для Windows ARM64.
Ломающие изменения
- WinRM удалён из провиженеров
remote-execиfile. - Изменился вывод
base64gzip— ресурсы, которые от него зависят, могут показать изменения в plan. - Нужна macOS 13 или новее.
- 1.13 — последняя серия с официальными 32-битными сборками. Поддержка 1.13.x — до 1 августа 2027.
Патч 1.13.2
Исправляет чрезмерную нагрузку на CPU при tofu init против вредоносного HTTP/2-сервера, отфильтровывает скомпрометированные промежуточные сертификаты (история с eMudhra) и чинит применение сохранённых планов с Symbol Libraries.
Что делать
Перед обновлением прогнать tofu plan на ключевых стейтах и проверить изменения от base64gzip; если используется WinRM — сначала мигрировать на SSH или другой механизм.
The OpenTofu 1.13 series is out, followed on Oct 21 by the 1.13.2 patch with security fixes.
Highlights of 1.13
convertandassumenotnull. Module authors can hint the type of a value that is still unknown at plan time. This letscountandfor_eachkeys resolve early — fewer “known after apply” values and “Invalid for_each argument” errors.- Experimental linter:
-lint=allwith rules such ascore:unused-variable. - Symbol Libraries (opt-in experiment): shared functions and types in
*.sym.hclfiles reusable across modules. - Windows ARM64 packages.
Breaking changes
- WinRM is removed from the
remote-execandfileprovisioners. base64gzipoutput changes — resources depending on it may show diffs in plan.- macOS 13 or later is required.
- 1.13 is the last series with official 32-bit builds. 1.13.x is supported until Aug 1, 2027.
The 1.13.2 patch
Fixes excessive CPU use during tofu init against a malicious HTTP/2 server, filters the compromised intermediate certificates (the eMudhra case), and fixes applying saved plans that use Symbol Libraries.
What to do
Before upgrading, run tofu plan on key states and check for base64gzip diffs; if you rely on WinRM, migrate to SSH or another mechanism first.