Repository navigation
OpenRad 2.0.1 is a maintenance release: lighter status updates between the engine and desktop, a hardened Android TUN reader, faster Python packet handling, and Windows installer builds that also work natively on Windows. The wire format, identities and saved preferences are unchanged. It includes community pull request #8 by @mariananetto-sys — thank you!
- Status updates: the engine publishes state snapshots, and the desktop polls the shared service, every 500 ms instead of 250 ms, halving full-roster copies on large networks. Packets, keepalives and RTT probes are unaffected; peer status and traffic counters can take up to about a second to appear. Repeated identical phase notices are merged without reordering phases or operation results.
- Graphics: the wgpu renderer (the Windows default) prefers an integrated GPU over a discrete one, so the VPN window does not wake a discrete GPU. Linux still starts with OpenGL.
- Android: the TUN reader stops on poll errors, EOF and read errors instead of spinning, retries spurious zero-byte reads, and reports the interface as failed (retryable from the app) only while it still owns the current TUN — an older reader can never close a newer interface.
- Python: faster
memoryviewchecksums, local API delivery that skips IPv4/UDP parsing when no subscriber needs it, and packet builders that reject malformed MAC lengths, oversized IPv4 payloads and out-of-range protocols/ports. Install withpip install "git+https://github.com/gringoestrangeiro/openrad.git@v2.0.1#subdirectory=clients/python". - Windows packaging:
windresicon paths and NSIS payload paths now work on Windows build hosts, and the TAP-Windows6 corresponding source is exported with pinned line-ending settings, so every host produces the same audited archive. Packages now include the 1.5.0 and 2.0.0 release notes.
Downloads: Linux archive; offline Windows installer (standalone EXE or documentation ZIP); portable Windows ZIP for an already installed dedicated TAP adapter; Android APK (com.openrad.mobile, version code 3, signed with the same key as 2.0.0, so it installs as an update); and SHA256SUMS for all distribution files.
Upgrade: Stop the old shared service with openrad stop and close the desktop before replacing binaries. Keep CLI and desktop from this release together. Existing identities, memberships and saved preferences are retained.
Validation: 332 default Linux workspace tests pass (8 optional ignored, and the ignored renderer/screenshot tests also pass), formatting and Linux/Windows Clippy pass with warnings denied, every Windows test executable compiles, 127 Android JVM unit tests (including new TUN poll tests), the Python suites and self-test, scripts/check-sync.py and the Wine installer-flow regression pass. Linux uses the Debian 12 / Rust 1.95 builder; the CLI requires glibc 2.34+, desktop glibc 2.35+. The PowerShell installer mocks were not run for this release; their scripts are unchanged since 2.0.0.
Windows remains experimental. Cross-compilation, synthetic rendering and Wine do not establish native TAP/UAC or real Radmin interoperability, and the native-Windows build fixes were verified on Linux only. Windows applications are unsigned; the bundled TAP driver is the unchanged upstream signed package. The Android reader changes were not exercised on a device.