aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md34
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.