Skip to content

Prepare v0.21.0 release#143

Merged
mohanagy merged 1 commit into
mainfrom
release/v0.21.0
May 11, 2026
Merged

Prepare v0.21.0 release#143
mohanagy merged 1 commit into
mainfrom
release/v0.21.0

Conversation

@mohanagy
Copy link
Copy Markdown
Owner

@mohanagy mohanagy commented May 11, 2026

Summary

  • bump the package version to 0.21.0 and sync the lockfile root version
  • roll the current Unreleased context-compiler payoff notes into the v0.21.0 changelog entry
  • remove stale v0.20 wording from the README and SPI benchmark README
  • add a package metadata regression test to keep package.json and package-lock.json aligned

Verification

  • npm run typecheck
  • npm run build
  • npm run test:run
  • npm pack --dry-run

Release note

  • Create the final v0.21.0 GitHub tag after this PR merges so the tag points at the released commit on main.

Summary by CodeRabbit

  • Documentation
    • Added v0.21.0 release notes to CHANGELOG
    • Updated README and benchmark documentation to reference the latest version
    • Removed legacy version references
  • Chores
    • Bumped package version to 0.21.0

Review Change Stack

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

📝 Walkthrough

Walkthrough

This PR releases v0.21.0 by bumping the package version, creating a changelog entry, updating documentation to remove v0.20 references, and adding a test to ensure package.json and package-lock.json versions remain synchronized.

Changes

v0.21.0 Release with Version Validation

Layer / File(s) Summary
Version Bump
package.json
Package version updated from 0.20.0 to 0.21.0.
Changelog Release Section
CHANGELOG.md
New ## [0.21.0] - 2026-05-11 release section added after Unreleased header with date stamp.
Documentation Reference Updates
README.md, docs/benchmarks/2026-05-11-spi-vs-legacy/README.md
Quickstart and Common commands sections remove "v0.20" version references; benchmark README updated to reference v0.21 context-compiler payoff and runtime changes instead of v0.20.
Version Consistency Test
tests/unit/package-metadata.test.ts
Added PackageManifest.version field, PackageLock interface with version and packages fields, loadPackageLock() helper to read package-lock.json, and new test asserting that both package.json and package-lock.json top-level and root package versions match.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • mohanagy/graphify-ts#139: Both PRs modify release metadata by updating CHANGELOG entries, bumping package.json version, and updating documentation references.
  • mohanagy/graphify-ts#66: Both PRs perform release-related edits including package.json version bumps and CHANGELOG release sections.
  • mohanagy/graphify-ts#44: Both PRs bump package.json version and add corresponding CHANGELOG release entries.

Poem

🐰 A rabbit hops with glee,
Version bumped to twenty-one, you see!
Changelogs are penned with care,
Docs refreshed, versions fair,
Tests ensure they all agree!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Prepare v0.21.0 release' directly and clearly summarizes the main change—preparing the codebase for the v0.21.0 release by bumping versions, updating changelogs, and adding tests.
Description check ✅ Passed The description covers the key changes (version bump, changelog rollup, documentation updates, test additions) and lists verification steps, though it omits the standard checklist items from the template.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.21.0

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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
tests/unit/package-metadata.test.ts (1)

110-116: ⚡ Quick win

Assert version presence before equality checks for clearer failures.

If both values are unexpectedly absent, equality can still pass; explicit presence assertions make regressions easier to diagnose.

Proposed test hardening
   it('keeps package.json and package-lock.json on the same release version', () => {
     const manifest = loadPackageManifest()
     const packageLock = loadPackageLock()

+    expect(manifest.version).toBeTruthy()
+    expect(packageLock.version).toBeTruthy()
+    expect(packageLock.packages?.['']?.version).toBeTruthy()
     expect(packageLock.version).toBe(manifest.version)
     expect(packageLock.packages?.['']?.version).toBe(manifest.version)
   })
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/unit/package-metadata.test.ts` around lines 110 - 116, Add explicit
presence assertions before equality checks: ensure manifest.version and
packageLock.version and packageLock.packages?.['']?.version are defined (use
expect(...).toBeDefined()) prior to the existing expect(...).toBe(...) calls.
Update the test that uses loadPackageManifest() and loadPackageLock() (variables
manifest and packageLock) to first assert presence of these properties so
failures show missing values instead of silently passing equality checks.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@tests/unit/package-metadata.test.ts`:
- Around line 110-116: Add explicit presence assertions before equality checks:
ensure manifest.version and packageLock.version and
packageLock.packages?.['']?.version are defined (use expect(...).toBeDefined())
prior to the existing expect(...).toBe(...) calls. Update the test that uses
loadPackageManifest() and loadPackageLock() (variables manifest and packageLock)
to first assert presence of these properties so failures show missing values
instead of silently passing equality checks.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: be5d11bf-8f5b-41f1-9805-5fa7778a5ae4

📥 Commits

Reviewing files that changed from the base of the PR and between 842a0bf and 0fa96da.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • CHANGELOG.md
  • README.md
  • docs/benchmarks/2026-05-11-spi-vs-legacy/README.md
  • package.json
  • tests/unit/package-metadata.test.ts

@mohanagy mohanagy merged commit d91ca67 into main May 11, 2026
7 checks passed
@mohanagy mohanagy deleted the release/v0.21.0 branch May 11, 2026 17:47
@coderabbitai coderabbitai Bot mentioned this pull request May 11, 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