Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions crates/nexus-fjall/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0](https://github.com/devrandom-labs/nexus/releases/tag/nexus-fjall-v0.1.0) - 2026-07-10

### Added

- *(store)* [**breaking**] port nexus-store to no_std (core+alloc) ([#301](https://github.com/devrandom-labs/nexus/pull/301)) ([#307](https://github.com/devrandom-labs/nexus/pull/307))
- *(store)* [**breaking**] extract nexus-wake + nexus-inmemory β€” tokio out of nexus-store ([#300](https://github.com/devrandom-labs/nexus/pull/300)) ([#306](https://github.com/devrandom-labs/nexus/pull/306))
- *(nexus)* [**breaking**] port kernel to no_std (core+alloc) ([#279](https://github.com/devrandom-labs/nexus/pull/279)) ([#303](https://github.com/devrandom-labs/nexus/pull/303))
- *(fjall)* projection SnapshotStore + Hydrated hydrate return + LZ4 storage ([#164](https://github.com/devrandom-labs/nexus/pull/164))
- *(store)* phase-aware subscribe β€” Step on subscribe, decode composes ([#250](https://github.com/devrandom-labs/nexus/pull/250)) ([#278](https://github.com/devrandom-labs/nexus/pull/278))
- *(store)* [**breaking**] envelope builder ergonomics β€” one fallible terminal + .event() ([#254](https://github.com/devrandom-labs/nexus/pull/254)) ([#276](https://github.com/devrandom-labs/nexus/pull/276))
- *(store)* execute β€” one-call decide+save combinator ([#251](https://github.com/devrandom-labs/nexus/pull/251)) ([#274](https://github.com/devrandom-labs/nexus/pull/274))
- *(kernel)* [**breaking**] blanket Id impl, drop the never-read BYTE_LEN const ([#252](https://github.com/devrandom-labs/nexus/pull/252)) ([#273](https://github.com/devrandom-labs/nexus/pull/273))
- *(store)* [**breaking**] adapter-defined $all position β€” drop global_seq from the wire frame ([#266](https://github.com/devrandom-labs/nexus/pull/266)) ([#267](https://github.com/devrandom-labs/nexus/pull/267))
- *(store)* [**breaking**] symmetric CBOR ChunkWriter write-path ([#246](https://github.com/devrandom-labs/nexus/pull/246)) ([#261](https://github.com/devrandom-labs/nexus/pull/261))
- *(store)* [**breaking**] stream-id byte/typed boundary β€” concrete StreamKey at the raw layer ([#245](https://github.com/devrandom-labs/nexus/pull/245)) ([#260](https://github.com/devrandom-labs/nexus/pull/260))
- *(store)* RawEventStore::into_store β€” de-nest store construction ([#244](https://github.com/devrandom-labs/nexus/pull/244)) ([#258](https://github.com/devrandom-labs/nexus/pull/258))
- *(fjall)* implement AtomicAppend + StreamLister, prove export/import on disk ([#220](https://github.com/devrandom-labs/nexus/pull/220)) ([#242](https://github.com/devrandom-labs/nexus/pull/242))
- *(store)* [**breaking**] apply #[non_exhaustive] to public error enums for 1.0 ([#209](https://github.com/devrandom-labs/nexus/pull/209)) ([#236](https://github.com/devrandom-labs/nexus/pull/236))
- *(store)* [**breaking**] narrow pub mod wire to the minimal adapter surface ([#210](https://github.com/devrandom-labs/nexus/pull/210)) ([#235](https://github.com/devrandom-labs/nexus/pull/235))
- *(fjall)* [**breaking**] adopt ErrorId in FjallError + AppendError, drop store transitional conversion (#208, PR 3/4) ([#233](https://github.com/devrandom-labs/nexus/pull/233))
- *(store)* add frame-format-version byte to wire layout ([#205](https://github.com/devrandom-labs/nexus/pull/205)) ([#229](https://github.com/devrandom-labs/nexus/pull/229))
- global $all subscription cursor (GlobalSeq-ordered, all-streams) ([#214](https://github.com/devrandom-labs/nexus/pull/214)) ([#216](https://github.com/devrandom-labs/nexus/pull/216))
- bound subscription/read batch size ([#176](https://github.com/devrandom-labs/nexus/pull/176)) ([#192](https://github.com/devrandom-labs/nexus/pull/192))
- *(store, fjall)* [**breaking**] per-stream subscription wake registry ([#191](https://github.com/devrandom-labs/nexus/pull/191))
- *(store, fjall)* SharedSubscription (Arc-based, 'static cursor) β€” PR1 of arc-subscription refactor ([#177](https://github.com/devrandom-labs/nexus/pull/177))
- *(store, fjall, framework)* SnapshotStore + per-event GlobalSeq ([#168](https://github.com/devrandom-labs/nexus/pull/168))
- *(store)* unified state persistence and projection rebuild ([#158](https://github.com/devrandom-labs/nexus/pull/158)) ([#163](https://github.com/devrandom-labs/nexus/pull/163))
- *(store)* subscription-powered projection runner ([#157](https://github.com/devrandom-labs/nexus/pull/157)) ([#162](https://github.com/devrandom-labs/nexus/pull/162))
- *(store)* projection core traits + runner design (#155, #157) ([#161](https://github.com/devrandom-labs/nexus/pull/161))
- [**breaking**] subscriptions, allocation-free errors, EventStream API fix ([#150](https://github.com/devrandom-labs/nexus/pull/150))
- aggregate snapshots for fast rehydration ([#123](https://github.com/devrandom-labs/nexus/pull/123)) ([#142](https://github.com/devrandom-labs/nexus/pull/142))
- [**breaking**] fjall adapter, store refactoring, serde codecs, repository builder ([#138](https://github.com/devrandom-labs/nexus/pull/138))
- *(store)* [**breaking**] event store with save atomicity, schema versioning, and structured errors ([#122](https://github.com/devrandom-labs/nexus/pull/122))
- *(nexus)* added docs
- *(nexus)* removed tixlys related stuff
- *(tixlys)* added age-keygen sops

### Fixed

- *(store, fjall)* close wire/envelope schema_version asymmetry; harden decode ([#186](https://github.com/devrandom-labs/nexus/pull/186))

### Other

- *(fjall)* craftsmanship + architecture pass β€” plan_run, Partitions, configurable AllIndex ([#270](https://github.com/devrandom-labs/nexus/pull/270)) ([#271](https://github.com/devrandom-labs/nexus/pull/271))
- pin stable toolchain via rust-toolchain.toml, declare MSRV ([#204](https://github.com/devrandom-labs/nexus/pull/204)) ([#226](https://github.com/devrandom-labs/nexus/pull/226))
- extract subscription loop to nexus-store (zero-cost, no Box); unify fjall cursors ([#224](https://github.com/devrandom-labs/nexus/pull/224))
- [**breaking**] retire nexus-framework; projection is primitives, the loop is the consumer's ([#193](https://github.com/devrandom-labs/nexus/pull/193))
- *(store, fjall, framework)* [**breaking**] collapse Subscription trait pair to concrete struct ([#181](https://github.com/devrandom-labs/nexus/pull/181)) ([#190](https://github.com/devrandom-labs/nexus/pull/190))
- *(store, fjall)* [**breaking**] shrink wire.rs to pure framing; SchemaVersion + PersistedEnvelope value accessors (PR3 of 3) ([#189](https://github.com/devrandom-labs/nexus/pull/189))
- *(store)* [**breaking**] PendingEnvelope holds value newtypes; builder fallible (PR2 of 3) ([#188](https://github.com/devrandom-labs/nexus/pull/188))
- PR3 of bytes-envelope refactor β€” README, rustdoc, CLAUDE.md ([#184](https://github.com/devrandom-labs/nexus/pull/184))
- *(store, fjall, framework)* [**breaking**] stream + codec collapse + wire alignment β€” PR2 of bytes-envelope refactor ([#183](https://github.com/devrandom-labs/nexus/pull/183))
- *(store,fjall)* [**breaking**] Bytes-based envelopes with Range<u32> offsets β€” PR1 of bytes-envelope refactor ([#182](https://github.com/devrandom-labs/nexus/pull/182))
- *(store, fjall, framework)* [**breaking**] delete borrowed Subscription; promote Arc-based shape β€” PR3 of arc-subscription refactor ([#179](https://github.com/devrandom-labs/nexus/pull/179))
- *(store)* generalize EventStream with Item<'a> GAT + lending combinators (Map/TryMap/TryScan) ([#170](https://github.com/devrandom-labs/nexus/pull/170))
- *(store, framework)* split Codec into independent Encode/Decode/BorrowingDecode traits ([#169](https://github.com/devrandom-labs/nexus/pull/169))
- enforce clippy across the whole workspace ([#167](https://github.com/devrandom-labs/nexus/pull/167))
- *(store)* exhaustive stream.rs coverage + reusable adapter conformance suite ([#165](https://github.com/devrandom-labs/nexus/pull/165))
- apply Section 6 functional-first style across store and fjall ([#143](https://github.com/devrandom-labs/nexus/pull/143))
- update README with kernel documentation and verification table
- *(docs)* updated readme
- *(tixlys)* removed the last section of readme
- *(auth)* added test for fallback and doc
- *(readme)* updates status badges
- *(readme)* updated the status badges
- added github status bar
- initial nix flake setup
33 changes: 33 additions & 0 deletions crates/nexus-inmemory/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0](https://github.com/devrandom-labs/nexus/releases/tag/nexus-inmemory-v0.1.0) - 2026-07-10

### Added

- *(store)* [**breaking**] port nexus-store to no_std (core+alloc) ([#301](https://github.com/devrandom-labs/nexus/pull/301)) ([#307](https://github.com/devrandom-labs/nexus/pull/307))
- *(store)* [**breaking**] extract nexus-wake + nexus-inmemory β€” tokio out of nexus-store ([#300](https://github.com/devrandom-labs/nexus/pull/300)) ([#306](https://github.com/devrandom-labs/nexus/pull/306))
- *(store)* projection core traits + runner design (#155, #157) ([#161](https://github.com/devrandom-labs/nexus/pull/161))
- *(store)* [**breaking**] event store with save atomicity, schema versioning, and structured errors ([#122](https://github.com/devrandom-labs/nexus/pull/122))
- *(nexus)* added docs
- *(nexus)* removed tixlys related stuff
- *(tixlys)* added age-keygen sops

### Other

- [**breaking**] retire nexus-framework; projection is primitives, the loop is the consumer's ([#193](https://github.com/devrandom-labs/nexus/pull/193))
- PR3 of bytes-envelope refactor β€” README, rustdoc, CLAUDE.md ([#184](https://github.com/devrandom-labs/nexus/pull/184))
- update README with kernel documentation and verification table
- *(docs)* updated readme
- *(tixlys)* removed the last section of readme
- *(auth)* added test for fallback and doc
- *(readme)* updates status badges
- *(readme)* updated the status badges
- added github status bar
- initial nix flake setup
97 changes: 97 additions & 0 deletions crates/nexus-macros/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0](https://github.com/devrandom-labs/nexus/releases/tag/nexus-macros-v0.1.0) - 2026-07-10

### Added

- *(kernel)* [**breaking**] blanket Id impl, drop the never-read BYTE_LEN const ([#252](https://github.com/devrandom-labs/nexus/pull/252)) ([#273](https://github.com/devrandom-labs/nexus/pull/273))
- *(kernel)* [**breaking**] fold post-persist mutators into commit_persisted, de-hide driver seam ([#212](https://github.com/devrandom-labs/nexus/pull/212)) ([#237](https://github.com/devrandom-labs/nexus/pull/237))
- *(kernel)* aggregate given/when/then test fixture ([#126](https://github.com/devrandom-labs/nexus/pull/126)) ([#198](https://github.com/devrandom-labs/nexus/pull/198))
- *(store)* projection core traits + runner design (#155, #157) ([#161](https://github.com/devrandom-labs/nexus/pull/161))
- [**breaking**] subscriptions, allocation-free errors, EventStream API fix ([#150](https://github.com/devrandom-labs/nexus/pull/150))
- [**breaking**] fjall adapter, store refactoring, serde codecs, repository builder ([#138](https://github.com/devrandom-labs/nexus/pull/138))
- *(store)* [**breaking**] event store with save atomicity, schema versioning, and structured errors ([#122](https://github.com/devrandom-labs/nexus/pull/122))
- add in-memory bank account example
- *(macros)* add #[nexus::aggregate] attribute macro
- flatten nexus crate β€” kernel becomes top-level, remove old modules
- *(macros)* rewrite DomainEvent derive to work on enums with per-variant name()
- *(nexus)* added docs
- *(nexus)* removed tixlys related stuff
- *(nexus)* added custom result type
- *(nexus)* added name field for domain event
- *(macros)* added domain event macro
- *(macros)* made find fields morerobust
- *(macros)* enforced variant chck
- *(macros)* added domain event macro
- *(macros)* added query macro
- *(rusqlite)* added command macro
- *(macros)* added get attribute fnc
- *(macros)* added message macro
- *(tixlys)* added nexus-macros crate
- *(tixlys)* added age-keygen sops

### Fixed

- *(ci)* regenerate workspace-hack + add pre-commit hook
- *(kernel)* M2 β€” replace Default with AggregateState::initial()
- *(macros)* M6 β€” preserve user attributes through aggregate macro
- *(macros)* H6 β€” redacted Debug output, no internal state leakage
- *(macros)* reject empty event enums at compile time instead of unreachable
- pass nix flake check β€” elite clippy, audit ignore, trybuild refresh
- *(macros)* removed enum support
- *(macros)* fixed macro errors
- *(macros)* updated domain name macros
- *(macros)* fixed paths after macro addition

### Other

- pin stable toolchain via rust-toolchain.toml, declare MSRV ([#204](https://github.com/devrandom-labs/nexus/pull/204)) ([#226](https://github.com/devrandom-labs/nexus/pull/226))
- [**breaking**] retire nexus-framework; projection is primitives, the loop is the consumer's ([#193](https://github.com/devrandom-labs/nexus/pull/193))
- PR3 of bytes-envelope refactor β€” README, rustdoc, CLAUDE.md ([#184](https://github.com/devrandom-labs/nexus/pull/184))
- *(store, macros)* [**breaking**] delete Upcaster trait; drop U generic; load_with + save_with for with-upcaster ergonomics ([#175](https://github.com/devrandom-labs/nexus/pull/175))
- *(store, macros)* [**breaking**] slim Upcaster trait; macro gap-coverage check; drop UpcastError ([#173](https://github.com/devrandom-labs/nexus/pull/173))
- fix formatting from sed-inserted initial() methods
- *(macros)* add roundtrip expand-compile test
- *(macros)* add exhaustiveness regression test
- *(macros)* add 7 property-based tests for macro-generated aggregates
- *(macros)* add adversarial input tests + fix empty enum DomainEvent
- *(macros)* expand macro hygiene tests to 7 cases
- *(macros)* add cross-crate boundary tests
- *(macros)* add macro hygiene tests
- *(macros)* add 9 compile-failure tests for macro error messages
- add release-plz for automated crate publishing
- update README with kernel documentation and verification table
- update workspace dependencies to latest compatible versions
- *(docs)* updated readme
- *(tixlys)* fixing clippy warnings
- *(macros)* clippy warning applied
- *(nexus)* updated test cases and macros
- *(nexus)* fixing tests
- *(nexus)* removed id from domain events
- *(nexus)* updated integrations tests
- *(rusqlite)* added test for append
- *(macors)* fixed clippy errors
- *(macros)* added aggregate type macro
- *(macros)* added field type
- *(macros)* added domain_event macro
- *(macro)* added command file
- *(macros)* added parse_command
- *(macros)* added skeleton for other core types
- *(macro)* added query one
- *(macros)* added main for macro
- *(macros)* simple derive macro
- *(macros)* added macros skeleton
- *(rusqlite)* added embedded migrations
- *(tixlys)* removed the last section of readme
- *(auth)* added test for fallback and doc
- *(readme)* updates status badges
- *(readme)* updated the status badges
- added github status bar
- initial nix flake setup
37 changes: 37 additions & 0 deletions crates/nexus-postgres/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0](https://github.com/devrandom-labs/nexus/releases/tag/nexus-postgres-v0.1.0) - 2026-07-10

### Added

- *(store)* [**breaking**] port nexus-store to no_std (core+alloc) ([#301](https://github.com/devrandom-labs/nexus/pull/301)) ([#307](https://github.com/devrandom-labs/nexus/pull/307))
- *(store)* [**breaking**] extract nexus-wake + nexus-inmemory β€” tokio out of nexus-store ([#300](https://github.com/devrandom-labs/nexus/pull/300)) ([#306](https://github.com/devrandom-labs/nexus/pull/306))
- *(nexus)* [**breaking**] port kernel to no_std (core+alloc) ([#279](https://github.com/devrandom-labs/nexus/pull/279)) ([#303](https://github.com/devrandom-labs/nexus/pull/303))
- *(store)* phase-aware subscribe β€” Step on subscribe, decode composes ([#250](https://github.com/devrandom-labs/nexus/pull/250)) ([#278](https://github.com/devrandom-labs/nexus/pull/278))
- *(store)* [**breaking**] envelope builder ergonomics β€” one fallible terminal + .event() ([#254](https://github.com/devrandom-labs/nexus/pull/254)) ([#276](https://github.com/devrandom-labs/nexus/pull/276))
- *(postgres)* nexus-postgres β€” second store adapter, contract validation before freeze ([#213](https://github.com/devrandom-labs/nexus/pull/213)) ([#269](https://github.com/devrandom-labs/nexus/pull/269))
- *(store)* projection core traits + runner design (#155, #157) ([#161](https://github.com/devrandom-labs/nexus/pull/161))
- *(store)* [**breaking**] event store with save atomicity, schema versioning, and structured errors ([#122](https://github.com/devrandom-labs/nexus/pull/122))
- *(nexus)* added docs
- *(nexus)* removed tixlys related stuff
- *(tixlys)* added age-keygen sops

### Other

- [**breaking**] retire nexus-framework; projection is primitives, the loop is the consumer's ([#193](https://github.com/devrandom-labs/nexus/pull/193))
- PR3 of bytes-envelope refactor β€” README, rustdoc, CLAUDE.md ([#184](https://github.com/devrandom-labs/nexus/pull/184))
- update README with kernel documentation and verification table
- *(docs)* updated readme
- *(tixlys)* removed the last section of readme
- *(auth)* added test for fallback and doc
- *(readme)* updates status badges
- *(readme)* updated the status badges
- added github status bar
- initial nix flake setup
Loading