Releases: Happ-proxy/happ-desktop
Releases Β· Happ-proxy/happ-desktop
2.15.0
- 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
- 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
- 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
- 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
- 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
- Update internal hosts
2.9.0
- 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
- 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
- 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
- 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