Releases: terraform-docs/terraform-docs
Release list
v0.24.0
Notable Updates
Changelog
Bug Fixes
Dependency updates
Chores
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.24.0
Contributors
Very special thanks to the contributors.
- @pascal-hofmann\n- @rudransh-shrivastava\n- @dependabot%5Bbot%5D\n- @terraform-docs-bot\n
v0.23.0
Notable Updates
Changelog
Features
- ea95325 feat(cli): improve recursive submodule scanning to traverse nested directories
- eae174a feat(recursive): add exclude config option and CLI flag to skip directories during recursive scanning
Bug Fixes
- 4e8d760 fix: config load with absolute path
- d91daf9 fix: deterministic sorting for providers
- 3cc1f37 refactor: address golangci-lint cyclomatic complexity error (#928)
Dependency updates
- 31b29ab chore(deps): bump actions/checkout from 4 to 6
- 105608d chore(deps): bump actions/setup-go from 5 to 6
- 65c4048 chore(deps): bump codecov/codecov-action from 4 to 5
- c3618ef chore(deps): bump codecov/codecov-action from 5 to 6
- e891fc1 chore(deps): bump docker/build-push-action from 6 to 7
- 0ed4b7d chore(deps): bump docker/login-action from 3 to 4
- 6a413c3 chore(deps): bump docker/setup-buildx-action from 3 to 4
- 747fbde chore(deps): bump docker/setup-qemu-action from 3 to 4
- 9af6379 chore(deps): bump github/codeql-action from 3 to 4
- 0ff2b14 chore(deps): bump goreleaser/goreleaser-action from 6 to 7
- db8f626 chore(deps): bump library/alpine from 3.23.2 to 3.23.3
- be1a794 chore(deps): bump library/alpine from 3.23.3 to 3.23.4 (#925)
- 91b7995 chore(deps): bump library/alpine in /scripts/release
- a793f92 chore(deps): bump library/golang from 1.25.5-alpine to 1.26.0-alpine
- 851e507 chore(deps): bump library/golang from 1.26.0-alpine to 1.26.2-alpine
- 26553fe chore(deps): bump softprops/action-gh-release from 2 to 3
- c355cbe chore(deps): bump stefanzweifel/git-auto-commit-action from 5 to 7
Chores
- fcc4bd6 Fixed type in user-guide introduction.md
- b8f73e2 Release version v0.23.0
- 1e3f6a1 chore: testing for sort config enabled
- 0ec4c49 ci(codecov): use parameter files instead of deprecated file
- ac64df2 ci(release): do not bump homebrew version
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.23.0
Contributors
Very special thanks to the contributors.
- @gusandrioli\n- @mir-jalal\n- @pascal-hofmann\n- @rudransh-shrivastava\n- @dependabot%5Bbot%5D\n- @terraform-docs-bot\n
v0.22.0
Notable Updates
Changelog
Dependency updates
- d9bfd39 chore(deps): bump library/alpine from 3.22.2 to 3.23.0
- ad868f2 chore(deps): bump library/alpine from 3.23.0 to 3.23.2
- 796a38d chore(deps): bump library/alpine in /scripts/release
- 15a95e6 chore(deps): bump library/alpine in /scripts/release
- ee533f9 chore(deps): bump library/golang from 1.24.2-alpine to 1.25.3-alpine
- dd2fe9d chore(deps): update Go and dependencies to latest versions
Chores
- 5862a8c Add a new option for Markdown output
- 86dea43 Add testing for the new
atx-closedoption - 46fa48e Fix Zsh Completion Typo
- 795da6b Release version v0.22.0
- 85266c7 Support closed ATX headers in Markdown document output
- b402f3e Support closed ATX headers in Markdown table output
- b93a0ec Update the documentation
- da4b8dc Update the documentation
- 0069445 Use spaces consistently for Markdown table formatting
- 8c50ce3 Use spaces in Markdown table delimiter rows for testing
- 9aed0a5 [DOCS] Fix pre-commit command to enable hooks
- 67e416b chore: fix tests
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.22.0
Contributors
Very special thanks to the contributors.
- @dandeandean\n- @Elouan%20Keryell-Even\n- @nicholasmc1\n- @pascal-hofmann\n- @rlindooren\n- @dependabot%5Bbot%5D\n- @terraform-docs-bot\n
v0.21.0
Notable Updates
Changelog
Dependency updates
- 929b3e0 chore(deps): bump dependencies, golang version and base containers
- 553f6ad chore(deps): bump golang.org/x/net from 0.36.0 to 0.38.0
Chores
- 0643382 Release version v0.21.0
- 4ac0a6a chore(linting): update to golangci-lint 2.7.2
- dd450a5 chore: fix golangci-lint issues
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.21.0
Contributors
Very special thanks to the contributors.
- @pascal-hofmann\n- @dependabot%5Bbot%5D\n- @terraform-docs-bot\n
v0.20.0
Notable Updates
Add preliminary support OpenTofu, thanks to @jamesgeddes! We are now able to extract header and footer from .tofu files and generally make .tofu file a known filetype to terraform-docs.
Note
With this release, we are still not able to read and parse all the .tofu files to extract all the other information, such as inputs, outputs, providers, etc.
Changelog
Features
- bb09818 add support for .tofu files
Dependency updates
- 006ff31 chore(deps): bump golang.org/x/crypto from 0.27.0 to 0.31.0
- e470746 chore(deps): bump golang.org/x/net from 0.29.0 to 0.33.0
- adb8099 chore(deps): bump golang.org/x/net from 0.33.0 to 0.36.0
- 73ee296 chore(deps): bump library/alpine from 3.20.3 to 3.21.3
- 06ca95c chore(deps): bump library/alpine in /scripts/release
- 616bff0 chore(deps): bump library/golang from 1.23.1-alpine to 1.23.4-alpine
Chores
- a22bdbe Fix typo in insert-output-to-file.md
- cf462c5 Release version v0.20.0
- 8c170f2 Update typo in pre-commit-hooks.md
- 983e98a chore: bump golang to 1.24.2
- 55d8916 chore: bump version to v0.20.0-alpha
- 93c1839 chore: update staticcheck to 2025.1.1
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.20.0
Contributors
Very special thanks to the contributors.
v0.19.0
Notable Updates
Changelog
Features
- 5a2f6ff add docker multiarch build
Bug Fixes
- 78e94da fix: Replace
<br>with<br />for markdown syntax - af31cc6 fix: release scripts
- 3c44c58 Fix: Let Docker image be built correctly for non-amd64 platforms
Dependency updates
- 7da557a chore(deps): bump docker/build-push-action from 5 to 6
- c825b41 chore(deps): bump library/alpine from 3.20.0 to 3.20.2
- 5441df2 chore(deps): bump library/alpine from 3.20.2 to 3.20.3
- a639fbd chore(deps): bump library/alpine in /scripts/release
- a2f4573 chore(deps): bump library/golang from 1.23.0-alpine to 1.23.1-alpine
Chores
- 045e5e6 Bump google.golang.org/grpc from 1.64.0 to 1.64.1
- db5e64c Bump goreleaser/goreleaser-action from 5 to 6
- 0562dbd Bump library/alpine from 3.20.0 to 3.20.2 in /scripts/release
- 7de82c8 Bump library/golang from 1.22.3-alpine to 1.23.0-alpine
- d64cd3b Release version v0.19.0
- 8ae3344 chore: bump version to v0.19.0-alpha
- c2e8d0a chore: fix linter issues
- 3355644 chore: update go dependencies
- 0db6eef chore: update go to 1.23.1
- 11270e3 chore: update staticcheck to 2024.1.1
- 186bd7e chore: update teaser image
- 4c94478 ci: Use correct env var for repo owner
- 62756ca ci: Use correct var for repo owner (second try)
- 1919452 ci: enhance release workflows
- 49fde02 ci: fix release scripts
- a97e171 ci: kickoff actions run
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.19.0
Contributors
Very special thanks to the contributors.
v0.18.0
Notable Updates
The most notable changes in this release are:
-
Resources can get ignored using
terraform-docs-ignorecomment:All types of resources can be ignored from the generated output by prepending them
with a commentterraform-docs-ignore.################################################################## # All of the following will be ignored from the generated output # ################################################################## # terraform-docs-ignore resource "foo_resource" "foo" {} # This resource is going to get ignored from generated # output by using the following known comment. # # terraform-docs-ignore # # The ignore keyword also doesn't have to be the first, # last, or the only thing in a leading comment resource "bar_resource" "bar" {} # terraform-docs-ignore data "foo_data_resource" "foo" {} # terraform-docs-ignore data "bar_data_resource" "bar" {} // terraform-docs-ignore module "foo" { source = "foo" version = "x.x.x" } # terraform-docs-ignore variable "foo" { default = "foo" } // terraform-docs-ignore output "foo" { value = "foo" }
-
Skip root module documentation while executing recursively:
The main module document is generated by default, but should the main module document be
excluded from document generation,--recursive-include-main=falsecan be used or alternatively
in the.terraform-docs.yml:recursive: enabled: true path: modules include-main: false
Changelog
Features
- 943489c Ignore inputs with terraform-docs-ignore comment
- 8f74fd4 feat: ignore outputs, providers, resources with comments
- d0862bd Update Dockerfile FROM command to use non-ambiguous container sources
- 59eb90f Make main module doc optional when in recursive generation
Bug Fixes
- 656f6a6 Fix output values with null
- d5a55ae more fixes of binary name with missing s
- 1b2dbab more fixes of binary name with missing s
- 29e186a Fixed binary name in description output
Chores
- 5e77bcc Bump actions/checkout from 3 to 4
- 21313cf Bump actions/setup-go from 3 to 5
- 89b52d5 Bump alpine from 3.18.5 to 3.19.0
- 01435d7 Bump alpine from 3.19.0 to 3.19.1
- b87d0e0 Bump alpine from 3.19.1 to 3.20.0 in /scripts/release
- 50a8858 Bump codecov/codecov-action from 1 to 3
- e729518 Bump codecov/codecov-action from 3 to 4
- 70ed14e Bump dawidd6/action-homebrew-bump-formula from 3.10.1 to 3.11.0
- 73ae81c Bump dawidd6/action-homebrew-bump-formula from 3.8.0 to 3.10.1
- 127dba6 Bump docker/login-action from 1 to 3
- 4dc7807 Bump github/codeql-action from 1 to 3
- 7a00604 Bump golang from 1.21.5-alpine to 1.22.1-alpine
- a321c28 Bump golang to 1.22.1
- d6331c1 Bump golang.org/x/net from 0.19.0 to 0.23.0
- 5a70c7a Bump google.golang.org/protobuf from 1.31.0 to 1.33.0
- ff0ce44 Bump google.golang.org/protobuf from 1.31.0 to 1.33.0
- ca3eea1 Bump goreleaser/goreleaser-action from 2 to 5
- 38fc0e6 Bump softprops/action-gh-release from 1 to 2
- f92cf6f Bump version to v0.18.0-alpha
- 6041ae9 Change dependabot cadence to daily
- 159bc83 Create dependabot file
- e5a9ee0 --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-patch ...
- 75e05c0 --- updated-dependencies: - dependency-name: golang dependency-type: direct:production update-type: version-update:semver-patch ...
- 228c7a7 Release version v0.18.0
- 656aa7c Update go crypto lib to v0.17.0
- 2b71b4d chore: add release-cut workflow
- d5e48a5 chore: add scripts/release/ folder to dependabot
- fde40b1 chore: bump alpine to 3.20.0
- b79a7c4 chore: bump golang to 1.22.3
- 288faea chore: update dependencies
- 740e0a8 go get -u github.com/hashicorp/hcl/v2, update to v0.20.1 to support provider functions
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.18.0
Contributors
Very special thanks to the contributors.
v0.17.0
Changelog
Features
- 38a327a Add fish shell completion
- e72f215 Always convert CRLF to LF for output description
- eb2e3b7 fix completion installing command
- 230113f Move terraform-docs bin in a folder already in the Linux PATH
- 5727f8b Preserve whitespaces of provided content and template
- 65b37fb Update OpenSSL package to mitigate CVE-2023-5363
Bug Fixes
- 4132916 Fix CI linting
- 3467aa9 Fix faulty license headers
- b4d62c8 Fix spelling
- a375aa7 fix spaces
- 9449cf8 fix typo
Chores
- 4eb50ae Bump alpine to 3.14.2
- c51e1ac Bump alpine to 3.16.0
- e5abff0 Bump alpine to 3.18.5
- 6f4b4d8 Bump golang to 1.17.6
- 8423fc0 Bump golang to 1.18.10
- 61f0423 Bump golang to 1.18.3
- 47bb0d2 Bump golang to 1.21.5
- f093753 Bump golangci-lint to 1.47.2 and fix issues
- 5cfb2f2 Bump golangci-lint to 1.55.2 and fix issues
- 9fa02e7 Bump staticcheck to 2023.1.6
- b37d2dc Bump version to v0.17.0-alpha
- a74d0f4 Bump version to v1.0.0-alpha
- a89c52e Enhance release script
- ac2f987 Update actions/checkout to v3
- 040b27b Update actions/setup-go to v3
- 5fad7ab Update go dependencies
- 649f1c4 Update go module dependencies
- 4552242 Update go module dependencies
- 82eaf8b Update goreleaser/goreleaser-actiona to v3
- 89666c0 Update container to Alpine 3.18.2 and Go 1.18.10
- 5638b29 Update Alpine base image to 3.16.1
- 21a9745 Upgrade Google Cloud Go packages in go.sum
- bb12a12 Remove Scalr sponsorship
- 090efce Run make fmt
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.17.0
Contributors
Very special thanks to the contributors.
v0.16.0
Changelog
Features
f613750 Add 'HideEmpy' section bool flag
6f97f67 Add abitlity to partially override config from submodules
de684ce Add public ReadConfig function
54dc0f5 Add recursive config to .terraform-docs.yml file
89648f7 Add sprig functions to built-in template functions
f3c9238 Extract leading comments for resources and modules
045707b feat: Add new flag 'read-comments' to optionally process comments as description
Bug Fixes
5a1210b Skip read lines from empty file
Refactoring
465dd14 Make terraform.Module available in content
90942f7 Move format package from internal to public
4a9ffe7 Move plugin-sdk to in-tree in core repository
d2fe2b1 Move print package from internal to public
b3ff514 Move template package from internal to public
ca8f833 Move template package from internal to public
Chores
f33826c Cleanup documentations
bb10971 Deprecate Settings and Options in favor of Config
3d2b878 Overhaul README and docs improvements
1ae5fd9 Restructure configurations docs
0ad14a3 Restructure how-tos docs
628f2c6 Update Netlify config and build CI
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.16.0
Contributors
Very special thanks to the contributors.
v0.15.0
Notable Updates
The most notable changes in this release are:
-
Generate submodules documents with
--recursiveflagConsidering the file structure below of main module and its submodules, now it is possible to generate documentation for them main and all its submodules in one execution.
Note that generating documentation recursively is allowed only with
--output-fileset.Path to find submodules can be configured with
--recursive-path(defaults tomodules).Each submodule can also have their own
.terraform-docs.ymlconfig file, to override configuration from root module.. ├── README.md ├── main.tf ├── modules │ └── my-sub-module │ ├── README.md │ ├── main.tf │ ├── variables.tf │ └── versions.tf ├── outputs.tf ├── variables.tf └── versions.tf -
Ignore extracting versions from terraform.lock.hcl
New flag,
--lockfile, is added to control whether ignore reading.terraform.lock.hclfile in an attempt to extract the exact version of provider being used or not. Default istrue.If set to true, exact version of provider available in lock file at the time of execution will be extracted. If set to false, the version in
.tffile will be used (either exact, or a constrained version:>=,~>, ...) -
The updated order of trying to look up for .terraform-docs.yml config file, now, is:
- root of module directory
.config/folder at root of module directory- current directory
.config/folder at current directory$HOME/.tfdocs.d/
-
add output-check option for outputs
This option can be used to compare content of target file with generated output by terraform-doc and fail if different.
-
Remove
--show-all,--hide-all, and--sort-by-XXXflags. (which have been deprecated in v0.13.0)
Changelog
Features
d77324c Add new '--show all' and '--hide all' sections
d004771 Add support for generating Packer document
f46a48b Attempt looking up config file in .config folder
1450ee9 Generate submodules documents with '--recursive' flag
5256426 Ignore extracting versions from terraform.lock.hcl
25f03b4 Remove deprecated '--show-all' and '--hide-all' flags
258f460 Remove deprecated '--sort-by-XXX' flags
21eaab4 add output-check option for outputs
Bug Fixes
ab05309 Process \n as line break in --output-template flag
c14edaf Properly format indented code blocks
61cc005 Render resources without URL correctly in Markdown and Asciidoc
Chores
8a288b5 Add Scalr sponsorship
af68ca2 Add new example for MacOs Install docs
77bc780 Bump alpine to 3.14.0
dfd1256 Bump golang to 1.16.6-alpine
bb1e21a Cosmetic cleanup asciidoc module table
490644e Increase test coverage for Config
209ed66 Upgrade go dependencies
567cfcc updating how-to doc for correct Include Examples syntax
Docker images
docker pull quay.io/terraform-docs/terraform-docs:latestdocker pull quay.io/terraform-docs/terraform-docs:0.15.0
Contributors
Very special thanks to the contributors.