Version 2.0.0
~~~~~~~~~~~~~

- Changes:
  * New light-weight custom XML parser
  * Remove libxml2 dependency
  * Refactor binary plist parsing
  * Improved malformed XML and binary plist detection and error handling
  * Add parser debug/error output (when compiled with --enable-debug), controlled via environment variables
  * Fix unicode character handling
  * Add PLIST_IS_* helper macros for the different node types
  * Extend date/time range and date conversion issues
  * Add plist_is_binary() and plist_from_memory() functions to the interface
  * Plug several memory leaks
  * Speed improvements for handling large plist files

- Includes security fixes for:
  * CVE-2017-6440
  * CVE-2017-6439
  * CVE-2017-6438
  * CVE-2017-6437
  * CVE-2017-6436
  * CVE-2017-6435
  * CVE-2017-5836
  * CVE-2017-5835
  * CVE-2017-5834
  * CVE-2017-5545
  * CVE-2017-5209
  ... and several others that didn't receive any CVE (yet).

Version 1.12
~~~~~~~~~~~~

- Changes:
  * Fix plist_from_bin() changing value nodes to key nodes in dictionaries
  * Avoid exporting non-public symbols
  * Prevent crash in plist_from_bin() when parsing unusual binary plists
  * Fix crash in String|Key::GetValue() and actually make C++ interface work
  * Fix memory leaks in new_xml_plist() and parse_real_node()
  * Fix header guards to conform to C++ standard
  * Update Cython based Python bindings and remove plist_new_key()
  * Fix key nodes not being output correctly if they contained XML entities
  * Fix handling and storage of signed vs. unsigned integer values
  * Fix date handling to respect the "Mac Epoch" instead of "Unix Epoch"
  * Remove plist_set_type() as it should not be used
  * Fix deprecated macros to work with older LLVM/Clang
  * Fix various shadowed declarations
  * Add documentation to explicitly describe memory buffer ownership
  * Fix memory leak in plist_from_bin()
  * Add various test cases based on fixes
  * Fix wrong timezone related date/time conversion of date nodes
  * Fix endian detection on MIPS architecture
  * Fix parallel build for autotools

Version 1.11
~~~~~~~~~~~~

- Changes:
  * Deprecated plist_dict_insert_item() in favor of plist_dict_set_item()
  * Updated cython bindings for Python 3.x
  * Removed swig python bindings
  * Changed build system to autotools
  * Added new plist_dict_merge() function
  * WIN32 (MinGW) + OSX compilation fixes
  * Made base64 decoding thread safe

Version 1.10
~~~~~~~~~~~~

- Changes:
  * Renamed plutil to plistutil to not mask Apple's plutil
  * Fixed cython bindings (broken in 1.9) 
  * Added support for PLIST_UID node types to C++, cython, and swig bindings

- Important Note:
  * Support for swig python bindings will be dropped with future releases.
    The bindings will be kept in the source tree for now, but we suggest
    to update your python code to use the cython bindings instead.

Version 1.9
~~~~~~~~~~~

- Changes:
  * Add support for handling UID node types
  * Fix crash when converting plists containing comments
  * Fix Bug in plist_data_compare()
  * Fix DST handling for PLIST_DATE
  * Fix plist_dict_set_item() and plist_array_set_item()
  * Fix cython String plist handling
  * Fix invalid memory access in copy_plist_data()
  * Fix several compiler warnings

Version 1.8
~~~~~~~~~~~

- Changes:
  * Add cython bindings
  * Fix error in swig bindings
  * Fix memory corruption in libcnary

Version 1.7
~~~~~~~~~~~

- Changes:
  * Fix building on Big Endian systems

Version 1.6
~~~~~~~~~~~

- Changes:
  * Updated libcnary sources, adding license and copyright info

Version 1.5
~~~~~~~~~~~

- Changes:
  * Removed glib dependency, libplist now uses libcnary
    (http://github.com/Chronic-Dev/libcnary)
  * Fix building of python bindings with GCC 4.6

Version 1.4
~~~~~~~~~~~

- New maintainer and source location
- Changes:
  * Update AUTHORS from git history
  * Fix Unicode writing in binary plists
  * Update plist doctype
  * Fix Dictionary copy constructor
  * Fix Mac OS X library install path detection
  * Plug memory leak when writing Unicode data

Version 1.3
~~~~~~~~~~~

- Changes:
  * Endianness, alignment and type-punning fixes
  * Fix armel floating point endianess 
  * Allow compiling with mingw on Windows
  * Minor bugfixes

Version 1.2
~~~~~~~~~~~

- Changes:
  * Fix xml entity conversion
  * Silence build warnings

Version 1.1
~~~~~~~~~~~

- Changes:
  * Fix use of integer nodes within Python Bindings

Version 1.0
~~~~~~~~~~~

- Changes:
  * Bugfixes
  * Remove deprecated API

Version 0.16
~~~~~~~~~~~~

- Changes:
  * Build fixes
  * Fix issues with SWIG

Version 0.15
~~~~~~~~~~~~

- Changes:
  * Build fixes

Version 0.14
~~~~~~~~~~~~

- Changes:
  * Add C++ binding
  * Refactor API
  * Bugfixes

Version 0.13
~~~~~~~~~~~~

- Changes:
  * Add plist_copy for deep node copies
  * Add node setter functions
  * Unlink nodes from parent if free'd
  * Update Python bindings

Version 0.12
~~~~~~~~~~~~

- Changes:
  * Merge ascii and unicode handling in PLIST_STRING using UTF-8
  * Remove unicode related declaration in API (breaks API&ABI)
  * Fix bad variable type for date elements
  * Silence compiler warnings
  * Plugged few memory leaks

Version 0.11
~~~~~~~~~~~~

- Changes:
  * Fix Python binding segfaults
  * Python API additions
  * Better binary buffer handling in Python bindings

