NOTES:
- validate: The number of files check has been removed to match the latest Terraform Registry ingress logic (#381)
BUG FIXES:
- generate: Prevented incorrect attribute paths with nested attributes that contain multiple attributes (#380)
BUG FIXES:
- validate: Fixed issue with provider name not defaulting to directory (#376)
BUG FIXES:
- migrate: Ensured idempotency of template files when command is ran multiple times (#364)
- generate: Prevented automatic
id
attribute behaviors under blocks (#365)
BUG FIXES:
- generate: fixed a bug where attribute titles were not being generated for nested object attributes (#357)
- generate: fixed a bug where the
plainmarkdown
function did not output plain URLs (#361)
BREAKING CHANGES:
- generate: the
plainmarkdown
function now removes all markdown elements/formatting to render the output as plain text (#332) - schemamd: The
schemamd
package has moved tointernal/schemamd
and can no longer be imported (#354) - functionmd: The
functionmd
package has moved tointernal/functionmd
and can no longer be imported (#354)
FEATURES:
- validate: Added support for Provider-defined Function documentation to all checks (#341)
- validate: Added
InvalidDirectoriesCheck
which checks for valid provider documentation folder structure (#341) - validate: Added
MixedDirectoriesCheck
which throws an error if both legacy documentation and registry documentation are found (#341) - validate: Added
NumberOfFilesCheck
which checks the number of provider documentation files against the registry limit (#341) - validate: Added
FileSizeCheck
which checks the provider documentation file size against the registry limit (#341) - validate: Added
FileExtensionCheck
which checks for valid provider documentation file extensions (#341) - validate: Added
FrontMatterCheck
which checks the YAML frontmatter of provider documentation for missing required fields or invalid fields (#341) - validate: Added
FileMismatchCheck
which checks the names/number of provider documentation files against the provider schema (#341)
ENHANCEMENTS:
- migrate: Added
--provider-name
flag to override the default provider name when any file names that contain provider name prefixes are removed during migration (#349)
BUG FIXES:
- migrate: use relative paths (from provider directory) instead of absolute paths for migrated code templates (#330)
- migrate: fixed a bug where documentation files with provider name prefixes were migrated to templates directory as-is, causing
generate
to create duplicate templates (#349) - generate: fixed a bug where incorrect attribute titles were being generated for certain nested schemas (#350)
FEATURES:
- generate: Add support for Provider-defined Function documentation (#328)
- migrate: Add support for Provider-defined Function documentation (#328)
ENHANCEMENTS:
- validate: Add
functions
to list of allowed template and rendered website subdirectories (#328)
BREAKING CHANGES:
- generate: templates using
printf
with eithercodefile
ortffile
to render code examples in markdown will need to switch to using those functions directly. For example, switch the following template code:{{printf "{{codefile \"shell\" %q}}" .ImportFile}}
to{{codefile "shell" .ImportFile}}
(#300)
FEATURES:
- migrate: Added new
migrate
subcommand that migrates existing provider docs using the rendered website source directories (website/docs/
or/docs/
) to aterraform-plugin-docs
-supported templates directory. (#314)
ENHANCEMENTS:
- generate: Add
provider-schema
flag to pass in a file path to a provider schema JSON file, allowing the command to skip building the provider and calling Terraform CLI (#299)
BUG FIXES:
- generate: fix
no such file or directory
error when runninggenerate
with no existing rendered website directory. (#296) - generate: fix incorrect rendering of example and import files for providers with no docs templates or with generic fallback templates. (#300)
ENHANCEMENTS:
- generate: Prevent files and subdirectories in the rendered website directory that are not directly managed by
tfplugindocs
from being deleted during generation (#267) - validate: Add
cdktf
to list of allowed rendered website subdirectories (#267)
BREAKING CHANGES:
- generate: The
legacy-sidebar
flag has been removed without replacement. It implemented no logic and is not necessary with Terraform Registry based documentation (#258)
NOTES:
- This Go module has been updated to Go 1.19 per the Go support policy. Any consumers building on earlier Go versions may experience errors. (#231)
ENHANCEMENTS:
- generate: Added
provider-dir
flag, which enables the command to be run from any directory (#259)
BUG FIXES:
- dependencies:
github.com/hashicorp/terraform-exec
dependency upgraded tov0.18.1
to avoid causing acceptance test failures whenterraform-plugin-sdk
orterraform-plugin-testing
are in use (#226)
NOTES:
- This Go module has been updated to Go 1.18 per the Go support policy. Any consumers building on earlier Go versions may experience errors (#199)
ENHANCEMENTS:
- schemamd: Nested attributes are now correctly grouped in "optional", "required" and "read-only" (#163).
BUG FIXES:
- template functions:
title
now capitalizes each word in the input string, instead of upper-casing them (#165).
BUG FIXES:
- template data: A regression was introduced in #155 making template data field
HasExample
andHasImport
always true (#162).
NEW FEATURES:
- template functions: Added
lower
,upper
andtitle
(#162).
ENHANCEMENTS:
- Added documentation for all the template functions and template data fields (#162).
NEW FEATURES:
- cmd/tfplugindocs: Additional CLI argument
ignore-deprecated
allows to skip deprecated resources and data-sources when generating docs (#154).
BUG FIXES:
- cmd/tfplugindocs: Pass through filepaths for
examples
andimport
to allow use ofHasExample
andHasImport
template helpers in custom templates (#155). - cmd/tfplugindocs: Fixed issue with the generation of title and reference links, when nested attributes go too deep (#56).
BUG FIXES:
- cmd/tfplugindocs: Do not error when schema not found, issue log warning (#151).
BUG FIXES:
- cmd/tfplugindocs: Allow single word resources to use templates (#147).
- cmd/tfplugindocs: Pass in correct provider name for data-source and resource schema lookup when overidden with
rendered-provider-name
flag (#148).
ENHANCEMENTS:
- cmd/tfplugindocs: Expose
RenderedProviderName
to templates (#149).
NEW FEATURES:
- cmd/tfplugindocs: Additional CLI arguments
provider-name
,rendered-provider-name
,rendered-website-dir
,examples-dir
,website-temp-dir
, andwebsite-source-dir
. These allow to further customise generated doc (#95).
ENHANCEMENTS:
- cmd/tfplugindocs: Implemented usage output (i.e.
--help
) forgenerate
andvalidate
commands (#95).
BUG FIXES:
- cmd/tfplugindocs: Updated version of hc-install in response to change in HashiCorp Release API sending back a different
Content-Type
header. This was causing failures when the tool attempted to install Terraform. (#135)
ENHANCEMENTS:
- template functions: Added
split
to help separating a string into substrings (#70).
BUG FIXES:
- cmd/tflugindocs: Support for schemas containing empty nested attributes or empty nested blocks (#99, #134).
- schemamd: Attribute
ID
is considered "Read Only", unless there's a description defined, in which case it's handled like any other attribute in the schema (#46, #134).
ENHANCEMENTS:
- cmd/tfplugindocs: Use existing Terraform CLI binary if available on PATH, otherwise download latest Terraform CLI binary (#124).
- cmd/tfplugindocs: Added
tf-version
flag for specifying Terraform CLI binary version to download, superseding the PATH lookup (#124).
BUG FIXES:
- cmd/tfplugindocs: Swapped
.Type
and.Name
resource and data source template fields so they correctly align (#44). - schemamd: Switched attribute name rendering from bold text to code blocks so the Terraform Registry treats them as anchor links (#59).
NOTES:
- dependencies:
github.com/hashicorp/terraform-exec
dependency has been updated to matchterraform-plugin-sdk
, which replaced the removedtfinstall
package withgithub.com/hashicorp/hc-install
. This will resolve Go build errors for projects that import bothterraform-plugin-docs
andterraform-plugin-sdk
.