Libimobiledevice Versions Save

A cross-platform protocol library to communicate with iOS devices

1.3.0

3 years ago

Homepage

1.3.0 (2020-06-15)

Development release.

Breaking

  • Rename --enable-debug-code configure option to --enable-debug
  • Rename library and all related files by adding an API version resulting in libimobiledevice-1.0

Features

  • Add more lockdown error codes
  • Add new lockdownd_pair_with_options() function
  • Make sure sockets only listen locally due to security reasons
  • Plug various memory leaks
  • Optimize lockdown pair record handling
  • Store application information in Info.plist using idevicebackup2
  • Make idevicebackup2 reboot after restore the default to allow the device to migrate data correctly and thus improve the restored device data state
  • Improve console frontend information output in idevicebackup2
  • Extend ideviceprovision tool to allow retrieving and removing all provisioning profiles
  • Propagate lower level errors to callers instead of returning IDEVICE_E_UNKNOWN_ERROR
  • API: Add IDEVICE_DEVICE_PAIRED event type
  • Detect screenshot format to support png, tiff and dat formats using idevicescreenshot tool
  • API: Add mobileactivation service implementation
  • Wait for passcode entry if required using idevicesyslog
  • Add HDMI option to diagnostics command for idevicediagnostics
  • Remove 40-digit character limit for UDID in tools to support newer devices
  • Migrate latest improved common code from libusbmuxd
  • Convert README file to markdown format
  • API: Add preboard service implementation
  • Output hint to user to enter passcode when changing password using idevicebackup2
  • API: Add WiFi device support via new idevice_new_with_options() function
  • API: Add idevice_get_device_list_extended() to also list network devices
  • API: Add lockdown_strerror() helper to get error representation as string
  • Add network device support to idevicesyslog and ideviceinfo tools
  • Make debug output consistently output to stderr
  • Add new idevicesetlocation tool (requires mounted developer image)
  • Add option to exit if device disconnects in idevicesyslog
  • API: Add syslog_relay_start_capture_raw() for raw syslog capture
  • Add color output and process filter support to idevicesyslog
  • API: Add companion_proxy service implementation
  • Bump dependency to libusbmuxd 2.0.2
  • Bump dependency to libplist 2.2.0
  • Improve error handling and reporting in library and tools
  • Add --network and --version options to all tools
  • Cython: Rewrite version detection logic in configure.ac
  • Improve README.md with project description, installation, contributing and usage sections
  • Bump soname version
  • Update man pages

Bug Fixes

  • Fix Python 3 support
  • Cython: Fix and improve debugserver and diagnostics service bindings
  • Fix GnuTLS support with iOS 10
  • Fix SSL version negotiation for newer versions of OpenSSL
  • Return proper error code when a lockdown pair record is missing
  • Fix building with MingGW
  • Fix application backup handling to allow the device to restore applications that were installed using idevicebackup2
  • Fix parsing large provisioning profile using ideviceprovision
  • Fix receiving large property lists in property list service
  • Fix IORegistry command for iOS 11+ devices in idevicediagnostics
  • Fix broken validate command in idevicepair with iOS 11+
  • Fix OpenSSL version checks for configure target when using LibreSSL
  • Fix idevicecrashreport tool to work with iOS 13+
  • Fix various errors in SSL communication logic
  • Fix various memory leaks in library and tools
  • Fix socket_connect_addr() not connecting to network devices using IPv6 in some cases.
  • Allow OpenSSL >= 1.1.0 to use older/disallowed TLS versions fixing issues where pairing records were getting removed repeatingly
  • Improve IPv6 "scope id" detection to fix connecting to network devices with link-local adresses
  • Fix various inconsistent declarations in public headers
  • Fixed memory leaks

1.2.0

9 years ago
  • 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