Files
paseo/scripts/test-support/changelog-structure.json
T
Mohamed Boudra c91948048b Lead each release with highlights in What's new, the website changelog and release notes (#9281)
Every release entry in CHANGELOG.md now leads with highlights: an unheaded
list above the first `###`. The app's What's new sheet, the website
changelog and the GitHub release body show the highlights and fold the
sections, the full record, behind one control. An entry without highlights
keeps its sections in view. docs/release.md carries the writing rules.

Installed apps fetch CHANGELOG.md from main and parse it with the parser
they shipped with, so the two heading rules are a compatibility surface:
`##` starts a release, `###` starts a section, and headings inside fenced
code are text. The app, website and release-script parsers now split an
entry the same way and each runs the shared cases in
scripts/test-support/changelog-structure.json. The release-script tests,
which no CI job ran before, are part of "Validate CI contracts".

Adds the 0.16.0-beta.1 entry (en and zh-CN) ahead of the release.
2026-11-10 17:44:57 +07:00

168 lines
3.9 KiB
JSON

{
"document": [
"# Changelog",
"",
"Text above the first release belongs to no release.",
"",
"## 4.0.0 - 2026-04-04",
"",
"- **First highlight:** One sentence. A second one. ([#1](https://example.com/1))",
"- **Nested content:** A highlight with a nested list.",
" - Nested item",
"",
" A second paragraph inside the item.",
"",
"- **Markdown example:** A fenced block whose contents look like headings.",
"",
" ```markdown",
" ## 9.9.9 - 2026-09-09",
" ### Not a section",
" ```",
"",
"```",
"## 9.9.8 - 2026-09-08",
"### Not a section either",
"```",
"",
"#### A deeper heading is not a section",
"",
"###Unspaced hashes are text",
"",
"### Added ",
"",
"- Added a thing ([#2](https://example.com/2))",
"",
"#### A sub-heading stays in its section",
"",
"~~~~",
"### Still code",
"~~~",
"## 9.9.7 - 2026-09-07",
"~~~~",
"",
"###\tChanged",
"",
"- Changed a thing",
"",
"### 修复",
"",
"- 修复了一个问题",
"",
"## 3.0.0 - 2026-03-03",
"",
"### Fixed",
"",
"- Fixed one thing",
"",
"## 3.0.0-beta.1 - 2026-03-01",
"",
"> **Notice**",
">",
"> A quoted notice opens this entry.",
"",
"A summary paragraph follows it.",
"",
"### Added",
"",
"- Added another thing",
"",
"## 2.0.0 - 2026-02-02",
"",
"- **Only a highlight:** No sections follow.",
"",
"## 1.0.0 - 2026-01-01",
"",
"Text before a heading with no title.",
"",
"###",
"",
"- The first section has no title",
""
],
"releases": [
{
"version": "4.0.0",
"date": "2026-04-04",
"highlights": [
"- **First highlight:** One sentence. A second one. ([#1](https://example.com/1))",
"- **Nested content:** A highlight with a nested list.",
" - Nested item",
"",
" A second paragraph inside the item.",
"",
"- **Markdown example:** A fenced block whose contents look like headings.",
"",
" ```markdown",
" ## 9.9.9 - 2026-09-09",
" ### Not a section",
" ```",
"",
"```",
"## 9.9.8 - 2026-09-08",
"### Not a section either",
"```",
"",
"#### A deeper heading is not a section",
"",
"###Unspaced hashes are text"
],
"sections": [
"### Added ",
"",
"- Added a thing ([#2](https://example.com/2))",
"",
"#### A sub-heading stays in its section",
"",
"~~~~",
"### Still code",
"~~~",
"## 9.9.7 - 2026-09-07",
"~~~~",
"",
"###\tChanged",
"",
"- Changed a thing",
"",
"### 修复",
"",
"- 修复了一个问题"
],
"sectionTitles": ["Added", "Changed", "修复"]
},
{
"version": "3.0.0",
"date": "2026-03-03",
"highlights": [],
"sections": ["### Fixed", "", "- Fixed one thing"],
"sectionTitles": ["Fixed"]
},
{
"version": "3.0.0-beta.1",
"date": "2026-03-01",
"highlights": [
"> **Notice**",
">",
"> A quoted notice opens this entry.",
"",
"A summary paragraph follows it."
],
"sections": ["### Added", "", "- Added another thing"],
"sectionTitles": ["Added"]
},
{
"version": "2.0.0",
"date": "2026-02-02",
"highlights": ["- **Only a highlight:** No sections follow."],
"sections": [],
"sectionTitles": []
},
{
"version": "1.0.0",
"date": "2026-01-01",
"highlights": ["Text before a heading with no title."],
"sections": ["###", "", "- The first section has no title"],
"sectionTitles": [""]
}
]
}