Skip to content

rfc(pnpr): release notes details from the client implementation - #63

Merged
zkochan merged 1 commit into
mainfrom
rfc/release-notes-implementation-notes
Nov 2, 2026
Merged

zkochan merged 1 commit into
mainfrom
rfc/release-notes-implementation-notes

Conversation

@zkochan

@zkochan zkochan commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Summary

Implementing pnpm's side of release notes (pnpm/pnpm#17558) found these problems in the merged RFC:

  • A hand-written summary broke intent cleanup. The publication note's summary came from pnpm publish --release-notes, added above the composed text at publish time. A later pnpm version -r cannot recompute that note's initial digest, so once the note is edited, the intents it covers are never deleted. The summary is now given to pnpm version -r --release-notes, and pnpm composes every note when versioning runs (as it already composes the changelog section) and keeps it until publish, so each published note is known in full and its digest can be checked.
  • --release-notes for one package in versioning mode replaced the composed note, which would block intent deletion forever. It now goes above the composed text; outside versioning it still gives the version note.
  • Version notes drop the version heading, both from versioning and from CHANGELOG.md, since the route names the version.
  • Publication note URLs. "Served from the server root" cannot be derived from a registry base when pnpr runs under a path prefix, so a publication entry in <name>/-/notes now carries the note's url, as the version route's Link header does.
  • Example digests. The example's version-note initialDigest was the SHA-256 of the empty string; the digests are now placeholders.

Written by an agent (Claude Code, claude-opus-5-5).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Clarified that publication metadata uses an absolute note-route URL, including when pnpr runs under a path prefix, and that the initial digest remains unchanged after edits or deletion.
    • Updated pnpm publishing guidance on changelog headings, when --release-notes applies, reporting note sources, and sending notes only to pnpr registries.
    • Clarified how hand-written summaries are provided during versioning, combined with publication or single-package version notes, and retained until publishing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 642623c8-94af-4218-a24b-75fece49298b
Commits

Reviewing files that changed from the base of the PR and between 057a5cb and 5b7d531.

Files selected for processing: 1
  • pnpr/text/0000-release-notes.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Recent review details
Context from checks skipped due to timeout: 1
  • GitHub Check: CodeRabbit
Additional comments: 1
pnpr/text/0000-release-notes.md: 1

345-347: LGTM!

Also applies to: 354-358

Walkthrough

The release-notes RFC now documents publication-note URLs and immutable initial digests. It clarifies changelog extraction, registry behavior, and how pnpm versioning composes and retains hand-written summaries.

Changes: Release notes

Layer / File(s) Summary
Publication metadata
pnpr/text/0000-release-notes.md
The example adds an absolute-path publication-note URL and explains that the initial digest remains unchanged after edits or deletion.
pnpm publishing notes
pnpr/text/0000-release-notes.md
The text clarifies changelog section boundaries, the single-package --release-notes case, note source reporting, and delivery to pnpr registries.
Version note composition
pnpr/text/0000-release-notes.md
The text describes how pnpm version -r --release-notes supplies hand-written summaries before the composed publication note, or the version note for a single-package release. It states that pnpm retains composed notes until publish.

Estimated code review effort: 1 (Trivial) | ~4 minutes

Possibly related PRs

  • pnpm/rfcs#56: Defines the release-notes contracts that this PR revises.
  • pnpm/rfcs#60: Covers related release-note publication metadata and immutable initial-digest semantics.
Merge Risk: Minimal · up to 5b7d5

The RFC consistently defines publication-note URLs and version-time summary composition. No actionable merge-blocking issue remains.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title names the RFC for pnpr release notes and says the details come from the client implementation. The raw summary and objectives match this. The PR revises the release-notes RFC: it moves the p…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the RFC for pnpr release notes and says the details come from the client implementation. The raw summary and objectives match this. The PR revises the release-notes RFC: it moves the publication-note summary to pnpm version -r --release-notes, adds a note url to publication entries, removes version headings, and replaces example initialDigest values. The title is specific and accurate enough to pass, although it does not name the individual changes.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

A rabbit reads the notes at dawn,
And finds the route where notes are drawn.
The first-text hash stays as it was,
Through edits, pauses, and because.
Hand-written lines join notes in flight,
Then wait for publish, tucked in tight.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Clarify release-note composition and publication URLs in the RFC

📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• Specify version-time note composition so edited notes do not block change-intent cleanup.
• Clarify summary placement and omit redundant version headings from version notes.
• Add publication-note URLs and replace misleading example digests with placeholders.
Diagram

graph TD
  A["Change intents"] --> B["Versioning run"] --> C["Composed notes"] --> D["Publish"] --> E["pnpr notes"] --> F["Digest check"] --> G["Intent cleanup"]
  E -->|note URL| H["Notes clients"]
Loading
High-Level Assessment

Composing the complete note during versioning fits the existing intent-verification lifecycle. Keeping the summary as a separate publish-time addition would require a separate verification scheme; the RFC's approach avoids that split.

Files changed (1) +27 / -16

Documentation (1) +27 / -16
0000-release-notes.mdClarify note lifecycle, content, and publication links +27/-16

Clarify note lifecycle, content, and publication links

• Specifies that versioning composes and retains complete notes, placing a hand-written summary above composed text without replacing it. Clarifies that version notes omit their version headings, adds a publication-note URL to the package notes response, and replaces misleading example digest values with placeholders.

pnpr/text/0000-release-notes.md

@zkochan
zkochan merged commit 51e09b4 into main Nov 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant