OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ijson?expand=0&rev=12
227 lines
9.0 KiB
Plaintext
227 lines
9.0 KiB
Plaintext
-------------------------------------------------------------------
|
|
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
|