Update dependency simplejson to v4 - #29
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/simplejson-4.x
branch
2 times, most recently
from
April 22, 2026 21:13
8df9608 to
03b6539
Compare
renovate
Bot
force-pushed
the
renovate/simplejson-4.x
branch
from
April 24, 2026 20:37
03b6539 to
fb394c6
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This PR contains the following updates:
==3.19.2→==4.1.1Release Notes
simplejson/simplejson (simplejson)
v4.1.1Compare Source
What's Changed
Full Changelog: simplejson/simplejson@v4.1.0...v4.1.1
v4.1.0Compare Source
What's Changed
Full Changelog: simplejson/simplejson@v4.0.1...v4.1.0
v4.0.1Compare Source
What's Changed
Full Changelog: simplejson/simplejson@v4.0.0...v4.0.1
v4.0.0Compare Source
What's Changed
Version 4.0.0 released 2026-04-18
simplejson 4 requires Python 2.7 or Python 3.8+. Older Python
versions (2.5, 2.6, 3.0-3.7) are no longer supported. pip will
not install simplejson 4 on unsupported versions.
The C extension now uses heap types and per-module state instead of
static types and global state. This is required for free-threading
support and sub-interpreter isolation. The Python-level API is
unchanged.
Full support for Python 3.13+ free-threading (PEP 703). The C
extension is now safe to use with the GIL disabled (python3.14t):
#363
#364
#365
#367
#369
Numerous C extension memory safety fixes:
and other non-AttributeError exceptions raised by user getattr
#355
#356
#357
#358
#359
#360
#373
C/Python parity fixes:
or boundary \uXXXX escapes to raise "Invalid \uXXXX escape
sequence" instead of "Unterminated string", and report error
position at the 'u' instead of the leading backslash. The C and
Python decoders now agree on exception class, message, and
position across all tested edge cases.
objects that define _asdict(). Previously a list/tuple/dict
subclass with an _asdict() method encoded as its container type
under the Python encoder and as the _asdict() return value under
the C encoder; both now check _asdict() before list/tuple/dict.
for_json() continues to outrank _asdict() in both.
bounds") instead of JSONDecodeError for out-of-range end indices.
User code with
except JSONDecodeError:now catches both theC and pure-Python paths consistently.
#372
C extension performance and correctness improvements:
avoiding intermediate items list and N tuple allocations
iterator allocation and per-item PyIter_Next overhead
eliminating intermediate string objects and ''.join calls
that could cause buffer overwrite on pathologically large strings
#370
Added Python 3.14 support and updated to cibuildwheel 3.2.1. CI now
tests free-threaded (3.14t) and debug builds with -Werror, refcount
leak detection, and GIL-disabled mode.
#343
Added a ThreadSanitizer (TSan) stress test CI job. Builds a
TSan-instrumented free-threaded CPython (cached between runs) and
runs a concurrent stress test script against the C extension to
catch data races under free-threading.
#373
Replace deprecated license classifiers with SPDX license expression
#347
Documented RawJSON usage with examples and caveats
#346
Added pyproject.toml for PEP 517 build support. setup.py is retained
for Python 2.7 wheel builds and backwards compatibility.
Migrated build_ext import from distutils to setuptools in setup.py.
The distutils.errors imports are kept since setuptools vendors
distutils on Python 3.12+ where stdlib distutils was removed.
CI now tests PEP 517 builds (pyproject.toml) alongside the existing
setup.py-based builds.
Added Pyodide (wasm32) wheel builds with C speedups via cibuildwheel.
Previously Pyodide users fell back to the pure-Python wheel; now they
get the compiled C extension cross-compiled to WebAssembly. Thread
and subprocess tests are skipped on Emscripten where those APIs are
unavailable.
Test suite now fails (instead of skipping) when C speedups are missing
during cibuildwheel runs, catching broken extension builds early.
New
array_hookparameter forloads(),load(), andJSONDecoder. Called with each decoded JSON array (as a list),its return value replaces the list. Analogous to
object_hookfor dicts. Works with both the Python decoder and C scanner.
(Matches CPython 3.15 json module.)
Trailing comma detection: the decoder now raises
JSONDecodeErrorwith "Illegal trailing comma before end of object/array" for inputs
like
[1,]and{"a": 1,}instead of generic error messages.Both the Python decoder and C scanner are updated.
(Matches CPython 3.13+ json module.)
frozendictencoding support: whenfrozendictis available(CPython 3.15+ PEP 814), it is encoded as a JSON object just like
dict. No effect on older Python versions.Serialization errors now include
add_note()context on Python3.11+ (PEP 678), annotating exceptions with the path to the error,
e.g. "when serializing list item 1" / "when serializing dict item
'key'". Only applies to the Python encoder.
New C fast path for
encode_basestring(ensure_ascii=False).Previously the non-ASCII string encoder fell back to pure Python;
now it has a C implementation matching the existing
encode_basestring_asciifast path.#207
The Python decoder now rejects non-ASCII digits (e.g. fullwidth
\uff10) in JSON numbers, matching the C scanner behavior.The
NUMBER_REregex was changed from\dto[0-9].Removed dead single-phase init code for Python 3.3/3.4 from the
C extension (these versions are no longer supported).
New Contributors
Full Changelog: simplejson/simplejson@v3.20.2...v4.0.0
v3.20.2Compare Source
What's Changed
New Contributors
Full Changelog: simplejson/simplejson@v3.20.1...v3.20.2
v3.20.1Compare Source
Version 3.20.1 released 2025-02-14
#329
Full Changelog: simplejson/simplejson@v3.19.3...v3.20.1
v3.19.3Compare Source
Version 3.19.3 released 2024-08-14
Dropped wheel support for Python 2.7 on macOS.
#326
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.