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.
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>stringrequired-
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
--configstring-
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
--outputstring- 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-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
--skip-private-repositories- Skip cloning private repositories
-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
--skip-private-repositories- Skip cloning private repositories
Filenames follow changelog add and changelog note rules, for example:
- Add:
{pr}.yaml(or{pr}-{pr}.yamlwhen 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