aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
blob: 3d5c3f22547d2b4abeb63a941725b86a6af0def3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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.