Make json_pack/json_unpack() recursive
[jansson.git] / CHANGES
1 Version 1.3
2 ===========
3
4 Released 2010-06-13
5
6 * New functions:
7
8   - `json_object_iter_set()`, `json_object_iter_set_new()`: Change
9     object contents while iterating over it.
10
11   - `json_object_iter_at()`: Return an iterator that points to a
12     specific object item.
13
14 * New encoding flags:
15
16   - ``JSON_PRESERVE_ORDER``: Preserve the insertion order of object
17     keys.
18
19 * Bug fixes:
20
21   - Fix an error that occured when an array or object was first
22     encoded as empty, then populated with some data, and then
23     re-encoded
24
25   - Fix the situation like above, but when the first encoding resulted
26     in an error
27
28 * Documentation:
29
30   - Clarify the documentation on reference stealing, providing an
31     example usage pattern
32
33
34 Version 1.2.1
35 =============
36
37 Released 2010-04-03
38
39 * Bug fixes:
40
41   - Fix reference counting on ``true``, ``false`` and ``null``
42   - Estimate real number underflows in decoder with 0.0 instead of
43     issuing an error
44
45 * Portability:
46
47   - Make ``int32_t`` available on all systems
48   - Support compilers that don't have the ``inline`` keyword
49   - Require Autoconf 2.60 (for ``int32_t``)
50
51 * Tests:
52
53   - Print test names correctly when ``VERBOSE=1``
54   - ``test/suites/api``: Fail when a test fails
55   - Enhance tests for iterators
56   - Enhance tests for decoding texts that contain null bytes
57
58 * Documentation:
59
60   - Don't remove ``changes.rst`` in ``make clean``
61   - Add a chapter on RFC conformance
62
63
64 Version 1.2
65 ===========
66
67 Released 2010-01-21
68
69 * New functions:
70
71   - `json_equal()`: Test whether two JSON values are equal
72   - `json_copy()` and `json_deep_copy()`: Make shallow and deep copies
73     of JSON values
74   - Add a version of all functions taking a string argument that
75     doesn't check for valid UTF-8: `json_string_nocheck()`,
76     `json_string_set_nocheck()`, `json_object_set_nocheck()`,
77     `json_object_set_new_nocheck()`
78
79 * New encoding flags:
80
81   - ``JSON_SORT_KEYS``: Sort objects by key
82   - ``JSON_ENSURE_ASCII``: Escape all non-ASCII Unicode characters
83   - ``JSON_COMPACT``: Use a compact representation with all unneeded
84     whitespace stripped
85
86 * Bug fixes:
87
88   - Revise and unify whitespace usage in encoder: Add spaces between
89     array and object items, never append newline to output.
90   - Remove const qualifier from the ``json_t`` parameter in
91     `json_string_set()`, `json_integer_set()` and `json_real_set`.
92   - Use ``int32_t`` internally for representing Unicode code points
93     (int is not enough on all platforms)
94
95 * Other changes:
96
97   - Convert ``CHANGES`` (this file) to reStructured text and add it to
98     HTML documentation
99   - The test system has been refactored. Python is no longer required
100     to run the tests.
101   - Documentation can now be built by invoking ``make html``
102   - Support for pkg-config
103
104
105 Version 1.1.3
106 =============
107
108 Released 2009-12-18
109
110 * Encode reals correctly, so that first encoding and then decoding a
111   real always produces the same value
112 * Don't export private symbols in ``libjansson.so``
113
114
115 Version 1.1.2
116 =============
117
118 Released 2009-11-08
119
120 * Fix a bug where an error message was not produced if the input file
121   could not be opened in `json_load_file()`
122 * Fix an assertion failure in decoder caused by a minus sign without a
123   digit after it
124 * Remove an unneeded include of ``stdint.h`` in ``jansson.h``
125
126
127 Version 1.1.1
128 =============
129
130 Released 2009-10-26
131
132 * All documentation files were not distributed with v1.1; build
133   documentation in make distcheck to prevent this in the future
134 * Fix v1.1 release date in ``CHANGES``
135
136
137 Version 1.1
138 ===========
139
140 Released 2009-10-20
141
142 * API additions and improvements:
143
144   - Extend array and object APIs
145   - Add functions to modify integer, real and string values
146   - Improve argument validation
147   - Use unsigned int instead of ``uint32_t`` for encoding flags
148
149 * Enhance documentation
150
151   - Add getting started guide and tutorial
152   - Fix some typos
153   - General clarifications and cleanup
154
155 * Check for integer and real overflows and underflows in decoder
156 * Make singleton values thread-safe (``true``, ``false`` and ``null``)
157 * Enhance circular reference handling
158 * Don't define ``-std=c99`` in ``AM_CFLAGS``
159 * Add C++ guards to ``jansson.h``
160 * Minor performance and portability improvements
161 * Expand test coverage
162
163
164 Version 1.0.4
165 =============
166
167 Released 2009-10-11
168
169 * Relax Autoconf version requirement to 2.59
170 * Make Jansson compile on platforms where plain ``char`` is unsigned
171 * Fix API tests for object
172
173
174 Version 1.0.3
175 =============
176
177 Released 2009-09-14
178
179 * Check for integer and real overflows and underflows in decoder
180 * Use the Python json module for tests, or simplejson if the json
181   module is not found
182 * Distribute changelog (this file)
183
184
185 Version 1.0.2
186 =============
187
188 Released 2009-09-08
189
190 * Handle EOF correctly in decoder
191
192
193 Version 1.0.1
194 =============
195
196 Released 2009-09-04
197
198 * Fixed broken `json_is_boolean()`
199
200
201 Version 1.0
202 ===========
203
204 Released 2009-08-25
205
206 * Initial release