diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f894c41..d6018741 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,96 @@ # Changelog +## v0.7.0 - 2026-09-27 + +### Added + +- *(server)* add a healthcheck command backed by a real /ready +- *(query)* let the caller bound the wait for a building vector index +- *(server)* [**breaking**] drop seqno-bounded incremental backups + +### Documentation + +- *(server)* drop a pointer to an internal log from a test header +- *(server)* drop internal ids and document paths +- drop internal task and decision ids from four modules +- state the rules in source comments instead of pointing at a local file +- *(cluster)* drop internal ids and document paths +- state design reasons instead of citing other codebases +- drop internal ids from core, modality, site theme and examples +- *(core,embed)* replace leftover document stand-ins in comments +- *(core)* drop internal ids and document paths +- *(embed)* drop internal ids and document paths +- *(modality)* drop internal ids and document paths +- *(query)* drop internal ids and document paths +- *(raft)* drop internal ids and document paths +- drop internal ids from search, replicate, swarm, wire and timeseries +- *(replicate)* stop linking a private constant from public docs +- *(storage)* state the durability invariants instead of their ids +- *(storage)* drop internal ids and document paths +- *(vector)* drop internal ids and document paths + +### Fixed + +- *(build)* keep aws-lc out of the server binary +- *(raft)* keep snapshots in a file, not in memory or the store +- *(server)* refuse MiB sizes that do not fit instead of clamping +- *(server)* refuse unknown schema enum values instead of guessing +- *(raft)* wait for leadership transfers and checkpoints to finish +- *(server)* bind the gRPC port before opening storage +- *(server)* keep the hop count of a forwarded request +- *(server,s3)* stop deleting chunks another blob still reads +- *(server)* report an unusable storage topology instead of panicking +- *(server)* roll back idle interactive transactions on a timer +- *(raft)* bound the linearizable lease read by the fence timeout +- *(cdc)* keep a slow reader registered; configure stream pacing +- *(cdc)* stream applied Raft log entries from the log's own files +- *(vector)* offline an index whose build cannot start +- *(replicate)* repair partitions at an exact raft position +- *(raft)* build snapshots from a capture at their log id +- *(core)* draw proposal ids from a fresh range per process +- *(query)* bind the TRANSFER EDGES edge variable during analysis +- *(query)* say why a temporal write is refused, without internal ids +- *(vector)* maintain replica indexes from applied entries +- *(vector)* build indexes from a tap of applied writes +- *(storage)* rebuild from what the checkpoint trees hold +- *(storage)* survive a crash inside a partition rebuild +- *(storage)* replay the embedded journal by per-partition coverage +- *(deps)* require the lsm-tree release the code needs +- *(query)* finish a vector build under writes that never pause +- *(query)* filter anonymous edges on inline properties +- *(query)* treat Windows and Unix source paths as one call site +- *(raft)* honour the limiter bypass for every write concern +- *(raft)* publish the applied index when a snapshot is installed +- *(raft)* stop without waiting on a group that is gone +- *(raft)* wait out snapshot work on shutdown +- *(storage)* [**breaking**] name the upgrade path from 0.6 stores +- *(raft)* resume and purge the raft log by per-tree apply coverage +- *(storage)* cover columnar tables in recovery and in snapshots +- *(storage)* keep the raft coverage reset tombstone below its base +- *(vector)* keep a reinserted HNSW node reachable + +### Performance + +- *(storage)* measure the apply pauses of copies and installs +- *(storage)* measure what apply coverage costs + +### Refactored + +- *(query)* pair the vector registry with its build engine + +### Testing + +- *(server)* name schema proto enums instead of their integers +- *(storage,raft)* cut power at every sync and write, and upgrade a v0.6.0 store +- reserve test ports across processes and catch failed starts +- *(integration)* name tests by behaviour, not by ids +- make the suites pass on any target dir and as root +- *(embed)* find checkpoint-shared tables by name, not inode +- *(raft)* cover log retention, failed rebuilds and interrupted installs +- *(raft)* poll for snapshot builds instead of sleeping on them +- *(raft)* pin the snapshot install's ordering guarantees +- *(raft)* cut open replication streams in the partition nemesis + ## v0.6.0 - 2026-09-23 ### Added diff --git a/Cargo.lock b/Cargo.lock index 251f3109..58d14f26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -832,7 +832,7 @@ dependencies = [ [[package]] name = "coordinode-auth" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-workspace-hack", "serde", @@ -843,7 +843,7 @@ dependencies = [ [[package]] name = "coordinode-bench" -version = "0.6.0" +version = "0.7.0" dependencies = [ "chrono", "clap", @@ -858,7 +858,7 @@ dependencies = [ [[package]] name = "coordinode-client" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-workspace-hack", "prost", @@ -872,7 +872,7 @@ dependencies = [ [[package]] name = "coordinode-cluster" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-storage", "coordinode-workspace-hack", @@ -890,7 +890,7 @@ dependencies = [ [[package]] name = "coordinode-core" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bytes", "criterion", @@ -909,7 +909,7 @@ dependencies = [ [[package]] name = "coordinode-embed" -version = "0.6.0" +version = "0.7.0" dependencies = [ "chrono", "coordinode-core", @@ -937,7 +937,7 @@ dependencies = [ [[package]] name = "coordinode-integration" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-client", "coordinode-test-fixtures", @@ -986,7 +986,7 @@ dependencies = [ [[package]] name = "coordinode-modality" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-core", "coordinode-lsm-tree", @@ -1007,7 +1007,7 @@ dependencies = [ [[package]] name = "coordinode-query" -version = "0.6.0" +version = "0.7.0" dependencies = [ "chrono", "coordinode-cluster", @@ -1040,7 +1040,7 @@ dependencies = [ [[package]] name = "coordinode-raft" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bytes", "coordinode-core", @@ -1068,7 +1068,7 @@ dependencies = [ [[package]] name = "coordinode-replicate" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-core", "coordinode-embed", @@ -1096,7 +1096,7 @@ dependencies = [ [[package]] name = "coordinode-s3" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bytes", "coordinode-core", @@ -1118,7 +1118,7 @@ dependencies = [ [[package]] name = "coordinode-search" -version = "0.6.0" +version = "0.7.0" dependencies = [ "aes-gcm 0.11.1", "coordinode-core", @@ -1140,7 +1140,7 @@ dependencies = [ [[package]] name = "coordinode-server" -version = "0.6.0" +version = "0.7.0" dependencies = [ "async-trait", "axum", @@ -1193,7 +1193,7 @@ dependencies = [ [[package]] name = "coordinode-session" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-core", "coordinode-workspace-hack", @@ -1203,7 +1203,7 @@ dependencies = [ [[package]] name = "coordinode-storage" -version = "0.6.0" +version = "0.7.0" dependencies = [ "byteorder-lite", "bytes", @@ -1239,7 +1239,7 @@ dependencies = [ [[package]] name = "coordinode-swarm" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-workspace-hack", "lz4_flex 0.14.0", @@ -1250,7 +1250,7 @@ dependencies = [ [[package]] name = "coordinode-test-fixtures" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-lsm-tree", "coordinode-storage", @@ -1260,7 +1260,7 @@ dependencies = [ [[package]] name = "coordinode-timeseries" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-core", "coordinode-modality", @@ -1275,7 +1275,7 @@ dependencies = [ [[package]] name = "coordinode-vector" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-core", "coordinode-storage", @@ -1295,7 +1295,7 @@ dependencies = [ [[package]] name = "coordinode-wire" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bytes", "coordinode-workspace-hack", diff --git a/Cargo.toml b/Cargo.toml index 95efa117..513ea82b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,7 +31,7 @@ exclude = [ ] [workspace.package] -version = "0.6.0" +version = "0.7.0" edition = "2021" rust-version = "1.90" license = "AGPL-3.0-only" diff --git a/crates/coordinode-bench/CHANGELOG.md b/crates/coordinode-bench/CHANGELOG.md index 01bfb37b..9c2a5dbc 100644 --- a/crates/coordinode-bench/CHANGELOG.md +++ b/crates/coordinode-bench/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- *(cluster)* drop internal ids and document paths + ## 0.5.2 - 2026-08-30 #### Fixed diff --git a/crates/coordinode-cluster/CHANGELOG.md b/crates/coordinode-cluster/CHANGELOG.md index ef57876c..ee70ffb7 100644 --- a/crates/coordinode-cluster/CHANGELOG.md +++ b/crates/coordinode-cluster/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- *(cluster)* drop internal ids and document paths + ## v0.6.0 - 2026-09-23 ### Documentation diff --git a/crates/coordinode-core/CHANGELOG.md b/crates/coordinode-core/CHANGELOG.md index 41f9d165..90588794 100644 --- a/crates/coordinode-core/CHANGELOG.md +++ b/crates/coordinode-core/CHANGELOG.md @@ -2,6 +2,19 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- state design reasons instead of citing other codebases +- drop internal ids from core, modality, site theme and examples +- *(core,embed)* replace leftover document stand-ins in comments +- *(core)* drop internal ids and document paths + +### Fixed + +- *(core)* draw proposal ids from a fresh range per process + ## v0.6.0 - 2026-09-23 ### Added diff --git a/crates/coordinode-embed/CHANGELOG.md b/crates/coordinode-embed/CHANGELOG.md index 10513e98..4af10df8 100644 --- a/crates/coordinode-embed/CHANGELOG.md +++ b/crates/coordinode-embed/CHANGELOG.md @@ -2,6 +2,41 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Added + +- *(query)* let the caller bound the wait for a building vector index + +### Documentation + +- *(server)* drop internal ids and document paths +- *(core,embed)* replace leftover document stand-ins in comments +- *(embed)* drop internal ids and document paths +- state the rules in source comments instead of pointing at a local file + +### Fixed + +- *(query)* bind the TRANSFER EDGES edge variable during analysis +- *(query)* say why a temporal write is refused, without internal ids +- *(vector)* maintain replica indexes from applied entries +- *(vector)* offline an index whose build cannot start +- *(vector)* build indexes from a tap of applied writes +- *(storage)* rebuild from what the checkpoint trees hold +- *(storage)* survive a crash inside a partition rebuild +- *(core)* draw proposal ids from a fresh range per process +- *(storage)* replay the embedded journal by per-partition coverage +- *(deps)* require the lsm-tree release the code needs + +### Refactored + +- *(query)* pair the vector registry with its build engine + +### Testing + +- *(embed)* find checkpoint-shared tables by name, not inode +- *(raft)* cover log retention, failed rebuilds and interrupted installs + ## v0.6.0 - 2026-09-23 ### Added diff --git a/crates/coordinode-modality/CHANGELOG.md b/crates/coordinode-modality/CHANGELOG.md index b8cf0f74..51f17230 100644 --- a/crates/coordinode-modality/CHANGELOG.md +++ b/crates/coordinode-modality/CHANGELOG.md @@ -2,6 +2,27 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Added + +- *(query)* let the caller bound the wait for a building vector index + +### Documentation + +- drop internal ids from core, modality, site theme and examples +- *(modality)* drop internal ids and document paths + +### Fixed + +- *(query)* finish a vector build under writes that never pause +- *(vector)* build indexes from a tap of applied writes +- *(deps)* require the lsm-tree release the code needs + +### Refactored + +- *(query)* pair the vector registry with its build engine + ## v0.6.0 - 2026-09-23 ### Added diff --git a/crates/coordinode-query/CHANGELOG.md b/crates/coordinode-query/CHANGELOG.md index f08027ee..27a4724a 100644 --- a/crates/coordinode-query/CHANGELOG.md +++ b/crates/coordinode-query/CHANGELOG.md @@ -2,6 +2,32 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Added + +- *(query)* let the caller bound the wait for a building vector index + +### Documentation + +- state design reasons instead of citing other codebases +- *(query)* drop internal ids and document paths + +### Fixed + +- *(query)* filter anonymous edges on inline properties +- *(query)* bind the TRANSFER EDGES edge variable during analysis +- *(query)* say why a temporal write is refused, without internal ids +- *(vector)* maintain replica indexes from applied entries +- *(query)* finish a vector build under writes that never pause +- *(vector)* offline an index whose build cannot start +- *(vector)* build indexes from a tap of applied writes +- *(query)* treat Windows and Unix source paths as one call site + +### Refactored + +- *(query)* pair the vector registry with its build engine + ## v0.6.0 - 2026-09-23 ### Added diff --git a/crates/coordinode-raft/CHANGELOG.md b/crates/coordinode-raft/CHANGELOG.md index 8f9e6441..1d663486 100644 --- a/crates/coordinode-raft/CHANGELOG.md +++ b/crates/coordinode-raft/CHANGELOG.md @@ -2,6 +2,43 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Added + +- *(server)* [**breaking**] drop seqno-bounded incremental backups + +### Documentation + +- state design reasons instead of citing other codebases +- *(raft)* drop internal ids and document paths + +### Fixed + +- *(raft)* keep snapshots in a file, not in memory or the store +- *(raft)* wait for leadership transfers and checkpoints to finish +- *(raft)* bound the linearizable lease read by the fence timeout +- *(raft)* honour the limiter bypass for every write concern +- *(raft)* publish the applied index when a snapshot is installed +- *(cdc)* stream applied Raft log entries from the log's own files +- *(raft)* stop without waiting on a group that is gone +- *(raft)* wait out snapshot work on shutdown +- *(storage)* [**breaking**] name the upgrade path from 0.6 stores +- *(replicate)* repair partitions at an exact raft position +- *(raft)* build snapshots from a capture at their log id +- *(raft)* resume and purge the raft log by per-tree apply coverage +- *(storage)* cover columnar tables in recovery and in snapshots +- *(storage)* replay the embedded journal by per-partition coverage + +### Testing + +- *(raft)* poll for snapshot builds instead of sleeping on them +- *(raft)* pin the snapshot install's ordering guarantees +- *(raft)* cut open replication streams in the partition nemesis +- make the suites pass on any target dir and as root +- *(raft)* cover log retention, failed rebuilds and interrupted installs +- *(storage,raft)* cut power at every sync and write, and upgrade a v0.6.0 store + ## v0.6.0 - 2026-09-23 ### Added diff --git a/crates/coordinode-replicate/CHANGELOG.md b/crates/coordinode-replicate/CHANGELOG.md index 1e54cd3d..b724c463 100644 --- a/crates/coordinode-replicate/CHANGELOG.md +++ b/crates/coordinode-replicate/CHANGELOG.md @@ -2,6 +2,17 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- drop internal ids from search, replicate, swarm, wire and timeseries +- *(replicate)* stop linking a private constant from public docs + +### Fixed + +- *(replicate)* repair partitions at an exact raft position + ## v0.6.0 - 2026-09-23 ### Added diff --git a/crates/coordinode-s3/CHANGELOG.md b/crates/coordinode-s3/CHANGELOG.md index 3afc8803..3a4f4b66 100644 --- a/crates/coordinode-s3/CHANGELOG.md +++ b/crates/coordinode-s3/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Fixed + +- *(server,s3)* stop deleting chunks another blob still reads + ## v0.6.0 - 2026-09-23 ### Documentation diff --git a/crates/coordinode-search/CHANGELOG.md b/crates/coordinode-search/CHANGELOG.md index 8cf6f13e..1aeaa00c 100644 --- a/crates/coordinode-search/CHANGELOG.md +++ b/crates/coordinode-search/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- drop internal ids from search, replicate, swarm, wire and timeseries + ## v0.6.0 - 2026-09-23 ### Fixed diff --git a/crates/coordinode-storage/CHANGELOG.md b/crates/coordinode-storage/CHANGELOG.md index 6664f617..ee190390 100644 --- a/crates/coordinode-storage/CHANGELOG.md +++ b/crates/coordinode-storage/CHANGELOG.md @@ -2,6 +2,44 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Added + +- *(server)* [**breaking**] drop seqno-bounded incremental backups + +### Documentation + +- *(storage)* state the durability invariants instead of their ids +- *(storage)* drop internal ids and document paths + +### Fixed + +- *(server)* report an unusable storage topology instead of panicking +- *(cdc)* stream applied Raft log entries from the log's own files +- *(vector)* maintain replica indexes from applied entries +- *(vector)* build indexes from a tap of applied writes +- *(storage)* [**breaking**] name the upgrade path from 0.6 stores +- *(replicate)* repair partitions at an exact raft position +- *(raft)* build snapshots from a capture at their log id +- *(storage)* rebuild from what the checkpoint trees hold +- *(storage)* survive a crash inside a partition rebuild +- *(storage)* keep the raft coverage reset tombstone below its base +- *(raft)* resume and purge the raft log by per-tree apply coverage +- *(storage)* cover columnar tables in recovery and in snapshots +- *(storage)* replay the embedded journal by per-partition coverage +- *(deps)* require the lsm-tree release the code needs + +### Performance + +- *(storage)* measure the apply pauses of copies and installs +- *(storage)* measure what apply coverage costs + +### Testing + +- make the suites pass on any target dir and as root +- *(storage,raft)* cut power at every sync and write, and upgrade a v0.6.0 store + ## v0.6.0 - 2026-09-23 ### Added diff --git a/crates/coordinode-swarm/CHANGELOG.md b/crates/coordinode-swarm/CHANGELOG.md index 98f3562e..8723239a 100644 --- a/crates/coordinode-swarm/CHANGELOG.md +++ b/crates/coordinode-swarm/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- drop internal ids from search, replicate, swarm, wire and timeseries + ## v0.6.0 - 2026-09-23 ### Documentation diff --git a/crates/coordinode-test-fixtures/CHANGELOG.md b/crates/coordinode-test-fixtures/CHANGELOG.md index 3f97ac3a..bd408fb3 100644 --- a/crates/coordinode-test-fixtures/CHANGELOG.md +++ b/crates/coordinode-test-fixtures/CHANGELOG.md @@ -2,6 +2,23 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- drop internal ids from search, replicate, swarm, wire and timeseries + +### Fixed + +- *(raft)* resume and purge the raft log by per-tree apply coverage +- *(deps)* require the lsm-tree release the code needs + +### Testing + +- reserve test ports across processes and catch failed starts +- make the suites pass on any target dir and as root +- *(storage,raft)* cut power at every sync and write, and upgrade a v0.6.0 store + ## 0.5.8 - 2026-09-05 #### Testing diff --git a/crates/coordinode-timeseries/CHANGELOG.md b/crates/coordinode-timeseries/CHANGELOG.md index 508e5012..45d7cb38 100644 --- a/crates/coordinode-timeseries/CHANGELOG.md +++ b/crates/coordinode-timeseries/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- drop internal ids from search, replicate, swarm, wire and timeseries +- drop internal task and decision ids from four modules +- state the rules in source comments instead of pointing at a local file + ## v0.6.0 - 2026-09-23 ### Fixed diff --git a/crates/coordinode-vector/CHANGELOG.md b/crates/coordinode-vector/CHANGELOG.md index 681c29de..3a243d3c 100644 --- a/crates/coordinode-vector/CHANGELOG.md +++ b/crates/coordinode-vector/CHANGELOG.md @@ -2,6 +2,20 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- state design reasons instead of citing other codebases +- *(vector)* drop internal ids and document paths +- drop internal task and decision ids from four modules +- state the rules in source comments instead of pointing at a local file + +### Fixed + +- *(vector)* keep a reinserted HNSW node reachable +- *(vector)* build indexes from a tap of applied writes + ## v0.6.0 - 2026-09-23 ### Documentation diff --git a/crates/coordinode-wire/CHANGELOG.md b/crates/coordinode-wire/CHANGELOG.md index 322aa1e0..7583fbfb 100644 --- a/crates/coordinode-wire/CHANGELOG.md +++ b/crates/coordinode-wire/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-09-27 + +### Documentation + +- drop internal ids from search, replicate, swarm, wire and timeseries + +### Fixed + +- *(build)* keep aws-lc out of the server binary + ## v0.6.0 - 2026-09-23 ### Fixed