Version 2.1.0 released XXXX-XX-XX * 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