Version 1.1.1
~~~~~~~~~~~~~

* Changes:
  - Bump autoconf requirement to 2.64
  - Bump libzip dependency to 0.10
  - Ignore .DS_Store and hidden files when parsing ZIP files
  - Fix device removal detection triggering on any device unplug
  - Improve excessive progress output
  - Return non-zero exit status on errors
  - Remove length check on UDID argument to support newer devices
  - Fix win32 build
  - Add "-n" option to make waiting on install/uninstall notification optional
  - Ignore SIGPIPE signal
  - Add "--network" and "--version" options to ideviceactivation tool
  - Bump libimobiledevice dependency to 1.3.0
  - Bump libplist dependency to 2.2.0
  - Improve README.md with project description, installation, contributing and
    usage sections

Version 1.1.0
~~~~~~~~~~~~~

* Changes:
  - Fix installation of archives which are missing app directory zip file entry
  - Return non-zero exit status (128) when device error occurs
  - Add error checking for readlink use
  - Add support for installing from directories which contain symlinks
  - Plug a few memory leaks
  - Print AFC error code if writing fails
  - Fix possible buffer overflow with filename argument
  - Increase transfer buffer size for faster file uploads
  - Fix building with older libzip versions
  - Swap "-u" and "-U" arguments and print deprecation warning if still used
  - Improve error reporting on wrong usage
  - Replace "iPhone" wording with more general term "iOS device"
  - Remove waiting timeouts as they appear unreliable with large archives
  - Don't wait for a notification during uninstall as there is none sometimes
  - Improve command line output for more clarity and unification
  - Detect device removal and abort operation in that case
  - Turn some errors messages into warnings to not confuse users
  - Support iOS 7 correctly by passing "CFBundleIdentifier" option
  - Allow installation of developer apps by passing a ".app" directory
  - Add compatibility for libimobiledevice >= 1.1.5
  - Fix file operations for WIN32
  - Fix wrong usage description for upgrade command
  - Use CFBundleExecutable instead of CFBundleName to construct executable path
  - Rename "uuid" to correct "udid" abbreviation as used in other tools
  - Fix various issues with ZIP index and locating files in the archive
  - Improve detection of Info.plist in application archives
  - Fix compiler warnings
  - Allow creating app archives with just the documents/user data
  - Add support for CarrierBundle installation (.ipcc files)

Version 1.0.1
~~~~~~~~~~~~~

* Changes:
  - Fix minor manpage typos
  - Fix build on OS X
  - Fix build warnings and make compilers happy

Version 1.0.0
~~~~~~~~~~~~~

* First official public tarbal release
* Features:
  - Install, upgrade, uninstall, archive, restore, and enumerate installed
    or archived apps on an iDevice

