Skip to main content
Version: 2.0.0

Versions and features

This page only lists features implemented in each version of the server (e.g., capture video and audio) and whether they are supported by Tango. Some versions are skipped since they don't contain server-side changes.

Some features in Scrcpy are solely implemented by the client (e.g. simulate multi-touch using keyboard modifiers), so they are not listed here.

Generally, the latest version should be used, as they contain bug fixes and new features. However, if you're using Scrcpy on old devices, an older version might be more stable.

Legends

  • (5/10): 5 out of 10 features in this version are supported
  • ✅: Supported
  • ⛔: Not supported
  • (Breaking): A breaking change. Some new options are not marked as breaking changes even if they contain protocol changes, as the old client can still work with the new server when the new options are not used.

v3.1 (2/2)

Official release notes

New options

  • ✅ Don't destroy contents on virtual displays on exit (--no-vd-destroy-content)

Protocol changes

  • ✅ (Breaking) Add vendor ID and product ID to UHID create control message

v3.0 (9/10)

Official release notes

Compatible versions: v3.0.1, v3.0.2

New options

  • ✅ (Breaking) Remove --lock-video-orientation
  • ✅ More flexible video capture orientation (--capture-orientation)
  • ✅ Free rotation (--angle)
  • ✅ Set screen off timeout (--screen-off-timeout)
  • ✅ Create and mirror new virtual displays (--new-display)
  • ✅ Turn off virtual display system decorations (--no-vd-system-decorations)
  • ⛔ List apps (--list-apps) (output parsing not implemented)

Protocol changes

  • ✅ (Breaking) --list-encoders output format change
  • ✅ Add start app control message
  • ✅ Add restart video capture control message

v2.7 (2/2)

Official release notes

Protocol changes

  • ✅ (Breaking) Add name field to UHID create control message
  • ✅ (Breaking) Support UHID destroy control message

v2.6 (2/2)

Official release notes

Compatible versions: v2.6.1

New options

  • ✅ Audio playback capture (--audio-source=playback)
  • ✅ Audio duplication (--audio-dup)

v2.4 (2/2)

Official release notes

Compatible versions: v2.5

New options

  • ✅ UHID Keyboard (--keyboard=uhid/-K)
  • ✅ UHID Mouse (--mouse=uhid/-M)

v2.3 (1/1)

Official release notes

Compatible versions: v2.3.1

New options

  • ✅ FLAC audio codec (--audio-codec=flac)

v2.2 (7/9)

Official release notes

New options

  • Mirror cameras
    • --video-source=camera
    • --camera-id
    • --camera-facing
    • --camera-ar
    • --camera-size
    • --camera-fps
    • --camera-high-speed
  • List cameras
    • --list-cameras (output parsing not implemented)
    • --list-camera-sizes (output parsing not implemented)
note

Although we contributed the camera feature to Scrcpy, the final implementation is different from our internal code.

Implement these features in Tango is not a priority, as we are using the internal implementation.

v2.1 (2/2)

Official release notes

Compatible versions: v2.1.1

New options

  • ✅ Option to disable screen capture (only mirror audio) (--no-video)
  • ✅ Capture microphone (--audio-source=mic)

v2.0 (15/15)

Official release notes

New options

  • ✅ Unique ID for each instance (--scid)
  • New video codecs
    • --video-codec=h265
    • --video-codec=av1
  • Rename video codec options
    • --bitrate -> --video-bitrate
    • --codec-options -> --video-codec-options
    • --encoder -> --video-encoder
  • Capture internal audio
    • --no-audio
    • --audio-codec=opus
    • --audio-codec=aac
    • --audio-codec=raw
    • --audio-bitrate
    • --audio-codec-options
    • --audio-encoder
  • ✅ List encoders (--list-encoders)
  • ✅ Official option to list displays (--list-displays)

Protocol changes

  • ✅ (Breaking) Fix --forward-all-clicks for Chrome

v1.25 (1/1)

Official release notes

Protocol changes

  • ✅ (Breaking) High-precision scrolling

v1.24 (1/1)

Official release notes

New options

  • ✅ Option to not wake up device on connection (--no-power-on)

v1.23 (2/2)

Official release notes

New options

  • ✅ Option to not clean up on exit (--no-cleanup)

Protocol changes

  • ✅ (Breaking) Metadata for video key frames

v1.22 (5/5)

Official release notes

New options

  • ✅ Option to not try lower resolution on encoder error (--no-downsize-on-error)
  • ✅ Option to not send device metadata
  • ✅ Option to not send dummy byte

Protocol changes

  • ✅ (Breaking) Skip control socket when control is disabled
  • ✅ (Breaking) Pass buttons to scroll events

v1.21 (3/3)

Official release notes

New options

  • ✅ Option to disable clipboard synchronization (--no-clipboard-autosync)

Protocol changes

  • ✅ (Breaking) New server argument format
  • ✅ (Breaking) Response for set clipboard request

v1.18 (5/5)

Official release notes

Compatible versions: v1.19, 1.20

New options

  • ✅ Lock video orientation to initial value (--lock-video-orientation=initial)
  • ✅ Option to lock device on exit (--power-off-on-close)

Protocol changes

  • ✅ (Breaking) Command to expand settings panel
  • ✅ (Breaking) List video encoder output format change
  • ✅ (Breaking) Support long-press back button

v1.17 (1/1)

Official release notes

New options

  • ✅ Option for video encoder (--encoder)

v1.15 (20/20)

Official release notes

Compatible versions: v1.15.1, v1.16

New options

  • ✅ Option to keep screen off (--turn-screen-off)
  • ✅ Stay awake while plugged in (--stay-awake)
  • ✅ Max video resolution (--max-size)
  • ✅ Max video bitrate (--bitrate)
  • ✅ Max video frame rate (--max-fps)
  • ✅ Lock video orientation (--lock-video-orientation)
  • ✅ Crop video (--crop)
  • ✅ Video codec options (--codec-options)
  • ✅ Option to not send frame metadata
  • ✅ Choose display to mirror (--display)
    • ✅ List displays (--display=-1)
  • ✅ Enable show touches (--show-touches)

Protocol changes

  • ✅ Parse video stream
  • ✅ Use forward tunnel (--tunnel-forward)
  • Control
    • ✅ Option to disable control (mirror-only) (--no-control)
    • ✅ Inject touch events
    • ✅ Inject key events
    • ✅ Inject back/power button
    • ✅ Inject mouse wheel events
    • ✅ Set device clipboard