# 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`).