Skip to content

Commit efca9c6

Browse files
authored
docs: prepare 1.11 changelog and release content review (#15236)
Complete and clarify the 1.11 changelog, grouping accessibility and command changes by what readers are trying to do. Contributor credits and the existing Regression fixes membership are preserved, and dependency versions follow the committed lockfile. Add the review-release-content project skill. It checks release claims, stable backports and supporting documentation links before highlights or the release post are written. Links are checked for agreement with the claim, not only for the presence of an anchor.
1 parent fd40c94 commit efca9c6

5 files changed

Lines changed: 189 additions & 25 deletions

File tree

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
name: review-release-content
3+
description: Review a Quarto release changelog for completeness, placement and wording, and prepare website highlights or a release blog handoff before release. Use for release content preparation, rather than building or publishing a release.
4+
---
5+
6+
# Review release content
7+
8+
Prepare the requested Quarto release content with verified claims. Derive the version, release scope and editorial emphasis from the current request and repository state.
9+
10+
Choose the scope from the request:
11+
12+
- For a changelog audit, check completeness across the release range and preserve entry identities while editing.
13+
- For highlights or a preliminary blog draft, use the changelog as input and verify the selected claims. A full omission audit is needed only when requested or when the source cannot support the draft.
14+
- For destination edits or a finished blog post, use the destination's own workflow and skills. This skill supplies release evidence and the handoff.
15+
16+
## Establish the review scope
17+
18+
Read `.claude/rules/changelog.md` in full before editing the changelog. It is the source of truth for changelog structure and style, including its Backports section. Read the applicable release checklist in `dev-docs/` for context when preparing website or announcement content; executing the release is a separate task.
19+
20+
Identify the target `news/changelog-{version}.md`, intended release branch or candidate, previous stable release, and relevant commit range. Inspect local changes and upstream freshness before selecting a base. Record the refs and commits actually reviewed; do not assume the local default branch represents the candidate.
21+
22+
Preserve a baseline of entry identities and contributor credits before reorganizing the changelog. Existing local release assessments can supply context, but their conclusions need current evidence before reuse.
23+
24+
## Verify and edit the changelog
25+
26+
Compare landed changes across the release range with the changelog, not just the URLs already present. Use history, PR diffs, bundled engine changelogs and dependency configuration to find omissions. Include changes that affect users or supported developer workflows; distinguish shipped dependencies from experiments and build spikes. Check whether the merge deliberately omitted an entry before adding it.
27+
28+
For new or materially rewritten claims, establish the landed implementation and exact scope. Verify linked PRs are merged and their changes belong to the reviewed release. An open issue can track broader work than its landed fix: assess the narrow claim rather than treating issue closure as proof.
29+
30+
For claims involving bundled extensions, metadata, localization, dependencies or accessibility tooling, consult the matching sources in [references/cli-guidance.md](references/cli-guidance.md). Read only the guidance needed to resolve the claim.
31+
32+
### Regression fixes and backports
33+
34+
`Regression fixes` signals fixes also backported to stable. A bug introduced in an older version is not sufficient evidence for placement there.
35+
36+
- Before adding or moving an entry into this section, verify the stable backport is merged, using the stable history/changelog and backport PR where available. An open backport PR or backport label is insufficient.
37+
- Preserve existing membership during editorial reorganization unless evidence warrants a correction. Put fixes without a merged stable backport in the appropriate regular section.
38+
- Follow the rules' separate stable changelog structure when the requested work includes a stable changelog. Main and stable entries have different placement.
39+
- Apply the same-cycle regression exclusion from the changelog rules; a fix to an unreleased change normally needs no separate entry.
40+
41+
Group by reader concern: keyboard and screen-reader changes belong in Accessibility; command failures belong under the affected command even if their implementation touched extensions. Sort references within their own repository namespace, keeping external engine references distinct from CLI issue numbers.
42+
43+
Write the user-visible symptom or capability in plain language. Trim mechanisms and repro detail while retaining compatibility consequences, affected formats, options and translation keys needed by users. Verify external credits against contribution history; reused tests or retained commits can justify attribution beyond the final PR author.
44+
45+
For bundled-tool platform requirements, distinguish each binary's requirement from the full product's rendering support. Name whether evidence comes from configuration, documentation, binary inspection or execution.
46+
47+
## Prepare highlights and announcement material
48+
49+
When requested, read [references/website-and-blog.md](references/website-and-blog.md). Select highlights from verified release changes and the previous stable release, including shipped backports. Scale the announcement to the actual release; choose stories because they matter to readers rather than aiming for a fixed number of highlights.
50+
51+
## Verify and hand off
52+
53+
When editing the changelog, check the resulting diff against the baseline:
54+
55+
- Account for every original entry and contributor credit, using counts per reference plus credit so repeated references remain distinguishable. Explain intentional removals.
56+
- List additions and their landed evidence. Check section hierarchy, reference ordering and any changed Regression fixes membership.
57+
58+
For all content work, run `git diff --check` for tracked edits and parse drafted or edited Markdown with an available Markdown parser. Check documentation links and anchors against the relevant sources; HTTP 200 alone does not establish prerelease content availability.
59+
60+
Report what changed, the evidence, unresolved claims and the exact checks run. Separate content verification from runtime, installer or release-candidate testing.
61+
62+
For work spanning repositories, save the report and requested drafts or handoff prompts in a location supplied by the user or established by repository conventions. If neither exists, choose a review directory in the current workspace and report its location and whether its files are tracked or ignored. Keep reusable guidance in this skill and version-specific facts in the review bundle.
63+
64+
Completion means the requested content is prepared, changes are accounted for, and unresolved publication dependencies are explicit. Commit when requested. Release publication, workflow dispatches and edits in another repository require authority from the user's task; preparing content does not grant that authority.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
interface:
2+
display_name: "Review Quarto Release Content"
3+
short_description: "Verify changelogs and prepare release highlights"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# CLI guidance for release claims
2+
3+
Paths below are relative to quarto-cli. Use the current rules and their linked architecture documents to resolve specific claims rather than loading every rule for a content review.
4+
5+
| Claim or task | Source to consult | Why it matters |
6+
| --- | --- | --- |
7+
| Release scope or checklist changes | `.claude/rules/release-checklists.md` and the applicable `dev-docs/checklist-make-a-new-*.md` | Human release steps belong in the checklist; agent conduct belongs in the release skill. Content review does not drive publication. |
8+
| Bundled Julia engine or another extension subtree | `.claude/rules/extension-subtrees.md` | An upstream merge alone does not establish inclusion in Quarto; verify the subtree import in the candidate. |
9+
| Metadata inheritance or list merging | `.claude/rules/typescript/config-merging.md` | Different merging helpers have specific exceptions; scope claims to the affected metadata contract. |
10+
| Translation keys or template visibility | `.claude/rules/rendering/localization.md` | Follow the language values through the documented pipeline before describing what templates or filters receive. |
11+
| Translation correctness requiring investigation | `.claude/skills/verify-l10n-pr/SKILL.md` | Structural checks and semantic translation review provide different evidence. A release entry review need not re-review every translation. |
12+
| Vendored HTML dependencies | `.claude/rules/formats/vendored-html-dependencies.md` | Check shipped versions and provenance; generated bundles may differ from raw upstream files through documented postprocessing. |
13+
| Pandoc template integration | `.claude/rules/formats/pandoc-templates.md` | Quarto restructures upstream templates; changes to the bundled Pandoc version alone do not describe every template change. |
14+
| Render-time axe checks | `.claude/rules/formats/axe-accessibility.md` | This integration is distinct from the hidden site-scanning command. |
15+
| Site-scanning command | `.claude/rules/dev-tools/axe-scan.md` and `dev-docs/axe-scan.md` | Verify scanner scope, baseline behavior and CI flags independently of render-time checks. |
16+
| Hidden developer commands or generated schemas | `.claude/rules/dev-tools/dev-call-commands.md` | Clarifies the developer audience and generated outputs without turning internal tooling into a public feature headline. |
17+
18+
For an extension-subtree import, inspect the landed import merge against its first parent, restricted to that subtree:
19+
20+
```sh
21+
git diff IMPORT_MERGE^1 IMPORT_MERGE -- src/resources/extension-subtrees/NAME/
22+
```
23+
24+
Substitute the merge commit and subtree name. An unscoped `git show` of the intermediate subtree squash can compare different repository roots and produce a misleading whole-repository diff.
25+
26+
If a claim needs fresh runtime evidence, read `.claude/rules/testing/overview.md` and the relevant test-type rules before running focused tests. Use `.claude/skills/quarto-preview-test/SKILL.md` when the requested verification concerns preview or live reload. These are conditional verification paths, not mandatory release-content checks.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Website highlights and blog preparation
2+
3+
## Locate the content and its rules
4+
5+
The website repository is [quarto-dev/quarto-web](https://github.com/quarto-dev/quarto-web). Unreleased website content lives on its `prerelease` branch; use that branch for the target release's highlights, documentation and authoring instructions. Resolve its current commit when reviewing and record it so the evidence remains reproducible.
6+
7+
Resolve other destination repositories from the current release checklist and configured git remotes. If the user supplies a checkout, verify its repository identity and branch rather than relying on its folder name.
8+
9+
For research and drafting, use upstream repository files at the relevant branch or commit through GitHub's API or raw source access. Fetch project instructions, highlights, guides and examples this way when no checkout is supplied. Record the reviewed refs; stable website pages alone cannot establish unreleased behavior. This work does not require finding or creating a local clone.
10+
11+
A local checkout is needed for destination edits or rendering. Use one provided by the user or identified by the workspace's repository tooling. Ask for a location only when those actions are required and no checkout is known. Read its project instructions, especially branch routing, documentation style and freeze rules, and compare with current upstream content to avoid duplicating completed documentation.
12+
13+
### Website rules
14+
15+
Read these sources from quarto-web's reviewed `prerelease` ref before preparing edits or a website handoff. Upstream links below follow their named branches; resolve those branches to commits when recording evidence.
16+
17+
- [Website workflow](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/rules/quarto-web-workflow.md): shared corrections target `main` first and are ported to `prerelease`; upcoming-version changes target `prerelease`. Source edits can invalidate computational freezes even when only prose or includes change. Use its engine-aware freeze procedure and look for existing shared partials before repeating content across pages.
18+
- [Docs authoring](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/rules/docs-authoring.md): version callouts for substantial new features, format identifiers, UI controls, and headings versus example labels.
19+
- [Image rules](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/rules/images-alt-text.md) and [style guide](https://github.com/quarto-dev/quarto-web/blob/prerelease/_style-guide.md): website link syntax, image purpose, `fig-alt`, and keeping shown example code in sync with rendered output. Check image alt attributes in rendered HTML, including content hidden from axe scans.
20+
21+
Use the [axe baseline rules](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/rules/axe-baseline.md) only when the task touches a scan baseline or an intentional accessibility example. Read the [screenshot skill](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/skills/screenshot/SKILL.md) and its visual references when producing documentation screenshots. Read the [release-merge skill](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/skills/release-merge/SKILL.md) and its [merge reference](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/skills/release-merge/references/release-merge.md) when an authorized task includes the release-time merge; content preparation should only identify that dependency.
22+
23+
Highlights belong in `docs/prerelease/{version}/_highlights.qmd` in quarto-web's [prerelease content directory](https://github.com/quarto-dev/quarto-web/tree/prerelease/docs/prerelease). Inspect its include callers and version page to understand where the copy appears. The technical CLI changelog and promotional highlights serve different readers.
24+
25+
### Blog rules
26+
27+
Quarto release posts publish in [posit-dev/open-source-website](https://github.com/posit-dev/open-source-website), under `content/blog/quarto-{major}-{minor}/`, rather than quarto-web. Confirm the destination against the current release checklist and blog guidance. Read quarto-web's [blog-post skill](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/skills/blog-post/SKILL.md) and its [Release Announcements reference](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/skills/blog-post/references/post-types.md#release-announcements).
28+
29+
In the destination repository, read the [blog instructions](https://github.com/posit-dev/open-source-website/blob/main/content/blog/CLAUDE.md), [authoring guide](https://github.com/posit-dev/open-source-website/blob/main/content/blog/_authoring-guide.md) and [archetype](https://github.com/posit-dev/open-source-website/blob/main/archetypes/blog.md). Those sources govern metadata, scaffolding, rendering and validation; quarto-web supplies the Quarto editorial conventions. Read the [thumbnail guide](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/skills/blog-post/references/thumbnail-guide.md) and, for its Typst path, the [Typst thumbnail reference](https://github.com/quarto-dev/quarto-web/blob/prerelease/.claude/skills/blog-post/references/typst-thumbnail.md) only when creating the image. Check source and rendered post together, and carry pending documentation-promotion links into the handoff.
30+
31+
## Choose and substantiate the story
32+
33+
Compare the release with the previous stable version, including intervening stable patches. Distinguish a newly introduced capability from improvements to an existing format, execution engine or option. Features backported to stable can merit coverage without being exclusive to the new release.
34+
35+
Keep an accelerated release's reason prominent when supported by the release context. Give substantial sections to consequential author-facing improvements; place smaller changes in Other Highlights. Keep hidden experimental commands and internal build details in technical notes unless the audience needs them.
36+
37+
Preserve upgrade consequences: metadata merging, stricter validation, changed styling variables or DOM contracts, and platform requirements can matter more than another feature bullet. Scope accessibility claims to the shipped behavior; individual fixes do not establish general WCAG conformance. Performance claims need measurements.
38+
39+
Use exact option names and configuration placement from implementation or shipped documentation. Distinguish outputs such as visible captions and alternative text, and ordinary blocks from cross-referenceable blocks. Run examples before describing their results; otherwise leave them as proposed examples with verification pending.
40+
41+
## Documentation and deliverables
42+
43+
Map each highlighted claim to existing documentation and identify only the gaps needed to support it. Before declaring a gap, follow the page's includes and shared partials: a section and its anchor may live outside the page source. Verify prerelease sources and anchors locally or at the relevant upstream ref. Use website-native links in highlights and absolute public documentation URLs in a cross-site blog post. Track which links require documentation promotion before publication.
44+
45+
Before selecting a supporting link, read its section and included partials and confirm that it agrees with the highlighted behavior, version and output format, including syntax, numbering and cross-reference prefixes where applicable. Link and anchor existence do not establish agreement. Resolve contradictions through the destination's branch workflow, or provide self-contained verified guidance and record the shared correction separately. Every selected supporting link must pass this content check before the handoff.
46+
47+
If the current session is best suited to CLI review, prepare proposed highlight copy, a blog outline or preliminary body, and separate prompts for the destination repositories. Each handoff should name:
48+
49+
- The version, reviewed refs, evidence bundle and draft paths.
50+
- The destination rules to read, appropriate base branch, existing docs and remaining gaps.
51+
- Claims or examples still requiring verification.
52+
- Required rendering and link checks, plus pending author, date, acknowledgements or image choices.
53+
- The authorized scope and publication steps that remain outside it.
54+
55+
Keep prompts self-contained and update commit references after committing. Identify preliminary copy as such; avoid inventing publication metadata or implying an unreleased candidate is stable.
56+
57+
When editing in the destination is authorized, follow its render and validation workflow and report any pending promotion or publication dependencies. A content review does not substitute for the release checklists or final artifact validation.

0 commit comments

Comments
 (0)