diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f894c41..6b2f8d6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,145 @@ # Changelog +## v0.7.0 - 2026-10-03 + +### Added + +- *(query)* [**breaking**] procedure catalog with typed signatures +- *(cdc)* [**breaking**] explicit retention policy and acknowledged progress per consumer +- *(vector)* remove nodes and reuse their slots beside live search +- schema claims, event-driven background work +- journal index writes, speed up the Raft path +- *(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 +- *(query)* read temporal nodes at the statement's current time +- *(embed)* run a TTL reap pass on demand +- *(modality)* insert vectors under the shared index lock +- *(storage)* report local commits on the applied feed +- *(vector)* insert through a shared borrow, concurrently with search +- *(vector)* track whether each node is live + +### 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 +- *(cypher)* describe temporal reads and unique scope in the reference +- *(embed)* resolve the RestoreError links in Database::restore +- *(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 + +- *(server)* explain the plan ExecuteCypher runs +- *(server)* report an auto-commit write conflict as retryable +- *(cdc)* refuse a resume past purged log instead of skipping +- *(restore)* [**breaking**] keep every NodeId, refuse issued ones, restore schema and indexes +- *(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)* keep undeclared properties where reads find them +- *(query)* match and write every label of a node pattern +- *(query)* find an unlabelled temporal traversal target +- *(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 +- *(raft)* settle membership and shutdown under load +- *(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 +- *(replicate)* keep heartbeats visible while their write is in flight +- keep heartbeats of a failed flush, lsm-tree 5.11.10 +- *(storage)* enforce version conditions on unwritten keys +- *(storage)* skip delete-pending files in retention stats on Windows +- *(storage)* keep the raft coverage reset tombstone below its base +- *(vector)* hand the entry point to an updated node, seed reorder at it +- *(vector)* keep node metadata at stable addresses +- *(vector)* recompute neighbour edits after a lost CAS +- *(vector)* publish layer-0 neighbour lists whole +- *(vector)* build large insert_batch in rounds +- *(vector)* publish upper-layer neighbour lists whole +- *(vector)* keep a reinserted HNSW node reachable + +### Performance + +- *(storage)* measure the apply pauses of copies and installs +- *(storage)* measure what apply coverage costs +- *(vector)* keep publication counters on their own cache lines + +### Refactored + +- *(query)* pair the vector registry with its build engine +- *(vector)* shard the id map for concurrent inserts +- *(vector)* create the node stores through a shared borrow +- *(vector)* keep node codes in the stable store +- *(vector)* keep layer-0 nodes at stable addresses +- *(vector)* keep only RaBitQ codes in the code block + +### Testing + +- *(server)* CALL listing and refusal through ExecuteCypher +- *(server)* cover version conditions through the public commit +- *(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)* prove the temporal unique reservation by its reason +- *(embed)* wait for a node to reach the HNSW graph +- *(embed)* allow expect in the traversal and label tests +- *(embed)* find checkpoint-shared tables by name, not inode +- *(raft)* cover log retention, failed rebuilds and interrupted installs +- time the watermark advance from the read it unblocks +- *(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 +- *(vector)* wait for the build queue instead of sleeping +- *(vector)* size the layer-0 replace race for miri + +### Bench + +- *(vector)* search during concurrent inserts + ## v0.6.0 - 2026-09-23 ### Added diff --git a/Cargo.lock b/Cargo.lock index 52624351..1105122b 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 = [ "serde", "tempfile", @@ -842,7 +842,7 @@ dependencies = [ [[package]] name = "coordinode-bench" -version = "0.6.0" +version = "0.7.0" dependencies = [ "chrono", "clap", @@ -856,7 +856,7 @@ dependencies = [ [[package]] name = "coordinode-client" -version = "0.6.0" +version = "0.7.0" dependencies = [ "prost", "thiserror 2.0.21", @@ -869,7 +869,7 @@ dependencies = [ [[package]] name = "coordinode-cluster" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-storage", "coordinode-workspace-hack", @@ -887,7 +887,7 @@ dependencies = [ [[package]] name = "coordinode-core" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bytes", "crc32c", @@ -908,7 +908,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", @@ -1069,7 +1069,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", @@ -1117,7 +1117,7 @@ dependencies = [ [[package]] name = "coordinode-search" -version = "0.6.0" +version = "0.7.0" dependencies = [ "aes-gcm 0.11.1", "coordinode-core", @@ -1139,7 +1139,7 @@ dependencies = [ [[package]] name = "coordinode-server" -version = "0.6.0" +version = "0.7.0" dependencies = [ "async-trait", "axum", @@ -1191,7 +1191,7 @@ dependencies = [ [[package]] name = "coordinode-session" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-core", "parking_lot", @@ -1200,7 +1200,7 @@ dependencies = [ [[package]] name = "coordinode-storage" -version = "0.6.0" +version = "0.7.0" dependencies = [ "byteorder-lite", "bytes", @@ -1237,7 +1237,7 @@ dependencies = [ [[package]] name = "coordinode-swarm" -version = "0.6.0" +version = "0.7.0" dependencies = [ "lz4_flex 0.14.0", "structured-zstd", @@ -1247,7 +1247,7 @@ dependencies = [ [[package]] name = "coordinode-test-fixtures" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-lsm-tree", "coordinode-storage", @@ -1256,7 +1256,7 @@ dependencies = [ [[package]] name = "coordinode-timeseries" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-core", "coordinode-modality", @@ -1270,7 +1270,7 @@ dependencies = [ [[package]] name = "coordinode-vector" -version = "0.6.0" +version = "0.7.0" dependencies = [ "coordinode-core", "coordinode-storage", @@ -1293,7 +1293,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 6b3f2f91..09222b57 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..ddbb8a5b 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-10-03 + +### 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..43fb1b20 100644 --- a/crates/coordinode-cluster/CHANGELOG.md +++ b/crates/coordinode-cluster/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- schema claims, event-driven background work + +### 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..bea21cc0 100644 --- a/crates/coordinode-core/CHANGELOG.md +++ b/crates/coordinode-core/CHANGELOG.md @@ -2,6 +2,26 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- *(query)* read temporal nodes at the statement's current time +- schema claims, event-driven background work +- journal index writes, speed up the Raft path + +### 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 + +- *(query)* keep undeclared properties where reads find them +- *(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..bc8d2f69 100644 --- a/crates/coordinode-embed/CHANGELOG.md +++ b/crates/coordinode-embed/CHANGELOG.md @@ -2,6 +2,57 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- *(query)* read temporal nodes at the statement's current time +- *(query)* [**breaking**] procedure catalog with typed signatures +- *(embed)* run a TTL reap pass on demand +- *(vector)* remove nodes and reuse their slots beside live search +- schema claims, event-driven background work +- journal index writes, speed up the Raft path +- *(query)* let the caller bound the wait for a building vector index + +### Documentation + +- *(cypher)* describe temporal reads and unique scope in the reference +- *(embed)* resolve the RestoreError links in Database::restore +- *(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 + +- *(server)* explain the plan ExecuteCypher runs +- *(query)* keep undeclared properties where reads find them +- *(query)* match and write every label of a node pattern +- *(query)* find an unlabelled temporal traversal target +- *(restore)* [**breaking**] keep every NodeId, refuse issued ones, restore schema and indexes +- *(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)* prove the temporal unique reservation by its reason +- *(embed)* wait for a node to reach the HNSW graph +- *(embed)* allow expect in the traversal and label tests +- *(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..e29790ce 100644 --- a/crates/coordinode-modality/CHANGELOG.md +++ b/crates/coordinode-modality/CHANGELOG.md @@ -2,6 +2,33 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- *(query)* read temporal nodes at the statement's current time +- *(vector)* remove nodes and reuse their slots beside live search +- *(modality)* insert vectors under the shared index lock +- schema claims, event-driven background work +- journal index writes, speed up the Raft path +- *(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 + +- *(restore)* [**breaking**] keep every NodeId, refuse issued ones, restore schema and indexes +- *(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..d76054dc 100644 --- a/crates/coordinode-query/CHANGELOG.md +++ b/crates/coordinode-query/CHANGELOG.md @@ -2,6 +2,46 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- *(query)* read temporal nodes at the statement's current time +- *(query)* [**breaking**] procedure catalog with typed signatures +- *(embed)* run a TTL reap pass on demand +- *(vector)* remove nodes and reuse their slots beside live search +- schema claims, event-driven background work +- journal index writes, speed up the Raft path +- *(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)* keep undeclared properties where reads find them +- *(query)* match and write every label of a node pattern +- *(query)* find an unlabelled temporal traversal target +- *(raft)* settle membership and shutdown under load +- *(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 + +### Testing + +- time the watermark advance from the read it unblocks + ## v0.6.0 - 2026-09-23 ### Added diff --git a/crates/coordinode-raft/CHANGELOG.md b/crates/coordinode-raft/CHANGELOG.md index 8f9e6441..5a7dcc1c 100644 --- a/crates/coordinode-raft/CHANGELOG.md +++ b/crates/coordinode-raft/CHANGELOG.md @@ -2,6 +2,48 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- *(query)* read temporal nodes at the statement's current time +- schema claims, event-driven background work +- journal index writes, speed up the Raft path +- *(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)* settle membership and shutdown under load +- *(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 + +- time the watermark advance from the read it unblocks +- *(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..b8248455 100644 --- a/crates/coordinode-replicate/CHANGELOG.md +++ b/crates/coordinode-replicate/CHANGELOG.md @@ -2,6 +2,25 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- *(cdc)* [**breaking**] explicit retention policy and acknowledged progress per consumer +- schema claims, event-driven background work +- journal index writes, speed up the Raft path + +### Documentation + +- drop internal ids from search, replicate, swarm, wire and timeseries +- *(replicate)* stop linking a private constant from public docs + +### Fixed + +- *(replicate)* keep heartbeats visible while their write is in flight +- keep heartbeats of a failed flush, lsm-tree 5.11.10 +- *(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..6ff7ee00 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-10-03 + +### 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..158beff2 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-10-03 + +### Documentation + +- drop internal ids from search, replicate, swarm, wire and timeseries + ## v0.6.0 - 2026-09-23 ### Fixed diff --git a/crates/coordinode-session/CHANGELOG.md b/crates/coordinode-session/CHANGELOG.md index bb8979b9..cd21f806 100644 --- a/crates/coordinode-session/CHANGELOG.md +++ b/crates/coordinode-session/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- schema claims, event-driven background work + ## v0.6.0 - 2026-09-23 ### Added diff --git a/crates/coordinode-storage/CHANGELOG.md b/crates/coordinode-storage/CHANGELOG.md index 6664f617..f9d2c5a7 100644 --- a/crates/coordinode-storage/CHANGELOG.md +++ b/crates/coordinode-storage/CHANGELOG.md @@ -2,6 +2,52 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- *(query)* read temporal nodes at the statement's current time +- *(cdc)* [**breaking**] explicit retention policy and acknowledged progress per consumer +- *(storage)* report local commits on the applied feed +- schema claims, event-driven background work +- journal index writes, speed up the Raft path +- *(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 + +- *(cdc)* refuse a resume past purged log instead of skipping +- *(storage)* enforce version conditions on unwritten keys +- *(storage)* skip delete-pending files in retention stats on Windows +- *(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..9b7acc77 100644 --- a/crates/coordinode-swarm/CHANGELOG.md +++ b/crates/coordinode-swarm/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- journal index writes, speed up the Raft path + +### 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..603210da 100644 --- a/crates/coordinode-test-fixtures/CHANGELOG.md +++ b/crates/coordinode-test-fixtures/CHANGELOG.md @@ -2,6 +2,24 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Documentation + +- drop internal ids from search, replicate, swarm, wire and timeseries + +### Fixed + +- *(raft)* settle membership and shutdown under load +- *(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..0de15450 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-10-03 + +### 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..7355f6fd 100644 --- a/crates/coordinode-vector/CHANGELOG.md +++ b/crates/coordinode-vector/CHANGELOG.md @@ -2,6 +2,54 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- *(vector)* remove nodes and reuse their slots beside live search +- *(vector)* insert through a shared borrow, concurrently with search +- *(vector)* track whether each node is live +- schema claims, event-driven background work + +### 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)* hand the entry point to an updated node, seed reorder at it +- *(vector)* keep node metadata at stable addresses +- *(vector)* recompute neighbour edits after a lost CAS +- *(vector)* publish layer-0 neighbour lists whole +- *(vector)* build large insert_batch in rounds +- *(vector)* publish upper-layer neighbour lists whole +- *(vector)* keep a reinserted HNSW node reachable +- *(vector)* build indexes from a tap of applied writes + +### Performance + +- *(vector)* keep publication counters on their own cache lines + +### Refactored + +- *(vector)* shard the id map for concurrent inserts +- *(vector)* create the node stores through a shared borrow +- *(vector)* keep node codes in the stable store +- *(vector)* keep layer-0 nodes at stable addresses +- *(vector)* keep only RaBitQ codes in the code block + +### Testing + +- *(vector)* wait for the build queue instead of sleeping +- *(vector)* size the layer-0 replace race for miri + +### Bench + +- *(vector)* search during concurrent inserts + ## v0.6.0 - 2026-09-23 ### Documentation diff --git a/crates/coordinode-wire/CHANGELOG.md b/crates/coordinode-wire/CHANGELOG.md index 322aa1e0..e88fc025 100644 --- a/crates/coordinode-wire/CHANGELOG.md +++ b/crates/coordinode-wire/CHANGELOG.md @@ -2,6 +2,21 @@ All notable changes to this crate are documented in this file. +## v0.7.0 - 2026-10-03 + +### Added + +- schema claims, event-driven background work +- journal index writes, speed up the Raft path + +### 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