Releases: mullvad/mullvadvpn-app
Releases · mullvad/mullvadvpn-app
Release list
android/2026.9-beta1
Immutable
release. Only release title and notes can be modified.
Added
- Make the globe interactive, with support for pan, pinch-to-zoom, and fling. This is to discover
where servers are located as well as displaying your connection path. - Add a new multihop design with a new "when needed" option that will automatically multihop
when it is needed given the currently active settings (e.g. DAITA is on). - Highlight search phrase when searching in Select location.
Changed
- Route 10.124.0.0/23 inside the tunnel when Local network sharing is turned on. This is to enable
the use of SOCKS5 proxies on other relays together with Local network sharing. - Filters are split into entry and exit filters which can be set independently from each other.
- Improve search in Select location, ordering is now by relevancy and fuzzy search results are
included.
Fixed
- Fix the device sometimes being incorrectly marked as revoked when the API rejects an expired
access token.
2026.4
This release is for desktop only.
Here is a list of all changes since last stable release 2026.3:
Added
- Add Ukrainian as a new language in the app.
installer-downloaderlogs are aggregated bymullvad-problem-report.
Changed
- Update
gotatunto 0.8.1.
Windows
- Update
wireguard-ntto version 1.1. This retires the Mullvad fork at
https://github.com/mullvad/wireguard-nt.
macOS
- Use arch-specific installers to deliver updates. This makes updates around 50% smaller.
Fixed
- Align ciphers for custom shadowsocks API access methods between clients and
mullvad-daemon. Any
existing, invalid access method is removed with a settings migration.
macOS
- Fix split tunneling related parse error on macOS 27.
Linux
- Fix issue where
gotatunwould fail to start on Linux systems where the
IPv6 stack had been disabled.
Windows
- Fix misleading "split tunneling" error when offline.
- Fix unhandled error: "Reached the end of the file. (os error 38)"
Security
- Linux and macOS: Fix management interface socket being created with less restrictive permissions
when usingMULLVAD_MANAGEMENT_SOCKET_GROUP. This addresses the advisoryGHSA-p9rr-wc9m-qmwg.
Linux
- Plug hole in Custom DNS firewall rules for LAN resolvers.
2026.4-beta2
Immutable
release. Only release title and notes can be modified.
This release is for desktop only.
Here is a list of all changes since last release 2026.4-beta1:
Fixed
macOS
- Fix split tunneling related parse error on macOS 27.
2026.4-beta1
Immutable
release. Only release title and notes can be modified.
This release is for desktop only.
Here is a list of all changes since last release 2026.3:
Added
- Add Ukrainian as a new language in the app.
installer-downloaderlogs are aggregated bymullvad-problem-report.
Changed
- Update
gotatunto 0.8.1.
Windows
- Update
wireguard-ntto version 1.1. This retires the Mullvad fork at
https://github.com/mullvad/wireguard-nt.
macOS
- Use arch-specific installers to deliver updates. This makes updates around 50% smaller.
Fixed
- Align ciphers for custom shadowsocks API access methods between clients and
mullvad-daemon. Any
existing, invalid access method is removed with a settings migration.
Linux
- Fix issue where
gotatunwould fail to start on Linux systems where the
IPv6 stack had been disabled.
Windows
- Fix misleading "split tunneling" error when offline.
- Fix unhandled error: "Reached the end of the file. (os error 38)"
Security
- Linux and macOS: Fix management interface socket being created with less restrictive permissions
when usingMULLVAD_MANAGEMENT_SOCKET_GROUP. This addresses the advisoryGHSA-p9rr-wc9m-qmwg.
Linux
- Plug hole in Custom DNS firewall rules for LAN resolvers.
android/2026.8
Immutable
release. Only release title and notes can be modified.
Here is a list of all changes since last stable release android/2026.7:
Added
- Highlight search phrase when searching in Split tunneling.
Changed
- Improve error handling of Google play purchases.
- Move Local network sharing setting into a separate screen.
- Add check for unfinished purchases before logging out.
Fixed
- Fix a crash that occur if the system VPN dialog is missing from OS.
- Add a workaround for DataStore becoming corrupt due to an upstream issue.
android/2026.8-beta1
Immutable
release. Only release title and notes can be modified.
Added
- Highlight search phrase when searching in Split tunneling.
Changed
- Improve error handling of Google play purchases.
- Move Local network sharing setting into a separate screen.
- Add check for unfinished purchases before logging out.
Fixed
- Fix a crash that occur if the system VPN dialog is missing from OS.
- Add a workaround for DataStore becoming corrupt due to an upstream issue.
android/2026.7
Immutable
release. Only release title and notes can be modified.
Here is a list of all changes since last stable release android/2026.6:
Fixed
- Fix DAITA performance degradation that occurred when combined with multihop.
2026.3
This release is for desktop only.
Here is a list of all changes since last stable release 2026.2:
Added
- Add port setting for LWO obfuscation.
- Add list of recent server selections in the select location view.
- Add context menu to locations in the select location view.
- GotaTun is now used as the userspace WireGuard implementation on all desktop platforms, not just
macOS. It replaces wireguard-go.
Changed
- Optimize LWO performance. This gives a 1.5 to 3 times speedup in our benchmarks.
- Change default retry connection attempts. LWO is now the third default
constraint. The relative order among the following constraints is preserved.
Linux
- Switch memory allocator to jemalloc to reduce fragmentation.
mullvad-early-boot-blocking.servicenow waits for local file system to be mounted
(After=local-fs.target). This was assumed before, but not required (and is still not required).mullvad-daemonnow installs the same shutdown handler forSIGHUPasSIGINTandSIGTERM.mullvad-daemonnow exits without tearing down firewall rules onSIGUSR1.
This is used to avoid leaking network traffic when restarting systemd service.
macOS
- Restart the GUI after an update if it was running.
mullvad-daemonnow installs the same shutdown handler forSIGHUPasSIGINTandSIGTERM.
Fixed
- Fix duplicate "Connected"/"Disconnected" desktop notifications caused by the daemon sending
multiple consecutive tunnel state events for the same state. - Fix GUI appearing stuck in "Disconnecting" state when daemon transitions directly from error to
disconnected. - Fix QUIC obfuscation not always being used if relays only had IPv6 addresses for QUIC.
- Fix a bug with Shadowsocks-based API access methods where some ciphers were configurable by
Mullvad VPN clients while not being supported by the system service. - Fix IPv6 addresses not being allowed as endpoints for Socks5 and Shadowsocks API access methods.
Linux
- Fix 'mullvad split-tunnel clear' getting stuck.
Windows
- Fix potential access violation during cleanup on ARM64.
- Fix conflicts caused by some other VPN clients that depend on Mullvad's split tunnel driver. Note
that split tunneling still cannot be used simultaneously in different clients. - Fix timeout when loading split tunnel driver during boot.
Security
- Remove ability for renderer process to execute arbitrary binaries. This is a defence-in-depth
measure to ensure that the renderer process does not have any capabilities beyond that of a
regular user of the app. Affects platforms with the in-app updates feature, i.e. macOS and
Windows. FixesGHSA-h72f-j6r4-c3jc
Mullvad VPN loader 1.2.1
Immutable
release. Only release title and notes can be modified.
Here is a list of changes since last release 1.2.0:
Changed
- Write logs to
mullvad_paths::logs::frontend_log_dirinstead of a temporary directory. - Redact working directory from logs.
android/2026.6
Immutable
release. Only release title and notes can be modified.
Here is a list of all changes since last stable release android/2026.5:
Fixed
- If the device is revoked and there is no time left on the account, it will now correctly show as
revoked instead of out of time on app start.
Changed
- Optimize LWO performance, substantially reducing its performance overhead compared to
unobfuscated WireGuard. - Change default retry connection attempts. LWO is now the third
default constraint. The relative order among the following constraints is preserved. - New design for the login screen
- Move DNS content blockers and Custom DNS setting into a new screen called DNS settings.