diff --git a/CHANGELOG.md b/CHANGELOG.md index bbae5d9..d479dc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [3.0.1] - 2026-05-11 + +### Fixed + +- **DHT `PublishFailing` no longer wedges the swarm for minutes at a + time.** Pulls in `iroh-gossip-rendezvous` 0.2.1, which retries + failed publishes on a 15 s cadence (default) and bypasses the + `1/(n+1)` write-probability gate while the DHT is unhealthy. Prior + to this, a single failed publish parked the bridge in + `PublishFailing` for at least `write_period` (5 min) and on + average `(n + 1) × write_period` — half an hour with a populated + active view — before the next retry attempt. Recovery is now + bounded by `failure_retry_period × consecutive_failures` and + flips back to `Ready` the instant a write lands. + ## [3.0.0] - 2026-05-11 ### Breaking diff --git a/Cargo.lock b/Cargo.lock index 8ddadce..8439a57 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -999,7 +999,7 @@ dependencies = [ [[package]] name = "donglora-bridge" -version = "3.0.0" +version = "3.0.1" dependencies = [ "anyhow", "blake3", @@ -2111,9 +2111,9 @@ dependencies = [ [[package]] name = "iroh-gossip-rendezvous" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba62c212a2f56a4d078935a958c1e4e1e91a13fde63a36f0f4640d67620fb53" +checksum = "48e5cc352847aff677cf4da3adb0e673b59cf70428866591ae25ef3eae42756d" dependencies = [ "async-trait", "blake3", diff --git a/Cargo.toml b/Cargo.toml index 3a376f2..7a6baf6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "donglora-bridge" -version = "3.0.0" +version = "3.0.1" edition = "2024" authors = ["Stephen Waits "] license = "MIT" @@ -17,7 +17,7 @@ exclude = [".jj/", ".github/"] donglora-client = "1" iroh = "=1.0.0-rc.0" iroh-gossip = "0.99" -iroh-gossip-rendezvous = "0.2" +iroh-gossip-rendezvous = "0.2.1" tokio = { version = "1", features = ["full"] } clap = { version = "4", features = ["derive"] } serde = { version = "1", features = ["derive"] }