Skip to content
Merged
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
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions libudx/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.7.2](https://github.com/Rightbracket/peeroxide/compare/libudx-v1.3.1...libudx-v1.7.2) - 2026-07-12

### Other

- NAT holepunch hardening + blind-relay server implementation ([#27](https://github.com/Rightbracket/peeroxide/pull/27))

### Fixed

- Fixed a `process_incoming` ordering bug: the relay fast-path (packet forwarding once `UdxStream::relay_to` is configured) was checked before the firewall-hook gate, permanently starving hook-based 4-tuple address adoption whenever `relay_to` was pre-wired on both sides of a pairing before either side's first packet arrived. The relay-forwarding check now runs after the firewall-hook gate.
Expand Down
2 changes: 1 addition & 1 deletion libudx/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "libudx"
version = "1.4.1"
version = "1.7.2"
edition.workspace = true
license.workspace = true
rust-version.workspace = true
Expand Down
6 changes: 6 additions & 0 deletions peeroxide-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.3.0](https://github.com/Rightbracket/peeroxide/compare/peeroxide-cli-v0.2.1...peeroxide-cli-v0.3.0) - 2026-07-12

### Other

- NAT holepunch hardening + blind-relay server implementation ([#27](https://github.com/Rightbracket/peeroxide/pull/27))

### Added

- New `peeroxide relay` subcommand: run a standalone blind-relay server (no topic discovery or DHT-node duties beyond serving relay requests).
Expand Down
6 changes: 3 additions & 3 deletions peeroxide-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ name = "peeroxide"
path = "src/main.rs"

[dependencies]
peeroxide = { path = "../peeroxide", version = "1.3.2" }
peeroxide-dht = { path = "../peeroxide-dht", version = "1.7.0" }
libudx = { path = "../libudx", version = "1.4.1" }
peeroxide = { path = "../peeroxide", version = "1.7.2" }
peeroxide-dht = { path = "../peeroxide-dht", version = "1.7.2" }
libudx = { path = "../libudx", version = "1.7.2" }
clap = { version = "4", features = ["derive"] }
clap_mangen = "0.2"
tokio = { version = "1", features = ["full", "signal"] }
Expand Down
10 changes: 10 additions & 0 deletions peeroxide-dht/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.7.2](https://github.com/Rightbracket/peeroxide/compare/peeroxide-dht-v1.3.1...peeroxide-dht-v1.7.2) - 2026-07-12

### Added

- *(secret-stream)* add SecretStream::into_split() for owned read/write halves ([#26](https://github.com/Rightbracket/peeroxide/pull/26))

### Other

- NAT holepunch hardening + blind-relay server implementation ([#27](https://github.com/Rightbracket/peeroxide/pull/27))

### Added

- `BlindRelayServer`/`BlindRelaySession` (`blind_relay` module): a real blind-relay server implementation. Previously peeroxide only implemented the blind-relay *client* side; this adds the pairing-table/session-limit/stats engine mirroring Node's `blind-relay` `Server`/`BlindRelaySession`/`BlindRelayPair`.
Expand Down
2 changes: 1 addition & 1 deletion peeroxide-dht/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
libudx = { path = "../libudx", version = "1.4.1" }
libudx = { path = "../libudx", version = "1.7.2" }
tokio = { workspace = true }
tracing = { workspace = true }
thiserror = { workspace = true }
Expand Down
6 changes: 6 additions & 0 deletions peeroxide/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.7.2](https://github.com/Rightbracket/peeroxide/compare/peeroxide-v1.3.1...peeroxide-v1.7.2) - 2026-07-12

### Other

- NAT holepunch hardening + blind-relay server implementation ([#27](https://github.com/Rightbracket/peeroxide/pull/27))

### Fixed

- Fixed a cross-crate UDX stream-id collision in `swarm.rs`'s `create_server_relay_connection`: it reused a `local_stream_id` allocated from `peeroxide`'s own stream-id counter for the blind-relay data stream, but the control connection to the relay (established via `peeroxide-dht`'s `connect_to`) allocates from a separate counter — both starting at 1 independently, they could collide on the same socket and silently clobber the control channel's UDX demux registration. Now uses the new `peeroxide_dht::hyperdht::alloc_stream_id()` to allocate from the same counter `connect_to` uses.
Expand Down
6 changes: 3 additions & 3 deletions peeroxide/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "peeroxide"
version = "1.3.2"
version = "1.7.2"
edition.workspace = true
license.workspace = true
rust-version.workspace = true
Expand All @@ -15,8 +15,8 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
peeroxide-dht = { path = "../peeroxide-dht", version = "1.7.0" }
libudx = { path = "../libudx", version = "1.4.1" }
peeroxide-dht = { path = "../peeroxide-dht", version = "1.7.2" }
libudx = { path = "../libudx", version = "1.7.2" }
tokio = { workspace = true }
tracing = { workspace = true }
thiserror = { workspace = true }
Expand Down
Loading