* Add scrcpy window without video playback (#4727, #4793, #4868)
* Add a shortcut to pause/unpause display (#1632, #4748)
* Forward mouse hover events (#2743, #3070, #5039)
* Add option to configure mouse bindings (#5022)
* Forward all clicks by default for UHID/AOA (#5022)
* Simplify shortcut modifiers (#4741)
* Fix rotation shortcut for Android 14 (#4740, #4841)
* Fix YUV conversion for full color range (#4756)
* Fix camera sizes listing on some devices (#4852)
* Fix thread leak on Windows (#4973)
* Upgrade FFmpeg to 7.0.1 in Windows releases
* Upgrade SDL to 2.30.4 in Windows releases
* Upgrade platform-tools (adb) to 35.0.0 in Windows releases
* Various technical fixes
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=87
- Update to version 2.4
* Add UHID keyboard and mouse support.
* Simulate tilt multitouch by pressing Shift.
* Add rotation support for non-default display.
* Improve audio player.
* Adapt to display API changes in Android 15.
* Adapt audio workarounds to Android 14.
* Fix clipboard for IQOO devices on Android 14.
* Fix integer overflow for audio packet duration.
* Various technical fixes.
OBS-URL: https://build.opensuse.org/request/show/1154449
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=85
- Update to version 2.2:
* Bump version to v2.2
* Upgrade SDL (2.28.4) for Windows
* Upgrade platform-tools (34.0.5) for Windows
* Shutdown connection before joining threads
* Disable default stdout/stderr
* Improve manpage formatting
* Simplify URLs in manpage
* Always print device model and version
* Add camera documentation
* Add support for high frame rate camera capture
* Add --camera-fps
* Do not arbitrary limit --max-fps to 1000
* Fail-fast camera mirroring on Android 11 and older
* Support camera size selection using -m/--camera-ar
* Add --camera-facing
* Make camera id optional
* Handle camera disconnection
* Automatically select audio source
* Add camera mirroring
* Add --list-camera-sizes
* Add --list-cameras
* Factorize --list- options handling
* Extract SurfaceCapture from ScreenEncoder
* Force server exit at the end of main()
* Rename --display to --display-id
* Make separator configurable for parsing integers
* Fix incorrect comment about AV1 constant
* Move empty string test for crop option parsing
* Replace raw number by its name
* Replace sprintf() with safer snprintf()
* Use `char *` for pointer arithmetic
* Enable missing-prototypes warning
* Declare local functions as static
* Wrap macros in do-while(0)
* Fix --pause-on-exit parsing
* Add missing `void`s for empty parameter list
* Make sc_usb_devices_destroy() static
* Remove redundant `;`
* Use `void` for empty function parameter list
* Add scrcpy-server to .gitignore
* Use --pause-on-exit from launchers
* Add --pause-on-exit
* Make fillBaseContext() method private
* Add missing 'final' in Java classes
* Fix warning typo
* Report device disconnection on audio EOS
* Do not disable controls without video playback
* Fix TCP/IP link in README
* Add missing syntax highlighting in audio doc
* Add Encoder section
* Extract device connection to a separate doc page
* Move display section to video documentation
* Update links to v2.1.1
OBS-URL: https://build.opensuse.org/request/show/1121675
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=81
- Update to version 2.1.1:
* Bump version to 2.1.1
* Fix meizu deadlock
* Increase attempts to start AudioRecord
* Log device selection at INFO level
* Fix fedora package in build instructions
* Fix possible division by zero
* Add direct links to donations
* Ignore fold change events for other display ids
* Remove superfluous log
* Update links to v2.1
OBS-URL: https://build.opensuse.org/request/show/1098778
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=80
- Update to version 1.25:
* Bump version to 1.25
* Upgrade FFmpeg (5.1.2) for Windows 64-bit
* Upgrade SDL (2.26.1) for Windows
* Upgrade platform-tools (33.0.3) for Windows
* Force mouse source when --forward-all-clicks
* Remove continuous resizing workaround for Windows
* Add parent directory in release zipfile
* Use "meson setup"
* Adapt ClipboardManager for Android 13
* Upgrade junit to 4.13.2
* Use current adb port (if any) for --tcpip
* Fix CommandParserTest code style
* Always use --key=value in README
* Fix DisplayInfo parsing for Android Q
* Support wchar_t in argv for Windows
* Avoid string concatenation in crossfiles
* Build log.c for test_cli
* Add missing include <string.h> for strlen()
* Add missing include <string.h> for memmove()
* Add -s auto-completion for zsh
* Add -s auto-completion for bash
* Make ServiceManager and Settings methods static
* Fix typo in logs
* Add fallback to get DisplayInfo
* Use /dev/null instead of closing fds
* Extract $BUILD_TOOLS_DIR
* Add scrcpy-console.desktop
* Use shell environment to execute launcher
* Add desktop entry file for Linux app launchers
* Replace hardcoded 'share/' by datadir variable
* Upgrade Android SDK to 33
* Upgrade gradle build tools to 7.2.2
* Move from jcenter() to mavenCentral()
* Use precise scrolling values
* Add conversion from float to fixed-point i16
* Add unit test for float encoding
* Extract conversion from float to u16 fixed-point
* Rename buffer_util.h to binary.h
* Add unit test for float decoding
* Extract conversion from u16 fixed-point to float
* Move toUnsigned() to a Binary util class
* Remove deprecated meson.source_root()
* Move README and FAQ translations to the wiki
* Fix FAQ formatting
* Use DisplayManagerGlobal instance
* Rename net_listen() parameter
* Replace '%g' by '%f' as printf format
* Detect Windows using _WIN32 in network util
* Fix protocol documentation in comments
* Add missing allocation failure check
* Add missing LOG_OOM() on malloc failure
* Remove useless dependencies reference
* Document envvars for all platforms
* Fix environment variable configuration in FAQ
* Remove unused stream.h
* Rename function to simplify
* Add missing return 0 in tests
* Fix function declarations
* Reduce SHA-256 size in README and BUILD
* Update links to v1.24
OBS-URL: https://build.opensuse.org/request/show/1045458
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=77
- Update to version 1.24:
* Bump version to 1.24
* Revert "Make OTG window resizable"
* Fix inverted check
* Fix release script for platform-tools 33.0.1
* Use quotes for commands in documentation
* Update installed files list in BUILD documentation
* Upgrade FFmpeg (5.0.1) for Windows 64-bit
* Upgrade SDL (2.0.22) for Windows
* Enable linear filtering in OTG mode
* Make OTG window resizable
* Apply requested window size in OTG mode
* Create OTG window with HIGHDPI flag
* Add option to not power on on start
* Add missing mouse shortcuts in --help
* Fix GitHub case in BUILD
* Fix typo in German README
* Fix typos in Indonesian README
* Upgrade libusb (1.0.26) for Windows
* Upgrade platform-tools (33.0.1) for Windows
* Remove obsolete alternative injection method
* Adapt event injection to Android 13
* Improve README
* Fix typos/grammar issues in README
* Update README.it.md to v1.23
* Add missing SC_ prefix to header guards
* Add missing include
* Fix reference to FAQ in README
* Fix icon path in ./run
* Fix OpenGL ES prefix skip
* Improve README.zh-Hans.md
* Consider emulators as TCP/IP devices
* Log an error on unexpected device state
* Use $ANDROID_SERIAL if no selector is specified
* Document exit status in --help
* Add specific exit code for device disconnection
* Report server connection state
* Improve HID event push error message
* Fix typo in error message
* Add libusb error log
* Fix icon path in README
* Update links to v1.23
OBS-URL: https://build.opensuse.org/request/show/983210
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=76
- Update to version 1.23:
* Bump version to 1.23
* Add missing include for vector
* Add contact links to the README
* Add Bash completion script
* Add ZSH completion script
* Move "Device unauthorized" in FAQ
* Update FAQ to match the latest version
* Remove spurious empty line
* Mention adb wireless option for Android 11+
* Make step more explicit in wireless section
* Add troubleshooting in wireless section
* Improve phrasing in wireless section
* Renumber steps in wireless section
* Add an explicit first step in wireless section
* Update HID/OTG features in README
* Reorder --tcpip option in cli
* Also retry on IllegalArgumentException
* Increase `adb devices -l` max output size
* Use vector for listing ADB devices
* Use vector for listing USB devices
* Add sc_vector
* Move data/ to app/
* Disable USB features for win32
* Forbid HID input without OTG on Windows
* Kill adb daemon in OTG mode on Windows
* Make intr optional for adb commands
* Remove obsolete text in error message
* Build for Windows with libusb support
* Fix libusb callback for Windows
* Avoid PRIx16 printf format on Windows
* Remove USB hotplug callback error log
* Report USB device disconnection when detected
* Work around mouse capture SDL bug on macOS
* Pass screen instance to mouse capture functions
* Remove "linux-only" mentions for HID/OTG features
* Build on macOS with libusb support
* Fix typo
* Remove useless '\n' in log
* Remove fprintf() in tests
* Add --print-fps to enable FPS counter on start
* Move FPS counter start/stop logs
* Update FAQ about Windows scaling behavior
* Use sc_prefix for fps counter
* Fix links in German README
* Enforce deadline reached on timeout
* Fix fps_counter tick type
* Add German translation of README.md
* Add --no-cleanup option
* Fix order of options
* Add compilation flag for USB features
* Add compilation flag for V4L2 feature
* Fix double adb tunnel closing
* Rename buffer util functions with sc_ prefix
* Rename HEADER_SIZE to SC_PACKET_HEADER_SIZE
* Remove unused BUFSIZE
* Remove sc_demuxer_parse()
* Pass key frame flag from the device
* Store packet flags in PTS most significant bits
* Indent ifdef for clarity
* Improve error message for unsupported usb hotplug
* Do not duplicate relative mouse mode state
* Fix USB device leak on connection error
* Move prebuilt-deps/ to app/
* Reorder release.mk recipes
* Pass --buildtype=release as a single meson arg
* Print libusb version on --version
* Print both compiled and linked versions of libs
* Move version handling to a separate file
* Log device opening errors during listing
* Mention --select-usb and --select-tcpip in README
* Add option to select USB or TCP/IP devices
* Introduce adb device selector
* Execute adb start-server
* Remove sc_adb_get_serialno()
* Allow selecting a device from IP without port
* Expose simple API to select a single adb device
* Expose function to test if a serial is TCP/IP
* Add adb devices parser
* Refactor device configuration
* List and select USB devices separately
* Expose simple API to select a single USB device
* Add move-function for sc_usb_device
* Move SC_PRIsizet to compat.h
* Rename function to destroy a list of USB devices
* Add generic LOG() macro with level parameter
* Remove LOGC()
* Improve USB device open log
* Inline USB device opening
* Remove log_libusb_error()
* Remove confusing sc_str_truncate()
* Fix adb connect parsing
* Fix adb get-serialno parsing
* Fix adb getprop parsing
* Fix adb device ip parsing
* Store actual serial in sc_server
* Simplify switch to TCPIP function
* Build adb argv statically
* Expose adb executable path publicly
* Rename adb_command to adb_executable
* Assert non-NULL serial
* Assert "adb disconnect" is called with an argument
* Remove useless undef
* Remove screensaver log
* Remove platform-tools installation suggestion
* Use sc_ prefix for adb
* Move ADB code to adb/
* Simplify demuxer
* Rename stream to sc_demuxer
* Use sc_ prefix for recorder
* Use sc_ prefix for decoder
* Add missing spaces in help
* Downscale and retry also on early MediaCodec error
* Fix include for standard library header
* Add warning in function documentation
* Fix sc_str_truncate() documentation
* Fix comment typo
* Update FAQ.zh-Hans.md to v1.22
* Update README.zh-Hans.md to v1.22
* Update links to v1.22
OBS-URL: https://build.opensuse.org/request/show/962359
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=75
- Update to version 1.21:
* Bump version to 1.21
* Clarify TCP/IP mode in README
* Always synchronize clipboard on explicit COPY/CUT
* Expose sync mode for injecting events
* Move acknowledgment handling
* Fix set_clipboard message log
* Upgrade gradle build tools to 7.0.3
* Add --raw-key-events
* Use enum for key injection mode
* Use static maps to convert input events
* Fix code style in keyboard_inject
* Improve HID keyboard documentation
* Document --tcpip in README
* Add --tcpip feature
* Extract interruptible sleep for server
* Add function to read an adb property
* Add function to switch device to TCP/IP mode
* Add function to find the device IP address
* Add util function to remove trailing '\r'
* Add util function to locate a column in a string
* Workaround "adb connect" error detection
* Add adb connect and disconnect
* Add adb flag to disable execution error logs
* Use flags for adb commands
* Expose flags for process execution
* Remove obsolete precision in README
* Simplify Windows process inheritance configuration
* Remove intermediate static functions from adb.c
* Set CLOEXEC flag on sockets
OBS-URL: https://build.opensuse.org/request/show/945575
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=74
- Update to version 1.19:
* Bump version to 1.19
* Retrieve correct error messages on Windows
* Compute scrcpy directory manually
* Fix typo in manpage
* Use SOURCE_MOUSE for scroll events
* Upgrade SDL (2.0.16) for Windows
* Upgrade platform-tools (31.0.3) for Windows
* Declare callbacks static
* Add Simplified Chinese translation of FAQ
* Add a FAQ section for Wayland support
* Add README file in Turkish
* Fix OBS project ref URL
* Fix typo in DEVELOP.md
* Fix type for assignment
* Fix net_send_all()
* Fix code style
* Improve slope estimation on start
* Add buffering debugging tools
* Add clock tests
* Add buffering command line options
* Implement buffering
* Notify new frames via callbacks
* Extract current video_buffer to frame_buffer
* Rename video_buffer to sc_video_buffer
* Relax v4l2_sink lock constraints
* Replace delay by deadline in timedwait()
* Wrap tick API
* Add missing error log
* Move include fps_counter
* Remove obsolete comment
* Rename queue to sc_queue
* Fix manpage formatting
* Fix --lock-video-orientation syntax in help
* Remove unnecessary calls to av_packet_unref()
* Fix v4l2 data race
* Initialize fields before starting a thread
* Fix assertion race condition in debug mode
* Initialize controller even if there is no display
* Update scrcpy-server in install-release.sh
* Update links to v1.18 in README and BUILD
OBS-URL: https://build.opensuse.org/request/show/923374
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=73
- Update to version 1.18:
* Add support for Android 12.
* Add support for V4L2 (device screen capture as a webcam).
* Add an option to lock the initial video orientation.
* Add an option to power off the device on close.
* Bind 4th mouse button to APP_SWITCH.
* Bind 5th mouse button to expand notification panel.
* Expand settings panel on double-expand notification panel.
* Push to /sdcard/Download by default.
* Center the window on resize-to-fit.
* Increase possible display id range.
* Log input events in verbose mode.
* Fix touch events parameters.
* Fix left click on Samsung Browser.
* Remove option --render-expired-frames.
* Various technical fixes.
OBS-URL: https://build.opensuse.org/request/show/912188
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=72
- Update to version 1.16:
* Bump version to 1.16
* Add pinch-to-zoom simulation
* Add reference of the translations in README
* Add Traditional Chinese translation for README
* Fix clipboard paste condition
* Revert "Inject WAKEUP instead of POWER"
* Fix missing change of Ctrl key in README
* Add packaging status
* Update links to v1.15.1 in README and BUILD
* Bump version to 1.15.1
* Fix uninitialized repeat count in key events
* Update links to v1.15 in README and BUILD
* Bump version to 1.15
* Upgrade FFmpeg (4.3.1) for Windows
* Upgrade platform-tools (30.0.4) for Windows
* Keep the screen off on powering on
* Add --no-key-repeat cli option
* Pass full options struct to static functions
* Copy the options used in input manager init
* Mention that MENU unlocks screen
* Use <kbd> HTML tag for keys
* Mention in README that Ctrl is forwarded
* Update copy-paste section in README
* Swap paste shortcuts
* Add shortcuts for COPY and CUT
* Change "resize to fit" shortcut to MOD+w
* Remove "get clipboard" call
* Set computer clipboard only if necessary
* Set device clipboard only if necessary
OBS-URL: https://build.opensuse.org/request/show/826835
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=69
* Mention how to turn the screen on in README
* Update links to v1.14 in README and BUILD
* Bump version to 1.14
* Reactivate "turn device screen on" feature
* Push clipboard text only if not null
* Improve manpage formatting
* Initialize a default log level
* Upgrade platform-tools (30.0.0) for Windows
* Paste on "set clipboard" if possible
* Fix union typo
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=68
- update to 1.13
* Add option to lock video orientation (#218, #1151)
* Add shortcuts to rotate the display (#218, #1274)
* Mirror secondary displays (#397, #898, #1177, #1238)
* Enable trilinear filtering when possible (#40, #1284)
* Add --render-driver parameter (#1284)
* Accept --max-fps before Android 10 (#488)
* Accept negative window position (#1242)
* Use another local port if 27183 is not available (#945, #951)
* Forward NumPad keys when NumLock is disabled (#1188)
* Fix issues when directory contains non-ASCII chars on Windows (#1002)
* Do not print irrelevant workarounds errors (#994)
* Fix possible BufferUnderflowException on touch event (#1245)
* Upgrade FFmpeg to 4.2.2 in Windows releases
* Upgrade SDL to 2.0.12 in Windows releases
OBS-URL: https://build.opensuse.org/request/show/799883
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=67
- Update to 1.12.1
* Fix bit-rate parsing when "long" is 32 bits (#995)
- Changes from 1.12.0
* Add shortcut (Ctrl+r) to rotate device screen (#11)
* Respect scrolling configuration on macOS (#966)
* Initialize Application object (fix crashes on some devices) (#940)
* Restore the .jar extension on the device (fix crashes on some
* devices) (#944)
* Inject mouse events with a virtual device id (fix crashes on some
* devices) (#962)
* Refuse to push server if it points to a directory (#956)
- Run spec-cleaner.
- Update to version 1.11:
* Add support for touchscreens/multitouch (#22, #865)
* Add --max-fps to limit the frame rate (Android 10 only) (#488)
* Add options to set an initial window size and position (#762)
* Add option to disable window decorations (#762)
* Add --prefer-text option (#650)
* Add manpage
* Fix copy-paste on Android 10 devices (#796)
* Fix "turn screen off" on Android 10 devices (#835)
* Fix clicks not working in some games (#635)
* Fix device rotation while the window is maximized (#750)
* Fix scrcpy-noconsole.exe (#691)
* Fix HiDPI support (#829)
* Fix segfault on empty file recorded (#918)
* Fix recorded video to avoid crashes in Adobe Premiere (#702)
* Fix segfault on recording with old FFmpeg versions (#707)
* Fix several crashes on some devices (like Meizu) (#240, #365, #921)
* Upgrade FFmpeg to 4.2.1 in Windows releases
* Upgrade platform-tools to 29.0.5 (adb) in Windows releases
OBS-URL: https://build.opensuse.org/request/show/779167
OBS-URL: https://build.opensuse.org/package/show/hardware/scrcpy?expand=0&rev=66