NEWS 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493
  1. Version 1.2.0
  2. ~~~~~~~~~~~~~
  3. * Stable release "It took you so long baby!"
  4. * Changes:
  5. - Require autoconf 2.64 or later
  6. - Remove dev tools, will return either as proper tools or website examples
  7. - Refactor installation proxy service implementation and normalize code
  8. - API: Added instproxy_lookup() to efficiently lookup app information
  9. - API: Added instproxy_check_capabilities_match() to check device capabilities
  10. - API: Added various instproxy command and status plist getters
  11. - API: Make debugserver_client_set_ack_mode() public
  12. - Fix handling of clients reconnecting in idevicedebugserverproxy which
  13. previously didn't work properly
  14. - Flush stdout for every line in idevicesyslog
  15. - Fix shutdown of idevicedebugserverproxy tool which could hang
  16. - Notify user when erroneously using idevicebackup with iOS 4 or later
  17. - Enable build of idevicecrashreport on WIN32
  18. - Fix thread handle leaks on WIN32 adding thread_new and thread_free
  19. - cython: Add receive/receive_timeout methods for iDeviceConnection to
  20. receive raw data from a connection
  21. - cython: Add new FILE_RELAY_E_PERMISSION_DENIED(-6) error
  22. - API: Refactor lockdown service internal error checking and add a bunch of
  23. new native errors
  24. - Convert int16_t macro error types into enum within common module, too
  25. - Add new "idevicenotificationproxy" tool to post or observe notifications
  26. - Fix overlong blocking in np_client_free()
  27. - Improve maintainability and Requires of pkg-config file
  28. - API: Add new LOCKDOWN_E_SERVICE_LIMIT error to detect service limit states
  29. - API: Remove const argv requirement for debugserver_command_new
  30. - cython: Add get_path_for_bundle_identifier() method to
  31. InstallationProxyClient
  32. - cython: Add DebugServerClient class to communicate with debugserver
  33. - Comply to strict function prototypes by using (void) instead of just ()
  34. - Fix notification proxy shutdown process which was incorrectly implemented
  35. - Fix linking problems on OS X
  36. - Fix missing debug output which broke with the last release
  37. - Unify and improve various debug messages
  38. - Fix re-pairing if pairing with existing pair record failed initially
  39. - Skip printing long plist (16kb+) files to prevent excessive debug output
  40. - Move a few common helpers from backup tools to common utility helper code
  41. - Remove incorrect flags from afc_file_open() documentation
  42. - Fix various memory leaks
  43. Version 1.1.7
  44. ~~~~~~~~~~~~~
  45. * Development release "Cleaning up the yard."
  46. * Changes:
  47. - Fix broken app args, environment handling and memory leaks in idevicedebug
  48. - Make all tools print an error if lockdown connection fails
  49. - Convert int16_t macro error types into enum for better type-checking and
  50. for various debugging benefits
  51. - Avoid exporting non-public symbols for better ABI stability
  52. - Fix failing backup process for devices having a passcode set and entering
  53. lock state during the process in idevicebackup2
  54. - API: Added lockdownd_start_service_with_escrow_bag()
  55. - API: Added afc_remove_path_and_contents() for recursive deletion
  56. - Fix last memory leak with OpenSSL through proper library deinitialization
  57. - Add new idevicedebug tool to interact with debugserver on a device
  58. - API: Add debugserver service implementation
  59. - Handle new PermissionDenied error of file_relay due new security in iOS 8+
  60. - Fix retry loop problem when device requests 0 files in idevicebackup2
  61. - Add trust dialog related error codes to Cython bindings
  62. - Fix various memory leaks in AFC implementation
  63. - Fix disk image upload with latest iOS 8 in ideviceimagemounter
  64. - Add new "dump" command to print information about a provisioning profile in
  65. ideviceprovision
  66. - Refactor plist print helper code and move it into common module for better
  67. reuse accross the tools
  68. - Do not crash if retrieving the system buid fails
  69. - API: Make generic "propery_list_service_client" public
  70. - Moved doc comments from private to public headers
  71. - Fix possible segfault when using lockdownd_get_value() due to always
  72. returning success
  73. - Do not read files entirely into memory during restore in idevicebackup
  74. - Plug a few memory leaks and fix invalid password check in idevicebackup2
  75. - Add support for file sizes > 4GB on Win32 in idevicebackup2
  76. - Fix declaration for DllMain on Win32
  77. - Silence various compiler warnings
  78. - Fix assert within pairing logic
  79. * API is UNSTABLE
  80. Version 1.1.6
  81. ~~~~~~~~~~~~~
  82. * Development release "Way too overdue."
  83. * Changes:
  84. - Remove segmentation code from afc_file_read() to provide raw interface and
  85. more control to API consumer I/O logic
  86. - Implement global thread safe library initialization, especially to control
  87. SSL backend lifecycle
  88. - Major refactoring of pair record code and logic to use new usbmuxd pair
  89. record management interface
  90. - Replace user level with system wide pair record file handling
  91. - Bump dependency to libplist 1.11 and remove use of "plist_dict_insert_item"
  92. - Bump dependency to libusbmuxd 1.0.9
  93. - Finish pair record and trust dialog handling for iOS 7+
  94. - Improve AFC write performance and memory usage
  95. - Add support for custom output filename to idevicescreenshot
  96. - Fix detection and compilation for Python 3.x
  97. - API: Added file_relay_request_sources_timeout()
  98. - Fix broken HouseArrestClient class in cython bindings
  99. - Add new idevicecrashreport tool to retrieve crash reports and logs from a
  100. device
  101. - Prevent "Failed to restart/shutdown device" messages in idevicediagnostics
  102. - Link against ws2_32.dll on Win32
  103. - Add support for iOS 7+ disk image mounting to ideviceimagemounter
  104. - Add new idevicename tool to get or set the device name
  105. - Allow unbacking of encrypted backups with a given password to idevicebackup2
  106. - Remove sending "Goodbye" request on lockdown
  107. - Add support for newer PLIST_REAL based time type to idevicedate
  108. - Add note about setting time not working on iOS 6+ to idevicedate
  109. - Handle partial SSL reads correctly now to prevent random crashes
  110. - Fix duplicated output in ideviceinfo output
  111. - Remove a bunch of dead code
  112. - Fix deprecated OpenSSL "RSA_generate_key" with "RSA_generate_key_ex" which
  113. is available since OpenSSL 0.9.8 (July 2005)
  114. - Improve debug messages
  115. - Enforce "-fsigned-char" to fix issues on embedded platforms
  116. - Fix compilation with Clang/LLVM
  117. - Avoid versioning for shared library on Win32
  118. - Add experimental support for controlling cloud backup mode to idevicebackup2
  119. - Save EscrowBag when starting service for automatic unlocking in pair record
  120. - Remove pairing logic which is obsoleted by usbmuxd's preflight handler
  121. - Fix shutdown of SSL connection to be correct and no longer generate errors
  122. on device
  123. - Add support for GnuTLS 3.x and fix broken GnuTLS backend
  124. - Add extensions to generated certificates to match native ones
  125. - Add "systembuid" command to idevicepair
  126. - Allow starting service without the need for a running SSL session
  127. - Refactor more code into common module
  128. - Add option to filerelaytest to specify a source to request
  129. - Fix support for partial messages in webinspector implementation
  130. - Implement support for encrypted backups in idevicebackup2
  131. - API: Export SSL control functions for idevice_connection_t
  132. - API: Make generic service client public to allow external service
  133. implementations
  134. - Implement *_start_service() helper for easier creation of service clients
  135. - Add public *_SERVICE_NAME defines for each service
  136. - Fix a great bunch of memory leaks after intensive valgrind session
  137. - Security: Fix insecure use of the /tmp directory (CVE-2013-2142)
  138. - A bunch of memory leak fixes
  139. - Python: Various fixes and support for "with" statement for AfcFile class
  140. - Python: Add Afc2Client class to allow jailbroken filesystem access
  141. - Fix linking issue with newer libtool as reported for Ubuntu
  142. - Fix stuck thread in idevicesyslog which broke quit from within the tool
  143. - Add syslog_relay service implementation and use it in idevicesyslog
  144. - API: Add instproxy_client_get_path_for_bundle_identifier() helper
  145. - API: Add afc_dictionary_free() helper
  146. - Move thread, socket, debug and userpref code to "common" source directory
  147. in order to improve code reuse
  148. - Fix broken byte order detection in configure.ac which could lead to broken
  149. AFC protocol communication on platforms without endian.h (Raspberry PI)
  150. * API is UNSTABLE
  151. Version 1.1.5
  152. ~~~~~~~~~~~~~
  153. * Development release
  154. * Changes:
  155. - Implement automatic reconnecting in idevicesyslog
  156. - Refactor all services to use new base service
  157. - Add new generic service_client_factory_start_service() helper
  158. - Implement a base service that all services inherit from
  159. - API: Refactor use of "port numbers" into a "service descriptor" which is
  160. a needed change as all services must now transparently support SSL.
  161. Fortunately, only minor changes are needed to migrate your code properly.
  162. - Add experimental ideviceheartbeat to allow service checkin over the network
  163. - Add heartbeat service implementation to keep alive network connections
  164. - Add webinspector service implementation for WebKit remote debugging
  165. - Fix idevicebackup2 failing due to integer overflow in free disk space
  166. calculation on 32 bit architectures and large disk capacities
  167. - Add support for encrypted and password protected backups to idevicebackup2
  168. - Fix major "too long filename received" bug in idevicebackup2
  169. - Various fixes for proper and tested WIN32 support including MinGW building
  170. - Fix various crashers and improve quality of idevicebackup2 tool
  171. - Add endianness helpers for systems lacking support
  172. - Fix idevicedate to work on iOS 6+
  173. - Add idevicediagnostics tool
  174. - Add diagnostics_relay service implementation
  175. - Add idevicedebugserverproxy tool for remote lldb debugging
  176. - Add ideviceprovision tool
  177. - Add misagent service implementation to manage provisioning profiles
  178. - Fix crash if $HOME is empty or not defined
  179. - Fix non-ASCII characters being stripped when using plist communication
  180. - Improve compile support for cython and check it at configure time
  181. - Bump cython requirement to 0.17.0+
  182. - Fix compilation of cython bindings
  183. - Python bindings now cover all C APIs
  184. - Fix iOS 6 compatibility for mobilesync, mobilebackup, mobilebackup2 and
  185. screenshotr by bumping device link protocol version number
  186. - Do not strip non_ASCII characters from XML plists
  187. - Fix possible crash when using OpenSSL
  188. * API is UNSTABLE
  189. Version 1.1.4
  190. ~~~~~~~~~~~~~
  191. * Development release
  192. * Changes:
  193. - Fix a bug in idevicesyslog causing the connection to close after timeout
  194. - Bump soname revision
  195. * API is UNSTABLE
  196. Version 1.1.3
  197. ~~~~~~~~~~~~~
  198. * Development release
  199. * Changes:
  200. - Bump libusbmuxd dependency to 1.0.8
  201. - Fix reading from syslog_relay and remove null characters
  202. - Relicense ideviceimagemounter and idevicescreenshot to LGPL
  203. - Fix a crash when using restored_client_free()
  204. - API: Add sbservices_get_interface_orientation()
  205. - Update man pages and code comments for documentation
  206. - Minor cleanup
  207. * API is UNSTABLE
  208. Version 1.1.2
  209. ~~~~~~~~~~~~~
  210. * Development release
  211. * Changes:
  212. - Add Python bindings generated by Cython
  213. - Bump libplist requirement to latest 1.8
  214. - Add support for OpenSSL with fallback to GNUTLS
  215. - Improvements and various fixes for Win32 and OS X build
  216. - Remove glib dependency
  217. - Improve restored implementation
  218. - Fix various memory leaks
  219. - Fix support for iOS 5 and later
  220. * SWIG Python Bindings are removed
  221. * API is UNSTABLE
  222. Version 1.1.1
  223. ~~~~~~~~~~~~~
  224. * Development release
  225. * Changes:
  226. - Add new idevicebackup2 tool for full backup and restore support on iOS 4+
  227. - Add a workaround for a bug in iOS 4.3 affecting lockdown_get_value() which
  228. most prominently affected libgpod, gvfs, ideviceinfo and some other tools
  229. - Read ProxyDeath message to preventing obsolete messages in device syslog
  230. - Rework SWIG detection and includes
  231. - Add new idevicedate tool to get or set the clock on iDevices
  232. - API: Add mobilesync_clear_all_records_on_device()
  233. - API: Change device_link_service_disconnect() to accept a message
  234. - Add manpages for ideviceenterrecovery, idevicepair, idevicebackup2 and
  235. idevicedate
  236. - Add missing libgen.h include to silence compiler warnings
  237. - Fix a segfault that might occour if locally stored certs could not be read
  238. - Fix various memory leaks
  239. - Update documentation
  240. * Python Bindings will get refactored completely
  241. * API is UNSTABLE
  242. Version 1.1.0
  243. ~~~~~~~~~~~~~
  244. * Development release
  245. * Changes:
  246. - Implement restoring backups using idevicebackup
  247. - Allow connecting without pairing using "ideviceinfo -s"
  248. - Add ideviceenterrecovery tool
  249. - Add mobilesync service implementation
  250. - Add restored service implementation for restore mode
  251. - Add home_arrest service implementation for document sharing
  252. - Add API afc_client_new_from_connection()
  253. - Support to fetch wallpaper in sbservices
  254. - Support for formatVersion 2 of iOS 4+ in sbservices
  255. - Add new lockdownd domains to ideviceinfo
  256. - Give the device time to prepare backup data to prevent abort
  257. - Improve idevicebackup output
  258. - notification_proxy fixes and new notification type
  259. - Silence some 64bit compiler warnings
  260. - Fix various memory leaks
  261. - Update documentation
  262. * Python Bindings will get refactored completely
  263. * API is UNSTABLE
  264. Version 1.0.7
  265. ~~~~~~~~~~~~~
  266. * Maintenance release of stable series
  267. * Changes:
  268. - Fix SWIG 2.x detection
  269. - Fix support for iOS 5 and later
  270. - Flush output of idevicesyslog immediately
  271. - Replace deprecated GNUTLS functions properly
  272. - Fix segfaults in library and some tools
  273. - Fix memory leaks
  274. - Build fixes
  275. Version 1.0.6
  276. ~~~~~~~~~~~~~
  277. * Quick follow up release
  278. * Changes:
  279. - Add ideviceenterrecovery which was missing in last release by accident
  280. Version 1.0.5
  281. ~~~~~~~~~~~~~
  282. * Maintenance release of stable series
  283. * Changes:
  284. - Add a workaround for a bug in iOS 4.3 affecting lockdown_get_value() which
  285. most prominently affected libgpod, gvfs, ideviceinfo and some other tools
  286. - Read ProxyDeath message to preventing obsolete messages in device syslog
  287. - Rework SWIG detection and includes
  288. - Add manpages for ideviceenterrecovery and idevicepair
  289. - Add missing libgen.h include to silence compiler warnings
  290. Version 1.0.4
  291. ~~~~~~~~~~~~~
  292. * Maintenance release of stable series
  293. * Changes:
  294. - Fix a possible crash in lockdownd_client_new_with_handshake()
  295. - Do not not check for Swig/Python if --without-swig is set
  296. - Fail with an error message if libgcrypt is not found
  297. - Pass host certificate with GNUTLS correctly
  298. - Fix connecting to iOS 4.2.1+ devices
  299. Version 1.0.3
  300. ~~~~~~~~~~~~~
  301. * Maintenance release of stable series
  302. * Changes:
  303. - Terminate idevicesyslog on receive errors (like device unplug)
  304. - Bugfixes for idevicebackup tool
  305. - Hopefully the last fixes for big endian machines
  306. - Build fixes for FreeBSD Python support
  307. - Fix build on Mac OS X
  308. Version 1.0.2
  309. ~~~~~~~~~~~~~
  310. * Maintenance release of stable series
  311. * Changes:
  312. - Backport new idevicepair tool to manage pairings
  313. - Fix a bug causing bad backup data
  314. - Silence 64bit compiler warnings
  315. - Plug some memory leaks
  316. Version 1.0.1
  317. ~~~~~~~~~~~~~
  318. * Maintenance release of stable series
  319. * Changes:
  320. - Cleanup includes of files
  321. - Use glib instead of netinet for endianess
  322. - Fix installation_proxy not adding client options correctly
  323. - idevicebackup: better handle broken or missing plist files
  324. - Fix some memory leaks in pairing/handshake process
  325. - Fix label not being used in lockdownd_client_new()
  326. - Update AUTHORS, README and installation instructions
  327. Version 1.0.0
  328. ~~~~~~~~~~~~~
  329. * Changes:
  330. - Update and fix documentation for full coverage
  331. - Add man pages for tools
  332. - Extend mobilebackup interface
  333. - Add user data argument to notification callback function
  334. - Fix broken Python bindings
  335. - Add Python bindings for notification proxy interface
  336. - Add screenshotr interface and tool
  337. - Add mobile_image_mounter interface and tool
  338. - Remove HAL fdi rules
  339. Version 0.9.7 (RC1)
  340. ~~~~~~~~~~~~~~~~~~~
  341. * Project is now called libimobiledevice due to legal reasons
  342. * Changes:
  343. - Project renamed to libimobiledevice
  344. - Add soname versioning for future releases
  345. - Fix regression causing never paired devices to not work by adding
  346. auto-pairing for devices in lockdownd_client_new_with_handshake
  347. - Add file_relay service implementation and dev test tool
  348. - Minor device link service fixes
  349. - New idevicebackup tool with support for full and incremental backups
  350. - Add mobilebackup service implementation
  351. Version 0.9.6
  352. ~~~~~~~~~~~~~
  353. * Changes:
  354. - Minor public API changes to prepare for 1.0 release:
  355. * lockdownd_client_new -> lockdownd_client_new_with_handshake
  356. * fooservice_recv -> fooservice_receive
  357. * iphone_device_send/_recv -> iphone_connection_send/_receive
  358. - Rename some code for consistency
  359. - Refactor pairing to allow custom pair records
  360. - Move SSL handling out of lockdownd code
  361. - Refactor lockdown session handling code
  362. - Remove debug mask support
  363. - No longer do a full lockdown handshake on client_new
  364. - Refactor debug code to be consistent and easier to use
  365. - Run validate_pair by default during lockdown handshake
  366. - Allow retrieving the type for lockdown query_type request
  367. - Add new property_list_service and device_link_service abstractions
  368. - Detect pairing failure due to having a password set on the device
  369. - Implement lockdown phone activation and deactivation
  370. - Fix iphoneinfo not printing values in key/value mode
  371. - Implement lockdownd_unpair() request
  372. - Add more notification ids and lockdown domains
  373. - Implement label support for lockdown requests
  374. - Add new installation_proxy interface
  375. - Add new sbservices interface
  376. - Implement lockdownd_validate_pair() request
  377. - Add endian safety to AFC
  378. - Make lockdown sessions without SSL work
  379. - Fix linking on Mandriva Linux
  380. - Minor bugfixes and documentation updates
  381. Version 0.9.5
  382. ~~~~~~~~~~~~~
  383. * Changes:
  384. - Updated to the latest libplist 0.16 API
  385. - Fixed various minor leaks and issues
  386. - Updated Python bindings and module name
  387. Version 0.9.4
  388. ~~~~~~~~~~~~~
  389. * Changes:
  390. - Update to libplist 0.15 API rework
  391. - Update Python bindings
  392. - Bufixes around usbmuxd daemon usage
  393. - Use automake 1.11 silent rules if available
  394. - Various bugfixes
  395. Version 0.9.3
  396. ~~~~~~~~~~~~~
  397. * Changes:
  398. - Bump libplist requirement to 0.13 and remove deprecated code
  399. Version 0.9.2
  400. ~~~~~~~~~~~~~
  401. * Changes:
  402. - Migrate to use the new usbmuxd daemon
  403. - Refactor whole API
  404. - Add iPhone 3GS support
  405. - Add hard/symlink support for AFC
  406. - New iphone_id tool to list connected devices and get the device
  407. name
  408. - iphoneinfo now allows plist/xml output and queries by
  409. domain/key
  410. - Fix a lot of bugs/crashes, compiler warnings and comments
  411. Version 0.9.1
  412. ~~~~~~~~~~~~~
  413. * Changes:
  414. - Fix make distcheck
  415. - Bump libplist requirement to 0.12 and remove deprecated code
  416. - A bunch of autotools fixes
  417. Version 0.9.0
  418. ~~~~~~~~~~~~~
  419. * Changes:
  420. - Fix pkg-config dependancies
  421. - Fix Python binding generation
  422. - AFC cleanup and improved error handling
  423. - Add support for the notification proxy service
  424. - Add tools to show device information and relay syslog
  425. - More robust pairing implementation
  426. - Remove libiphone-initconf, SSL implementation handles it at
  427. runtime now
  428. - Fix receive of plists larger than a packet
  429. - Return an error if failed to start a service on the device
  430. - Fix usb enumeration
  431. - Fix udev rule to catch usb hubs, too
  432. - Add large file support
  433. - Move out plist handling into libplist and depend on it
  434. - Add Python bindings
  435. - Lots of bugfixes
  436. Version 0.1.0
  437. ~~~~~~~~~~~~~
  438. * Changes:
  439. - Use udev to set usb configuration; iphone kmod is obsolete now
  440. - Remove HAL mounting
  441. - Bugfixes