Skip to content

Releases: XRSec/Screen-Remote

4.4.3.8

Choose a tag to compare

@Ran-Xing Ran-Xing released this 23 Jul 11:08

Add URL automation and compatibility recovery

  • Add screen-remote URLs for navigation, transient scrcpy overrides, management, and settings.
  • Add an ADB screenshot compatibility mode with user-confirmed video capture and decoder-size recovery.
  • Add opt-out telemetry, debug diagnostics, media hardening, remote volume-key forwarding, and regression coverage.

Add legacy shell fallback and remote device helpers

  • Fall back from shell_v2 to legacy shell when unsupported or rejected, and remember rejected connection features.
  • Add a remote JPEG screenshot stream with DisplaySurface and SurfaceControl capture backends.
  • Add helper APIs for directory listing, process inspection, application metadata, icons, and remote text injection.
  • Extend compatibility to older Android runtimes and replace unavailable platform APIs with portable implementations.
  • Add regression and integration coverage for legacy shell, management helpers, screenshots, and platform compatibility.

4.4.3.7

Choose a tag to compare

@Ran-Xing Ran-Xing released this 22 Jul 01:26

Update Log

4.4.3.6

Release Date: 2026-07-21

  • Added in-app download and installation update functionality, standardizing the four-segment version number.

  • Optimized MTK H.264 encoding for better image quality and low latency, improved game mode bitrate.

  • Fixed API compatibility issues with screen punch-hole, file selection, and session management.

  • Fixed the issue of session editing page bitrate displaying the original value.

  • Added game tags.

  • Updated keyboard hints.

  • Allowed the use of the floating ball in game mode.

  • Game modification update to 1M 2M 4M 8M 20M.

  • Updated backup and restore backup fields.

4.4.3.6

Choose a tag to compare

@Ran-Xing Ran-Xing released this 21 Jul 02:08

Update Log

4.4.3.6

Release Date: 2026-07-21

  • Added in-app download and installation update functionality, standardizing the four-segment version number.

  • Optimized MTK H.264 encoding for better image quality and low latency, improved game mode bitrate.

  • Fixed API compatibility issues with screen punch-hole, file selection, and session management.

  • Fixed the issue of session editing page bitrate displaying the original value.

  • Added game tags.

  • Updated keyboard hints.

  • Allowed the use of the floating ball in game mode.

  • Game modification update to 1M 2M 4M 8M 20M.

  • Updated backup and restore backup fields.

4.4.3.5

Choose a tag to compare

@Ran-Xing Ran-Xing released this 20 Jul 21:48

Changelog

4.4.3.5

Release Date: 2026-07-21

  • Added automatic update download function

4.4.3.3

Choose a tag to compare

@Ran-Xing Ran-Xing released this 20 Jul 21:33

Update Log

4.4.3.3

Release Date: 2026-07-21

New Features

  • Added a Game Mode for low-latency remote control, offering controlled 720/1080/1920, 1M/2M/4M, and 60/90/120 fps settings, and displaying a "Game" tag in the session list.

  • Game Mode uses independent high-priority control and video decoding threads to optimize responsiveness during continuous movement, view rotation, short presses, and high frame rates; it automatically pauses the floating ball, performance overlay, debug logs, and mDNS background discovery during operation, reducing unnecessary overhead.

  • Enhanced Virtual Screen Mode: Supports selecting and launching remote apps or launchers, synchronizing, swapping, or clearing virtual screen sizes, and controlling system interface and content retention after disconnection.

  • Added a vertical slider selector to session parameters, unifying the preset and custom input experience for maximum size, video bitrate, maximum frame rate, and audio bitrate.

  • A new "Show Floating Ball" switch has been added to the session, allowing you to decide whether to display quick operation entries based on the session; it remains hidden in game mode.

  • A new "Show Frame Rate and Network Speed" option has been added to the settings page, allowing you to view Decode/Render FPS, video bitrate, Wi-Fi link speed, and actual network throughput of the application on the remote control page.

  • A new "Adapt to Device Resolution" option has been added to the remote control floating menu, allowing you to switch the target device to the local resolution; clicking again will restore it.

  • The initial visit introduction card and recent updates card now include explanations of port forwarding, virtual screens, and game mode.

  • Added daily automatic update checks.

Experience Optimization

  • Refactored session-level configuration and runtime sharing: ScrcpyConfig, Session, and ActiveScrcpyConnection respectively handle configuration, session state, and active connections; duplicate fields, the global registry, and multi-level Runtime Store/Lifecycle/Facade forwarding have been removed; Profile is now used as the default application for complete configuration.

  • Upgraded the boolean useAdbForward to ScrcpyTunnelMode, unifying the selection between ADB Forward and Direct ADB channels; video, audio, and control sockets continue to be established strictly according to the protocol order.

  • Flattened the ADB connection establishment path; candidate connections directly return the actual AdbConnection, removing secondary pooling of deviceId, duplicate transmission splitting, and single-line callback wrapping; the session is always bound to the actual winning device in the connection race.

  • Unified reconnection and cleanup lifecycle: reconnection counts are managed by a single point in the Session, automatically resetting upon successful connection; connections, reconnections, disconnections, and cancellations share mutual exclusion boundaries, and proactive cleanup enters an uninterrupted phase.

  • Reorganized session configuration items, clarifying the semantics of ADB forwarding, clipboard synchronization, disconnection cleanup, and control/remote device wake-up; remote wake-up and disconnection cleanup are disabled by default, preserving reusable resources to reduce subsequent connection preparation time.

  • Rewrote multi-finger touch message sending and control message scheduling: maintained stable pointer IDs, merged expired moves, and maintained a strict order among DOWN, UP, button presses, and text messages to reduce touch backlog in game scenes.

  • Game mode ensures that extremely short DOWN/UP presses have a visible press duration on the controlled device, improving the latency issue of short presses being continuously moved during jumps, firing, etc.

  • Simplified audio and video codec configuration, enhanced automatic matching, capability detection, and runtime failure fallback between remote encoders and native decoders.

  • Encoder detection enables cleanup=false and reuses the main server file, removing the scrcpy-server2.jar copying process.

  • Optimized Surface switching and hardware decoding output waiting time, reducing repeated switching caused by UI refactoring and additional waiting time after decoding completion.

  • Reconstructed the floating ball's four-sided snapping, semi-hiding, dragging, and menu positioning logic to adapt to landscape and portrait screens, system bar, notch, and side navigation areas; maintained a safe distance between the menu and the ball.

  • The remote control page can automatically switch between portrait and landscape orientations based on the target screen's orientation.

  • Improved remote UI layout recognition, with more accurate identification of custom buttons, checkboxes, protocol options, enabled status, and selected status.

  • When selecting an APK in the remote control's "Send File" function, direct installation is now possible, and the same installation process is reused with application management.

Bug Fixes

  • Fixed issues such as the number of reconnections not resetting after successful reconnection, repeated triggering of the same request, race conditions between old Socket/Forward/Server cleanup and new connections, and the inability to rebuild sessions as candidates when ADB cache is missing.

  • Fixed issues such as potential session retention after initial connection cancellation, coroutine cancellation being mistakenly reported as connection failure, abnormal reconnection page return behavior, and proactively closing a Socket being mistakenly interpreted as a re-disconnection.

  • Fixed an issue where control flow read timeouts caused false reconnections after approximately 10 seconds; after the handshake is complete, media and control flow now rely on Socket closure interrupting the blocking read.

  • Treats stream closures caused by Wi-Fi/ADB disconnections as a unified lifecycle signal, avoiding repeated printing of AdbConnectionClosedException stack traces in audio, video, and shell monitoring, while preserving the actual protocol and decoding error details.

  • Optimized bidirectional clipboard synchronization, improving the reliability of pasting Chinese characters, special characters, and large blocks of text.

  • Fixed an issue where automatic reconnection might still re-initiate after actively disconnecting or canceling the connection.

  • Fixed issues with session quick saves potentially adding duplicate sessions, incomplete saving of group selections, and invalid group references remaining after deleting groups.

  • Fixed issues with the floating menu bouncing back, disappearing, obscuring, or inconsistent positioning at the top, bottom, and landscape sides.

  • Fixed minor issues with audio decoding output, mDNS online status, keyboard input, and remote control UI rendering on some devices.

  • Updated compatibility implementations for some deprecated Android APIs.

Documentation and Testing

  • Updated the Chinese and English README, screenshots, and language switching entry.

  • Added categorized tests for ADB speedup, session configuration strategy, socket order, reconnection budget reset, early cancellation, and connection closure; all debug unit tests passed.

  • Added and improved automated tests for game mode, touch timing, virtual screen parameters, codec rollback, floating ball boundaries, remote layout recognition, session saving, and mDNS status.

  • Technical documentation has been compiled into the wiki: [Session Configuration and Connection Lifecycle](../wiki/DevelopmentDocumentation-Architecture-Session Configuration and Connection Lifecycle.md), [Remote Interaction Performance and Floating Menu](../wiki/DevelopmentDocumentation-Topic-Remote Interaction Performance and Floating Menu.md), and [Session Parameter Selector](../wiki/DevelopmentDocumentation-Guide-Session Parameter Selector.md).

4.4.3.2

Choose a tag to compare

@Ran-Xing Ran-Xing released this 19 Jul 12:57

Update Log

  • Updated compatibility for some deprecated APIs.

  • Optimized scrcpy multi-finger touch handling: stabilized pointer ID, ignored expired historical moves, merged the latest moves by pointer, and refreshed the order barrier before state switching, reducing touch backlog and small packet writes in game scenes.

  • Added a "Display Frame Rate and Network Speed" switch to the settings page, which is off by default; it can display Decode/Render FPS, scrcpy video bitrate, Wi-Fi Link TX/RX, and the application's actual network TX/RX within the session.

  • Fixed the performance panel to the top left corner of the real device screen with a 5dp margin; target screen rotation, black borders, and resolution changes do not affect the position, and it automatically rearranges after the real device rotates.

  • Refactored the floating ball edge implementation: the window remains within the effective area of ​​the real device, hiding 3/5 and showing 2/5 by drawing and clipping; fixed the top bounce-back and bottom disappearance issues in portrait mode and inconsistent left and right positioning in landscape mode.

  • The floating ball and menu uniformly use the full-screen, non-focusable WindowManager coordinate rules; the semi-hidden ball is restored on the first click, and the menu is opened on the second click. The menu and ball maintain a fixed 16dp spacing; if space is insufficient, the ball automatically moves to make room, and absolute position is corrected frame-by-frame during dragging and edge-fitting animations; independent long-press displacement of ball A is disabled during menu display. The documentation clearly distinguishes between "ball top coordinates" and "complete top distance including the ball body": In portrait mode (V2403A), the ball top is 114 + 124 + 48 = 286px, and the complete top distance including the 124px body is 410px; in landscape mode, the menu top is fixed at 0, the ball top is 172px, the complete top distance is 296px, and a 103px camera cutout is retained on the left. Even after the menu is closed, the ball is still allowed to fit on the physical top of the device, and touch penetration outside the menu is maintained.

  • Added regression tests for touch functionality, performance statistics, edge coverage, safety boundaries, and menu spacing.

  • Added technical documentation: scrcpy Touch, Performance Statistics, and Floating Menu Technical Description.

  • Updated UI rendering logic.

4.4.3.1

Choose a tag to compare

@Ran-Xing Ran-Xing released this 19 Jul 08:04

🔴 Users who have installed the older version must back up their data using the "Backup" function in the older version before installing the new version to avoid data loss.

This version features a comprehensive upgrade to remote control, device connection, and file management, and further improves connection and decoding stability.

Major Updates

  • Upgraded the built-in scrcpy-server to v4.1.

  • Improved H.264, H.265, AV1, VP8, and VP9 video decoding, as well as Opus, AAC, FLAC, and RAW audio support.

  • Optimized decoder auto-selection, runtime rollback, and low-latency playback, enhancing compatibility and connection stability across different devices.

  • Sessions now support configuring a primary address and multiple backup addresses, and can use TCP, USB, mDNS, and other connection methods.

  • Optimized the file manager, adding path breadcrumb navigation, file size display, file type icons, and file details interaction.

  • Fixed several stability issues in foreground services, connection establishment, and mDNS discovery scenarios.

4.4.2.1

Choose a tag to compare

@Ran-Xing Ran-Xing released this 20 May 04:42

重命名 Scrcpy Mobile -> Screen Remote
调整部分代码

image

4.4.1.9

Choose a tag to compare

@Ran-Xing Ran-Xing released this 19 May 06:03

优化双语问题,优化 UI,更新日志管理,问题精准定位
image

4.4.1.7

Choose a tag to compare

@Ran-Xing Ran-Xing released this 05 Apr 10:17

新增 Shell 日志开关控制,方便定位 scrcpy server 异常退出问题,监控黑屏原因

Wechat Group

IMG_20260405_181613