Version 1.0.10
~~~~~~~~~~~~~~

* Changes:
  - Avoid exporting non-public symbols
  - Allow multiple connections to iproxy listen port
  - Add ability to target device by UDID to iproxy
  - Remove outdated/unmaintained Python and sftp examples
  - Update README and rename license to more generic COPYING
  - Rename header guards according to C++ standard
  - Fix a few crashes related to using old usbmuxd daemon and broken pair
    records
  - Fix out of tree build
  - Fix leaking socket handles by properly closing them
  - Check for validity of socket file descriptor
  - Properly handle segmented send/receive situations to improve reliability

Version 1.0.9
~~~~~~~~~~~~~

* Changes:
  - Avoid SIGPIPE where possible
  - Plugged several memory leaks and invalid frees
  - Fixed concurrency issues caused by tag mismatch
  - Added new interface functions for pair record management via usbmuxd:
    - usbmuxd_read_pair_record()
    - usbmuxd_save_pair_record()
    - usbmuxd_delete_pair_record()
    - usbmuxd_read_buid()
  - Made libplist dependency (and thus protocol v1 support) mandatory
  - Improved usbmuxd_get_device_list() with new ListDevices usbmuxd command
  - Fix various memory leaks
  - Add libusbmuxd_set_use_inotify() to control inotify support (Linux)
  - Add libusbmuxd_set_debug_level() to enable debugging
  - Fixed WIN32 (MinGW) build

This is the first release after the usbmuxd/libusbmuxd project split.

