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

--file-type string

Optional: Output file type. Valid

Values: "markdown", "asciidoc", or "gfm". 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

Render separated types (breaking changes, deprecations, known issues, highlights) as MyST dropdowns. Defaults to false (flattened bulleted lists). When used, each entry in separated files is rendered as a collapsible dropdown section using MyST syntax (::::{dropdown}). When it's not used, entries are rendered as flattened bulleted lists with PR/issue links inline and Impact and Action sections indented. This flag affects only markdown output; AsciiDoc output always uses its standard format.

Default: false

--[no-]no-descriptions

Hide changelog entry descriptions from output. Entry titles, PR/issue links, and Impact / Action sections remain visible. Bundle-level descriptions are unaffected. Applies to all output formats (markdown, asciidoc, gfm). Defaults to false.

Default: false

--title string
The title to use for section headers, directories, and anchors in output files. Defaults to the version in the first bundle. When omitted, ISO date targets are formatted for display the same way as the {changelog} directive (for example, 2026-05-04 becomes "May 4, 2026", 2026-05 becomes "May 2026"), while directory names and heading anchors continue to use the raw target slug. If the string contains spaces, they are replaced with dashes when used in directory names and anchors.
-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
-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
# 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

# Render with subsections and flattened format (default)
docs-builder changelog render \
  --input "./docs/changelog/bundles/9.3.0.yaml" \
  --output ./release-notes \
  --subsections

### Render with dropdown format
docs-builder changelog render \
  --input "./docs/changelog/bundles/9.3.0.yaml" \
  --output ./release-notes \
  --dropdowns

# Render as GitHub Flavored Markdown
docs-builder changelog render \
  --input "./docs/changelog/bundles/9.3.0.yaml" \
  --output ./release-notes \
  --file-type gfm

# Render without entry descriptions (titles, links, Impact/Action still shown)
docs-builder changelog render \
  --input "./docs/changelog/bundles/9.3.0.yaml" \
  --output ./release-notes \
  --no-descriptions