* The ``ignorereserved`` parameter to the private
``_restore_from_dict()`` function has been restored for
backwards compatibility. (+501)
* Nested dictionaries in `py/state` are now correctly restored when
tracking object references. (+501) (#500)
* `jsonpickle.ext.numpy.register_handlers` now provides options
that are forwarded to the `NumpyNDArrayHandler` constructor.
* Fix bug of not handling ``classes`` argument to
`jsonpickle.decode` being a dict. Previously, the keys were
ignored and only values were used. (+494)
* Allow the ``classes`` argument to `jsonpickle.pickle` to have
class objects as keys. This extends the current functionality
of only having class name strings as keys. (+494)
* The ``garden setup/dev`` action and ``requirements-dev.txt``
requirements file now include test dependencies for use
during development.
* Added support for Python 3.13. (+505) (#504)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-jsonpickle?expand=0&rev=38
* Fixed an issue with django.SafeString and other classes
inheriting from str having read-only attribute errors
* The test suite was made compatible with pytest-ruff>=0.3.0
* A `garden.yaml` file was added for use with the
`garden` command runner.
* The test suite was updated to avoid deprecated SQLALchemy APIs.
* The `jaraco.packaging.sphinx` documentation dependency was
removed.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-jsonpickle?expand=0&rev=36
- Update to 3.0.2
* Properly raise warning if a custom pickling handler returns
None. (#433)
* Fix issue with serialization of certain sklearn objects
breaking when the numpy handler was enabled. (#431) (+434)
* Allow custom backends to not implement _encoder_options (#436)
(+446)
* Implement compatibility with pandas 2 (+446)
* Fix encoding/decoding of dictionary subclasses with referencing
(+455)
* Fix depth tracking for list/dict referencing (+456)
- Drop pandas2.patch
- Skip a noncritical test due to pandas built with Cython 3
gh#jsonpickle/jsonpickle#460
OBS-URL: https://build.opensuse.org/request/show/1132921
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-jsonpickle?expand=0&rev=28
- Update to 3.0.1
* Remove accidental pin of setuptools to versions below 59. This
allows jsonpickle to build with CPython 3.11 and 3.12 alphas.
(#424)
* Remove accidental dependency on pytz in pandas tests. (+421)
* Fix issue with decoding bson.bson.Int64 objects (#422)
- Release 3.0.0
* Drop support for CPython<3.7. CPython 3.6 and below have
reached EOL and no longer receive security updates. (#375)
* Add support for CPython 3.11. (#395) (+396)
* Remove jsonlib and yajl backends (py2 only)
* Add `include_properties` option to the pickler. This should
only be used if analyzing generated json outside of Python.
(#297) (+387)
* Allow the `classes` argument to `jsonpickle.decode` to be a
dict of class name to class object. This lets you decode
arbitrary dumps into different classes. (#148) (+392)
* Fix bug with deserializing `numpy.poly1d`. (#391)
* Allow frozen dataclasses to be deserialized. (#240)
* Fixed a bug where pickling a function could return a `None`
module. (#399)
* Removed old bytes/quopri and ref decoding abaility from the
unpickler. These were last used in jsonpickle<1. Removing them
causes a slight speedup in unpickling lists (~5%). (+403)
* Fixed a bug with namedtuples encoding on CPython 3.11. (#411)
* When using the `sort_keys` option for the `simplejson` backend,
jsonpickle now produces correct object references with py/id
tags. (#408)
* Speed up the internal method `_restore_tags` by ~10%. This
should speed up unpickling of almost every object.
- Release 2.2.0
* Classes with a custom `__getitem__()` and `append()` now pickle
properly. (#362) (+379)
* Remove the demjson backend, as demjson hasn't been maintained
for 5 years. (+379)
* Added new handler for numpy objects when using
unpickleable=False. (#381) (+382)
* Added exception handling for class attributes that can't be
accessed. (#301) (+383)
* Added a long-requested on_missing attribute to the Unpickler
class. This lets you choose behavior for when jsonpickle can't
find a class to deserialize to. (#190) (#193) (+384)
* Private members of `__slots__` are no longer skipped when
encoding. Any objects encoded with versions prior to 2.2.0
should still decode properly. (#318) (+385)
- Release 2.1.0
* Python 3.10 is now officially supported. (+376)
* `is_reducible()` was sped up by ~80%. (+353) (+354)
* `_restore_tags()` was sped up by ~100%. Unpickling items with a
lot of tuples and sets will benefit most. Python 2 users and
users deserializing pickles from jsonpickle <= 0.9.6 may see a
slight performance decrease if using a lot of bytes, ref,
and/or repr objects. (+354)
* `is_iterator()` was sped up by ~20% by removing an unnecessary
variable assignment. (+354)
* `jsonpickle.decode` has a new option, `v1_decode` to assist in
decoding objects created in jsonpickle version 1. (#364)
* The `encode()` documentation has been updated to help sklearn
users.
* `SQLALchemy<1.2` is no longer being tested by jsonpickle. Users
of sqlalchemy + jsonpickle can always use 1.2 or 1.3. When
jsonpickle v3 is released we will add SQLAlchemy 1.4 to the
test suite alongside removal of support for Python 3.5 and
earlier.
- Remove testing skip conditionals:
* no python36 anymore
* jsonpickle not in Ring1 anymore
OBS-URL: https://build.opensuse.org/request/show/1060463
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-jsonpickle?expand=0&rev=23
- Update to version 2.0.0
* Major release: the serialized JSON format now preserves
dictionary identity, which is a subtle change in the
serialized format. (#351)
* Dictionary identity is now preserved. For example, if the same
dictionary appears twice in a list, the reconstituted list
will now contain two references to the same dictionary. (#255)
(+332)
- Changes in v1.5.2
* Patch release to avoid the change in behavior from the
preservation of dict identity. The next release will be
v2.0.0. (#351)
* This relese does not include the performance improvements from
v1.5.1.
* Pandas DataFrame objects with multilevel columns are now
supported. (#346) (+347)
* Numpy 1.20 is now officially supported. (#336)
* Python 3.9 is now officially supported. (+348)
* Achieved a small speedup for _get_flattener by merging type
checks. (+349)
- Changes in v1.5.1
* The performance of the unpickler was drastically improved by
avoiding tag checks for basic Python types. (+340)
* decode() documentation improvements. (+341)
* Serialization of Pandas DataFrame objects that contain
timedelta64[ns] dtypes are now supported. (+330) (#331)
* Dictionary identity is now preserved. For example, if the same
dictionary appears twice in a list, the reconstituted list
will now contain two references to the same dictionary. (#255)
(+332)
OBS-URL: https://build.opensuse.org/request/show/872669
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-jsonpickle?expand=0&rev=20
* Python 3.7 collections.Iterator deprecation warnings have been fixed. (#229).
* Improved Pandas support for datetime and complex numbers. (#245)
* NOTE jsonpickle no longer supports Python2.6, or Python3 < 3.4. The officially supported Python versions are now 2.7 and 3.4+.
* Improved Pandas and Numpy support. (#227)
* Improved support for pickling iterators. (#216)
* Better support for the stdlib json module when simplejson is not installed. (#217)
* jsonpickle will now output python3-style module names when pickling builtins methods or functions. (#223)
* jsonpickle will always flatten primitives, even when max_depth is reached, which avoids encoding unicode strings into their u'string' representation.
* Nested classes are now supported on Python 3. (#206, #176).
* Better support for older (pre-1.9) versions of numpy (#195).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-jsonpickle?expand=0&rev=7