Skip to content

docs: add CHANGELOG, automate release notes, refresh README#97

Open
coderdan wants to merge 2 commits into
mainfrom
docs/changelog
Open

docs: add CHANGELOG, automate release notes, refresh README#97
coderdan wants to merge 2 commits into
mainfrom
docs/changelog

Conversation

@coderdan
Copy link
Copy Markdown
Contributor

@coderdan coderdan commented May 29, 2026

Adds a CHANGELOG.md (the repo had none), automates changelog/release-notes upkeep, and refreshes the stale README.

CHANGELOG

  • New CHANGELOG.md in Keep a Changelog format, with 0.25.0 seeded and 0.24.0/0.23.0/0.22.0 backfilled from git history.
  • An [Unreleased] section is the place contributors add notes.

Release-notes automation

  • scripts/changelog-release.mjs runs inside the existing version npm lifecycle hook (neon bump … && node scripts/changelog-release.mjs && git add .). On npm version it promotes [Unreleased] to a dated entry and updates the compare links — so the tagged release commit always carries an up-to-date CHANGELOG. No release.yml changes needed.
  • scripts/changelog-extract.mjs prints a version's section; the release workflow's main job feeds it to softprops/action-gh-release via body_path, so GitHub release notes come straight from the CHANGELOG (falls back to a CHANGELOG link if the section is missing — never blocks a release).
  • Both scripts are defensive (skip cleanly on missing version/section/already-promoted) and were tested locally against a simulated 0.26.0 bump (empty + populated [Unreleased], idempotency, missing-version).

README

  • Point consumers at the renamed @cipherstash/stack package (formerly Protect.js).
  • Local setup now uses npx stash auth login instead of the brew-installed Rust stash CLI.
  • Replace the "no changelog automation" note with the new flow.

Validation note

The version-hook promotion is exercised by any npm version (including a release dry run). The body_path release-notes wiring only runs on a real publish, so it'll be first exercised on the next actual release.

(0.25.0 was released manually; its notes were added by hand. This makes the next release automatic.)

Seed a Keep a Changelog-format CHANGELOG.md with the upcoming 0.25.0
entry and backfill the recent 0.22.0, 0.23.0, and 0.24.0 releases from
git history. Notes the pre-1.0 convention that breaking changes ship as
minor bumps.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 29, 2026

Warning

Review limit reached

@coderdan, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 13 minutes and 17 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b86c62e0-e218-4ad5-81aa-2effecaf4089

📥 Commits

Reviewing files that changed from the base of the PR and between 88a969c and 8ba00b2.

📒 Files selected for processing (6)
  • .github/workflows/build.yml
  • CHANGELOG.md
  • README.md
  • package.json
  • scripts/changelog-extract.mjs
  • scripts/changelog-release.mjs
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/changelog

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

Comment @coderabbitai help to get the list of available commands and usage tips.

- Add an [Unreleased] section + maintenance note to CHANGELOG.md.
- scripts/changelog-release.mjs promotes [Unreleased] to a dated entry
  during the existing 'version' npm lifecycle hook (staged by its
  trailing 'git add .'), so the tagged commit always carries an updated
  CHANGELOG. Defensive: skips cleanly on missing version / section /
  already-promoted so a release is never blocked.
- scripts/changelog-extract.mjs prints a version's section; the release
  workflow's main job uses it as the GitHub release notes body
  (body_path), falling back to a CHANGELOG link if absent.
- README: document the automation, the @cipherstash/stack rename, and
  'npx stash auth login' for local setup.
@coderdan coderdan changed the title docs: add CHANGELOG and backfill recent versions docs: add CHANGELOG, automate release notes, refresh README May 29, 2026
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