changelog render cli command
docs-builder changelog render [options]
Generate markdown or asciidoc files from changelog bundle files.
To create bundle files, use changelog bundle cli command. For details and examples, go to Publish changelogs.
The render command automatically discovers and merges .amend-*.yaml files with their parent bundle. For more information, go to changelog bundle-amend cli command.
The changelog render command does not use rules.publish for filtering. Filtering must be done at bundle time using rules.bundle. For how the directive differs, see the {changelog} directive syntax reference.
--inputstring[]-
Required: Bundle input(s) in format "bundle-file-path|changelog-file-path|repo|link-visibility" (use pipe as delimiter). To merge multiple bundles, separate them with commas. Only bundle-file-path is required. link-visibility can be "hide-links" or "keep-links" (default). Use "hide-links" for private repositories; when set, all PR and issue links for each affected entry are hidden (entries may have multiple links via the prs and issues arrays). Paths support tilde (~) expansion and relative paths.
Repeatable: pass
--inputmultiple times to supply more than one value --configstring-
Optional: Path to the changelog.yml configuration file. Defaults to 'docs/changelog.yml'
Constraints: symbolic links not allowed, must exist, extensions: yml, yaml, supports
~home expansion --file-typestring-
Optional: Output file type. Valid
Values: "markdown" or "asciidoc". Defaults to "markdown"
Default:
markdown --hide-featuresstring[]-
Filter by feature IDs (comma-separated), or a path to a newline-delimited file containing feature IDs. Can be specified multiple times. Entries with matching feature-id values will be commented out in the output.
Repeatable: pass
--hide-featuresmultiple times to supply more than one value --outputstring- Optional: Output directory for rendered files. Defaults to current directory
--[no-]subsections-
Optional: Group entries by area/component in subsections. For breaking changes with a subtype, groups by subtype instead of area. Defaults to false
Default:
false --titlestring- Optional: Title to use for section headers in output files. Defaults to version from first bundle
-l--log-levelenum-
Minimum log level.
Values: trace, debug, information, warning, error, critical, none
Default:
information -c--config-sourceenum-
Override the configuration source: local, remote
Values: local, remote, embedded
--[no-]skip-private-repositories- Skip cloning private repositories
The default output (--file-type markdown) generates multiple files:
index.md— features, enhancements, bug fixes, security updates, documentation changes, regressions, and other changesbreaking-changes.md— breaking changesdeprecations.md— deprecationsknown-issues.md— known issueshighlights.md— highlighted entries (only created when at least one entry hashighlight: true)
--file-type asciidoc generates a single file with all sections in order: security updates, bug fixes, highlights, new features and enhancements, breaking changes, deprecations, known issues, documentation, regressions, and other changes. The asciidoc output uses attribute references for links (for example, {repo-pull}NUMBER[#NUMBER]).
Changelog entries can reference multiple pull requests and issues via the prs and issues array fields. All links are rendered inline:
* Fix ML calendar event update scalability issues. [#136886](https://github.com/elastic/elastic/pull/136886) [#136900](https://github.com/elastic/elastic/pull/136900)
# Render a single bundle
docs-builder changelog render \
--input "./docs/changelog/bundles/9.3.0.yaml" \
--output ./release-notes
# Render with explicit changelog dir and repo
docs-builder changelog render \
--input "~/docs/changelog/bundles/9.3.0.yaml|~/docs/changelog|elasticsearch" \
--output ~/release-notes
# Merge multiple bundles
docs-builder changelog render \
--input "./bundles/elasticsearch-9.3.0.yaml|./changelog|elasticsearch,./bundles/kibana-9.3.0.yaml|./changelog|kibana" \
--output ./merged-release-notes
# Hide links from a private repository bundle
docs-builder changelog render \
--input "./public-bundle.yaml|./changelog|elasticsearch|keep-links,./private-bundle.yaml|./private-changelog|internal-repo|hide-links" \
--output ./release-notes