What's new in libimobiledevice 1.2.0
Jan 29, 2015
- Changes:
- Require autoconf 2.64 or later
- Remove dev tools, will return either as proper tools or website examples
- Refactor installation proxy service implementation and normalize code
- API: Added instproxy_lookup() to efficiently lookup app information
- API: Added instproxy_check_capabilities_match() to check device capabilities
- API: Added various instproxy command and status plist getters
- API: Make debugserver_client_set_ack_mode() public
- Fix handling of clients reconnecting in idevicedebugserverproxy which
- previously didn't work properly
- Flush stdout for every line in idevicesyslog
- Fix shutdown of idevicedebugserverproxy tool which could hang
- Notify user when erroneously using idevicebackup with iOS 4 or later
- Enable build of idevicecrashreport on WIN32
- Fix thread handle leaks on WIN32 adding thread_new and thread_free
- cython: Add receive/receive_timeout methods for iDeviceConnection to receive raw data from a connection
- cython: Add new FILE_RELAY_E_PERMISSION_DENIED(-6) error
- API: Refactor lockdown service internal error checking and add a bunch of new native errors
- Convert int16_t macro error types into enum within common module, too
- Add new "idevicenotificationproxy" tool to post or observe notifications
- Fix overlong blocking in np_client_free()
- Improve maintainability and Requires of pkg-config file
- API: Add new LOCKDOWN_E_SERVICE_LIMIT error to detect service limit states
- API: Remove const argv requirement for debugserver_command_new
- cython: Add get_path_for_bundle_identifier() method to
- InstallationProxyClient
- cython: Add DebugServerClient class to communicate with debugserver
- Comply to strict function prototypes by using (void) instead of just ()
- Fix notification proxy shutdown process which was incorrectly implemented
- Fix linking problems on OS X
- Fix missing debug output which broke with the last release
- Unify and improve various debug messages
- Fix re-pairing if pairing with existing pair record failed initially
- Skip printing long plist (16kb+) files to prevent excessive debug output
- Move a few common helpers from backup tools to common utility helper code
- Remove incorrect flags from afc_file_open() documentation
- Fix various memory leaks
New in libimobiledevice 1.1.7 (Oct 15, 2014)
- Changes:
- Fix broken app args, environment handling and memory leaks in idevicedebug
- Make all tools print an error if lockdown connection fails
- Convert int16_t macro error types into enum for better type-checking and or various debugging benefits
- Avoid exporting non-public symbols for better ABI stability
- Fix failing backup process for devices having a passcode set and entering lock state during the process in idevicebackup2
- API: Added lockdownd_start_service_with_escrow_bag()
- API: Added afc_remove_path_and_contents() for recursive deletion
- Fix last memory leak with OpenSSL through proper library deinitialization
- Add new idevicedebug tool to interact with debugserver on a device
- API: Add debugserver service implementation
- Handle new PermissionDenied error of file_relay due new security in iOS 8+
- Fix retry loop problem when device requests 0 files in idevicebackup2
- Add trust dialog related error codes to Cython bindings
- Fix various memory leaks in AFC implementation
- Fix disk image upload with latest iOS 8 in ideviceimagemounter
- Add new "dump" command to print information about a provisioning profile in ideviceprovision
- Refactor plist print helper code and move it into common module for better reuse accross the tools
- Do not crash if retrieving the system buid fails
- API: Make generic "propery_list_service_client" public
- Moved doc comments from private to public headers
- Fix possible segfault when using lockdownd_get_value() due to always returning success
- Do not read files entirely into memory during restore in idevicebackup
- Plug a few memory leaks and fix invalid password check in idevicebackup2
- Add support for file sizes > 4GB on Win32 in idevicebackup2
- Fix declaration for DllMain on Win32
- Silence various compiler warnings
- Fix assert within pairing logic
New in libimobiledevice 1.1.6 (Jun 20, 2014)
- Changes:
- Remove segmentation code from afc_file_read() to provide raw interface and more control to API consumer I/O logic
- Implement global thread safe library initialization, especially to control SSL backend lifecycle
- Major refactoring of pair record code and logic to use new usbmuxd pair record management interface
- Replace user level with system wide pair record file handling
- Bump dependency to libplist 1.11 and remove use of plist_dict_insert_item"
- Bump dependency to libusbmuxd 1.0.9
- Finish pair record and trust dialog handling for iOS 7+
- Improve AFC write performance and memory usage
- Add support for custom output filename to idevicescreenshot
- Fix detection and compilation for Python 3.x
- API: Added file_relay_request_sources_timeout()
- Fix broken HouseArrestClient class in cython bindings
- Add new idevicecrashreport tool to retrieve crash reports and logs from a device
- Prevent "Failed to restart/shutdown device" messages in idevicediagnostics
- Link against ws2_32.dll on Win32
- Add support for iOS 7+ disk image mounting to ideviceimagemounter
- Add new idevicename tool to get or set the device name
- Allow unbacking of encrypted backups with a given password to idevicebackup2
- Remove sending "Goodbye" request on lockdown
- Add support for newer PLIST_REAL based time type to idevicedate
- Add note about setting time not working on iOS 6+ to idevicedate
- Handle partial SSL reads correctly now to prevent random crashes
- Fix duplicated output in ideviceinfo output
- Remove a bunch of dead code
- Fix deprecated OpenSSL "RSA_generate_key" with "RSA_generate_key_ex" which is available since OpenSSL 0.9.8 (July 2005)
- Improve debug messages
- Enforce "-fsigned-char" to fix issues on embedded platforms
- Fix compilation with Clang/LLVM
- Avoid versioning for shared library on Win32
- Add experimental support for controlling cloud backup mode to idevicebackup2
- Save EscrowBag when starting service for automatic unlocking in pair record
- Remove pairing logic which is obsoleted by usbmuxd's preflight handler
- Fix shutdown of SSL connection to be correct and no longer generate errors on device
- Add support for GnuTLS 3.x and fix broken GnuTLS backend
- Add extensions to generated certificates to match native ones
- Add "systembuid" command to idevicepair
- Allow starting service without the need for a running SSL session
- Refactor more code into common module
- Add option to filerelaytest to specify a source to request
- Fix support for partial messages in webinspector implementation
- Implement support for encrypted backups in idevicebackup2
- API: Export SSL control functions for idevice_connection_t
- API: Make generic service client public to allow external service implementations
- Implement *_start_service() helper for easier creation of service clients
- Add public *_SERVICE_NAME defines for each service
- Fix a great bunch of memory leaks after intensive valigrind session
- Security: Fix insecure use of the /tmp directory (CVE-2013-2142)
- A bunch of memory leak fixes
- Python: Various fixes and support for "with" statement for AfcFile class
- Python: Add Afc2Client class to allow jailbroken filesystem access
- Fix linking issue with newer libtool as reported for Ubuntu
- Fix stuck thread in idevicesyslog which broke quit from within the tool
- Add syslog_relay service implementation and use it in idevicesyslog
- API: Add instproxy_client_get_path_for_bundle_identifier() helper
- API: Add afc_dictionary_free() helper
- Move thread, socket, debug and userpref code to "common" source directory in order to improve code reuse
- Fix broken byte order detection in configure.ac which could lead to broken AFC protocol communication on platforms without endian.h (Raspberry PI)
- API is UNSTABLE
New in libimobiledevice 1.1.5 (Mar 21, 2013)
- Changes:
- Implement automatic reconnecting in idevicesyslog
- Refactor all services to use new base service
- Add new generic service_client_factory_start_service() helper
- Implement a base service that all services inherit from
- API: Refactor use of "port numbers" into a "service descriptor" which is
- a needed change as all services must now transparently support SSL.
- Fortunately, only minor changes are needed to migrate your code properly.
- Add experimental ideviceheartbeat to allow service checkin over the network
- Add heartbeat service implementation to keep alive network connections
- Add webinspector service implementation for WebKit remote debugging
- Fix idevicebackup2 failing due to integer overflow in free disk space
- calculation on 32 bit architectures and large disk capacities
- Add support for encrypted and password protected backups to idevicebackup2
- Fix major "too long filename received" bug in idevicebackup2
- Various fixes for proper and tested WIN32 support including MinGW building
- Fix various crashers and improve quality of idevicebackup2 tool
- Add endianness helpers for systems lacking support
- Fix idevicedate to work on iOS 6+
- Add idevicediagnostics tool
- Add diagnostics_relay service implementation
- Add idevicedebugserverproxy tool for remote lldb debugging
- Add ideviceprovision tool
- Add misagent service implementation to manage provisioning profiles
- Fix crash if $HOME is empty or not defined
- Fix non-ASCII characters being stripped when using plist communication
- Improve compile support for cython and check it at configure time
- Bump cython requirement to 0.17.0+
- Fix compilation of cython bindings
- Python bindings now cover all C APIs
- Fix iOS 6 compatibility for mobilesync, mobilebackup, mobilebackup2 and
- screenshotr by bumping device link protocol version number
- Do not strip non_ASCII characters from XML plists
- Fix possible crash when using OpenSSL
- API is UNSTABLE
New in libimobiledevice 1.1.4 (Aug 10, 2012)
- Changes:
- Fix a bug in idevicesyslog causing the connection to close after timeout
- Bump soname revision
- API is UNSTABLE
New in libimobiledevice 1.1.3 (Aug 10, 2012)
- Changes:
- Bump libusbmuxd dependency to 1.0.8
- Fix reading from syslog_relay and remove null characters
- Relicense ideviceimagemounter and idevicescreenshot to LGPL
- Fix a crash when using restored_client_free()
- API: Add sbservices_get_interface_orientation()
- Update man pages and code comments for documentation
- Minor cleanup
- API is UNSTABLE
New in libimobiledevice 1.1.2 (Aug 10, 2012)
- Changes:
- Add Python bindings generated by Cython
- Bump libplist requirement to latest 1.8
- Add support for OpenSSL with fallback to GNUTLS
- Improvements and various fixes for Win32 and OS X build
- Remove glib dependency
- Improve restored implementation
- Fix various memory leaks
- Fix support for iOS 5 and later
- SWIG Python Bindings are removed
- API is UNSTABLE
New in libimobiledevice 1.1.1 (Aug 10, 2012)
- Changes:
- Add new idevicebackup2 tool for full backup and restore support on iOS 4+
- Add a workaround for a bug in iOS 4.3 affecting lockdown_get_value() which most prominently affected libgpod, gvfs, ideviceinfo and some other tools
- Read ProxyDeath message to preventing obsolete messages in device syslog
- Rework SWIG detection and includes
- Add new idevicedate tool to get or set the clock on iDevices
- API: Add mobilesync_clear_all_records_on_device()
- API: Change device_link_service_disconnect() to accept a message
- Add manpages for ideviceenterrecovery, idevicepair, idevicebackup2 and idevicedate
- Add missing libgen.h include to silence compiler warnings
- Fix a segfault that might occour if locally stored certs could not be read
- Fix various memory leaks
- Update documentation
- Python Bindings will get refactored completely
- API is UNSTABLE
New in libimobiledevice 1.1.0 (Aug 10, 2012)
- Changes:
- Implement restoring backups using idevicebackup
- Allow connecting without pairing using "ideviceinfo -s"
- Add ideviceenterrecovery tool
- Add mobilesync service implementation
- Add restored service implementation for restore mode
- Add home_arrest service implementation for document sharing
- Add API afc_client_new_from_connection()
- Support to fetch wallpaper in sbservices
- Support for formatVersion 2 of iOS 4+ in sbservices
- Add new lockdownd domains to ideviceinfo
- Give the device time to prepare backup data to prevent abort
- Improve idevicebackup output
- notification_proxy fixes and new notification type
- Silence some 64bit compiler warnings
- Fix various memory leaks
- Update documentation
- Python Bindings will get refactored completely
- API is UNSTABLE
New in libimobiledevice 1.0.7 (Aug 10, 2012)
- Changes:
- Fix SWIG 2.x detection
- Fix support for iOS 5 and later
- Flush output of idevicesyslog immediately
- Replace deprecated GNUTLS functions properly
- Fix segfaults in library and some tools
- Fix memory leaks
- Build fixes
New in libimobiledevice 1.0.6 (Aug 10, 2012)
- Quick follow up release
- Changes:
- Add ideviceenterrecovery which was missing in last release by accident
New in libimobiledevice 1.0.5 (Aug 10, 2012)
- Maintenance release of stable series
- Changes:
- Add a workaround for a bug in iOS 4.3 affecting lockdown_get_value() which most prominently affected libgpod, gvfs, ideviceinfo and some other tools
- Read ProxyDeath message to preventing obsolete messages in device syslog
- Rework SWIG detection and includes
- Add manpages for ideviceenterrecovery and idevicepair
- Add missing libgen.h include to silence compiler warnings