Releases: Aihoward/DroidLink
Release list
DroidLink 2.6
DroidLink 2.6 focuses on long-session Winlator controller stability while preserving the proven PS2/emulator input path.
- Recovers failed controller DataChannels without recreating DroidLink Player 2
- Adds a stale-axis watchdog that neutralizes held movement safely
- Adds separate sender, channel, receiver, and uinput health diagnostics
- Restores persistent Red, Blue, Green, Yellow, and Purple accent choices
- Corrects main-menu Online/Offline cleanup status
- Hides Android system bars during game mode with transient swipe access
- Preserves video, audio, Firebase signaling, TURN, security, controller identity, and cleanup behavior
- Version code 29
Automated verification: testDebugUnitTest and assembleDebug passed.
DroidLink 2.5
Stability-focused controller reliability release based on the known-good 2.0 controller path.
- Preserves DroidLink Player 2 identity and stable Winlator mappings
- Keeps the same virtual controller alive through transient WebRTC interruptions
- Adds lightweight long-session controller diagnostics
- Restores session, signaling, payload, TURN, and backup security hardening
- Version code 28
Automated verification: all 20 unit tests passed.
DroidLink 2.1
DroidLink 2.1
DroidLink 2.1 is a focused UI polish and customization update built on the successful DroidLink 2.0 experience.
What's new:
- Shared in-game session menu experience for Host and Joiner
- Auto-hiding session menu button with touch-to-reveal
- 2.5-second idle delay with a short smooth fade
- Modern immersive fullscreen throughout DroidLink
- Transient Android system bars available through intentional edge swipes
- Five persistent UI accent colors: Red, Blue, Green, Yellow, and Purple
- Immediate theme updates and Reset to Default
- Improved display-cutout and safe-area handling
- Preserved Resume, Diagnostics, Disconnect, audio, and settings flows
- Updated application metadata to DroidLink 2.1
Preserved systems:
- Gaming Low-Latency Playout Mode
- H.264 hardware codec preference
- Firebase signaling
- Direct P2P and TURN fallback
- Controller transport and DroidLink Player 2
- Game audio
- Existing connection, reconnection, and cleanup behavior
Validation:
- testDebugUnitTest passed
- assembleDebug passed
- APK metadata verified as version 2.1
Physical-device testing is recommended for immersive gestures, keyboard behavior, color readability, and Host/Joiner session controls.
DroidLink 2.0
DroidLink 2.0
DroidLink 2.0 combines the responsive 1.0.5 streaming experience with a polished, game-focused interface.
What's new:
- Clean fullscreen gameplay experience
- Compact 48 dp in-game menu control
- New lightweight session overlay
- Instant Resume action
- Easy access to Diagnostics, Game Audio, and Settings
- Reliable Disconnect action using the existing session cleanup flow
- Predictable Android Back-button behavior during gameplay
- More polished Host and Join main-menu actions
- Improved navigation and consistent compact button styling
- Updated DroidLink 2.0 branding and application metadata
Preserved systems:
- Gaming Low-Latency Playout Mode
- H.264 hardware codec preference
- Firebase signaling
- Direct P2P and TURN fallback
- Controller transport and DroidLink Player 2
- Game audio
- Automatic reconnection and session cleanup
Validation:
- testDebugUnitTest passed
- assembleDebug passed
- APK metadata verified as version 2.0
This is the current primary DroidLink build. Physical-device testing is still recommended across different Android devices and display orientations.
DroidLink 2.0 V2
DroidLink 2.0 V2
Security and stability hardening:
- Validates room codes, SDP, ICE candidates, and controller payload sizes
- Limits stale, duplicate, oversized, and excessive signaling data
- Uses secure room-code generation and tighter TURN response parsing
- Disables cleartext Android traffic and app-data backup
- Restricts screen-capture service broadcasts to DroidLink
- Improves broad Android controller mapping and Controller Test behavior
- Preserves the working WebRTC video, game-audio, signaling, and low-latency controller architecture
Important scope:
- Players 3 and 4 are not enabled in this build. Safe multi-peer video requires a tested multi-PeerConnection host architecture.
- Microphone voice chat is not enabled. It requires safe mixing/isolation from the existing game-audio capture pipeline.
- Firebase server-side authorization still requires deployed Firebase Authentication/security rules; APK-side validation alone is not a complete access-control boundary.
Build verification:
- :app:testDebugUnitTest passed
- :app:assembleDebug passed
Physical-device security, streaming, and controller verification is still required.
DroidLink 1.0.5 Gaming Playout
DroidLink 1.0.5
What's new:
- Added Gaming Low-Latency Playout Mode
- Reduced configured receive-side video playout maximum from 80 ms to 60 ms
- Separated game audio and video synchronization groups to prevent audio buffering from delaying video
- Improved remote game-audio routing with explicit game/media output attributes
- Added audio jitter-buffer, concealment, output-state, and A/V sync diagnostics
- Added requested capture FPS and adaptation-level diagnostics
- Preserved Firebase signaling, ICE/TURN, H.264, controller transport, Player 2, and reconnect systems
Beta status:
- This is a beta/debug build intended for physical-device testing
- Actual receive latency reduction and two-way game audio require verification on real devices
- Keep DroidLink 1.0.4 available as the rollback build
DroidLink 1.0.4 Receive Latency
DroidLink 1.0.4 Receive Latency
Focused receive-side latency update built on the protected DroidLink 1.0.3 baseline.
- Added bounded WebRTC low-latency video playout with normal jitter buffering preserved
- Set a best-effort 0–80 ms receive playout range
- Added low-latency decode pacing and a one-frame decode-queue threshold
- Corrected jitter-buffer interval, target, minimum, range, and trend diagnostics
- Corrected inbound/outbound bitrate direction and candidate-pair reporting
- Added separate receive and decode FPS diagnostics
- Replaced misleading unavailable FPS, codec, and queue values with accurate Unavailable labels
- Relabeled frame age as an estimated pipeline delay rather than synchronized motion-to-photon latency
- Preserved SurfaceViewRenderer, H.264, MediaCodec, game audio, Firebase, TURN, ICE, PeerConnection, controller transport, Player 2, Winlator, reconnect, cleanup, and UI systems
Validation:
- 16 unit tests passed
- testDebugUnitTest passed
- assembleDebug passed
- Native builds passed for arm64-v8a, armeabi-v7a, x86, and x86_64
This APK is debug-signed and intended for physical-device receive-latency and stability testing. Real-device testing is required to verify jitter-buffer reduction, A/V synchronization, and gameplay responsiveness.
DroidLink 1.0.3 Low Latency
DroidLink 1.0.3 Low Latency
Final low-latency optimization built on the protected DroidLink 1.0.2 baseline.
- Removed the extra diagnostic VideoSink from the remote decoder path
- Preserved direct VideoTrack to SurfaceViewRenderer delivery
- Reduced high-frequency controller and uinput logging overhead
- Reduced per-frame capture diagnostic clock work
- Added current and average controller packet-age diagnostics
- Preserved analog latest-state backpressure and stale/out-of-order rejection
- Preserved digital button reliability and neutral-reset safety
- Preserved Firebase, TURN, ICE, PeerConnection, H.264, game audio, Player 2, Winlator, PS2/emulator, reconnect, cleanup, and UI systems
Validation:
- testDebugUnitTest passed (11 tests)
- assembleDebug passed
- Native builds passed for arm64-v8a, armeabi-v7a, x86, and x86_64
This APK is debug-signed and intended for physical-device latency and stability testing. Build success does not by itself verify real-device latency improvement.
Droid Link 1.0.2 Low Latency
Droid Link 1.0.2 Low Latency
Video-latency update built on the protected Droid Link 1.0.1 stable baseline.
- Reduced Low Latency sender starting and maximum bitrate
- Added faster freshness-first bitrate, resolution, and FPS adaptation
- Added source-level frame adaptation to prevent excess capture work
- Preserved H.264-first hardware codec preference
- Disabled renderer FPS reduction and preserved direct SurfaceViewRenderer delivery
- Added capture, encode, jitter-buffer, decode, render, and video queue diagnostics
- Added estimated VIDEO FRAME AGE AT RENDER
- Added runtime encoder/decoder implementation reporting
- Preserved Firebase, TURN, ICE, video lifecycle, game audio, Player 2, Winlator, PS2/emulator, D-pad, reconnect, and current UI systems
Validation:
- testDebugUnitTest passed
- assembleDebug passed
- Native builds passed for arm64-v8a, armeabi-v7a, x86, and x86_64
This APK is debug-signed because production release signing is not configured. Physical-device testing is required to verify the latency improvement and hardware codec selection.
Droid Link 1.2.2 Beta
Droid Link 1.2.2 Beta
Small joiner stability hotfix focused on the username and voice UI lifecycle.
- Added idempotent post-connection initialization
- Added stale-session callback protection
- Added safe username fallbacks
- Hardened optional connection and voice statistics collectors
- Temporarily disabled the animated speaking overlay for stability
- Preserved voice audio, video, game audio, controller, Firebase, TURN, ICE, and connection behavior
This is a beta build intended for physical-device testing.