Skip to content

Add public Changelog with API & integrator changes per month#40

Open
ejntaylor wants to merge 2 commits into
mainfrom
add-changelog
Open

Add public Changelog with API & integrator changes per month#40
ejntaylor wants to merge 2 commits into
mainfrom
add-changelog

Conversation

@ejntaylor
Copy link
Copy Markdown
Contributor

Summary

  • Adds a public-facing Changelog at src/content/docs/changelog.md covering Nov 2025 → May 2026, generated by reading merged PRs from patchstack/saas and patchstack/hub and curating customer-facing changes into a monthly digest.
  • Each month carries a dedicated ### API & integrator changes section before Highlights, calling out breaking changes, behaviour changes, new endpoints, and deprecations. This was added in response to feedback that an earlier /monitor API change shipped without upfront integrator communication.
  • A top-of-page :::note[Integrating with our APIs?] callout points readers at those sections whenever they upgrade.
  • Wires the page into the Starlight sidebar (astro.config.mjs) after FAQ & troubleshooting.
  • Adds a project-scoped Claude skill at .claude/skills/changelog/SKILL.md that auto-detects initial-backfill vs incremental-update mode (via a <!-- last-updated: YYYY-MM-DD --> marker in the file) and regenerates this page from recent merged PRs.

How it was generated

886 PRs scanned across both repos over 6 months → 303 auto-dropped (deps, bots, reverts-of-bumps, infra/CI) → 309 classifier-dropped (test-only, internal observability, ADRs, scaffolding, sysadmin) → 274 customer-facing entries across 7 months → curated into ~70 monthly Highlights with the rest folded under per-month <details>Other changes</details> disclosures.

Test plan

  • npm run dev and visit /changelog/ — confirm the page renders, sidebar entry appears below FAQ, <details> blocks expand, and the :::note callout displays correctly.
  • Spot-check a handful of entries against the linked PRs to confirm the customer-voice rewrites are accurate.
  • Skim each month's API & integrator changes section — anything missed that an integrator would want flagged?
  • Confirm narrative summaries read naturally and don't duplicate the bullets below them.
  • Edit any entries that don't read right; manual edits will be preserved by the skill on future incremental runs.

🤖 Generated with Claude Code

Adds src/content/docs/changelog.md covering Nov 2025 → May 2026,
generated by reading merged PRs from patchstack/saas and patchstack/hub
and curating customer-facing changes into a monthly digest. Each month
calls out API/breaking/behaviour changes in a dedicated section before
the highlights, so integrators get upfront visibility into changes that
affect their integrations.

Wires the page into the Starlight sidebar after FAQ and adds a
project-scoped Claude skill (.claude/skills/changelog/SKILL.md) that
auto-detects initial vs incremental mode and regenerates this page from
recent merged PRs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderbuds
Copy link
Copy Markdown

coderbuds Bot commented May 18, 2026

Comprehensive, well-structured changelog generation skill with clear workflows and doc templates.

🎯 Quality: 69% Average · 📦 Size: Extra Large — strongly consider breaking this down

📈 This month: Your 51st PR — above team average · Averaging Good

See how your team is trending →

@netlify
Copy link
Copy Markdown

netlify Bot commented May 18, 2026

Deploy Preview for deluxe-meerkat-8daf24 ready!

Name Link
🔨 Latest commit 0e473a3
🔍 Latest deploy log https://app.netlify.com/projects/deluxe-meerkat-8daf24/deploys/6a0c870395e89b0008cab86f
😎 Deploy Preview https://deploy-preview-40--deluxe-meerkat-8daf24.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@ejntaylor
Copy link
Copy Markdown
Contributor Author

image

Addresses review feedback that the page felt too busy and that breaking
changes weren't sufficiently separated.

Skill changes (.claude/skills/changelog/SKILL.md):

- Cap Highlights at 4-6 bullets (was 6-10). Don't repeat entries already
  in the API & integrator changes section above.
- Restructure the API & integrator changes section into four sub-headers
  in fixed order: Breaking, Behaviour changes, Additive, Deprecations.
  Omit empty sub-headers. Bullets no longer repeat the label inline.
- Pure documentation entries (e.g. "OpenAPI schema added for X") now
  route to Additive instead of "Other changes / Improved".
- Add a third mode: breaking-change fast-path. Takes a list of PR URLs
  (typically from the daily breaking-change workflow), customer-voice
  rewrites them, and appends to the current month's Breaking sub-header.
  Surfaces mis-labeled PRs to the caller rather than silently demoting
  them into Behaviour changes.
- Distinguish interactive (user-driven) mode from automated CI mode:
  interactive keeps the draft -> review -> write handshake, automated
  writes directly and lets the workflow's PR review replace per-entry
  review.

Changelog (src/content/docs/changelog.md):

- Reformat the May 2026 section to demonstrate the new sub-header layout.
  Older months left in their original format -- they get rebuilt naturally
  on the next incremental run.

Workflows (.github/workflows/):

- changelog-weekly.yml: Mon 08:00 UTC cron, calls the skill in
  incremental mode, opens a PR for review (changelog/auto-weekly).
- changelog-breaking.yml: daily 09:00 UTC cron, scans saas + hub for
  PRs labeled changelog:breaking merged in the last 24h, calls the skill
  in fast-path mode, opens a PR for review (changelog/auto-breaking).

Both workflows invoke the skill via headless claude --print so the
rewriting logic stays in one place. Untrusted PR titles/URLs are plumbed
through env vars (not interpolated into shell run scripts directly) and
printf with double-quoted expansion is used in place of unquoted-heredoc
substitution to remove command-injection paths. GITHUB_OUTPUT uses a
random heredoc marker to avoid PR-title-as-EOF collisions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@devlob
Copy link
Copy Markdown

devlob commented May 19, 2026

/review

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.

3 participants