Skip to content

Add changelog unpack command - #4059

Open
lcawl wants to merge 1 commit into
mainfrom
changelog-unpack
Open

Add changelog unpack command#4059
lcawl wants to merge 1 commit into
mainfrom
changelog-unpack

Conversation

@lcawl

@lcawl lcawl commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a changelog unpack command that derives changelog files from a bundle file.

Rationale

For PRs like elastic/elasticsearch#158728 where a bundle file has been created, but changelogs are not stored locally and have not been uploaded to the CDN.
Perhaps this might be an exceptional situation in the long-term, but IMO it is useful to be able to reverse-engineer changelogs from bundles.

Details

Unpack is implemented as a mapper onto changelog add / changelog note, including amend merge and docs for scrubbed public bundles.

Command: docs-builder changelog unpack <bundle.yaml> [--output] [--config] [--concise]

  • PR-anchored entries go through CreatePreparedChangelog (same writer as add, no GitHub fetch, no one-file-per-PR split).
  • Entries with no PRs or with product versions go through CreateNote.
  • # PRIVATE: sentinels are unwrapped to the underlying URL.
  • Parent bundles merge sibling .amend-* files like render. Amend inputs unpack entries only and skip exclude-entries.
  • Filenames follow add/note rules; a warning is emitted if that differs from file.name. Checksums are not restored.
  • Scrubbed public bundles that lost PRs and have no product versions fail with an error that tells you to unpack the private-side YAML.

Tests

I used this command to successfully generate changelog files from the bundles like this:

/path/to/docs-builder/.artifacts/publish/docs-builder/release/docs-builder changelog unpack ./docs/releases/elasticsearch-serverless-2026-09-08.yaml --concise

/path/to/docs-builder/.artifacts/publish/docs-builder/release/docs-builder changelog unpack ./docs/releases/cloud-serverless/elasticsearch-2026-09-08.yaml --output ./docs/changelog-temp --concise

I was then able to successfully make some edits to the changelogs, upload the changelogs to S3, and re-generate the bundles.

Generative AI disclosure

  1. Did you use a generative AI (GenAI) tool to assist in creating this contribution?
  • Yes
  • No
  1. If you answered "Yes" to the previous question, please specify the tool(s) and model(s) used (e.g., Google Gemini, OpenAI ChatGPT-4, etc.).

Tool(s) and model(s) used: Cursor Grok 4.6

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

@lcawl
lcawl marked this pull request as ready for review September 8, 2026 18:53
@lcawl
lcawl requested a review from a team as a code owner September 8, 2026 18:53
@lcawl
lcawl requested a review from reakaleek September 8, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant