Blob Blame History Raw
-------------------------------------------------------------------
Sat Jan 21 19:24:29 UTC 2023 - Ben Greiner <code@bnavigator.de>

- 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

-------------------------------------------------------------------
Thu Jan  6 19:51:47 UTC 2022 - Ben Greiner <code@bnavigator.de>

- Don't test and recommend unmaintained packages demjson and
  feedparser

-------------------------------------------------------------------
Mon Feb 15 21:52:25 UTC 2021 - Ben Greiner <code@bnavigator.de>

- 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)
  * Unit tests were added to ensure that sklearn.tree.
    DecisionTreeClassifier objects are properly serialized. (#155)
    (+344)
  * The is_reducible() utility function used by encode() is now 4x
    faster! Objects that provide __getstate__(), __setstate__(),
    and __slots__ benefit most from these improvements. (+343)
  * Improved pickler flatten()/encode() performance. (+345)
- Changes in v1.5.0
  * Previous versions of jsonpickle with make_refs=False would
    emit null when encountering an object it had already seen when
    traversing objects. All instances of the object are now
    serialized. While this is arguably an improvement in the vast
    majority of scenarios, it is a change in behavior and is thus
    considered a minor-level change. (#333) (#334) (#337) (+338)
  * Multiple enums are now serialized correctly with
    make_refs=False. (#235)
- Changes in v1.4.2
  * Use importlib.metadata from the stdlib on Python 3.8. (+305)
    (#303)
  * Micro-optimize type checks to use a set for lookups. (+327)
  * Documentation improvements.
- Changes in v1.4.1
  * Patch release for Python 3.8 importlib_metadata support. (#300)
- Changes in v1.4
  * Python 3.8 support. (#292)
  * jsonpickle.encode now supports the standard indent and
    separators arguments, and passes them through to the active
    JSON backend library. (#183)
  * We now include a custom handler for array.array objects. (#199)
  * Dict key order is preserved when pickling dictionaries on
    Python3. (#193)
  * Improved serialization of dictionaries with non-string keys.
    Previously, using an enum that was both the key and a value in
    a dictionary could end up with incorrect references to other
    objects. The references are now properly maintained for dicts
    with object keys that are also referenced in the dict's
    values. (#286)
  * Improved serialization of pandas.Series objects. (#287)
- Don't test numpy and pandas in python36 flavor, because
  they are no longer available on Tumbleweed (NEP 29)
- Test some extras, but not in lettered staging if they are not
  in Ring1.
- Drop PR292-Python38.patch merged upstream

-------------------------------------------------------------------
Sat Mar 14 08:25:54 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>

- Fix build without python2

-------------------------------------------------------------------
Fri Feb 28 18:31:13 CET 2020 - Matej Cepl <mcepl@suse.com>

- Add PR292-Python38.patch to fix Python 3.8 incompatibilities
  (gh#jsonpickle/jsonpickle#281).

-------------------------------------------------------------------
Thu Dec  5 18:13:07 CET 2019 - Matej Cepl <mcepl@suse.com>

- Exclude tests failing with python 3.8 (test_thing_with_fd,
  test_list_with_fd, and test_dict_with_fd). gh#jsonpickle/jsonpickle#281

-------------------------------------------------------------------
Mon Jun 17 11:54:50 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

- Update to 1.2:
  * support new sqlalchemy
- Remove merged patch sqlalchemy13.patch

-------------------------------------------------------------------
Tue Mar 19 08:12:54 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

- Add patch to work with sqlalchemy 1.3:
  * sqlalchemy13.patch

-------------------------------------------------------------------
Fri Mar 15 13:00:30 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

- Update to 1.1:
  * 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).

-------------------------------------------------------------------
Tue Dec  4 12:49:37 UTC 2018 - Matej Cepl <mcepl@suse.com>

- Remove superfluous devel dependency for noarch package

-------------------------------------------------------------------
Wed May 23 04:19:13 UTC 2018 - toddrme2178@gmail.com

- Update to version 0.9.6
  * Better support for SQLAlchemy (#180).
  * Better support for NumPy and SciKit-Learn. (#184).
- Update to version 0.9.5
  * Better support for objects that implement the reduce protocol. (#170).
- Remove no longer relevant handle_more_than_two_args.patch
- Spec file cleanups

-------------------------------------------------------------------
Wed Apr 26 03:51:53 UTC 2017 - toddrme2178@gmail.com

- Implement single-spec version.
- Fix source URL.
- Update to Version 0.9.4
    * Arbitrary byte streams are now better supported.
      (`#143 <https://github.com/jsonpickle/jsonpickle/issues/143>`_).
    * Better support for NumPy data types.  The Python3 NumPy support
      is especially robust.
    * Fortran-ordered based NumPy arrays are now properly serialized.
- Update to Version 0.9.3
    * UUID objects can now be serialized
      (`#130 <https://github.com/jsonpickle/jsonpickle/issues/130>`_).
    * Added `set_decoder_options` method to allow decoder specific options
      equal to `set_encoder_options`.
    * Int keys can be encoded directly by e.g. demjson by passing
      `numeric_keys=True` and setting its backend options via
      `jsonpickle.set_encoder_options('demjson', strict=False)`.
    * Newer Numpy versions (v1.10+) are now supported.
- Update to Version 0.9.2
    * Fixes for serializing objects with custom handlers.
    * We now properly serialize deque objects constructed with a `maxlen` parameter.
    * Test suite fixes
- Update to Version 0.9.1
    * Support datetime objects with FixedOffsets.
- Update to Version 0.9.0
    * Support for Pickle Protocol v4.
    * We now support serializing defaultdict subclasses that use `self`
      as their default factory.
    * We now have a decorator syntax for registering custom handlers,
      and allow custom handlers to register themselves for all subclasses.
      (`#104 <https://github.com/jsonpickle/jsonpickle/pull/104>`_).
    * We now support serializing types with metaclasses and their
      instances (e.g., Python 3 `enum`).
    * We now support serializing bytestrings in both Python 2 and Python 3.
      In Python 2, the `str` type is decoded to UTF-8 whenever possible and
      serialized as a true bytestring elsewise; in Python 3, bytestrings
      are explicitly encoded/decoded as bytestrings. Unicode strings are
      always encoded as is in both Python 2 and Python 3.
    * Added support for serializing numpy arrays, dtypes and scalars
      (see `jsonpickle.ext.numpy` module).
- Update to Version 0.8.0
    * We now support serializing objects that contain references to
      module-level functions
      (`#77 <https://github.com/jsonpickle/jsonpickle/issues/77>`_).
    * Better Pickle Protocol v2 support
      (`#78 <https://github.com/jsonpickle/jsonpickle/issues/78>`_).
    * Support for string __slots__ and iterable __slots__
      (`#67 <https://github.com/jsonpickle/jsonpickle/issues/66>`_)
      (`#68 <https://github.com/jsonpickle/jsonpickle/issues/67>`_).
    * `encode()` now has a `warn` option that makes jsonpickle emit warnings
      when encountering objects that cannot be pickled.
    * A Javascript implementation of jsonpickle is now included
      in the jsonpickleJS directory.
- Update to Version 0.7.2
    * We now properly serialize classes that inherit from classes
      that use `__slots__` and add additional slots in the derived class.
    * jsonpickle can now serialize objects that implement `__getstate__()` but
      not `__setstate__()`.  The result of `__getstate__()` is returned as-is
      when doing a round-trip from Python objects to jsonpickle and back.
    * Better support for collections.defaultdict with custom factories.
    * Added support for `queue.Queue` objects.
- Update to Version 0.7.1
    * Added support for Python 3.4.
    * Added support for :class:`posix.stat_result`.
- Update to Version 0.7.0
    * Added ``handles`` decorator to :class:`jsonpickle.handlers.BaseHandler`,
      enabling simple declaration of a handler for a class.
    * `__getstate__()` and `__setstate__()` are now honored
      when pickling objects that subclass :class:`dict`.
    * jsonpickle can now serialize :class:`collections.Counter` objects.
    * Object references are properly handled when using integer keys.
    * Object references are now supported when using custom handlers.
    * Decimal objects are supported in Python 3.
    * jsonpickle's "fallthrough-on-error" behavior can now be disabled.
    * Simpler API for registering custom handlers.
    * A new "safe-mode" is provided which avoids eval().
      Backwards-compatible deserialization of repr-serialized objects
      is disabled in this mode.  e.g. `decode(string, safe=True)`
- Update to Version 0.6.1
    * Python 3.2 support, and additional fixes for Python 3.
- Update to Version 0.6.0
    * Python 3 support!
    * :class:`time.struct_time` is now serialized using the built-in
      :class:`jsonpickle.handlers.SimpleReduceHandler`.
- Update to Version 0.5.0
    * Non-string dictionary keys (e.g. ints, objects) are now supported
      by passing `keys=True` to :func:`jsonpickle.encode` and
      :func:`jsonpickle.decode`.
    * We now support namedtuple, deque, and defaultdict.
    * Datetimes with timezones are now fully supported.
    * Better support for complicated structures e.g.
      datetime inside dicts.
    * jsonpickle added support for references and cyclical data structures
      in 0.4.0.  This can be disabled by passing `make_refs=False` to
      :func:`jsonpickle.encode`.
- Add handle_more_than_two_args.patch
  Needed for python 3.6 compatibility. Note that only the first
  part of the upstream patch is used. The second part is travis CI
  changes.

-------------------------------------------------------------------
Mon Jun 17 09:17:39 UTC 2013 - speilicke@suse.com

- Buildrequire python-simplejson to fix unit tests
- Recommend simplejson instead of demjson (moved to suggests)

-------------------------------------------------------------------
Tue May 21 12:35:14 UTC 2013 - speilicke@suse.com

- Drop requirement on simplejson, the json module is part of Python-2.6
- feedparser runtime requirement was bogus
- Only suggest demjson and recommend yajl / jsonlib experimental bindings

-------------------------------------------------------------------
Fri Sep 23 13:14:31 UTC 2011 - saschpe@suse.de

- Update to version 0.4.0:
  * Switch build from setuptools to distutils
  * Consistent dictionary key ordering
  * Fix areas with improper support for unpicklable=False
  * Added support for cyclical data structures (#16).
  * Experimental support for jsonlib and py-yajl backends.
  * New contributers David K. Hess and Alec Thomas
- Set license to BSD-3-Clause (SPDX style)
- Run testsuite and added needed (Build)Requires

-------------------------------------------------------------------
Mon Dec 14 19:57:37 UTC 2009 - jfunk@funktronics.ca

- Update to 0.3.1
  - Include tests and docs directories in sdist for distribution packages.
- Version 0.3.0 - December 11, 2009
  - Officially migrated to git from subversion. Project home now at
    http://jsonpickle.github.com/. Thanks to Michael Jone’s sphinx-to-github.
  - Fortified jsonpickle against common error conditions.
  - Added support for:
    - List and set subclasses.
    - Objects with module references.
    - Newstyle classes with __slots__.
    - Objects implementing __setstate__() and __getstate__() (follows the
      pickle protocol).
  - Improved support for Zope objects via pre-fetch.
  - Support for user-defined serialization handlers via the
    jsonpickle.handlers registry.
  - Removed cjson support per John Millikin’s recommendation.
  - General improvements to style, including PEP 257 compliance and refactored
    project layout.
  - Steps towards Python 2.3 and Python 3 support.
  - New contributors Dan Buch and Ian Schenck.
  - Thanks also to Kieran Darcy, Eoghan Murray, and Antonin Hildebrand for
    their assistance!
- Version 0.2.0 - January 10, 2009
  - Support for all major Python JSON backends (including json in Python 2.6,
    simplejson, cjson, and demjson)
  - Handle several datetime objects using the repr() of the objects (Thanks to
    Antonin Hildebrand).
  - Sphinx documentation
  - Added support for recursive data structures
  - Unicode dict-keys support
  - Support for Google App Engine and Django
  - Tons of additional testing and bug reports (Antonin Hildebrand, Sorin,
    Roberto Saccon, Faber Fedor, FirePython, and Joose)
- Version 0.1.0 - August 21, 2008
  - Added long as basic primitive (thanks Adam Fisk)
  - Prefer python-cjson to simplejson, if available
  - Major API change, use python-cjson’s decode/encode instead of simplejson’s
    load/loads/dump/dumps
  - Added benchmark.py to compare simplejson and python-cjson

-------------------------------------------------------------------
Mon Aug 11 2008 - jfunk@funktronics.ca

- Initial release