116 lines
7.1 KiB
Markdown
116 lines
7.1 KiB
Markdown
# Changelog
|
|
|
|
## 2026-03-29 - 1.10.1 - fix(test, docs, scripts)
|
|
correct test command verbosity, shorten load test timings, and document forwarding modes
|
|
|
|
- Fixes the test script by removing the duplicated verbose flag in package.json.
|
|
- Reduces load test delays and burst sizes to keep keepalive and connection tests faster and more stable.
|
|
- Updates the README to describe forwardingMode options, userspace NAT support, and related configuration examples.
|
|
|
|
## 2026-03-29 - 1.10.0 - feat(rust-server, rust-client, ts-interfaces)
|
|
add configurable packet forwarding with TUN and userspace NAT modes
|
|
|
|
- introduce forwardingMode options for client and server configuration interfaces
|
|
- add server-side forwarding engines for kernel TUN, userspace socket NAT, and testing mode
|
|
- add a smoltcp-based userspace NAT implementation for packet forwarding without root-only TUN routing
|
|
- enable client-side TUN forwarding support with route setup, packet I/O, and cleanup
|
|
- centralize raw packet destination IP extraction in tunnel utilities for shared routing logic
|
|
- update test command timeout and logging flags
|
|
|
|
## 2026-03-29 - 1.9.0 - feat(server)
|
|
add PROXY protocol v2 support for real client IP handling and connection ACLs
|
|
|
|
- add PROXY protocol v2 parsing for WebSocket connections, including IPv4/IPv6 support, LOCAL command handling, and header read timeout protection
|
|
- apply server-level connection IP block lists before the Noise handshake and enforce per-client source IP allow/block lists using the resolved remote address
|
|
- expose proxy protocol configuration and remote client address fields in Rust and TypeScript interfaces, and document reverse-proxy usage in the README
|
|
|
|
## 2026-03-29 - 1.8.0 - feat(auth,client-registry)
|
|
add Noise IK client authentication with managed client registry and per-client ACL controls
|
|
|
|
- switch the native tunnel handshake from Noise NK to Noise IK and require client keypairs in client configuration
|
|
- add server-side client registry management APIs for creating, updating, disabling, rotating, listing, and exporting client configs
|
|
- enforce client authorization from the registry during handshake and expose authenticated client metadata in server client info
|
|
- introduce per-client security policies with source/destination ACLs and per-client rate limit settings
|
|
- add Rust ACL matching support for exact IPs, CIDR ranges, wildcards, and IP ranges with test coverage
|
|
|
|
## 2026-03-29 - 1.7.0 - feat(rust-tests)
|
|
add end-to-end WireGuard UDP integration tests and align TypeScript build configuration
|
|
|
|
- Add userspace Rust end-to-end tests that validate WireGuard handshake, encryption, peer isolation, and preshared-key data exchange over real UDP sockets.
|
|
- Update the TypeScript build setup by removing the allowimplicitany build flag and explicitly including Node types in tsconfig.
|
|
- Refresh development toolchain versions to support the updated test and build workflow.
|
|
|
|
## 2026-03-29 - 1.6.0 - feat(readme)
|
|
document WireGuard transport support, configuration, and usage examples
|
|
|
|
- Expand the README from dual-transport to triple-transport support by adding WireGuard alongside WebSocket and QUIC
|
|
- Add client and server WireGuard examples, including live peer management and .conf generation with WgConfigGenerator
|
|
- Document new WireGuard-related API methods, config fields, transport modes, and security model details
|
|
|
|
## 2026-03-29 - 1.5.0 - feat(wireguard)
|
|
add WireGuard transport support with management APIs and config generation
|
|
|
|
- add Rust WireGuard module integration using boringtun and route management through client/server management handlers
|
|
- extend TypeScript client and server configuration schemas with WireGuard-specific options and validation
|
|
- add server-side WireGuard peer management commands including keypair generation, peer add/remove, and peer listing
|
|
- export a WireGuard config generator for producing client and server .conf files
|
|
- add WireGuard-focused test coverage for config validation and config generation
|
|
|
|
## 2026-03-21 - 1.4.1 - fix(readme)
|
|
preserve markdown line breaks in feature list
|
|
|
|
- Adds trailing spaces to the README feature list so each highlighted capability renders on its own line.
|
|
|
|
## 2026-03-19 - 1.4.0 - feat(vpn transport)
|
|
add QUIC transport support with auto fallback to WebSocket
|
|
|
|
- introduces a transport abstraction in the Rust daemon so client and server can operate over WebSocket or QUIC
|
|
- adds dual-mode server configuration with websocket, quic, and both transport modes plus QUIC idle timeout and listen address options
|
|
- adds client transport selection with auto mode that attempts QUIC first and falls back to WebSocket
|
|
- adds QUIC certificate hash pinning support and required Rust dependencies for QUIC and TLS
|
|
- updates TypeScript interfaces, config validation, tests, and documentation to cover the new transport modes
|
|
|
|
## 2026-03-17 - 1.3.0 - feat(tests,client)
|
|
add flow control and load test coverage and honor configured keepalive intervals
|
|
|
|
- Adds end-to-end node tests for client/server flow control, keepalive exchange, connection quality telemetry, rate limiting, concurrent clients, and disconnect tracking.
|
|
- Adds load testing with throttled proxy scenarios to validate behavior under constrained bandwidth and repeated client churn.
|
|
- Updates the Rust client to pass configured keepaliveIntervalSecs into the adaptive keepalive monitor instead of always using defaults.
|
|
|
|
## 2026-03-15 - 1.2.0 - feat(readme)
|
|
document QoS, telemetry, MTU, and rate limiting capabilities in the README
|
|
|
|
- Expand the architecture and feature overview to cover adaptive keepalive, telemetry, QoS, rate limiting, and MTU handling
|
|
- Update client and server examples to show new APIs such as getConnectionQuality(), getMtuInfo(), setClientRateLimit(), and getClientTelemetry()
|
|
- Add TypeScript interface documentation for connection quality, MTU info, enriched client statistics, and per-client telemetry
|
|
|
|
## 2026-03-15 - 1.1.0 - feat(rust-core)
|
|
add adaptive keepalive telemetry, MTU handling, and per-client rate limiting APIs
|
|
|
|
- adds adaptive keepalive monitoring with RTT, jitter, loss, and link health reporting to client statistics and management endpoints
|
|
- introduces MTU overhead calculation and oversized-packet handling support, plus client MTU info APIs
|
|
- adds token-bucket rate limiting with configurable default limits and server management commands to set, remove, and inspect per-client telemetry
|
|
- extends TypeScript client and server interfaces with connection quality, MTU, and client telemetry methods
|
|
|
|
## 2026-02-27 - 1.0.3 - fix(build)
|
|
add aarch64 linker configuration for cross-compilation
|
|
|
|
- Added rust/.cargo/config.toml to configure linker for target aarch64-unknown-linux-gnu
|
|
- Sets linker to 'aarch64-linux-gnu-gcc' to enable cross-compilation to ARM64
|
|
|
|
## 2026-02-27 - 1.0.2 - fix()
|
|
no changes detected - no code or content modifications
|
|
|
|
|
|
## 2026-02-27 - 1.0.1 - fix(release)
|
|
bump patch version (no code changes)
|
|
|
|
- No changes detected in the provided git diff
|
|
- Current package.json version is 1.0.0
|
|
- Recommend patch bump to 1.0.1 to create a release/trivial update
|
|
|
|
## 2026-02-27 - 1.0.0 - initial release
|
|
Initial commit creating the project repository and baseline files.
|
|
|
|
- Initial project scaffold and configuration
|
|
- Repository initialized with base files and metadata |