testsuite run
- Update to 3.4.0.post0:
- 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_BACKENDS` constant listing all supported
backends (which might or not be available at runtime).
- Added a `capabilities` constant to each backend describing
which capabilities it supports.
- Exposing backend's name under ``<backend>.backend_name``, and
default backend's name under ``ijson.backend_name``. This is
similar to the already existing ``name`` constant, only
slightly better named to hopefully avoid confusion.
- Restructured source code so all code lives under `src/`, and
the `ijson.backends._yajl2` extension under
`src/ijson/backends/ext/_yajl2`. This allows C backend tests to
actually run on cibuildwheel.
- Improved performance of `parse` routine in C backend by ~4%.
- Fixed several potential stability issues in C backend around
correct error handling.
- Fixed corner-case wrong behaviour of `yajl2_c` backend, 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).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ijson?expand=0&rev=14
* Removed support for Python 2.7 and 3.4, 3.5+ is still
supported.
* Distribute the existing `benchmark.py` script
as ``ijson.benchmark``.
* Adapted ``yajl2_c`` async generators to work against PyPy
when building ijson to force/skip building the
- update to 3.1.4
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ijson?expand=0&rev=10
* Fixed several issues in the ``yajl2_c`` backend
and its async generators that were only made apparent
when running it with PyPy and/or a CPython debug build (#101).
* Adapted ``yajl2_c`` async generators to work against PyPy
shortcomings
* Fixed compilation and ``async`` support
of the ``yajl2_c`` backend in pyhthon 3.12 (#98).
* Check ``IJSON_BUILD_YAJL2C`` environment variable
when building ijson to force/skip building the
``yajl2_c`` backend (#102).
* Added support for Python 3.12.
* Fixed a memory leak in the ``yajl2_c`` backend
triggered only when the underlying ``yajl`` functions
reported a failure (#97).
* New ``ijson.dump`` command-line utility
* Fixed bug in ``yajl2_c`` backend introduced in 3.1.2
where random crashes could occur due to an unsafe reference decrement
when constructing the parse/items/kvitems generators (#66).
* Mark Python 3.10 and 3.11 as explicitly supported.
- drop tests_asyncio.py source - this comes in the tarball now
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ijson?expand=0&rev=8
- update to 3.1.4
* Fixed bug in ``yajl2_c`` backend introduced in 3.1.0
where ``ijson.items`` didn't work correctly
against member names containing ``.`` (#41).
* Python backend raises errors on incomplete JSON content
that previously wasn't recognised as such,
aligning itself with the rest of the backends (#42).
Contains 3.1.3:
* Python backed correctly raises errors
when JSON numbers with leading zeros
are found in the stream (#40).
* Likewise, JSON numbers with fractions
where the decimal point is not surrounded
by at least one digit on both sides
also produce an error now
on the python backend.
* Fixed detection of file objects
with generator-based ``read`` coroutines
(i.e., a ``read`` generator decorated with ``@types.coroutine``)
for the purpose of automatically routing user calls
done through the main entry points.
For example, when using ``aiofiles`` objects
users could invoke ``async for item in ijson.parse_async(f)``
but not ``async for item in ijson.parse(f)``,
while the latter has been possible since 3.1
for native coroutines.
Contains 3.1.2.post0:
OBS-URL: https://build.opensuse.org/request/show/934410
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ijson?expand=0&rev=5
- update to 3.0
* Exposing backend's name under ``<backend>.backend``,
and default backend's name under ``ijson.backend``.
* Exposing ``ijson.sendable_list`` to users in case it comes in handy.
* Improved the protocol for user-facing coroutines,
where instead of having to send a final, empty bytes string
to finish the parsing process
users can simply call ``.close()`` on the coroutine.
* Including C code in coverage measurements,
and increased overall code coverage up to 99%.
* Full re-design of ijson.
* Initial support for ``asyncio`` in python 3.5+.
* Exposure of underlying infrastructure implementing the push model.
* C extension broken down into separate source files
for easier understanding and maintenance.
* Fixed a deprecation warning in the C backend
present in python 3.8 when parsing Decimal values.
* New `kvitems` method in all backends.
Like `items`, it takes a prefix,
and iterates over the key/value pairs of matching objects
(instead of iterating over objects themselves, like in `items`).
* When using python 2, all backends now return
`map_key` values as `unicode` objects, not `str`.
* Including more files in source distributions (#14).
* Adjusting python backend to avoid reading off the input stream
too eagerly (#15).
OBS-URL: https://build.opensuse.org/request/show/792735
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ijson?expand=0&rev=3