Skip to content

Releases: Happ-proxy/happ-desktop

2.15.0

12 May 10:59

Choose a tag to compare

  • Improved large subscription handling β€” adding or refreshing subscriptions with thousands of servers no longer spikes memory into the gigabytes or stalls the app
  • Improved the tray icon's "Change server" submenu β€” for subscriptions with thousands of servers it now caps at 50 entries with a "Show all in main window" link instead of stalling on every server change
  • Added a subscription reset action β€” when a premium subscription URL carries reset=1, Happ prompts to wipe local data (subscriptions, routing, logs, settings) before adding the subscription
  • Fixed gigabyte-scale RAM use (and the system freezes or blue screens that followed) when pinging all servers on subscriptions that use balancer or observatory configs
  • Fixed a duplicate dead tray icon left behind on Windows 11 after a previous Happ instance crashed
  • Fixed flickering hover state on server rows when the cursor crossed nested controls like the sub-info button or edit chevron

2.14.0

07 May 12:54

Choose a tag to compare

  • Improved regional-indicator emoji rendering so country flags in server descriptions show as inline icons on Windows instead of small uppercase letters
  • Improved load-balancer ping so each outbound in a balancer JSON config is tested and the best result is reported
  • Improved SOCKS/HTTP inbound authentication so username/password now applies to free subscriptions
  • Improved error message for malformed subscription URLs, replacing the raw Qt error with a translated "Invalid subscription URL"
  • Improved fragmentation setting clarity by renaming "interval" to "delay" across the UI and translations
  • Improved Russian and Chinese translations for the "DNS from JSON failed" snackbar
  • Added a new "via Proxy HEAD" ping mode alongside the existing "via Proxy GET"
  • Added new noises-rand and noises-rand-range subscription parameters for randomized noise
  • Fixed system-proxy mode on Windows when the HTTP inbound is disabled
  • Fixed the EU country flag not rendering on Windows
  • Fixed the server search field not clearing on full reset, which could hide newly-added subscriptions
  • Fixed the right-click menu breaking for server names containing quotes
  • Fixed the User-Agent read-only snackbar not showing in Subscription settings
  • Fixed premium subscription parameters (such as new-domain) not applying on the first add of a subscription
  • Fixed a spurious "Empty response from daemon" error and thread warning appearing on app shutdown

2.12.0

05 May 07:13

Choose a tag to compare

2.12.0 Pre-release
Pre-release
  • Improved Windows installer now works fully offline β€” the Visual C++ runtime ships inside the installer instead of being downloaded during setup
  • Improved Custom fragmentation and noise parameters from subscription share-links now apply consistently across VLESS, VMess, Trojan and Shadowsocks
  • Improved Diagnostic reports now include your settings, the selected server's config, and routing state to make troubleshooting faster
  • Fixed The app no longer silently switches your selected server when a subscription auto-updates

2.11.0

30 Apr 12:26

Choose a tag to compare

  • Improved subscription parsing to read host, resolve address, fragment, and insecure settings from server response headers and body
  • Added a setting for subscription request timeout (5–15 seconds, default 9)
  • Added a toggle for the HTTP proxy inbound, now off by default
  • Fixed connection reliability across rapid server switches, sleep/wake, and brief daemon outages
  • Fixed Linux silently failing to launch after a previous hard crash
  • Fixed TUN networking under heavy UDP load such as torrents: dropped connections from port exhaustion, default-direct traffic looping back through TUN, and UDP failing when proxy authentication was enabled
  • Fixed Trojan, Shadowsocks, and SOCKS server names being dropped or truncated when they contained '#'
  • Fixed overlapping text under the User Agent field in subscription settings

2.10.0

24 Apr 15:07

Choose a tag to compare

  • Improved the server description to hide the "NONE" security tag and use a cleaner separator in the JSON tag
  • Improved the xray core to version 26.3.27
  • Improved sing-box TUN to honour the DNS-from-JSON setting the same way as Happ TUN
  • Improved the inbound authorize screen to show SOCKS and HTTP credentials in Auto and From-JSON modes as copyable read-only fields
  • Added an offline premium-status check so the app can verify premium immediately after a fresh install and for up to 30 days without reaching the server
  • Added automatic disable of the OS system proxy on VPN connect when the per-app proxy feature is active, with a notification and the toggle flipped off persistently
  • Fixed subscription expiry to show minutes when less than an hour remains instead of rounding up to the nearest hour
  • Fixed a startup failure when a JSON subscription referenced unwritable log paths
  • Fixed subscription URLs whose server name contains special characters like a trailing backslash failing to parse
  • Fixed DNS-from-JSON not recognising xray's https+local:// DoH variant
  • Fixed the User-Agent read-only indicator not responding to taps, and the interaction between the manual-block and change-user-agent premium parameters
  • Fixed inbound authorize settings not refreshing after Reset Settings
  • Fixed the inbound authorize mode dropdown being locked when premium metadata had pushed values, preventing manual override

2.9.1

24 Apr 15:03

Choose a tag to compare

  • Update internal hosts

2.9.0

17 Apr 13:12

Choose a tag to compare

  • Improved server list to show protocol/network/security (e.g. "VLESS / XHTTP / REALITY") under the server name by default
  • Improved the "Insecure" subscription toggle β€” it no longer overrides per-server settings and now works without a premium subscription
  • Improved local VPN security by requiring per-process SOCKS authentication so other apps on the machine can't probe the tunnel
  • Improved DNS-from-JSON parsing to handle IP-in-URL DoH and surface the reason for any fallback in the subscription log
  • Added a "random" autoconnect option that pings your subscription on app open and connects to a random alive server
  • Added support for bypassing selected CIDRs from the tunnel (and forcing them direct in proxy-mode routing) via premium meta-params
  • Added per-protocol inbound authorization for the local SOCKS/HTTP endpoints with Disabled/Auto/Manual/From-JSON modes, plus a copy button on the credential fields
  • Added a configurable User-Agent for GeoSite/GeoIP downloads in the Routing section
  • Fixed subscription fetch failing with "invalid hash" when the subscription URL uses a non-default port
  • Fixed our own API domains being blocked from the Proxy routing section (they remain blocked from Block and Direct only)

2.8.0

14 Apr 12:47

Choose a tag to compare

  • Improved server list scrolling smoothness with delegate reuse and async flag image loading
  • Added Per-App Proxy "proxy-only" mode that routes only the selected apps through the VPN, alongside the existing bypass mode
  • Fixed an occasional crash on the Servers screen when connecting or disconnecting

Install Happ on Arch Linux:
pacman -U '/tmp/Happ.linux.x64.pkg.tar.zst'
Uninstall:
pacman -Rns happ

2.7.0

03 Apr 16:01

Choose a tag to compare

  • Improved server storage to use unique identifiers instead of name-based matching
  • Improved system sleep/wake recovery for VPN connections, subscriptions, and background services
  • Improved domain validation for remote configuration updates
  • Added AI Helper button on empty servers screen
  • Added remote server list sorting configuration
  • Added DNS forwarding from JSON config with developer settings toggle
  • Added remote control for User-Agent field editing restrictions
  • Added default Renew button when subscription expiration link is configured without button text
  • Fixed subscription expiration date showing incorrect time due to timezone conversion
  • Fixed window width growing slightly on every show/focus cycle on Windows

Install Happ on Arch Linux:
pacman -U '/tmp/Happ.linux.x64.pkg.tar.zst'
Uninstall:
pacman -Rns happ

2.6.0

20 Mar 14:23

Choose a tag to compare

  • Improved premium status detection reliability in unstable network regions
  • Improved subscription handling in restricted regions with blocked check sites
  • Added server-side subscription pinning and unpinning
  • Fixed crash when backing up proxy settings on Windows
  • Fixed window position not restoring correctly when starting minimized
  • Fixed subscription URL handling with case-sensitive paths
  • Fixed deep links on macOS
  • Fixed encrypted subscription silently succeeding when decryption fails
  • Fixed subscription section expand behavior
  • Fixed announcement disappearing when subscription info updates

Install Happ on Arch Linux:
pacman -U '/tmp/Happ.linux.x64.pkg.tar.zst'
Uninstall:
pacman -Rns happ