Releases: libimobiledevice/libplist
Releases Β· libimobiledevice/libplist
2.7.0
2.7.0 (2025-05-14)
Changes
- Add
plist_new_unix_date
,plist_get_unix_date_val
,plist_set_unix_date_val
functions
that work withint64_t
values representing a UNIX timestamp instead of
using the 'MAC epoch'.
These new functions should be used instead ofplist_new_date
,
plist_get_date_val
, andplist_set_date_val
, which are now marked deprecated
and might be removed in a future version of libplist. - Allow building the library without tool(s)
- Switch to more generic global initializer method
- json: Allow e+/E+ in exponent as per RFC 8259
- C++: Add more convenience functions to the interface
- C++: Add more type variants to different constructors and operators
Bugfixes:
- Fix segmentation fault when calling
plist_sort()
on an empty dictionary - Fix compilation on MSVC
- C++: Fix bug in internal helper function of Array class
- C++: Fix String::GetValue memory leaking and support assignment of
const char*
2.6.0
2.5.0
2.4.0
2.4.0 (2024-02-21)
Maintenance release.
Features
- Add a PLIST_OPT_NONE value to plist_write_options_t
- autoconf: Allow disabling build of test suite
- Update doxygen config and document undocumented macros
- Add an explicit PLIST_FORMAT_NONE value
- Add a libplist_version() function to the interface
- docs: Use README.md to generate mainpage with doxygen
Bug Fixes
- Several compiler-related fixes and code improvements
- Plug memory leak in plist_write_to_stream()
- Prevent adding NULL items to array/dictionary nodes
- Fix parallel running of test suite
- Fix cython bindings
- Fix OOB read in plist_from_memory()
2.3.0
2.3.0 (2023-04-21)
Maintenance release.
Breaking
plist_from_memory()
gets additionalformat
parameter
Features
Rename PLIST_UINT to PLIST_INT and add plist_new_int() and plist_get_int_val()
- Add support for JSON format
- Add support for OpenStep format
- Introduce error codes and format constants
- Add return value to import/export functions to allow returning error codes
- Add new
plist_sort()
function - Add several human-readable output-only formats
- Add new
plist_write_to_string/_stream/_file()
functions - Add new
plist_print()
function - Add new
plist_read_from_file()
function - Add new
plist_mem_free()
function - Add a few C++ methods
- Add C++ interface test
- Add
PLIST_NULL
type - Some code housekeeping (mostly clang-tidy)
Bug Fixes
- Fix multiple bugs in all of the parsers
- Fix handling of PLIST_UID nodes
2.2.0
2.2.0 (2020-06-15)
Maintenance release.
Breaking
- Rename library and all related files by adding an API version resulting in
libplist-2.0
andlibplist++-2.0
Features
- bplist: Improve recursion check performance by at least 30% for large files
- Add new plist_val_compare(), plist_val_contains() helper functions
- plistutil: Added ability for files to be read from stdin
- plistutil: Added ability to specify output format
- Add GitHub Actions integration for automatic build tests
- plistutil: Add manual page and usage output
- Improve README.md with project description, installation, contributing and usage sections
Bug Fixes
- test: Fix test suite on Windows
- cython: Fix handling of Date nodes (MACH_EPOCH)
- Fix/suppress several compiler warnings
- Fix: Return NULL from plist_copy() if passed a NULL pointer instead of asserting
- Fix removal of docs directory on
make clean