Compatibility:
- Handle TF_LOG=TRACE in similar fashion as DEBUG (GH-41)
- Add Terrafrom 1.0 to tested versions. (GH-43)
- Changed CI environment from Travis-CI to GitHub Actions (GH-44)
- Dropped support for Ruby versions 2.4 and 2.5 and Terraform versions 0.9 and 0.10. (GH-45)
Bugfixes:
This release includes mainly fixes and features for Terraform 0.14 compatibility:
- Store the Terraform 0.14+ version lock file by copying it after
terraform init
. Add more control for the initialization by supportingtf <env> init
command, and by addingTF_INIT_ARGS
env var. (GH-36) - Write
terraformrc
only if it doesn't exist. This allows disabling the plugin cache (for multi-arch lock file), even if it slows down YleTf by causing provider downloads on each run. (GH-39) - Fix
--help
with Terraform 0.14 by not even trying to list all Terraform commands. You can get them withterraform -help
. (GH-38) - Add Terraform 0.14 and Ruby 3.0 to tested versions, drop testing for older Terraform versions than 0.11 (should still work with 0.9+) (GH-35)
New features:
- Add experimental support for encrypting file backend states. See the PR for more details: (GH-40)
Improvements:
- Symlink
errored.tfstate
from run dir to module dir (GH-31)
Compatibility:
- Support Ruby 2.7 (GH-30)
- Drop Ruby 2.3 from the test matrix. Document the supported versions. (GH-28, GH-26)
- Add Terraform 0.12 and 0.13 to the test matrix. Document the supported versions. (GH-27)
Bug fixes:
- Use
$HOME
instead of~
in default .terraformrc (GH-29)
New features:
- Allow configuring YleTf version requirement in tf.yaml (GH-25)
- Pass original module directory to hooks as
TF_MODULE_DIR
env var (GH-24)
Compatibility:
- Drop (already broken) support for Terraform 0.8 and older (GH-22)
- Drop Ruby 2.2 support (GH-15)
- Backend plugin interface has changed and is not compatible with the old one. The old configuration is automatically migrated, though. (GH-18)
New features:
- Support all Terraform backends and all their attributes (GH-18)
- The
file
backend is still default (and should probably be used instead of Terraform'slocal
backend). - Backend configuration has changes. See the migration guide for more details.
- The
- Support maps and lists in
tf_vars
(GH-14, GH-17)- Also add
module_dir
to the configuration evaluation context
- Also add
Improvements:
- Improved tests! For example:
Bug fixes:
- Remove tmp dirs securely, but with force (ad96a4fb)
- Fix configuration access when the key chain is not a Hash (GH-19, 2de9c2e7)
- Fix some debug output cases
Seems that the project is stable enough for v1.0! \o/
Only change after 0.4.0 is:
- Add support for OpenStack Swift backend (GH-13)
- Catch
Ctrl+C
to avoid stack traces - Fix Ruby 2.5 warnings from IO handler threads (GH-6)
- Reduce debug level help output of the Terraform initialization (GH-7)
- Deny interaction when initializing Terraform (GH-9)
- Default to colorful error messages only on a TTY (GH-5)
- Remove extraneous debug output when loading bundler plugins
New features:
- Support for IO handlers for
System.cmd
commands (GH-4)- Pipe most command and hook output to Logger with reasonable log level
- Add log level support for YleTf hook output
Improvements:
- Add colors for error and warning messages (GH-3)
- Display better error message if tfvars files are not found
Bug fixes:
- Check that the temporary directories exist before removing them
- Fix Bundler plugin loading errors (GH-1)
- Declare that Ruby 2.2 or newer is required
- Initial public release