Repository navigation
chore: release packages - #169
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 5 minutes. View limit detailsLimit details: You’ve used the included review currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (4)
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. Comment |
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
It is a mechanically-generated release that only bumps the version and moves verified-matching changeset content into the changelog, with all consistency checks passing.
Review effort: Balanced
Findings: None
What changed in this PR
This is an automated release PR generated by the Changesets GitHub Action to publish @btravstack/[email protected]. It consumes the two pending minor changesets, bumps the package version, and folds their content into the changelog. It fits into the repo's release workflow: merging it triggers the npm publish of the new version.
Changes:
- Bumps
packages/entityversion from0.8.0to0.9.0(correct, since the highest pending bump isminor). - Prepends a
## 0.9.0entry toCHANGELOG.mddocumenting the two breaking aggregate changes (version-carrying decisions; aggregates requiring anidentityfield). - Deletes the two now-consumed changeset files.
| File | Description |
|---|---|
| packages/entity/package.json | Version bump 0.8.0 → 0.9.0, consistent with the consumed minor changesets |
| packages/entity/CHANGELOG.md | New 0.9.0 section; content matches the two deleted changesets verbatim |
| .changeset/aggregate-requires-identity.md | Removed after being folded into the changelog |
| .changeset/aggregate-carries-version.md | Removed after being folded into the changelog |
I verified: the version bump matches the two minor changesets, the changelog text is identical to the consumed changeset files (including commit hashes 1af25ee and 2370c4d), the heading format is consistent with the prior ## 0.8.0 entry, no stray 0.8.0 references remain anywhere, and all workspace dependents pin via workspace:* so no downstream version updates are needed.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
4399d0a to
d9e50be
Compare
d9e50be to
0a6e28d
Compare
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@btravstack/[email protected]
Minor Changes
1af25ee: Breaking: an aggregate's decision now carries everything a repository
needs to save it.
Entity.DecisiongainsexpectedVersion, the version the store must stillbe at, and its
eventsnow hold every event decided since the aggregatewas loaded. A chain of commands saves as one decision without losing the
earlier events; reusing an already-saved state yields a conflict, never an
overwrite.
makerequires the version:make(row, { version }).replaytakes the stream's length, andstartis version0.nothing in
toJSON(), and the package never interprets the number.To migrate, pass
{ version }to an aggregate'smake, and drop the separateversion argument from a repository's
save: readdecision.expectedVersioninstead.
Entity'smakeis unchanged.2370c4d: Breaking:
Entity.aggregatenow requires at least one field flaggedidentity: true. An aggregate root is what other aggregates reference and whata repository loads, so a field map without one is a compile error, and a
declaration that gets past the types throws while it runs.
sameIdentityAsistherefore always available on an aggregate.
To migrate, flag the aggregate's id:
id: Entity.field(SomeId, { identity: true }).Entityis unchanged: identity stays optional there.