1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
|
Version 3.1.0 released XXXX-XX-XX
* simplejson.tool tests and bugfix for Python 3.x
http://bugs.python.org/issue16549
* Improve error messages for certain kinds of truncated input
http://bugs.python.org/issue16009
* Moved JSONDecodeError to json.scanner (still available for import
from json.decoder)
* Changed scanner to use JSONDecodeError directly rather than
StopIteration to improve error messages
Version 3.0.9 released 2013-02-21
* Fix an off-by-one error in the colno property of JSONDecodeError
(when lineno == 1)
http://bugs.python.org/issue17225
Version 3.0.8 released 2013-02-19
* Fix a Python 2.x compiler warning for narrow unicode builds
https://github.com/simplejson/simplejson/issues/56
Version 3.0.7 released 2013-01-11
* NOTE: this release only changes the license.
* simplejson is now dual-licensed software, MIT or AFL v2.1. It is
also made explicit that this code is also licensed to the PSF under
a Contributor Agreement.
Version 3.0.6 released 2013-01-11
* Fix for major Python 2.x ensure_ascii=False encoding regression
introduced in simplejson 3.0.0. If you use this setting, please
upgrade immediately.
https://github.com/simplejson/simplejson/issues/50
Version 3.0.5 released 2013-01-03
* NOTE: this release only changes the tests, it is
not essential to upgrade
* Tests now run with deprecation warnings printed
* Fixed Python 3 syntax error in simplejson.tool
https://github.com/simplejson/simplejson/issues/49
* Fixed Python 3.3 deprecation warnings in test suite
https://github.com/simplejson/simplejson/issues/48
Version 3.0.4 released 2013-01-02
* MSVC compatibility for Python 3.3
https://github.com/simplejson/simplejson/pull/47
Version 3.0.3 released 2013-01-01
* Fixes for bugs introduced in 3.0.2
* Fixes for Python 2.5 compatibility
* MSVC compatibility for Python 2.x
https://github.com/simplejson/simplejson/pull/46
Version 3.0.2 released 2013-01-01
* THIS VERSION HAS BEEN REMOVED
* Missed a changeset to _speedups.c in the 3.0.1 branch cut
Version 3.0.1 released 2013-01-01
* THIS VERSION HAS BEEN REMOVED
* Add accumulator optimization to encoder, equivalent to the usage of
`_Py_Accu` in the Python 3.3 json library. Only relevant if encoding
very large JSON documents.
Version 3.0.0 released 2012-12-30
* Python 3.3 is now supported, thanks to Vinay Sajip
https://github.com/simplejson/simplejson/issues/8
* `sort_keys`/`item_sort_key` now sort on the stringified verison of the
key, rather than the original object. This ensures that the sort
only compares string types and makes the behavior consistent between
Python 2.x and Python 3.x.
* Like other number types, Decimal instances used as keys are now
coerced to strings when use_decimal is True.
Version 2.6.2 released 2012-09-21
* JSONEncoderForHTML was not exported in the simplejson module
https://github.com/simplejson/simplejson/issues/41
Version 2.6.1 released 2012-07-27
* raw_decode() now skips whitespace before the object
https://github.com/simplejson/simplejson/pull/38
Version 2.6.0 released 2012-06-26
* Error messages changed to match proposal for Python 3.3.1
http://bugs.python.org/issue5067
Version 2.5.2 released 2012-05-10
* Fix for regression introduced in 2.5.1
https://github.com/simplejson/simplejson/issues/35
Version 2.5.1 released 2012-05-10
* Support for use_decimal=True in environments that use Python
sub-interpreters such as uWSGI
https://github.com/simplejson/simplejson/issues/34
Version 2.5.0 released 2012-03-29
* New item_sort_key option for encoder to allow fine grained control of sorted
output
Version 2.4.0 released 2012-03-06
* New bigint_as_string option for encoder to trade JavaScript number precision
issues for type issues.
https://github.com/simplejson/simplejson/issues/31
Version 2.3.3 released 2012-02-27
* Allow unknown numerical types for indent parameter
https://github.com/simplejson/simplejson/pull/29
Version 2.3.2 released 2011-12-30
* Fix crashing regression in speedups introduced in 2.3.1
Version 2.3.1 released 2011-12-29
* namedtuple_as_object now checks _asdict to ensure that it
is callable.
https://github.com/simplejson/simplejson/issues/26
Version 2.3.0 released 2011-12-05
* Any objects with _asdict() methods are now considered for
namedtuple_as_object.
https://github.com/simplejson/simplejson/pull/22
Version 2.2.1 released 2011-09-06
* Fix MANIFEST.in issue when building a sdist from a sdist.
https://github.com/simplejson/simplejson/issues/16
Version 2.2.0 released 2011-09-04
* Remove setuptools requirement, reverted to pure distutils
* use_decimal default for encoding (dump, dumps, JSONEncoder) is now True
* tuple encoding as JSON objects can be turned off with new
tuple_as_array=False option.
https://github.com/simplejson/simplejson/pull/6
* namedtuple (or other tuple subclasses with _asdict methods) are now
encoded as JSON objects rather than arrays by default. Can be disabled
and treated as a tuple with the new namedtuple_as_object=False option.
https://github.com/simplejson/simplejson/pull/6
* JSONDecodeError is now raised instead of ValueError when a document
ends with an opening quote and the C speedups are in use.
https://github.com/simplejson/simplejson/issues/15
* Updated documentation with information about JSONDecodeError
* Force unicode linebreak characters to be escaped (U+2028 and U+2029)
http://timelessrepo.com/json-isnt-a-javascript-subset
* Moved documentation from a git submodule to
http://simplejson.readthedocs.org/
Version 2.1.6 released 2011-05-08
* Prevent segfaults with deeply nested JSON documents
https://github.com/simplejson/simplejson/issues/11
* Fix compatibility with Python 2.5
https://github.com/simplejson/simplejson/issues/5
Version 2.1.5 released 2011-04-17
* Built sdist tarball with setuptools_git installed. Argh.
Version 2.1.4 released 2011-04-17
* Does not try to build the extension when using PyPy
* Trailing whitespace after commas no longer emitted when indent is used
* Migrated to github http://github.com/simplejson/simplejson
Version 2.1.3 released 2011-01-17
* Support the sort_keys option in C encoding speedups
http://code.google.com/p/simplejson/issues/detail?id=86
* Allow use_decimal to work with dump()
http://code.google.com/p/simplejson/issues/detail?id=87
Version 2.1.2 released 2010-11-01
* Correct wrong end when object_pairs_hook is used
http://code.google.com/p/simplejson/issues/detail?id=85
* Correct output for indent=0
http://bugs.python.org/issue10019
* Correctly raise TypeError when non-string keys are used with speedups
http://code.google.com/p/simplejson/issues/detail?id=82
* Fix the endlineno, endcolno attributes of the JSONDecodeError exception.
http://code.google.com/p/simplejson/issues/detail?id=81
Version 2.1.1 released 2010-03-31
* Change how setup.py imports ez_setup.py to try and workaround old versions
of setuptools.
http://code.google.com/p/simplejson/issues/detail?id=75
* Fix compilation on Windows platform (and other platforms with very
picky compilers)
* Corrected simplejson.__version__ and other minor doc changes.
* Do not fail speedups tests if speedups could not be built.
http://code.google.com/p/simplejson/issues/detail?id=73
Version 2.1.0 released 2010-03-10
* Decimal serialization officially supported for encoding with
use_decimal=True. For encoding this encodes Decimal objects and
for decoding it implies parse_float=Decimal
* Python 2.4 no longer supported (may still work, but no longer tested)
* Decoding performance and memory utilization enhancements
http://bugs.python.org/issue7451
* JSONEncoderForHTML class for escaping &, <, >
http://code.google.com/p/simplejson/issues/detail?id=66
* Memoization of object keys during encoding (when using speedups)
* Encoder changed to use PyIter_Next for list iteration to avoid
potential threading issues
* Encoder changed to use iteritems rather than PyDict_Next in order to
support dict subclasses that have a well defined ordering
http://bugs.python.org/issue6105
* indent encoding parameter changed to be a string rather than an integer
(integer use still supported for backwards compatibility)
http://code.google.com/p/simplejson/issues/detail?id=56
* Test suite (python setup.py test) now automatically runs with and without
speedups
http://code.google.com/p/simplejson/issues/detail?id=55
* Fixed support for older versions of easy_install (e.g. stock Mac OS X config)
http://code.google.com/p/simplejson/issues/detail?id=54
* Fixed str/unicode mismatches when using ensure_ascii=False
http://code.google.com/p/simplejson/issues/detail?id=48
* Fixed error message when parsing an array with trailing comma with speedups
http://code.google.com/p/simplejson/issues/detail?id=46
* Refactor decoder errors to raise JSONDecodeError instead of ValueError
http://code.google.com/p/simplejson/issues/detail?id=45
* New ordered_pairs_hook feature in decoder which makes it possible to
preserve key order. http://bugs.python.org/issue5381
* Fixed containerless unicode float decoding (same bug as 2.0.4, oops!)
http://code.google.com/p/simplejson/issues/detail?id=43
* Share PosInf definition between encoder and decoder
* Minor reformatting to make it easier to backport simplejson changes
to Python 2.7/3.1 json module
Version 2.0.9 released 2009-02-18
* Adds cyclic GC to the Encoder and Scanner speedups, which could've
caused uncollectible cycles in some cases when using custom parser
or encoder functions
Version 2.0.8 released 2009-02-15
* Documentation fixes
* Fixes encoding True and False as keys
* Fixes checking for True and False by identity for several parameters
Version 2.0.7 released 2009-01-04
* Documentation fixes
* C extension now always returns unicode strings when the input string is
unicode, even for empty strings
Version 2.0.6 released 2008-12-19
* Windows build fixes
Version 2.0.5 released 2008-11-23
* Fixes a segfault in the C extension when using check_circular=False and
encoding an invalid document
Version 2.0.4 released 2008-10-24
* Fixes a parsing error in the C extension when the JSON document is (only)
a floating point number. It would consume one too few characters in that
case, and claim the document invalid.
Version 2.0.3 released 2008-10-11
* Fixes reference leaks in the encoding speedups (sorry about that!)
* Fixes doctest suite for Python 2.6
* More optimizations for the decoder
Version 2.0.2 released 2008-10-06
* Fixes MSVC2003 build regression
* Fixes Python 2.4 compatibility in _speedups.c
Version 2.0.1 released 2008-09-29
* Fixes long encoding regression introduced in 2.0.0
* Fixes MinGW build regression introduced in 2.0.0
Version 2.0.0 released 2008-09-27
* optimized Python encoding path
* optimized Python decoding path
* optimized C encoding path
* optimized C decoding path
* switched to sphinx docs (nearly the same as the json module in python 2.6)
Version 1.9.3 released 2008-09-23
* Decoding is significantly faster (for our internal benchmarks)
* Pretty-printing tool changed from simplejson to simplejson.tool for better
Python 2.6 comaptibility
* Misc. bug fixes
Version 1.9 released 2008-05-03
* Rewrote test suite with unittest and doctest (no more nosetest dependency)
* Better PEP 7 and PEP 8 source compliance
* Removed simplejson.jsonfilter demo module
* simplejson.jsonfilter is no longer included
Version 1.8.1 released 2008-03-24
* Optional C extension for accelerating the decoding of JSON strings
* Command line interface for pretty-printing JSON (via python -msimplejson)
* Decoding of integers and floats is now extensible (e.g. to use Decimal) via
parse_int, parse_float options.
* Subversion and issue tracker moved to google code:
http://code.google.com/p/simplejson/
* "/" is no longer escaped, so if you're embedding JSON directly in HTML
you'll want to use .replace("/", "\\/") to prevent a close-tag attack.
Version 1.7 released 2007-03-18
* Improves encoding performance with an optional C extension to speed up
str/unicode encoding (by 10-150x or so), which yields an overall speed
boost of 2x+ (JSON is string-heavy).
* Support for encoding unicode code points outside the BMP to UTF-16
surrogate code pairs (specified by the Strings section of RFC 4627).
Version 1.6 released 2007-03-03
* Improved str support for encoding. Previous versions of simplejson
integrated strings directly into the output stream, this version ensures
they're of a particular encoding (default is UTF-8) so that the output
stream is valid.
Version 1.5 released 2007-01-18
* Better Python 2.5 compatibility
* Better Windows compatibility
* indent encoding parameter for pretty printing
* separators encoding parameter for generating optimally compact JSON
Version 1.3 released 2006-04-01
* The optional object_hook function is called upon decoding of any JSON
object literal, and its return value is used instead of the dict that
would normally be used. This can be used to efficiently implement
features such as JSON-RPC class hinting, or other custom decodings of
JSON. See the documentation for more information.
Version 1.1 released 2005-12-31
* Renamed from simple_json to simplejson to comply with PEP 8 module naming
guidelines
* Full set of documentation
* More tests
* The encoder and decoder have been extended to understand NaN, Infinity, and
-Infinity (but this can be turned off via allow_nan=False for strict JSON
compliance)
* The decoder's scanner has been fixed so that it no longer accepts invalid
JSON documents
* The decoder now reports line and column information as well as character
numbers for easier debugging
* The encoder now has a circular reference checker, which can be optionally
disabled with check_circular=False
* dump, dumps, load, loads now accept an optional cls kwarg to use an
alternate JSONEncoder or JSONDecoder class for convenience.
* The read/write compatibility shim for json-py now have deprecation warnings
Version 1.0 released 2005-12-25
* Initial release
|