2026.5-beta1Pre-releaseDesktopMobile
Added 1
- Add explicit log levels for mullvad log set-level command: off, error, warn, info, debug and trace
Changed 8
- Clicking on the tray icon will toggle the window instead of just showing it
- Old mullvad log set-level command has been renamed to mullvad log set-rust-log
- Make all timestamps embedded in .deb and .rpm packages deterministic by deriving them from the git commit being built instead of the time of the build
- Set the BUILDHOST header of .rpm packages to a fixed value instead of the hostname of the build machine
- De-couple mullvad-daemon.service After= dependencies from systemd.resolved and NetworkManager
- Start mullvad-early-boot-blocking.service before network-pre.target instead of basic.target
- Sign the uninstaller, Electron binaries, and native modules
- Switch winreg out for windows_registry
Fixed 8
- Reject invalid DAITA fraction limits in tunnel config responses before starting the tunnel
- Ignore DAITA tunnel config responses unless DAITA was requested
- Fix infinite loop of account checks when account ran out of time
- Fix IPv6 obfuscation relay selection when the relay's WireGuard endpoint only has IPv4
- Fix the device sometimes being incorrectly marked as revoked when the API rejects an expired access token
- Fix daemon crashing on startup when migrating settings that contain no WireGuard entry location
- Preserve the app's own theme colors when Windows high contrast mode is enabled in order to prevent toggle switches and other custom-styled controls from becoming invisible
- Fix the installer UI from looking blurry by making the installer DPI-aware
From Mullvad VPN
This release is for desktop only.
Here is a list of all changes since last release 2026.4:
Added
- Add explicit log levels for
mullvad log set-levelcommand:off,error,warn,info,debugandtrace.
Changed
- Clicking on the tray icon will toggle the window instead of just showing it.
- Old
mullvad log set-levelcommand has been renamed tomullvad log set-rust-log.
Linux
- Make all timestamps embedded in
.deband.rpmpackages deterministic by deriving them from the git commit being built instead of the time of the build. Required for reproducible builds. - Set the
BUILDHOSTheader of.rpmpackages to a fixed value instead of the hostname of the build machine. Required for reproducible builds. - De-couple
mullvad-daemon.service"After=" dependencies from systemd.resolved and NetworkManager. - Start
mullvad-early-boot-blocking.servicebeforenetwork-pre.targetinstead ofbasic.target.
Windows
- Sign the uninstaller, Electron binaries, and native modules. Some NSIS binaries are still unsigned.
- Switch winreg out for windows_registry.
Fixed
- Reject invalid DAITA fraction limits in tunnel config responses before starting the tunnel.
- Ignore DAITA tunnel config responses unless DAITA was requested.
- Fix infinite loop of account checks when account ran out of time.
- Fix IPv6 obfuscation relay selection when the relay's WireGuard endpoint only has IPv4.
- Fix the device sometimes being incorrectly marked as revoked when the API rejects an expired access token.
- Fix daemon crashing on startup when migrating settings that contain no WireGuard entry location.
Windows
- Preserve the app's own theme colors when Windows high contrast (forced-colors) mode is enabled in order to prevent toggle switches and other custom-styled controls from becoming invisible.
- Fix the installer UI from looking blurry by making the installer DPI-aware.