- Fixed gateway login MFA OTP retries sending duplicate
passwdform fields, which could cause authentication to fail with HTTP 512 after 2.6.0 (fix #626).
- Fixed NixOS GUI launch authorization after package updates.
- Fixed disconnect handling so a normal Ctrl+C logout no longer reports an error.
- Fixed snapshot flake hash update automation for prebuilt Nix packages.
- Fixed gateway fallback browser authentication when external browser authentication is explicitly requested.
- Added logging for portal config default-browser behavior.
- Added GUI managed configuration support with
gpgui.conf, including reset to managed config. - Improved GUI config directory migration and managed license auto activation.
- Improved external browser authentication so
--browserchooses Chrome first, then Firefox, then the system default browser. - Improved NixOS prebuilt package integration for launching helper binaries and desktop services.
- Updated the release process to publish GitHub release notes from the changelog.
- Fixed NixOS GUI launch failures caused by package-local binary paths.
- Fixed NixOS tray icon setup documentation for GNOME desktops.
- Fixed browser authentication for portals that require a client certificate.
- Fixed release automation so Nix flake hash updates are run manually after release assets are available.
- Added automatic gateway selection with fallback to the next available gateway when early gateway connection steps fail.
- Added optional cookie cache support for faster reconnects.
- Added Microsoft Defender status reporting in HIP reports.
- Added support for portals that require client-side checks before connection.
- Added FreeBSD and OpenBSD package builds and release artifacts.
- Added build provenance attestations for release assets.
- Improved compatibility with official GlobalProtect client request behavior.
- Improved SAML authentication behavior in the embedded webview.
- Improved default browser authentication handling.
- Improved host identity consistency across authentication, connection, and HIP flows.
- Improved GUI gateway selection behavior and made the selection list more compact.
- Updated NixOS installation instructions.
- Fixed a crash when opening settings on KDE/Wayland.
- Fixed browser authentication when
gpclientis started withsudo. - Fixed gateway fallback behavior when using
gpauth | gpclient --cookie-on-stdin. - Fixed inconsistent host ID handling between GUI, CLI, OpenConnect, and HIP.
- Fixed portal and gateway authentication cookie handling in several edge cases.
- Fixed GUI connection state issues around gateway switching and cached credentials.
- Add Alpine/musl gpgui release assets for x86_64 and aarch64.
- Use the musl gpgui asset when the helper or package build runs on musl Linux.
- Fix systemd-resolved DNS routing when no split-DNS domains are provided (fix #604).
- Log whether systemd-resolved uses server-provided split DNS or global VPN DNS.
- Experimental: GUI/CLI add session expiry warnings and support automatic session extension when allowed by the portal.
- GUI/CLI: expose additional OpenConnect connection options.
- Fix Linux packages to vendor the
vpnc-script. - Remove OpenConnect from the packaging dependency.
- Fix reconnect handling by preserving GlobalProtect cookie fields.
- Fix auth callback data parsing
- Improve NixOS packaging and user-level installation docs.
- Upgrade Rust, Tauri, Vite, frontend, and Rust dependencies.
- Fix the
.debpackage installation issue (fix #563) - GUI: fix the tray icon size issue on GNOME Flashback (fix #564)
- Improve the HIP report generation logic
- GUI/CLI: statically link OpenConnect
- GUI/CLI: support configure the client version
- CLI: add the
-S/--script-tunoption to pass traffic to the--scripthandler - GUI: update the branding to
GP Connect
- Support NixOS package installation
- Fix the VPNC script location on Void Linux
- Upgrade to Rust 1.85
--browserwithout argument uses the system default browser
- GUI: support the default configuration file for GUI client (fix #492)
- GUI: add the option to not reuse the authentication cookies (fix #540)
- GUI: improve the license validation logic (fix #502)
- CLI: support the
--browser remoteoption to use the remote browser for authentication (#544 by @dark12) - CLI: fix gpclient disconnect bailing with client is already running issue (#542 by @zeroepoch)
- CLI: fix the
--passwd-on-stdinreads again on gateway failure (#546)
- GUI/CLI: fix the issue that the custom port is not supported issue (fix #404)
- CLI: add the
--force-dpdoption to specify the interval for DPD (Dead Peer Detection). - CLI: add the
-i/--interfaceoption to specify the interface to use.
- GUI: fix multiple tray icons issue (fix #464)
- CLI: check the cli running state before running the
gpclientcommand (fix #447)
- Do not use static default value for
--os-versionoption.
- Fix the network issue with OpenSSL < 3.0.4
- GUI: fix the Wayland compatibility issue
- Support configure the log level
- Log the detailed error message when network error occurs
- Upgrade to Tauri 2.0
- Support Ubuntu 22.04 and later
- Enhance the OpenSSL compatibility mode (fix #437)
- GUI: support configure the external browser to use for authentication (fix #423)
- GUI: add option to remember the credential (fix #420)
- GUI: fix the credential not saved issue (fix #420)
- CLI: fix the default browser detection issue (fix #416)
- Fix the Rust type inference regression issue in 1.80.
- CLI: enhance the
gpauthcommand to support external browser authentication - CLI: add the
--cookie-on-stdinoption to support read the cookie from stdin - CLI: support usage:
gpauth <portal> --browser <browser> 2>/dev/null | sudo gpclient connect <portal> --cookie-on-stdin - CLI: fix the
--browser <browser>option not working
- Support configure
no-dtlsoption - GUI: fix the tray icon disk usage issue (#398)
- CLI: support specify the browser with
--browser <browser>option (#405, #407, #397) - CLI: fix the
--osoption not working
- GUI: add the remark field for the license activation
- GUI: check the saved secret key length
- Fix the CAS callback parsing issue (fix #372)
- CLI: fix the
/tmp/gpauth.htmldeletion issue (fix #366) - GUI: fix the license not working after reboot (fix #376)
- GUI: add the license activation management link
- Fix the
--sslkeyoption not working
- Support client certificate authentication (fix #363)
- Support
--disable-ipv6,--reconnect-timeoutparameters (related: #364) - Use default labels if label fields are missing in prelogin response (fix #357)
- GUI: Restore the default browser auth implementation (fix #360)
- CLI: support authentication with external browser (fix #298)
- GUI: support using file-based storage when the system keyring is not available.
- Support MFA authentication (fix #343)
- Improve the Gateway switcher UI
- Support CAS authentication (fix #339)
- CLI: Add
--as-gatewayoption to connect as gateway directly (fix #318) - GUI: Support connect the gateway directly (fix #318)
- GUI: Add an option to use symbolic tray icon (fix #341)
- Treat portal as gateway when the gateway login is failed (fix #338)
- Add the
--hipoption to enable HIP report - Fix not working in OpenSuse 15.5 (fix #336, #322)
- Treat portal as gateway when the gateway login is failed (fix #338)
- Improve the error message (fix #327)
- Update distribution channel for
gpguito complaint with the GPL-3 license. - Add
mtuoption. - Retry auth if failed to obtain the auth cookie
- Refactor using Tauri
- Support HIP report
- Support pass vpn-slice command
- Do not error when the region field is empty
- Update the auth window icon