Version 1.0.9 ~~~~~~~~~~~~~ * Changes: - Update copyright headers to match best practice - Flush input buffer on connection teardown - Add systemd based activation with fallback for udev and manual activation - Add initial NEWS file and update README with latest information - Rename header guards according to C++ standard - Implement support for usbmux protocol version 2 which improves stability - Fix crash when old libusbmuxd was used as a client - Add "--version" argument to print version number and exit - Update command line usage to match best practice and other tools - Massively improve read performance by using 3 parallel transfers - Bump requirement to libplist 1.11 - Remove trailing "\n" from usbmuxd_log() messages - Improve thread safety - Fix crash on 64bit systems in process_send() - Fix possible leak of file descriptors - Implement "ReadBUID", "ReadPairRecord", "SavePairRecord" and "DeletePairRecord" commands - Make plist based protocol support mandatory - Return proper error packet on client version mismatch - Implement "ListDevices" command - Manage pair records in a directory compatible to native usbmuxd - Output USB configuration changes in log - Set "deactivated" USB configuration on iOS device by default as usbmuxd will bring device to "life" on it's own now - Add udev rule installation with autotools - Lower udev rules numbering to make sure to start as early as possible - Split out client library into "libusbmuxd" and depend on "libimobiledevice" - Implement preflight worker to support iOS 7 based trust dialog handling - Install usbmuxd binary to sbindir instead of bindir - Switch from CMake to autotools build system - Fix various memory leaks - Add libusbmuxd_set_use_inotify() to control inotify support at runtime - Add libusbmuxd_set_debug_level() to enable debugging - Use mutex to handle concurrency issues - Fix and cleanup win32 build This is the first release after the usbmuxd/libusbmuxd project split.