<feed xmlns='http://www.w3.org/2005/Atom'>
<title>libplist/include/plist, branch master</title>
<subtitle>Library to handle Apple Property List format files in binary or XML</subtitle>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/'/>
<entry>
<title>Add OpenStep coercion support for non-OpenStep plist types</title>
<updated>2026-03-22T18:16:51+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2026-03-22T18:16:51+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=c8b36a80bad4a1fe488927af4da0ecbcf10079bb'/>
<id>c8b36a80bad4a1fe488927af4da0ecbcf10079bb</id>
<content type='text'>
- Use PLIST_OPT_COERCE option to coerce PLIST_BOOLEAN, PLIST_DATE, PLIST_UID, and PLIST_NULL to OpenStep-compatible types (1 or 0, ISO 8601 strings, integers, and 'NULL' string)
- Add plist_to_openstep_with_options() function to allow passing coercion option (and others)
- Update plist_write_to_string() and plist_write_to_stream() accordingly
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Use PLIST_OPT_COERCE option to coerce PLIST_BOOLEAN, PLIST_DATE, PLIST_UID, and PLIST_NULL to OpenStep-compatible types (1 or 0, ISO 8601 strings, integers, and 'NULL' string)
- Add plist_to_openstep_with_options() function to allow passing coercion option (and others)
- Update plist_write_to_string() and plist_write_to_stream() accordingly
</pre>
</div>
</content>
</entry>
<entry>
<title>Add JSON coercion support for non-JSON plist types</title>
<updated>2026-03-20T16:12:47+00:00</updated>
<author>
<name>Calil Khalil</name>
</author>
<published>2026-02-21T13:39:24+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=3edac28498d883f1f768699ee15ce85a82bb2a7b'/>
<id>3edac28498d883f1f768699ee15ce85a82bb2a7b</id>
<content type='text'>
- Add PLIST_OPT_COERCE option to coerce PLIST_DATE, PLIST_DATA, and PLIST_UID to JSON-compatible types (ISO 8601 strings, Base64 strings, and integers)
- Add plist_to_json_with_options() function to allow passing coercion options (and others)
- Update plist_write_to_string() and plist_write_to_stream() to support coercion option
- Add --coerce flag to plistutil for JSON output
- Create plist2json symlink that automatically enables coercion when invoked
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add PLIST_OPT_COERCE option to coerce PLIST_DATE, PLIST_DATA, and PLIST_UID to JSON-compatible types (ISO 8601 strings, Base64 strings, and integers)
- Add plist_to_json_with_options() function to allow passing coercion options (and others)
- Update plist_write_to_string() and plist_write_to_stream() to support coercion option
- Add --coerce flag to plistutil for JSON output
- Create plist2json symlink that automatically enables coercion when invoked
</pre>
</div>
</content>
</entry>
<entry>
<title>plist: make array and dict iterators opaque</title>
<updated>2026-02-12T01:10:19+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2026-02-12T01:10:19+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=a7e82b846543a4fc8d3291a5a65dd66b0cb84396'/>
<id>a7e82b846543a4fc8d3291a5a65dd66b0cb84396</id>
<content type='text'>
Introduce private iterator structs for plist_array_iter and
plist_dict_iter, and fix *_next_item() to properly advance
iterator state and handle malformed containers safely.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce private iterator structs for plist_array_iter and
plist_dict_iter, and fix *_next_item() to properly advance
iterator state and handle malformed containers safely.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent deep nesting of plist structures in all input/output formats</title>
<updated>2026-01-17T15:04:00+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2026-01-17T14:18:06+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=e45099fb21b679aa0cdb0db394587bb5ba675b0c'/>
<id>e45099fb21b679aa0cdb0db394587bb5ba675b0c</id>
<content type='text'>
Thanks to @unbengable12 for reporting. Addresses #288, #289, #290, #291, and #292.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thanks to @unbengable12 for reporting. Addresses #288, #289, #290, #291, and #292.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add circular reference detection to all format writers</title>
<updated>2026-01-14T01:50:40+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2026-01-14T01:50:40+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=5b3ae4c1326e0c85df906ffea49b97b80b13ceae'/>
<id>5b3ae4c1326e0c85df906ffea49b97b80b13ceae</id>
<content type='text'>
Thanks to @LkkkLxy for pointing out the issue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thanks to @LkkkLxy for pointing out the issue.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add plist_new_unix_date, plist_get_unix_date_val, plist_set_unix_date_val functions</title>
<updated>2025-05-13T16:34:32+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2025-05-13T16:34:32+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=cb76e4da84c61609c13e84c922f14a27b8348a36'/>
<id>cb76e4da84c61609c13e84c922f14a27b8348a36</id>
<content type='text'>
These functions work with int64_t values representing a UNIX timestamp instead
of using the 'MAC epoch'. They should be used instead of plist_new_date,
plist_get_date_val, and plist_set_date_val, which are now marked deprecated
and might be removed in a future version of libplist.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These functions work with int64_t values representing a UNIX timestamp instead
of using the 'MAC epoch'. They should be used instead of plist_new_date,
plist_get_date_val, and plist_set_date_val, which are now marked deprecated
and might be removed in a future version of libplist.
</pre>
</div>
</content>
</entry>
<entry>
<title>C++: Data: Add const char* constructor</title>
<updated>2025-04-06T10:38:45+00:00</updated>
<author>
<name>guyingzhao</name>
</author>
<published>2025-04-06T10:38:45+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=d031e94d7aee14c4e7646e67623c94e6164b99e3'/>
<id>d031e94d7aee14c4e7646e67623c94e6164b99e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>C++: Add f/Front() and b/Back() to Array to access first/last element</title>
<updated>2025-04-06T10:37:05+00:00</updated>
<author>
<name>guyingzhao</name>
</author>
<published>2025-04-06T10:37:05+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=1aae1e5b7d8ee26c626c126fa64392a5ef949f42'/>
<id>1aae1e5b7d8ee26c626c126fa64392a5ef949f42</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>C++: Dictionary: Update template definition for better readability</title>
<updated>2025-04-06T10:27:40+00:00</updated>
<author>
<name>guyingzhao</name>
</author>
<published>2025-04-06T10:25:02+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=464382e6f835dd54eeea9e3ed7c1c8d2fb25dfd0'/>
<id>464382e6f835dd54eeea9e3ed7c1c8d2fb25dfd0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>C++: Array: Add const Node&amp; variants to Append, Insert</title>
<updated>2025-04-06T10:18:23+00:00</updated>
<author>
<name>guyingzhao</name>
</author>
<published>2025-04-06T10:18:23+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libplist.git/commit/?id=e6f3c6c62111b37cc97db2d61a1c765695ee401a'/>
<id>e6f3c6c62111b37cc97db2d61a1c765695ee401a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
