Version 2.1.1
~~~~~~~~~~~~~

* Changes:
  - tools: Fix potential issue with select() in case the network fd is higher than the usbmux fd
  - Switch to better initializer strategy
  - Fix compilation on MSVC
  - iproxy: Make sure to print correct socket error messages
  - inetcat: Make sure to report correct error messages


Version 2.1.0
~~~~~~~~~~~~~

* Changes:
  - Socket code has been moved to libimobiledevice-glue library
  - Code cleanup (clang-tidy) and improvements
  - autoconf: Fix clang-16 breakage
  - Add libusbmuxd_version() function to interface
  - iproxy: Use updated socket_create API to listen on IPv4 and IPv6 with a single socket

Version 2.0.2
~~~~~~~~~~~~~

* Changes:
  - Fix compiler warnings
  - Handle USB and network devices with new options in tools
  - Make connecting sockets non-blocking
  - Fix win32 build
  - Switch from concurrent threads to loop with select()
  - Allow to specify source address for listening socket in iproxy
  - Allow to map multiple ports in iproxy
  - Fix crash when no UDID is provided
  - Add man pages for iproxy and inetcat tools
  - Improve `socket_create()` with proper use of getaddrinfo
  - Allow proper listening on localhost for IPv6 and IPv4 in iproxy
  - Bump dependency to libplist 2.2.0
  - Add new "--version" argument to output version information to tools
  - Improve README.md with project description, installation, contributing and
    usage sections
  - Rename library and all related files by adding an API version resulting
    in "libusbmuxd-2.0"

Version 2.0.1
~~~~~~~~~~~~~

* Changes:
  - Rename 'icat' tool to 'inetcat' due to name conflict with sleuthkit's icat

Version 2.0.0
~~~~~~~~~~~~~

* Changes:
  - Add proper support for USB and network (WiFi sync) devices reported by usbmuxd
  - Add new usbmuxd_events_subscribe/unsubscribe functions with a context so it can be used in different threads
  - Add new tool 'icat'
  - Lots of bug fixes and other improvements

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

* Changes:
  - Retry to connect to usbmuxd socket if first attempt failed (Linux/inotify)
  - 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.

