-
3.3.2 Pre-Release
released this
2026-09-01 00:16:05 +03:00 | 47 commits to main since this releaseBackground reliability. 3.3.1 could show "connected" against a tunnel that was no longer running. This fixes the cause rather than the symptom, and removes the machinery that existed to work around it.
⚠️ Prerelease — not yet confirmed on a device. It compiles and analyzes clean, but whether the tunnel survives backgrounding has not been verified on real hardware. The in-app updater deliberately does not pick this up yet.
After installing, do these two things
Android will stop a background VPN unless you allow it. Neither can be enabled by the app:
- Settings → Background reliability → Allow background activity (battery optimisation exemption)
- Open VPN settings → enable Always-on VPN for Revolt VPN. Optionally enable Block connections without VPN so traffic stops rather than leaks if the tunnel drops.
Then connect, swipe the app away from recents, and check that traffic still flows.
Fixed
- The app could report "connected" with no traffic. Startup state came from a local SOCKS probe that read the VPN's port from a static living in a different process — always null from the UI process, so it always fell back to port 10807. Correct only while the port was fixed; 3.3.1's ephemeral ports made it permanently wrong. Liveness now comes from the OS.
- A frozen countdown could outlive the tunnel. The foreground notification is owned by the VPN service, but the UI process was posting to the same notification id. When that process died, its notification stayed on screen forever.
Removed
- Standard/Extreme resilience modes and the runtime-restart machinery. Recovery ran off a broadcast delivered to the app process, so it could never fire when Android killed that process.
- Startup restoration and the config-snapshot rebuild.
Full detail in CHANGELOG.md.
Downloads