Add gfm output format for changelog render#3272
Merged
Merged
Conversation
reakaleek
approved these changes
May 11, 2026
2 tasks
lcawl
added a commit
that referenced
this pull request
May 12, 2026
lcawl
added a commit
that referenced
this pull request
May 12, 2026
lcawl
added a commit
that referenced
this pull request
May 12, 2026
cotti
added a commit
that referenced
this pull request
May 14, 2026
* Add changelog render --dropdowns * Update changelog render date handling (#3260) * Fix list indentation * Improve changelog render for asciidoc (#3262) * Improve changelog render asciidoc output * Remove definition lists in favour of subsections * Update src/services/Elastic.Changelog/Rendering/Asciidoc/DeprecationsAsciidocRenderer.cs Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Move updates from render.md to cmd-render.md * Refresh cli schema * Add changelog render --no-descriptions * Add gfm output format for changelog render (#3272) * Reconcile render docs * Refresh cli-schema.json * Address CodeRabbit review - Document --no-descriptions in cmd-render.md options and add an example entry; the flag existed in the XML doc and cli-schema.json but was missing from the user-facing page. - Drop a trailing backslash from the first shell example so the block copy/pastes correctly. - Strengthen the GFM hide-descriptions test: assert Collector.Errors after the second render and check both lines of the multi-line description in each pass so multi-line regressions are caught. Deferred CodeRabbit suggestions (with reason): - ConfigureAwait(false) on the new GFM awaits: not used anywhere else in src/services/Elastic.Changelog/ (zero usages); applying it only to the new code would create more drift than it removes. - Extract helpers from ChangelogGfmRenderer.RenderAsync / RenderEntriesByArea to lower branch count: the sibling per-type renderers (BreakingChangesMarkdownRenderer, etc.) follow the same pattern; refactoring just the new file would be inconsistent and is out of scope for this PR. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Felipe Cotti <felipe.cotti@elastic.co> Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Relates to #3057
AI implementation summary
Gfmwith proper attributes--file-type gfmoption🚀 Usage
Users can now generate GitHub-ready changelog markdown with:
docs-builder changelog render \ --input "./bundles/1.10.0.yaml" \ --file-type gfm \ --output ./github-releaseThis produces a clean
changelog.mdfile perfect for copying into GitHub releases.🔧 Key Improvements Over Standard Markdown
changelog.mdinstead of multiple files### Features and enhancements(no anchor brackets)--dropdowns,--hide-features, etc.)The implementation is minimal, follows established patterns, maintains backward compatibility, and includes comprehensive test coverage. Teams can now easily generate clean markdown for their GitHub releases without the docs-builder specific formatting.
Steps for testing
I tested this command as follows:
/path/to/GitHub/docs-builder/.artifacts/publish/docs-builder/release/docs-builder changelog render \ --input "/path/to/GitHub/kibana/docs/releases/kibana/9.3.0.yaml" \ --file-type gfm \ --output ./docs/release-notes/The command generates a
changelog.mdfile that contains content like this:Generative AI disclosure
Tool(s) and model(s) used: composer-2, claude-4-sonnet-thinking