diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..1e07896 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,47 @@ +# 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). + +## [Unreleased] + +## [0.1.0] - 2026-08-16 + +### Added + +- **QUIC-based Layer 2 VPN Relay (`lanparty-relay`)**: + - Room-isolated virtual Layer 2 Ethernet switching over QUIC datagrams + (`quinn` / `rustls`). + - Learning switch (CAM table) for unicast frame forwarding and + broadcast/multicast flooding. + - L2 safety filters: client source MAC anti-spoofing, rogue DHCPv4/DHCPv6 + server reply filtering, IPv6 Router Advertisement suppression (including + behind extension headers), IPv6 fragment filtering, remote VLAN tag + filtering, and malformed frame rejection. + - Token-bucket rate limiting for broadcast, unknown unicast, and total client + bandwidth. + - Development TLS certificate generation helper. +- **Linux Physical Gateway Bridge (`lanparty-gateway`)**: + - Promiscuous `AF_PACKET` raw socket bridge connecting local physical LAN + networks to virtual relay rooms. + - Ingress/egress datagram budget enforcement, carrier validation, and + self-injection filtering. +- **Windows Client (`lanparty-client-win`, `lanparty-client-core`, + `lanparty-client-tap`, `lanparty-client-route`)**: + - TAP-Windows6 adapter management and Ethernet frame I/O. + - Scoped Windows IP route management: relay host route pinning, TAP default + route suppression, and interface metric configuration. + - Virtual MAC persistence and reconnect handling. + - Real-time diagnostic reporting for RTT, LAN DHCP lease state, gateway + presence, and frame flow counters. +- **Shared Infrastructure**: + - Protocol primitives (`lanparty-proto`) for datagram framing, MTU + negotiation, and safety classifications. + - Control plane (`lanparty-ctrl`) for room admission, peer lifecycle events, + and stats snapshots. + - Observability suite (`lanparty-obs`) for structured frame logging and + diagnostic formatting. + - Network address resolution utilities (`lanparty-net`).