author Mike Hommey <>
Thu, 05 Sep 2013 09:01:46 +0900
changeset 153593 45097bc3a57898f22a4f3b74f8f8cf7511f5d0a4
parent 103760 1eaa10b26d24dabca67825f65ff3caa91ba9e962
permissions -rw-r--r--
Bug 912293 - Remove now redundant boilerplate from r=gps

Version 2.1.1 released 2010-03-31

* Change how imports to try and workaround old versions
  of setuptools.
* 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.

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
* JSONEncoderForHTML class for escaping &, <, >
* 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
* indent encoding parameter changed to be a string rather than an integer
  (integer use still supported for backwards compatibility)
* Test suite (python test) now automatically runs with and without
* Fixed support for older versions of easy_install (e.g. stock Mac OS X config)
* Fixed str/unicode mismatches when using ensure_ascii=False
* Fixed error message when parsing an array with trailing comma with speedups
* Refactor decoder errors to raise JSONDecodeError instead of ValueError
* New ordered_pairs_hook feature in decoder which makes it possible to
  preserve key order.
* Fixed containerless unicode float decoding (same bug as 2.0.4, oops!)
* 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:
* "/" 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
* 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
* 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