File python-ijson.changes of Package python-ijson
-------------------------------------------------------------------
Wed May 28 12:12:47 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Convert to pip-based build
-------------------------------------------------------------------
Mon Jun 17 06:32:50 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 3.3.0:
* Removed support for Python 2.7 and 3.4, 3.5+ is still
supported.
* Distribute the existing `benchmark.py` script
as ``ijson.benchmark``.
-------------------------------------------------------------------
Wed Jul 26 06:47:55 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 3.2.3:
* 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
-------------------------------------------------------------------
Sun Jun 11 12:39:17 UTC 2023 - ecsos <ecsos@opensuse.org>
- Add %{?sle15_python_module_pythons}
-------------------------------------------------------------------
Fri Nov 26 16:09:20 UTC 2021 - Daniel Molkentin <daniel@molkentin.de>
- 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:
* Moved binary wheel generation
from GitHub Actions to Travis.
This gained us binary ARM wheels,
wihch are becoming increasingly popular (#35)
Contains 3.1.2:
* Fixed minor memory leaks
in the initialization methods
of the generators of the ``yajl2_c`` backend.
All generators
(i.e., ``basic_parse``, ``parse``, ``kvitems`` and ``items``)
in both their sync and async versions,
were affected.
Contains 3.1.1:
* Fixed two problems in the ``yajl2_c`` backend
related to `asyncio` support,
which prevented some objects
like those from ``aiofiles``
from working properly (#32).
* Ironing out and documenting some corner cases
related to the use of ``use_float=True``
and its side-effect on integer number parsing.
Contains 3.1:
* A new ``use_float`` option has been added to all backends
to control whether ``float`` values should be returned
for non-integer numbers instead of ``Decimal`` objects.
Using this option trades loss of precision
(which most applications probably don't care)
for performance (which most application do care about).
Historically ijson has returned ``Decimal`` objects,
and therefore the option defaults to ``False``
for backwards compatibility,
but in later releases this default could change to ``True``.
* Improved the performance
of the ``items`` and ``kvitems`` methods
of the ``yajl2_c`` backend
(by internally avoiding unnecessary string concatenations).
Local tests show a performance improvement of up to ~15%,
but milage might vary depending on your use case and system.
* The "raw" functions ``basic_parse``, ``parse``, ``items`` and ``kvitems``
can now be used with different types of inputs.
In particular they accept not only file-like objects,
but also asynchronous file-like objects,
behaving like their ``*_async`` counterparts.
They also accept ``bytes`` and ``str`` objects direclty
(and ``unicode`` objects in python 2.7).
Finally, they also accept iterables,
in which case they behave like the ``ijson.common.*`` functions,
allowing users to tap into the event pipeline.
* ``ijson.common`` routines ``parse``, ``items`` and ``kvitems``
are marked as deprecated.
Users should use the ``ijson.*`` routines instead,
which now accept event iterables.
* New ``ijson.get_backend`` function
for users to import a backend programatically
(without having to manually use importlib).
* New ``IJSON_BACKEND`` environment variable
can be used to choose the default backend to be exposed by ijson.
* Unicode decoding errors are now reported
more clearly to users.
In the past there was a mix
of empty messages and error types.
Now the error type is always the same
and there should always be an error messages
indicating the offending byte sequence.
* ``ijson.common.number`` is marked as deprecated,
and will be removed on some later release.
Contains 3.0.4:
* Fixed errors triggered by JSON documents
where the top-level value is an object containing
an empty-named member (e.g., ``{"": 1}``).
Although such documents are valid JSON,
they broke basic assumptions made
by the ``kvitems`` and ``items`` functions
(and all their variants)
in all backends,
producing different types of unexpected failures,
including segmentation faults, raising unexpected exceptions,
and producing wrong results.
Contains 3.0.3:
* Fixed segmentation fault in ``yajl2_c`` backend's ``parse``
caused by the previous fix introduced in 3.0.2 (#29).
Contains 3.0.2:
* Fixed memory leak in ``yajl2_c`` backend's ``parse`` functionality (#28).
Contains 3.0.1:
* Adding back the ``parse``, ``kvitems`` and ``items`` functions
under the ``ijson.common`` module (#27).
These functions take an events iterable instead of a file
and are backend-independent (which is not great for performance).
They were accidentaly removed in the redesign of ijson 3.0,
which is why they are coming back.
In the future they will slowly transition into being
backend-specific rather than independent.
-------------------------------------------------------------------
Thu Apr 9 13:11:22 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- 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).
-------------------------------------------------------------------
Fri Oct 18 09:57:10 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Use libyajl
- Update URL to new maintainer https://github.com/ICRAR/ijson
- Update to v2.5.1
-------------------------------------------------------------------
Wed Mar 27 12:46:35 PM UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Initial spec for v2.3