Skip to content

feat: show complete changelog statements with classifications and filters - #476

Merged
jlitola merged 14 commits into
mainfrom
jlitola/changelog-classifications
Oct 14, 2026
Merged

jlitola merged 14 commits into
mainfrom
jlitola/changelog-classifications

Conversation

@jlitola

@jlitola jlitola commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Package changelogs currently show short note previews without complete per-statement impact evidence. CLI pkg changelog and MCP pkg_changelog now show all backend-parsed statements with available classifications, nearby sources and complete pagination.

  • --changes actionable|important|all / MCP changes filters before pagination; all is default and includes no-impact and unassessed statements. Nested wording, headings and predecessor context remain intact; uncertainty uses only backend ambiguous.
  • Compact tags use [!behavior] for action and [security fix] for should-know. Missing kinds retain [!] or [should know]; no-impact statements are plain bullets. A short legend explains the notation, with optional color and explicit uncertainty.
  • --verbatim / verbatim:true shows original full notes instead, without classification work. verbose is a deprecated alias. Timeline omission remains available; MCP body_lines retains its explicit legacy preview behavior.
  • Queries select only consumed fields. Text uses bounded quotes; JSON adds full statement/context text and per-item provenance, with raw bodies only in verbatim mode. Follow-up pages omit release metadata. JSON migration and alias/conflict rules are documented.

Validation: 567 focused tests / 2,855 assertions for the complete statement feature; the current affected formatter/CLI/MCP/parity/upgrade suite passes 165 tests / 1,013 assertions. Build, typecheck, changed-file Biome and standalone public-package validation pass. Source and built unauthenticated CLI/MCP smoke modes pass. Authenticated dev built CLI/local MCP text/JSON parity covers exact/latest/ranges, every filter, original-note aliases, timelines, empty selections and missing notes. Current tags are verified on Express 4.22.0, 4.20.0 and 5.2.1. The full live smoke harness cannot use this macOS keychain under its isolated HOME; feature checks use normal CLI authentication without exporting credentials.

Dev operation complexity: 85 exact / 88 latest-50 / 113 range, below 500; tag changes do not change selections. Express 4.18.2..5.1.0 retrieves all 271 statements; Biome 2.4.2..2.4.15 retrieves all 875 across nine pages, with filters returning 40 actionable or 62 important statements in one page. These ranges were fully assessed; pending/oversize/unparseable and arriving labels are covered by fixtures. Complete all output is larger than the previous capped previews; no speedup or cold-run claim.

The latest targeted descriptor-intent agent workload used three logical calls in 19.1s with no isolation violations. Its sourced rollback/rejected-CVE answer is an inspected trace, not a quality grade. Both public artifacts carry pending minor impact. No backend/remote MCP edits or releases. Do not merge.

Previous external review fixes wrap nested prose, attach predecessor context clearly and explain plain bullets once. The bracket-tag follow-up has clean external Opus review and an independent final check, with the stale documentation assertion count corrected. Completed plans are removed; permanent docs retain the contract and verification. Final head 732e718 passes Linux/Windows tests, build, Bun/Node20/22/24/26 compatibility and MCP package validation CI.

Preserve release-note previews while exposing backend classifications, uncertainty, source locators and coverage in CLI and MCP text and JSON. Add server-side cumulative change filters before the cap, keep timeline-only requests free of classifier work, and verify mode selections with tests and live dev parity.
Preserve note Markdown while tracking only visible formatter citations. Exclude relative link labels from source admission in both changelog and upgrade review, and clarify the coverage heading.
Avoid appending a second newline after the existing entry separator. Cover timeline and source-free classified output, and align command catalogs with the new statement view.
Gate the Sources heading and rows on the same visible citations. Cover the hidden-only URL edge case and record the completed review closure.
Keep the shipped contract, selection rules, live validation, complexity measurements and release guidance in the permanent changelog implementation documentation.
@jlitola jlitola added the enhancement New feature or request label Oct 13, 2026
Include the new changes argument in the server-level compact schema contract. This closes the sole Linux and Windows CI failure without changing runtime behavior.
Replace duplicate note previews with paged parsed statements and nearby sources. Keep original notes behind verbatim, preserve verbose as its deprecated alias, and select only consumed fields for text, JSON and timeline views. Add coverage, projection, paging and parity tests plus compatibility documentation.
@jlitola jlitola changed the title feat: add classified statements and filters to package changelogs feat: show complete changelog statements with classifications and filters Oct 14, 2026
Measure indented code relative to the statement list marker, preserving real code while wrapping continuation paragraphs and nested bullets. Label context as belonging to the following statement and add an Express-shaped regression case with rebuilt live text parity evidence.
Record the clean external review and CI evidence in permanent implementation documentation. Remove the completed working plan now that its contract, compatibility decisions and measurements are documented.
Use kind-only labels with action and information markers, and leave no-impact statements as plain bullets. Preserve uncertainty, assessment gaps and JSON evidence in the shared CLI and MCP formatter.
Clarify the compact legend for no-impact assessments, including uncertain and no-impact-only selections. Record verification in permanent docs and remove the completed follow-up plan after closing the wording finding.
Record the final built CLI measurement of 5,688 bytes after the legend wording fix.
Replace the confusing information prefix with kind-only should-know labels and bracket action kinds as [!behavior]. Preserve explicit tiers for missing kinds, backend uncertainty and plain no-impact bullets.
Transfer the completed owner follow-up evidence into changelog documentation, correct the assertion count raised in the clean final review, and remove the temporary plan.
@jlitola
jlitola marked this pull request as ready for review October 14, 2026 09:24
@jlitola
jlitola merged commit acd7174 into main Oct 14, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant