Skip to content

Commit 3909733

Browse files
teovlclaude
andcommitted
docs(changelog): prepare 1.11.1 — NAT-reliable transfer (held for review)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent f0786fd commit 3909733

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,37 @@ project uses [Semantic Versioning](https://semver.org/).
77
Detailed per-release notes are on the
88
[GitHub Releases page](https://github.com/TeoSlayer/pilotprotocol/releases).
99

10+
## [Unreleased]
11+
12+
Reliable P2P data transfer across NAT. Tag intentionally held for review.
13+
14+
### Added
15+
- **Chunked, ACK'd, resumable file transfer (`TypeFileStream`).** `pilotctl
16+
send-file` now streams files in 48 KiB chunks with per-chunk ACKs, an
17+
end-to-end SHA-256 integrity check, and automatic resume from the last
18+
contiguous byte after an interrupted transfer. Replaces the single
19+
atomic frame that stalled large transfers on any non-trivial path.
20+
Backward compatible: falls back to the legacy `TypeFile` path when the
21+
receiver is too old to answer the stream handshake. `--no-stream` forces
22+
the legacy path.
23+
- **`pilotctl prefer-direct <peer>`** and **`send-file --prefer-direct`**
24+
drop a peer's tunnel + cached resolution so the next dial re-runs the
25+
full resolve + NAT hole-punch flow and prefers the direct path.
26+
- `send-file` reports `transport`, `sha256`, and `throughput_mbps`; adds
27+
`--timeout`.
28+
29+
### Fixed
30+
- **NAT traversal now actually establishes (and holds) a direct path.** The
31+
relay→direct upgrade sent a one-way probe that a stateful NAT/firewall
32+
always dropped, so peers stayed on the beacon relay indefinitely. The
33+
daemon now runs a beacon-coordinated hole-punch and immediately probes
34+
the peer's real address to promote the path, retrying every 15 s (was
35+
5 min). Result on the dual-NAT rig: relay→direct in ~8 s, held through a
36+
50 MB transfer, ~7–15× the relay throughput.
37+
- **Dual-NAT key-exchange convergence.** Key exchange is now sent over both
38+
the direct and relay paths, so two NAT'd peers reconverge in ~1 RTT
39+
instead of waiting 28 s–3 min for blackhole detection.
40+
1041
## [1.11.2] - 2026-06-15
1142

1243
### Added

0 commit comments

Comments
 (0)