Skip to main content

changelog.md for @push.rocks/smartvpn

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