diff options
Diffstat (limited to 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3d5c3f2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,34 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.1.0] - 2026-03-24 + +### Added + +- Kademlia DHT with iterative FIND_NODE, FIND_VALUE, and STORE operations. +- NAT type detection (global, cone NAT, symmetric NAT). +- DTUN hole-punching for cone NAT traversal. +- Proxy relay for symmetric NAT nodes. +- Reliable Datagram Protocol (RDP) with 3-way handshake, sliding windows, + cumulative ACK, EACK/SACK, retransmission, and graceful close. +- Datagram transport with automatic fragmentation and reassembly. +- Ed25519 packet authentication (reject unsigned packets). +- 256-bit node IDs derived from Ed25519 public keys. +- Address advertisement for routing table updates. +- Rate limiting per source address. +- Ban list for misbehaving peers. +- Eclipse attack mitigation via bucket diversity checks. +- Persistence for routing table and DHT storage. +- Metrics collection (message counts, latency, peer churn). +- Configurable parameters via `Config` builder. +- Event-based API for async notification of DHT events. +- OpenBSD (`kqueue`) and Linux (`epoll`) support via mio. +- Examples: `join`, `put_get`, `dgram`, `rdp`, `two_nodes`, `network`, + `remote_get`, `tesserasd`. +- Integration, scale, and lossy-network test suites. +- Fuzz harness for wire protocol parsing. +- Benchmark suite. |