Loading

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.

--input string[]

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 --input multiple times to supply more than one value

--config string

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-type string

Optional: Output file type. Valid

Values: "markdown" or "asciidoc". Defaults to "markdown"

Default: markdown

--hide-features string[]

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-features multiple times to supply more than one value

--output string
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

--title string
Optional: Title to use for section headers in output files. Defaults to version from first bundle
-l --log-level enum

Minimum log level.

Values: trace, debug, information, warning, error, critical, none

Default: information

-c --config-source enum

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 changes
  • breaking-changes.md — breaking changes
  • deprecations.md — deprecations
  • known-issues.md — known issues
  • highlights.md — highlighted entries (only created when at least one entry has highlight: 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