Version 3.19.1 released 2023-04-06
- This release contains security hardening measures based on recommendations
by a security audit sponsored by OSTIF and conducted by X41 D-Sec GmbH.
Several of these measures include changing defaults to be more strict,
by default simplejson will now only consume and produce compliant JSON,
but the flags still exist for any backwards compatibility needs.
No high priority issues were discovered, the reference count
leak is thought to be unreachable since the digits of the float are
checked before PyOS_string_to_double is called.
A link to the public version of this report will be included in a
future release of simplejson. The following fixes were implemented in
one PR: #313 - Fix invalid handling of unicode escape sequences in the pure Python
implementation of the decoder (SJ-PT-23-01) - Fix missing reference count decrease if PyOS_string_to_double raises
an exception in Python 2.x; was probably unreachable (SJ-PT-23-02) - Backport the integer string length limitation from Python 3.11 to
limit quadratic number parsing (SJ-PT-23-03) - Fix inconsistencies with error messages between the C and Python
implementations (SJ-PT-23-100) - Remove unused unichr import from encoder (SJ-PT-23-101)
- Remove unused namedtuple_as_object and tuple_as_array arguments from
simplejson.load (SJ-PT-23-102) - Remove vestigial _one_shot code from iterencode (SJ-PT-23-103)
- Change default of allow_nan from True to False and add allow_nan
to decoder (SJ-PT-23-107)