Skip to content

Latest commit

 

History

History
400 lines (240 loc) · 18.7 KB

File metadata and controls

400 lines (240 loc) · 18.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Node family restriction and possibility to check for probable gateway selection before connection (#5285)
  • Enable detection for bad gateways even when specifically selected (#5429)

Changed

  • Change default entry and exit points to random (#5378)
  • Enable secure DNS for requests forwarded by local resolver (#5458)

Fixed

  • [Android] Diagnostic doesn't panic because of uninitialized context (#5415)

[1.30] - 2026-05-29

Added

  • [iOS] Introduce ad-blocker. (#5227)

Fixed

  • Fix panic when restoring default routes (#5225)
  • Fix adblocker deactivation caused by remote returning embedded HTTP errors (#5302)
  • Don't reuse entry gateway when registering fails (#5379)
  • [macOS] Daemon checks against the correct ID for its own signature (#5390)

[1.29.2] - 2026-05-04

Fixed

  • [Windows] Fix missing IPv4 on mixnet tunnel adapter (#5206)

[1.29.1] - 2026-04-29

Changed

  • Switch platform to patched 2026.7-tola

[1.29.0] - 2026-04-29

Added

  • Quick connect algorithm (#5112)
  • Add TCP listener for local DNS resolver (#5113)
  • Add SOCKS5 Proxy process to implement Geo Exclusion (#5078)
  • Disable client verifications on daemon flag for debug purposes (#5148)
  • [Android] Add Geo Exclusion support via SOCKS5 Proxy (#5160)
  • Propagate fairUsage.dataUnavailable from API through to clients so a database outage no longer surfaces as a bandwidth-exceeded error (#5217)

Changed

  • [macOS] Use endpoint-security framework directly instead of parsing eslogger output (#4749)

Fixed

  • Fix false bandwidth-exceeded errors when the VPN API fair-usage database is temporarily unavailable (#5217)
  • Fix accounts incorrectly appearing inactive due to malformed API timestamp fields (#5217)
  • [iOS/macOS] Fix account summary fetch errors being silently swallowed, leaving the UI in an unresponsive state (#5217)
  • Unify VpnAccountSummary timestamp parsing through a single parse_timestamp helper that warns on malformed input. Only fair_usage.resetsOnUtc soft-fails to None; subscription and auth-method timestamps now propagate PayloadError so a bad payload fails loudly instead of silently flipping subscriptions to inactive (root cause of NYM-1156 "Requesting ZkNyms" / "Get Started" hangs on v2.22.0 iOS).
  • [iOS/macOS] Stop swallowing errors from fetchAccountSummary with try?; log a sanitized line (error type only, no raw payload string) and set accountSummaryLastFetchFailed so the UI can observe failure without parsing device logs.
  • [Linux] Add Polkit as deb and arch dependency (#5143)

[1.28.0] - 2026-04-14

Added

  • [Windows] App Split Tunnelling (#4908).
  • CLI: add command to list processes excluded from VPN tunnel: nym-vpnc split-tunnel excluded-processes (#4905)
  • [Linux] Add support for per-app split-tunneling (#5001).

Changed

  • Stream SelectedGateways via buffered selection (#5037)

Fixed

  • [macOS] Fix bug in XPC buffering between XPC and gRPC layers (#4985)

[1.27.0] - 2026-03-31

  • [macOS] XPC as transport layer between clients and daemon (#4695)
  • [macOS] Authentication layer for windows, feature gated (#4802)
  • Activate authentication layer on all desktop platforms (#4856)

Fixed

  • [macOS] XPC client stall when daemon is not running (#4973)

[1.26.0] - 2026-03-17

Added

  • [CLI] nym-vpnc account set now uses --location blockchain; aliases keep legacy --mode decentralised and --mode decentralized working.
  • [CLI] nym-vpnc account obtain-ticketbooks subcommand renamed (legacy alias decentralised-obtain-ticketbooks still works). --source (currently parsed but all sources route to smartcontract backend).

[1.25.0] - 2026-03-02

Added

  • [Windows] Authentication layer for windows, still feature gated (#4618)
  • [macOS] Add support for per-app split-tunneling (#4694)

Fixed

  • Detect time travel and sleep when obtaining remote time (#4604)

[1.24.0] - 2026-02-12

Added

  • Added privy UI feature flag (#4223)
  • Added TraceID and SpanID for the account controller commands (#4426)
  • Added mixnet tuning feature flag (#4514)
  • [Linux] Password-based authentication for clients that attempt to connect to daemon; feature gated until front-end is implemented (#4538)

Changed

  • Changed VPN API HTTP timeout from 60s to 30s. (#4604)

Fixed

  • Fix discovery propagation bug (#4226)
  • Ensure that vpn topology is refreshed periodically when connecting (#4228)
  • [Android] Bypass local DNS servers (#4347)
  • Fix gateway cache and topology cache not being invalidated when remote discovery updates are received. Note: Manual environment switching still requires daemon/app restart (#4464)

Removed

  • Removed credentials mode feature flag from code base (#4223)

Changed

  • [Android] Enable debug logs in production builds for core library (#4405)
  • [Android] Print library logs to file, in addition to the existing logcat (#4432)

[1.21.0] - 2025-12-15

Added

  • Add custom DNS setting for mobile platforms (#4106)
  • Login with signature string in addition to mnemonic (#4117)
  • SOCKS5 proxy can now be controlled via nym-vpnc (#4148)

Fixed

  • Increase the number of Windows firewall slots (#4072)
  • Enable two-hop by default (#4090)

Changed

Removed

  • CLI: remove legacy call to connect the tunnel (#4094)

[1.20.0] - 2025-12-01

Added

  • Custom DNS servers can be used, instead of the pre-defined ones. They can be set and cleared using the CLI nym-vpnc dns command (#4015)

Changed

  • Rotate wireguard keys every 1-2 weeks, if disconnected (#3788)
  • When querying for bandwidth, retry once on failure (#3922).

Fixed

  • Avoid connection looping by temporarily blacklisting the entry gateway (#4047)

[1.19.0] - 2025-11-19

Added

  • Implement a TCP-based probe as a fallback for connection monitoring when ICMP is unavailable. (#3868)
  • Expose A/C's RequestingZkNyms state to UI for in app payment flows (#3925)

Changed

  • Rotate wireguard keys every 1-2 weeks, if disconnected (#3788)
  • When querying for bandwidth, retry once on failure (#3922).

Fixed

  • [macOS] Prevent resetting state for non-tunnel DNS connections (#3899)
  • Filter out gateways that might be blacklisted by mixnet (#3948)

Removed

  • Remove unnecessary DNS resolutions on mobile platforms where there is no configurable firewall. (#3913)

[1.18.0] - 2025-11-03

Added

  • Add new CLI commands to manage sentry and anonymous network statistics collection (#3695)
  • Add tunnel connection monitoring (#3724)
  • Backend QUIC filtering for desktop (#3746)
  • Fallback on mixnet channel if metadata endpoint is not available (#3747)
  • Library exposing the command for manual wireguard key rotation (#3870)

Changed

  • Use two keypairs (entry & exit) per gateway (#3591)
  • Disable system DNS resolver fallback on primary resolver failure (#3832)

Fixed

  • Fix mixnet listener timeout not being set (#3715)
  • Prevent account controller from networking while state machine is in offline state (#3723)
  • [macOS] Log error instead of failing when removing keys from dynamic store during DNS reset. (#3711)
  • CLI: fix hang when calling nym-vpnc disconnect --wait in disconnected state. (#3743)
  • Don't log a warning on some expected value from the API (#3763)
  • Fix no gateway id problem (#3768)
  • [Windows] Wait for network interface addresses become usable before starting the tunnel (#3773)
  • Fix network environment updates not being made available for grpc clients (#3805)
  • Ensure that default discovery when written to disk is always considered stale (#3805)
  • Make discovery refresh aware of network connectivity (#3805)
  • Fix database cleanup when forgetting account (#3825)

[1.17.0] - 2025-10-17

Added

  • Get more gateway details, parse them, and expose them to UI to be shown in the server details page (#3447)
  • Allow for random selection inside a US state (#3489)
  • Add control over LAN sharing when device connection is secured (#3496)
  • The nym-vpnc status --listen command now prints the daemon configuration when it's changed by other clients (#3503).
  • Users can select residential only exit nodes (#3560).

Changed

  • LAN sharing is off by default. Use "Allow LAN" setting to allow it (#3496)
  • Differentiate between entry and exit gateway errors (#3458)
  • New CLI command interface. Legacy commands will continue working until the following release. (#3559)

Fixed

  • Don't retry on disappeared entry or exit gateway and return to UI for selecting again (#3520)
  • Recover from error loop when mixnet client can't reach gateway after a number of retries (#3694)

Removed

  • Removed countries query (#3523)

[1.16.0] - 2025-09-26

Added

  • Expose exit IPs (v4 and v6) as well as gateway version from the core (#3427)

Fixed

  • Fix edge case where mixnet processor could be blocked from exiting by mixnet listener causing the client to be stuck in disconnecting state (#3394)
  • Fix Sentry extra metadata tag when there is no OS extra info (#3411)

Changed

  • [macOS] Skip filtering loopback traffic to optimize performance (#3441)
  • Prioritize high performance gateways first, fallback to medium. This rule does not apply when specific gateway is selected explicitly (#3511)

[1.15.0] - 2025-09-10

Added

  • Provide metadata to keep track of progress when establishing connection (#3351)

Fixed

  • [Windows] Embed core version into winfw.dll and libwg.dll (#3292)
  • Disable mixnet cover traffic in two-hop mode (#3347)
  • Prevent discovery file from becoming stale because it's only refreshed whilst connected (#3377)

Changed

  • Daemon global and service configuration is now stored in JSON format, allowing versioning to be supported (#3344).
  • Use intra-tunnel endpoint for querying and topping up bandwidth, replacing the mixnet channel (#3316)

[1.14.0] - 2025-08-26

Added

  • Introduce more extensive entry/exit country parsing in nym-vpn-cli (#3235)

Changed

  • Upgrade Nym platform to emmental release (#3155)
  • Enable anonymous network statistics collection by default in the daemon, only for new installations (#3265)
  • Reconnect on failure to resolve gateway addresses instead of entering error state (#3268)
  • Reconnect to new gateways every 2 failed connection attempts (#3273)

Fixed

  • Improve shutdown sequence by exiting internal components in the reverse order of their creation. Drain tunnel events and deliver them to listeners before exiting the daemon. (#3185)
  • Fix potential infinite loop when sending a disconnect message over mixnet. Limit disconnect timeout to 5 seconds and add 500ms delay between retries. (#3160)
  • Prevent gateways refresh from blocking daemon shutdown during initialization. (#3160)
  • Add timeout to DNS resolution fixing indefinite connecting state. (#3231)
  • [macOS] Fix issues with DNS not being properly reset on disconnect on macOS 15. (#3232)
  • [macOS] Bind DNS resolver to random loopback IP on port 53 to fix compatibility issues with other software, notably dig and nslookup. (#3232)

[1.13.1] - 2025-07-30

Changed

  • Update pre-bundled discovery to include account links (#3167)
  • Reduce noisiness of WireGuard logs (#3169)

[1.13.0] - 2025-07-29

Added

  • Add setting to toggle IPv6 support.
  • vpnd: Add support to toggle network statistics collection.

Fixed

  • Box too large futures to fix stackoverflow on Windows (#3139)

[1.12.0] - 2025-07-18

Added

  • Register with locally generated mnemonic (#2926)
  • Probe sends zk-nyms (#3011)
  • Two keypairs per gateway (first part) (#3035)
  • Don't wait on topology fetch from network on state machine start (#3072)

Changed

  • Use nym cheddar fork (#3048)

Removed

  • Remove a shutdown timeout for tonic server (#2938)
  • Remove shared mixnet client (#2967)
  • Remove wireguard credential mode flag (#3021)

Fixed

  • Fix bug that prevented the database(s) from closing gracefully before being disposed (#2925)
  • Unblock mixnet client because of a deadlock (#3039)
  • Apply patch to h2 crate so hickory-dns DoH connections consider server go-away close as valid preventing spurious warn logging (#3053)
  • Fix task manager dropping immediately on config path not being specified (#3054)
  • Fix tunnel connectivity issues by applying route MTU for multihop tunnel (#3051)
  • Fix prefetching topology not working at no network daemon boot (#3072)

[1.11.0] - 2025-06-18

Fixed

  • Fix persistent mixnet storage failure preventing the client from starting
  • Fix issues preventing the daemon from starting without network connectivity
  • [macOS] Improve route monitoring and offline detection