changelog unpack cli command

docs-builder changelog unpack <bundle> [options]
		

Recreate individual changelog YAML files from a bundle.

Each entry is written through the same path as changelog add (PR-anchored entries) or changelog note (entries with no PR, or products that include versions). The output is a new changelog YAML file, not a byte-for-byte copy of the original files. Bundle file.checksum values are provenance of the sourced YAML at bundle time and will not match the unpacked files.

When you pass a full bundle file, its .amend-* files are merged first, the same way changelog render does. When you pass an amendment bundle file, only that file's entries are unpacked. exclude-entries are skipped; they are name and checksum stubs, not changelog files.

Important

The bundle argument must be a local .yaml or .yml file that exists on disk.

If you download a bundle, get it from the private CDN instead of the public CDN. Bundles in the public CDN have the private pull request and issue links removed.

<bundle> string required

Local bundle or amend YAML file to unpack. The file must exist on disk; CDN locators such as /bundle/{product}/{file}.yaml are not accepted. A parent bundle is merged with sibling .amend-* bundles first (same as changelog render). An amend bundle unpacks only that file's entries; exclude-entries are skipped.

Constraints: symbolic links not allowed, must exist, extensions: yml, yaml

--config string

Path to changelog.yml. Defaults to docs/changelog.yml. Type and area validation uses this configuration.

Constraints: symbolic links not allowed, must exist, extensions: yml, yaml

--output string
Directory for written changelog files. Defaults to bundle.directory in changelog.yml, then the current directory.
--concise

Omit schema reference comments from generated YAML, matching changelog add --concise.

Default: false

-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

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

--skip-private-repositories
Skip cloning private repositories

Filenames follow changelog add and changelog note rules, for example:

  • Add: {pr}.yaml (or {pr}-{pr}.yaml when one entry cites multiple PRs)
  • Note: note-{slug}.yml

If that name differs from the bundle provenance file.name, the command emits a warning and still writes the add or note name.

docs-builder changelog unpack ./docs/releases/elasticsearch-serverless-2026-09-08.yaml \
  --output ./docs/changelog
		
docs-builder changelog unpack ./docs/releases/9.3.0.amend-1.yaml \
  --output ./docs/changelog \
  --concise