Skip to content

Releases: Aihoward/DroidLink

DroidLink 2.6

Choose a tag to compare

@Aihoward Aihoward released this 18 Aug 01:08
d5fdcb1

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

Choose a tag to compare

@Aihoward Aihoward released this 18 Aug 00:28

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

Choose a tag to compare

@Aihoward Aihoward released this 17 Aug 07:42

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

Choose a tag to compare

@Aihoward Aihoward released this 17 Aug 07:00

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

Choose a tag to compare

@Aihoward Aihoward released this 17 Aug 09:42

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

Pre-release

Choose a tag to compare

@Aihoward Aihoward released this 17 Aug 06:02

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

Pre-release

Choose a tag to compare

@Aihoward Aihoward released this 17 Aug 05:07

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

Pre-release

Choose a tag to compare

@Aihoward Aihoward released this 17 Aug 04:25

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

Choose a tag to compare

@Aihoward Aihoward released this 17 Aug 00:11

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 Pre-release
Pre-release

Choose a tag to compare

@Aihoward Aihoward released this 16 Aug 19:14

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.