Jsonpickle

Latest version: v3.0.3

Safety actively analyzes 613807 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

3.0.3

======
* Compatibilty with Pandas and Cython 3.0 was added. (460) (+477)
* Fixed a bug where pickling some built-in classes (e.g. zoneinfo)
could return a ``None`` module. (447)
* Fixed a bug where unpickling a missing class would return a different object
instead of ``None``. (+471)
* Fixed the handling of missing classes when setting ``on_missing`` to ``warn`` or ``error``. (+471)
* The test suite was made compatible with Python 3.12.
* The tox configuration was updated to generate code coverage reports.
* The suite now uses ``ruff`` to validate python code.
* The documentation can now be built offline when ``rst.linker`` and
``jaraco.packaging.sphinx`` are not available.

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)

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)

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.

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)

2.1.0

======

* Python 3.10 is now officially supported. (+376)
* Benchmarks were added to aid in optimization efforts. (350) (+352)
* ``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.
* ``demjson`` has been removed from the test suite. (+374)
* ``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.

Page 1 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.