Skip to content

release 0.8.0 - #50

Merged
ryanbliss merged 1 commit into
mainfrom
release/0.8.0
Aug 7, 2026
Merged

release 0.8.0#50
ryanbliss merged 1 commit into
mainfrom
release/0.8.0

Conversation

@ryanbliss

Copy link
Copy Markdown
Owner

Release PR for #49. Generated by npm run version:packages on a branch cut from main after the merge, per CONTRIBUTING.md.

Versions

The fixed runtime family moves 0.7.2 → 0.8.0 together:

Package Version
@retreejs/core 0.8.0
@retreejs/query 0.8.0
@retreejs/react 0.8.0
@retreejs/devtools 0.8.0
@retreejs/convex 0.8.0
@retreejs/react-convex 0.8.0
@retreejs/create 0.8.0

Outside the fixed group, unchanged as expected: @retreejs/react-eslint-plugin stays at 0.1.1 (versioned independently, no changeset), and @retreejs/benchmark-cli stays at 0.6.0 with its family dependencies bumped to 0.8.0 — same shape as the 0.7.2 release.

Pins

Every intra-family dependencies, devDependencies, and peerDependencies entry is re-pinned to the exact released version:

@retreejs/query          dev: @retreejs/core@0.8.0 | peer: @retreejs/core@0.8.0
@retreejs/react          dev: @retreejs/core@0.8.0 | peer: @retreejs/core@0.8.0
@retreejs/devtools       dev: @retreejs/core@0.8.0 | peer: @retreejs/core@0.8.0
@retreejs/convex         dev: @retreejs/core@0.8.0, @retreejs/query@0.8.0 | peer: @retreejs/core@0.8.0, @retreejs/query@0.8.0
@retreejs/react-convex   dev: @retreejs/convex@0.8.0 | peer: @retreejs/convex@0.8.0

No ranges survive anywhere in the family manifests. This is the first release to use the widen/re-pin step added in #49version:packages widened the peer pins to a range only while changesets computed bump types, then re-pinned them — and it is what makes this a 0.8.0 rather than a 1.0.0. Without it, the exact peer pins escalate the whole fixed family to a major.

Verification

  • npm ci then npm run version:packages — the documented flow, no manual edits.
  • npm run test917 passed.
  • npm run typecheck — clean across every package and sample.
  • npm run publish:packages -- --dry-run — the complete preflight passed:
    • Lockstep version: 0.8.0
    • Selected package intra-family pins match the lockstep version.
    • lint:packages passed for every publishable package. (publint --strict, attw --profile esm-only, Node import smoke over every entry)
    • npm publish --dry-run succeeded for all seven packages.
  • Prettier clean.

Reviewer notes

@retreejs/core's changelog carries the full entry; the other six have an empty ## 0.8.0 heading. That is a side effect of suppressing the peer escalation: the dependents are released by the fixed group rather than because of a dependency bump, so changesets emits no "Updated dependencies" line for them. Previous releases showed those lines. Cosmetic, but it is a visible difference from 0.7.2 — worth a look if you'd rather they read differently.

Behavior changes shipping in this minor (from the #49 changeset, repeated here since this is the release):

  • ReactiveNode.onChanged now runs before the node's dependency and @select refresh rather than after.
  • An impure trapped @select getter runs fewer times per flush, so its notification count can differ.

After merge

Publishing is deliberately manual and does not happen on merge. Run the Release workflow on main:

gh workflow run release.yml --ref main

Consumes the @select transaction and dependency-collection changeset from
#49. The fixed runtime family moves 0.7.2 -> 0.8.0 together, with every
intra-family dependency, devDependency, and peerDependency re-pinned to the
exact released version.

@retreejs/react-eslint-plugin is versioned independently and is unchanged at
0.1.1. @retreejs/benchmark-cli stays at 0.6.0 with its family dependencies
bumped, matching the 0.7.2 release.

Generated by npm run version:packages. Verified with npm run test (917),
npm run typecheck, and npm run publish:packages -- --dry-run, whose preflight
confirmed the lockstep version, the exact intra-family pins, the publish-shape
gates, and a successful dry run of all seven packages.
@ryanbliss
ryanbliss merged commit 0a81625 into main Aug 7, 2026
3 checks passed
@ryanbliss
ryanbliss deleted the release/0.8.0 branch August 7, 2026 00:35
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