diff --git a/CHANGELOG.md b/CHANGELOG.md index 66cfb7c..1cb04ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [0.4.6] - 2026-06-19 +## [0.4.7] - 2026-06-19 + +### Changed + +- **Bumped to peat-mesh 0.9.0-rc.43 + peat-protocol 0.9.0-rc.26**, bringing the + attachment-delivery robustness work into a runnable node: + - **Inbound-accepted peers register into `known_peers`** (peat-mesh#261) — a + single dial now suffices between two directly-connected peers; a + one-directional `PEAT_NODE_PEERS` no longer silently drops attachments. + - **Provider gossip** (`peat/blob-announce/1`, peat-mesh#262) — "who holds + blob X" propagates across the mesh, so a node can fetch a blob from a + holder it discovered rather than only the original sender. + - **Distribution/file-transfer implementation relocated to peat-mesh** + (peat#992) and the **ADR-071 interest-driven convergence seam** (peat#991, + opt-in; default behavior unchanged). No peat-node source change — the + distribution API is consumed through peat-protocol's re-export. ### Added diff --git a/Cargo.lock b/Cargo.lock index b1e3cf0..1ab1583 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3915,9 +3915,9 @@ dependencies = [ [[package]] name = "peat-mesh" -version = "0.9.0-rc.40" +version = "0.9.0-rc.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8c72a87dba6ae90f9abd8ffc57ae7ff086f03ec4a62b2a0437c4062f79f2c87" +checksum = "9f89c487db281e3c3e6c67bb1d5f5a479f098eb4ee7a1cc036c2043e670172fa" dependencies = [ "aes-gcm", "anyhow", @@ -3959,7 +3959,7 @@ dependencies = [ [[package]] name = "peat-node" -version = "0.4.5" +version = "0.4.7" dependencies = [ "aes-gcm", "anyhow", @@ -4001,9 +4001,9 @@ dependencies = [ [[package]] name = "peat-protocol" -version = "0.9.0-rc.25" +version = "0.9.0-rc.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3349273039d47c85a41581ef599d472455a0b4c0cefc4273413180eda059e65c" +checksum = "a8d43dd71f86f7bb5c45453c05b976d17dfedd4333be07b044e72541fe7f2314" dependencies = [ "anyhow", "argon2", @@ -4043,9 +4043,9 @@ dependencies = [ [[package]] name = "peat-schema" -version = "0.9.0-rc.25" +version = "0.9.0-rc.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f3ff2f8ada9a00f103a4b136f4c2b3b97e970a71b8aae1ce5fbbd20c95bbf7" +checksum = "0934021fdf9ccb8ffaf8034c3cb4f5d69f9c8b8d79b6bbe3d9e7c0230f726c0e" dependencies = [ "chrono", "prost", @@ -6493,7 +6493,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 6e02eef..bc08ba2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ resolver = "2" [package] name = "peat-node" -version = "0.4.6" +version = "0.4.7" edition = "2021" authors = ["Kit Plummer "] license = "Apache-2.0" @@ -119,14 +119,14 @@ path = "src/main.rs" # # The `kubernetes` feature gates this PR's `KubernetesDiscovery` wiring # (EndpointSlice watch); it's additive on top of rc.40's surface. -peat-mesh = { version = "=0.9.0-rc.40", features = ["automerge-backend", "kubernetes"] } +peat-mesh = { version = "=0.9.0-rc.43", features = ["automerge-backend", "kubernetes"] } # File distribution substrate (PRD-006). FileDistribution trait + IrohFileDistribution. # rc.17 picks up peat-mesh rc.25 (persistent multiplexed sync streams, # peat#935 / ADR-063). rc.16 picked up peat-mesh rc.24 (formation_handshake # → &dyn QuicMeshConnection, peat#932); rc.15 was the ADR-062 Phase 2 # consumer-side IrohMeshTransport deletion + direct-iroh-dep drop (peat#926). -peat-protocol = { version = ">=0.9.0-rc.25, <0.9.1", features = ["automerge-backend"] } +peat-protocol = { version = ">=0.9.0-rc.26, <0.9.1", features = ["automerge-backend"] } # P2P networking — pinned to match peat-mesh's exact iroh pin # (peat#923 / peat#924). peat-mesh and peat-node MUST share an iroh diff --git a/crates/peat-cli/Cargo.toml b/crates/peat-cli/Cargo.toml index 66d6a61..f8e4e9b 100644 --- a/crates/peat-cli/Cargo.toml +++ b/crates/peat-cli/Cargo.toml @@ -32,7 +32,7 @@ tempfile = "3" # workspace can't end up with two peat-mesh / iroh versions in one process # (iroh has process-global crypto + ALPN registries that explode under # version skew, see peat#923/#924). -peat-mesh = { version = "=0.9.0-rc.40", features = ["automerge-backend"] } +peat-mesh = { version = "=0.9.0-rc.43", features = ["automerge-backend"] } peat-protocol = { version = ">=0.9.0-rc.24, <0.9.1", features = ["automerge-backend"] } # peat-schema runtime type registry. Floor bumped to rc.22 — the ADR-066 # hierarchy rename (peat#957) renames `platoon_id`→`cohort_id` on diff --git a/src/attachments/inbox.rs b/src/attachments/inbox.rs index d38364d..625fbbd 100644 --- a/src/attachments/inbox.rs +++ b/src/attachments/inbox.rs @@ -159,6 +159,7 @@ mod tests { started_at: chrono::Utc::now(), status: "distributing".to_string(), cancelled_at: None, + collection: None, node_statuses: HashMap::new(), } }