Changelog
History of updates and new features.
v1.2
Desktop Android August 2026Major release introducing DLNA/UPnP Smart TV streaming, Snapcast synchronized multiroom, instant QR Code pairing, USB cable streaming, and resilient audio playback.
DLNA / UPnP Streaming
- Play straight to TV & AV receivers: Stream audio to smart TVs, soundbars, and UPnP renderers without installing any app on them.
- Automatic discovery via SSDP and per-device format negotiation (LPCM, WAV, MP3, AAC/ADTS).
- Integrated hardware quirk profiles for Denon/Marantz/HEOS, Sonos, Samsung, LG webOS, and Yamaha MusicCast.
- Watchdog monitoring to automatically re-issue playback if a renderer silently drops the stream.
Snapcast Multiroom Sync
- Turn your device into a Snapcast audio server for synchronized, whole-home multiroom streaming.
- Connects seamlessly to Raspberry Pis, ESP32 boards, Home Assistant, and official Snapcast client apps.
- Audio on TCP 1704 and JSON-RPC control on TCP 1705 with zero-configuration mDNS broadcast.
- Codec support: PCM (zero latency), FLAC (lossless), and Opus (low bandwidth).
QR Code Pairing & USB Streaming
- Instant QR Pairing: Scan an on-screen QR code to pair with a freshly generated 256-bit ephemeral key (120s expiry, RAM-only, never saved to disk).
- Renders ASCII QR directly in the CLI terminal (
wfas pair invite --watch) for headless servers. - Streaming over USB: Plug phone via USB tethering for ultra-low latency without Wi-Fi congestion.
- Dedicated USB jitter buffer (5–120 ms) and interface availability rules (Always, Not on USB, Never).
Audio Resilience & Quality
- Packet loss concealment: Intelligent audio healing crossfades across gaps instead of dropping silent clicks.
- Continuous clock drift resampling: Eliminates gradual buffer buildup and keeps latency rock-solid for hours.
- Digital volume gain up to 200% with magnetic stops and clipping warnings.
- Windows capture engine hardened against frame drops under heavy CPU load; mono capture fixed.
Rebuilt Window & Enhanced CLI
- Redesigned Desktop interface with organized sections and live audio spectrum visualizer.
- Groove mode: Melody extraction filter on visualizers for clean rhythm tracking.
- "How to Connect" panel with 1-click endpoint copy for every active protocol.
- Capture indicator showing live microphone/system capture with start, duration, and source logging.
- Native system credential store integration (Windows DPAPI, macOS Keychain, Linux Keyring).
- CLI manual with 9 browsable topics (
--json),wfas devicesdiagnostic tool, and terminal Ask prompts.
Security & Compatibility
- Fixes to authentication and local control paths identified during internal security review.
- Wire protocol remains v2 compatible — Desktop 1.1 and Android 1.2 interoperate seamlessly.
Automation Security & Breaking Changes
- External command tokens: NFC tags, Tasker, MacroDroid, ADB, and
wifiaudio://commands now require an encrypted device token (disabled by default for safety). - Token can be regenerated at any time from the new Automation & Scripting screen.
- Auto-connect now connects strictly to starred servers.
Mobile DLNA & Snapcast Server
- Phone can act as a full Snapcast multiroom server or send audio to DLNA smart TVs and soundbars.
- Home screen monitoring shows connected clients, volume, latency, active codec, and mDNS status.
Visual Spectrogram & Notifications
- Background Spectrogram: Real-time visualizer across the full app UI (Bars & Peaks, Fluid Waves, and Groove mode).
- OLED Dark Screen: Spectrogram ambient screensaver mode with double-tap to wake.
- Rebuilt Notifications: 4 separate notification channels with inline volume slider, mute toggle, and clean removal on stream stop.
Diagnostics & Engine
- Actionable connection dialogs identifying protocol mismatches and naming required updates.
- Toggle to mute device while streaming (restores original volume on stop).
- Updated Bouncy Castle to 1.78.1 and added Android ProfileInstaller for faster startup.
v1.1
Desktop Android July 2026Massive update featuring E2E Encryption, WFAS Protocol v2, and a brand new full-featured Command Line Interface.
Security & Encryption
- New security modes: Off, Ask every time (Allow/Deny dialog), and Pre-shared Key.
- End-to-End Encryption: ChaCha20-Poly1305 encryption prevents network eavesdropping when a key is used.
- Status badges in the discovery list (Encrypted, Key required, Waiting for approval).
- Anti-replay protection on Multicast groups via monotonic session counters.
WFAS Protocol v2
- Explicit protocol versioning with zero packet overhead.
- "Update required" dialog with direct download links on client/server version mismatch.
- Improved packet loss concealment using exact sequence and sample position filling.
- New Packet size and Target latency settings for granular network control.
System & Settings
- Linux: Native audio engine (libpulse-simple) without compile-time dependencies. Automatically mutes local speakers when capturing system audio.
- Windows: Audio device selection based on WASAPI IDs instead of display names.
- Windows Firewall helper button to automatically allow required UDP ports.
- Migrated settings to a structured config file with transparent auto-migration.
Command Line Interface
- New
wfasexecutable for full CLI control (start server/client, discover, monitor). - Live audio spectrum visualizer right inside the terminal with selectable themes.
- IPC communication to control an already running GUI instance from the terminal.
wfas configsubcommand to read/write settings via CLI.- Integrated installer to add
wfasto the system PATH (pluswfas.1man page).
Onboarding & App Updates
- New welcome screen and in-app "What's New" viewer on first run/update.
- Automatic GitHub release checking with "Update available" dialogs.
- Optional Ko-fi support popup shown after extensive use, with exponential backoff.
- Dedicated welcome message for the first run of the CLI.
- New "Open Source Licenses" section in settings.
Automation & Scripting
- New Automation and Scripting section in settings to generate commands without opening the app manually.
- Export actions (start, stop, connect) as Custom URIs (
wifiaudio://) for NFC tags and shortcuts. - Export actions as Broadcast Intents compatible with Tasker, MacroDroid, or
adb shell am broadcast. - Save actions as named presets that can be reused, edited, executed on the fly, or shared.
Playback & Battery
- New Blackout screen function: dims the screen to save battery while audio continues to play (double tap to wake).
- In-app hints for keeping the app in foreground and unlocked for maximum playback stability.
Improved Microphone
- Automatically applies native Android Acoustic Echo Cancellation, Noise Suppression, and Automatic Gain Control for much cleaner voice sharing.
- Early audio session preparation (prewarm) for zero perceptible delay upon unmuting.
Settings & Interface
- Reorganized settings screen: Audio, Security, Automation, Advanced, Info.
- Extended explanation of why microphone permission is required for system audio capture (MediaProjection on Android 10+).
- New informative note regarding VPNs (multicast discovery fails over VPN; suggests manual unicast IP).
- New toggle for Haptic feedback on interactions.
- Splash screen dynamic colors extended to Android 14+.
v1.0
Desktop Android May 24, 2026The real 1.0, native audio engine, no more virtual drivers, and a license that keeps it that way.
Desktop
- Native C audio engine (WASAPI on Windows, Core Audio tap on macOS), no more VB-Cable or BlackHole required
- Microphone routing redesigned: Off / Virtual Microphone / Mix Into Stream, plus a mute button
- System tray support with Start Minimized and Close to Tray options
- Connection/disconnection sounds, smarter network interface detection
- Linux: available as .tar, AppImage, and on the AUR
Android
- Fixed a long-standing bug where the stream would silently stop playing audio
- Holds a low-latency Wi-Fi lock during streaming, fixing stutter after ~30 seconds caused by the radio going to sleep
- Packet loss now fades the last good audio frame instead of producing an audible click
- Mic mute button mid-session; faster reconnect via an explicit disconnect message
Breaking wire protocol change (new 10-byte packet header), update Desktop and Android together. License changed from MIT to EUPL 1.2 on both.
v0.4.0-beta
Desktop Android April 3, 2026Desktop
- Package size reduced by roughly 70-80% through build optimization
- Auto-launch on startup and instant server mode on launch
- Auto-connect to a saved IP with a priority ranking system
- Fixed "ghost server" entries lingering in discovery after the server closed
Android
- Smart auto-connect to a saved IP with priority management
- Two new Material You home screen widgets (Server / Client controller)
- Two Quick Settings tiles: Server toggle and Auto-Connect trigger
- App shortcuts via long-press on the home screen icon
WFAS handshake overhauled on both sides for more stable connections.
v0.3.0-beta
Desktop Android March 21, 2026Both apps become multi-protocol hubs: native WFAS, RTP, and HTTP/AAC in one place.
Desktop
- Full support for native WFAS, RTP, and HTTP streaming from one app
- Built-in web server serves an AAC/Opus player to any browser on the LAN
- Material You dynamic color engine
- Network interface selection to bypass VPN routing issues
Android
- Same WFAS / RTP / HTTP protocol choice, playable via VLC, Kodi, or any browser
- New 3-page onboarding explaining each protocol
- Full English and Italian localization
+ three Android technical patches (v0.3.1 – v0.3.3-beta, Mar 22–23) for IzzyOnDroid/F-Droid build compliance, no user-facing changes.
v0.2.0-beta
Desktop Android March 2026Desktop, Mar 6
- Replaced the JavaSound backend with FFmpeg for better stability
- Linux: virtual audio cable creation fully automatic
- Manual IP entry for networks that block auto-discovery
Android, Mar 1
- Reworked audio buffer logic for lower latency
- Server-side volume control from the UI or physical buttons
- Manual IP connection option
Known limitation at the time: macOS support was still in rough shape on both apps.
v0.1.0-beta
Desktop Android Aug – Sep 2025The first public beta of both apps.
- Server mode (Unicast and Multicast) and Client mode over the local network
- Automatic server discovery, with manual IP entry as a fallback
- Configurable sample rate, bit depth, and buffer size