-Version 2.0 (in development)
-============================
+Version 2.2
+===========
+
+Released 2011-09-03
+
+* New features:
+
+ - `json_dump_callback()`: Pass the encoder output to a callback
+ function in chunks.
+
+* Bug fixes:
+
+ - `json_string_set()`: Check that target is a string and value is
+ not NULL.
+
+* Other:
+
+ - Documentation typo fixes and clarifications.
+
+
+Version 2.1
+===========
+
+Released 2011-06-10
+
+* New features:
+
+ - `json_loadb()`: Decode a string with a given size, useful if the
+ string is not null terminated.
+
+ - Add ``JSON_ENCODE_ANY`` encoding flag to allow encoding any JSON
+ value. By default, only arrays and objects can be encoded. (#19)
+
+ - Add ``JSON_REJECT_DUPLICATES`` decoding flag to issue a decoding
+ error if any JSON object in the input contins duplicate keys. (#3)
+
+ - Add ``JSON_DISABLE_EOF_CHECK`` decoding flag to stop decoding after a
+ valid JSON input. This allows other data after the JSON data.
+
+* Bug fixes:
+
+ - Fix an additional memory leak when memory allocation fails in
+ `json_object_set()` and friends.
+
+ - Clear errno before calling `strtod()` for better portability. (#27)
+
+* Building:
+
+ - Avoid set-but-not-used warning/error in a test. (#20)
+
+* Other:
+
+ - Minor clarifications to documentation.
+
+
+Version 2.0.1
+=============
+
+Released 2011-03-31
+
+* Bug fixes:
+
+ - Replace a few `malloc()` and `free()` calls with their
+ counterparts that support custom memory management.
+
+ - Fix object key hashing in json_unpack() strict checking mode.
+
+ - Fix the parentheses in ``JANSSON_VERSION_HEX`` macro.
+
+ - Fix `json_object_size()` return value.
+
+ - Fix a few compilation issues.
+
+* Portability:
+
+ - Enhance portability of `va_copy()`.
+
+ - Test framework portability enhancements.
+
+* Documentation:
+
+ - Distribute ``doc/upgrading.rst`` with the source tarball.
+
+ - Build documentation in strict mode in ``make distcheck``.
+
+
+Version 2.0
+===========
+
+Released 2011-02-28
This release is backwards incompatible with the 1.x release series.
-See the documentation for instructions on how to port existing code to
-Jansson 2.0.
+See the chapter "Upgrading from older versions" in documentation for
+details.
* Backwards incompatible changes:
type available, i.e. long long if it's supported, otherwise long.
Add a typedef json_int_t that defines the type.
- - Change the maximum indentation depth to 32 spaces in encoder. This
+ - Change the maximum indentation depth to 31 spaces in encoder. This
frees up bits from the flags parameter of encoding functions
`json_dumpf()`, `json_dumps()` and `json_dump_file()`.
* New features
- - `json_pack()`, `json_pack_ex()`, `json_vpack_ex()`: Create complex
- JSON values based on a format string.
+ - `json_pack()`, `json_pack_ex()`, `json_vpack_ex()`: Create JSON
+ values based on a format string.
- `json_unpack()`, `json_unpack_ex()`, `json_vunpack_ex()`: Simple
value extraction and validation functionality based on a format
- Add column, position and source fields to the ``json_error_t``
struct.
- - Report the error context for UTF-8 decoding errors in the decoder.
+ - Enhance error reporting in the decoder.
- - Add preprocessor constants that define the library version.
+ - ``JANSSON_VERSION`` et al.: Preprocessor constants that define the
+ library version.
- - Add API for setting custom memory allocation functions:
- `json_set_alloc_funcs()`.
+ - `json_set_alloc_funcs()`: Set custom memory allocation functions.
* Fix many portability issues, especially on Windows.