Sourced from ijson's changelog.
[3.4.0]
- Added support for PEP 489 multi-phase initialisation and per-module state for our C extension, allowing us to support sub-interpreters with per-interpreter GIL.
- Advertise support for free-threading python mode.
- Removed support for Python < 3.9.
- Enhanced generators so they yield all possible results to users before errors are raised (#123).
- Added
ijson.ALL_BACKENDSconstant listing all supported backends (which might or not be available at runtime).- Added a
capabilitiesconstant to each backend describing which capabilities it supports.- Exposing backend's name under
<backend>.backend_name, and default backend's name underijson.backend_name. This is similar to the already existingnameconstant, only slightly better named to hopefully avoid confusion.- Restructured source code so all code lives under
src/, and theijson.backends._yajl2extension undersrc/ijson/backends/ext/_yajl2. This allows C backend tests to actually run on cibuildwheel.- Improved performance of
parseroutine in C backend by ~4%.- Fixed several potential stability issues in C backend around correct error handling.
- Fixed corner-case wrong behaviour of
yajl2_cbackend, which didn't work correctly with user-provided event names.- Pointing to our own fork of yajl (for when we build it ourselves) that contains fixes for all known CVEs (#126).
- Removed leftover compatibility bits in the C backend.
- Fixed potential issue with
yajlandyajl2backends where crashes could occur at interpreter shutdown.- Removed tox.
- Moved static project metadata to
pyproject.toml.
36701be
Release ijson 3.4.0cfb044a
Modernize packaging (#138)044cf9b
Bump pypa/cibuildwheel from 2.23.2 to 2.23.3 (#140)81e24b4
Allow building embedded yajl with cmake 4.0b3f9647
Bump pypa/cibuildwheel from 2.23.1 to 2.23.2 (#137)d8fd6d2
Bump pypa/cibuildwheel from 2.23.0 to 2.23.1 (#134)caebc6f
Bump pypa/cibuildwheel from 2.22.0 to 2.23.0 (#133)698b114
Downgrade to ubuntu-22.04 to avoid gcc segfault9f28dc0
Allow certain branches to trigger a full CI build901fd3b
Add custom event name interning to yajl2_c