X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=CHANGES;h=c2e393b60721b701b4c7400565f04a15d9751487;hb=a3468c9bd8f02bef8c4a42d385a68e81c46f9695;hp=729d5e80bf2bea6e0aba970f0d5651f0c8db26ea;hpb=5ff8ae8052fcd179bc919e9ed3c7b699a80b8c27;p=jansson.git diff --git a/CHANGES b/CHANGES index 729d5e8..c2e393b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,31 +1,238 @@ -Version 1.1, released 2009-10-20 +Version 2.0 (in development) +============================ + +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. + +* Backwards incompatible changes: + + - Unify unsigned integer usage in the API: All occurences of + unsigned int and unsigned long have been replaced with size_t. + + - Change JSON integer's underlying type to the widest signed integer + 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 + frees up bits from the flags parameter of encoding functions + `json_dumpf()`, `json_dumps()` and `json_dump_file()`. + + - For future needs, add a flags parameter to all decoding functions + `json_loadf()`, `json_loads()` and `json_load_file()`. + +* New features + + - `json_pack()`, `json_pack_ex()`, `json_vpack_ex()`: Create complex + 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 + string. + + - Add column, position and source fields to the ``json_error_t`` + struct. + + - Report the error context for UTF-8 decoding errors in the decoder. + + - Add preprocessor constants that define the library version. + + - Add API for setting custom memory allocation functions: + `json_set_alloc_funcs()`. + +* Fix many portability issues, especially on Windows. + +* Configuration + + - Add file ``jansson_config.h`` that contains site specific + configuration. It's created automatically by the configure script, + or can be created by hand if the configure script cannot be used. + The file ``jansson_config.h.win32`` can be used without + modifications on Windows systems. + + - Add a section to documentation describing how to build Jansson on + Windows. + + - Documentation now requires Sphinx 1.0 or newer. + + +Version 1.3 +=========== + +Released 2010-06-13 + +* New functions: + + - `json_object_iter_set()`, `json_object_iter_set_new()`: Change + object contents while iterating over it. + + - `json_object_iter_at()`: Return an iterator that points to a + specific object item. + +* New encoding flags: + + - ``JSON_PRESERVE_ORDER``: Preserve the insertion order of object + keys. + +* Bug fixes: + + - Fix an error that occured when an array or object was first + encoded as empty, then populated with some data, and then + re-encoded + + - Fix the situation like above, but when the first encoding resulted + in an error + +* Documentation: + + - Clarify the documentation on reference stealing, providing an + example usage pattern + + +Version 1.2.1 +============= + +Released 2010-04-03 + +* Bug fixes: + + - Fix reference counting on ``true``, ``false`` and ``null`` + - Estimate real number underflows in decoder with 0.0 instead of + issuing an error + +* Portability: + + - Make ``int32_t`` available on all systems + - Support compilers that don't have the ``inline`` keyword + - Require Autoconf 2.60 (for ``int32_t``) + +* Tests: + + - Print test names correctly when ``VERBOSE=1`` + - ``test/suites/api``: Fail when a test fails + - Enhance tests for iterators + - Enhance tests for decoding texts that contain null bytes + +* Documentation: + + - Don't remove ``changes.rst`` in ``make clean`` + - Add a chapter on RFC conformance + + +Version 1.2 +=========== + +Released 2010-01-21 + +* New functions: + + - `json_equal()`: Test whether two JSON values are equal + - `json_copy()` and `json_deep_copy()`: Make shallow and deep copies + of JSON values + - Add a version of all functions taking a string argument that + doesn't check for valid UTF-8: `json_string_nocheck()`, + `json_string_set_nocheck()`, `json_object_set_nocheck()`, + `json_object_set_new_nocheck()` + +* New encoding flags: + + - ``JSON_SORT_KEYS``: Sort objects by key + - ``JSON_ENSURE_ASCII``: Escape all non-ASCII Unicode characters + - ``JSON_COMPACT``: Use a compact representation with all unneeded + whitespace stripped + +* Bug fixes: + + - Revise and unify whitespace usage in encoder: Add spaces between + array and object items, never append newline to output. + - Remove const qualifier from the ``json_t`` parameter in + `json_string_set()`, `json_integer_set()` and `json_real_set`. + - Use ``int32_t`` internally for representing Unicode code points + (int is not enough on all platforms) + +* Other changes: + + - Convert ``CHANGES`` (this file) to reStructured text and add it to + HTML documentation + - The test system has been refactored. Python is no longer required + to run the tests. + - Documentation can now be built by invoking ``make html`` + - Support for pkg-config + + +Version 1.1.3 +============= + +Released 2009-12-18 + +* Encode reals correctly, so that first encoding and then decoding a + real always produces the same value +* Don't export private symbols in ``libjansson.so`` + + +Version 1.1.2 +============= + +Released 2009-11-08 + +* Fix a bug where an error message was not produced if the input file + could not be opened in `json_load_file()` +* Fix an assertion failure in decoder caused by a minus sign without a + digit after it +* Remove an unneeded include of ``stdint.h`` in ``jansson.h`` + + +Version 1.1.1 +============= + +Released 2009-10-26 + +* All documentation files were not distributed with v1.1; build + documentation in make distcheck to prevent this in the future +* Fix v1.1 release date in ``CHANGES`` + + +Version 1.1 +=========== + +Released 2009-10-20 * API additions and improvements: + - Extend array and object APIs - Add functions to modify integer, real and string values - Improve argument validation - - Use unsigned int instead of uint32_t for encoding flags + - Use unsigned int instead of ``uint32_t`` for encoding flags + * Enhance documentation + - Add getting started guide and tutorial - Fix some typos - General clarifications and cleanup + * Check for integer and real overflows and underflows in decoder -* Make singleton values thread-safe (true, false and null) +* Make singleton values thread-safe (``true``, ``false`` and ``null``) * Enhance circular reference handling -* Don't define -std=c99 in AM_CFLAGS -* Add C++ guards to jansson.h +* Don't define ``-std=c99`` in ``AM_CFLAGS`` +* Add C++ guards to ``jansson.h`` * Minor performance and portability improvements * Expand test coverage -Version 1.0.4, released 2009-10-11 +Version 1.0.4 +============= + +Released 2009-10-11 * Relax Autoconf version requirement to 2.59 -* Make Jansson compile on platforms where plain char is unsigned +* Make Jansson compile on platforms where plain ``char`` is unsigned * Fix API tests for object -Version 1.0.3, released 2009-09-14 +Version 1.0.3 +============= + +Released 2009-09-14 * Check for integer and real overflows and underflows in decoder * Use the Python json module for tests, or simplejson if the json @@ -33,16 +240,25 @@ Version 1.0.3, released 2009-09-14 * Distribute changelog (this file) -Version 1.0.2, released 2009-09-08 +Version 1.0.2 +============= + +Released 2009-09-08 * Handle EOF correctly in decoder -Version 1.0.1, released 2009-09-04 +Version 1.0.1 +============= + +Released 2009-09-04 + +* Fixed broken `json_is_boolean()` -* Fixed broken json_is_boolean() +Version 1.0 +=========== -Version 1.0, released 2009-08-25 +Released 2009-08-25 * Initial release