Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-canonicaljson for openSUSE:Factory checked in at 2022-01-15 00:40:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-canonicaljson (Old) and /work/SRC/openSUSE:Factory/.python-canonicaljson.new.1892 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-canonicaljson" Sat Jan 15 00:40:09 2022 rev:9 rq:946543 version:1.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-canonicaljson/python-canonicaljson.changes 2021-04-29 22:53:21.245904723 +0200 +++ /work/SRC/openSUSE:Factory/.python-canonicaljson.new.1892/python-canonicaljson.changes 2022-01-15 00:40:10.361556998 +0100 @@ -1,0 +2,7 @@ +Fri Jan 7 22:48:34 UTC 2022 - Marcus Rueckert <mrueck...@suse.de> + +- Update to 1.5.0 + - Add code to handle frozendict implementations using c-extension + - Add tests for Python 3.10 + +------------------------------------------------------------------- Old: ---- v1.4.0.tar.gz New: ---- v1.5.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-canonicaljson.spec ++++++ --- /var/tmp/diff_new_pack.NStRJp/_old 2022-01-15 00:40:10.897557316 +0100 +++ /var/tmp/diff_new_pack.NStRJp/_new 2022-01-15 00:40:10.897557316 +0100 @@ -1,7 +1,7 @@ # -# spec file for package python-canonicaljson +# spec file # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -28,7 +28,7 @@ %define github_user matrix-org %define short_name canonicaljson Name: python-%{short_name}%{psuffix} -Version: 1.4.0 +Version: 1.5.0 Release: 0 Summary: Canonical JSON for Python License: Apache-2.0 ++++++ v1.4.0.tar.gz -> v1.5.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/.github/workflows/tests.yaml new/python-canonicaljson-1.5.0/.github/workflows/tests.yaml --- old/python-canonicaljson-1.4.0/.github/workflows/tests.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/python-canonicaljson-1.5.0/.github/workflows/tests.yaml 2021-10-08 18:24:57.000000000 +0200 @@ -0,0 +1,60 @@ +name: Tests +on: [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-latest + strategy: + matrix: + toxenv: + - "pep8" + - "black" + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: '3.6' + - run: pip install tox + - run: tox -e ${{ matrix.toxenv }} + + unittest: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.5', '3.6', '3.7', '3.8', '3.9', '3.10', 'pypy3'] + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - run: pip install tox + - run: tox -e py + + packaging: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + - run: python -m pip install tox + - run: tox -e packaging + + macos-tests: + runs-on: macos-latest + strategy: + matrix: + python-version: ["3.8", "3.9", "3.10"] + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - run: pip install tox + - run: tox -e py + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/.travis/install.sh new/python-canonicaljson-1.5.0/.travis/install.sh --- old/python-canonicaljson-1.4.0/.travis/install.sh 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/.travis/install.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -#!/bin/bash - -set -xe - -if [[ $TRAVIS_OS_NAME == 'osx' ]]; then - # osx build uses a 'generic' language which doesn't come with pip - case "${TOXENV}" in - py38) - # for py38, use homebrew python, which comes with pip. - # see also https://docs.brew.sh/Homebrew-and-Python - brew upgrade python - pip3 install tox - ;; - *) - echo "TOXENV ${TOXENV} not supported on osx" >&2 - exit 1 - ;; - esac -else - pip install tox -fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/.travis.yml new/python-canonicaljson-1.5.0/.travis.yml --- old/python-canonicaljson-1.4.0/.travis.yml 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/.travis.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -language: python - -# tell travis to cache ~/.cache/pip -cache: pip - -matrix: - include: - - python: 3.6 - env: TOXENV=packaging - - - python: 3.6 - env: TOXENV=pep8 - - - python: 3.6 - env: TOXENV=black - - - python: 3.5 - env: TOXENV=py35 - - - python: 3.6 - env: TOXENV=py36 - - - python: 3.7 - env: TOXENV=py37 - - - python: 3.8 - env: TOXENV=py38 - - - os: osx - language: generic - env: TOXENV=py38 - - - python: pypy3 - env: TOXENV=pypy3 - -install: -- ./.travis/install.sh - -script: -- tox diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/CHANGES.md new/python-canonicaljson-1.5.0/CHANGES.md --- old/python-canonicaljson-1.4.0/CHANGES.md 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/CHANGES.md 2021-10-08 18:24:57.000000000 +0200 @@ -1,3 +1,10 @@ +Version 1.5.0 released 2021-10-08 + +* Switch CI from Travis to Github Actions +* Add code to handle frozendict implementations using c-extension +* Add tests for Python 3.10 +* Remove outdated Debian packaging code + Version 1.4.0 released 2020-09-03 * Fix producing non-standard JSON for Infinity, -Infinity, and NaN. This could diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/README.rst new/python-canonicaljson-1.5.0/README.rst --- old/python-canonicaljson-1.4.0/README.rst 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/README.rst 2021-10-08 18:24:57.000000000 +0200 @@ -5,9 +5,6 @@ :target: https://pypi.python.org/pypi/canonicaljson/ :alt: Latest Version -.. image:: https://img.shields.io/travis/matrix-org/python-canonicaljson.svg - :target: https://travis-ci.org/matrix-org/python-canonicaljson - Features -------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/canonicaljson.py new/python-canonicaljson-1.5.0/canonicaljson.py --- old/python-canonicaljson-1.4.0/canonicaljson.py 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/canonicaljson.py 2021-10-08 18:24:57.000000000 +0200 @@ -19,14 +19,20 @@ from frozendict import frozendict -__version__ = "1.4.0" +__version__ = "1.5.0" -def _default(obj): +def _default(obj): # pragma: no cover if type(obj) is frozendict: # fishing the protected dict out of the object is a bit nasty, # but we don't really want the overhead of copying the dict. - return obj._dict + try: + return obj._dict + except AttributeError: + # When the C implementation of frozendict is used, + # there isn't a `_dict` attribute with a dict + # so we resort to making a copy of the frozendict + return dict(obj) raise TypeError( "Object of type %s is not JSON serializable" % obj.__class__.__name__ ) @@ -57,7 +63,11 @@ global _pretty_encoder _pretty_encoder = json_lib.JSONEncoder( - ensure_ascii=False, allow_nan=False, indent=4, sort_keys=True, default=_default, + ensure_ascii=False, + allow_nan=False, + indent=4, + sort_keys=True, + default=_default, ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/changelog new/python-canonicaljson-1.5.0/debian/changelog --- old/python-canonicaljson-1.4.0/debian/changelog 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/changelog 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -python-canonicaljson (1.1.4) stable; urgency=medium - - * Fix error when encoding non-BMP characters on UCS-2 python builds - (fixes issue #12). - - -- Richard van der Hoff <rich...@matrix.org> Wed, 23 May 2018 09:07:26 +0100 - -python-canonicaljson (1.1.3) stable; urgency=medium - - * Bump depencency on frozendict to >=1.0, to fix conflicts with older - versions. - - -- Richard van der Hoff <rich...@matrix.org> Fri, 13 Apr 2018 09:51:24 +0100 - -python-canonicaljson (1.1.2) stable; urgency=medium - - * Fix escaping of control characters U+0000 to U+001F AGAIN, which was STILL - broken in the previous release - - -- Richard van der Hoff <rich...@matrix.org> Thu, 12 Apr 2018 15:53:56 +0100 - -python-canonicaljson (1.1.1) stable; urgency=medium - - * Fix escaping of control characters U+0000 to U+001F, which was broken in - the previous release - - -- Richard van der Hoff <rich...@matrix.org> Wed, 11 Apr 2018 18:01:50 +0100 - -python-canonicaljson (1.1.0) stable; urgency=medium - - * Significant performance improvements - (https://github.com/matrix-org/python-canonicaljson/pull/7, - https://github.com/matrix-org/python-canonicaljson/pull/8, - https://github.com/matrix-org/python-canonicaljson/pull/9) - - -- Richard van der Hoff <rich...@matrix.org> Tue, 10 Apr 2018 16:42:19 +0100 - -canonicaljson (1.0.0-1) wheezy; urgency=low - - * source package automatically created by stdeb 0.6.0+git - - -- Erik Johnston <er...@matrix.org> Fri, 13 Nov 2015 14:47:18 +0000 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/clean new/python-canonicaljson-1.5.0/debian/clean --- old/python-canonicaljson-1.4.0/debian/clean 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/clean 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.egg-info/* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/compat new/python-canonicaljson-1.5.0/debian/compat --- old/python-canonicaljson-1.4.0/debian/compat 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/compat 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/control new/python-canonicaljson-1.5.0/debian/control --- old/python-canonicaljson-1.4.0/debian/control 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/control 1970-01-01 01:00:00.000000000 +0100 @@ -1,56 +0,0 @@ -Source: python-canonicaljson -Maintainer: Richard van der Hoff <rich...@matrix.org> -Section: python -Priority: optional -Build-Depends: - debhelper (>= 9), - dh-python, - python-all (>= 2.6.6-3), - python-setuptools (>= 0.6.24), - python3-all, - python3-setuptools (>= 0.6.24), - python-frozendict (>= 0.4), - python-simplejson (>= 3.6.5), - python3-frozendict (>= 0.4), - python3-simplejson (>= 3.6.5) -Standards-Version: 3.9.7 -X-Python-Version: >= 2.7 - -Package: python-canonicaljson -Architecture: all -Depends: - python-frozendict (>= 0.4), - python-simplejson (>= 3.6.5), - ${misc:Depends}, - ${python:Depends} -Provides: ${python:Provides} -Description: canonical JSON implementation for Python 2 - Canonical JSON implementation for Python 2. - . - * Encodes objects and arrays as RFC 7159 JSON. - * Sorts object keys so that you get the same result each time. - * Has no inignificant whitespace to make the output as small as possible. - * Escapes only the characters that must be escaped, U+0000 to U+0019 / U+0022 / - U+0056, to keep the output as small as possible. - * Uses the shortest escape sequence for each escaped character. - * Encodes the JSON as UTF-8. - * Can encode frozendict immutable dictionaries. - -Package: python3-canonicaljson -Architecture: all -Depends: - python3-frozendict (>= 0.4), - python3-simplejson (>= 3.6.5), - ${misc:Depends}, - ${python3:Depends} -Description: canonical JSON implementation for Python 3 - Canonical JSON implementation for Python 3. - . - * Encodes objects and arrays as RFC 7159 JSON. - * Sorts object keys so that you get the same result each time. - * Has no inignificant whitespace to make the output as small as possible. - * Escapes only the characters that must be escaped, U+0000 to U+0019 / U+0022 / - U+0056, to keep the output as small as possible. - * Uses the shortest escape sequence for each escaped character. - * Encodes the JSON as UTF-8. - * Can encode frozendict immutable dictionaries. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/copyright new/python-canonicaljson-1.5.0/debian/copyright --- old/python-canonicaljson-1.4.0/debian/copyright 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/copyright 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Contact: Richard van der Hoff <rich...@matrix.org> - -Files: * -Copyright: 2014-2015 OpenMarket Ltd - 2018 New Vector Ltd -License: Apache-2.0 - -Files: debian/* -Copyright: 2014-2015 OpenMarket Ltd - 2017 Andrew Shadura <andre...@debian.org> - 2018 New Vector Ltd -License: Apache-2.0 - -License: Apache-2.0 - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - . - http://www.apache.org/licenses/LICENSE-2.0 - . - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - . - On Debian systems, the complete text of the Apache License, - version 2.0 can be found in ???/usr/share/common-licenses/Apache-2.0???. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/python-canonicaljson.docs new/python-canonicaljson-1.5.0/debian/python-canonicaljson.docs --- old/python-canonicaljson-1.4.0/debian/python-canonicaljson.docs 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/python-canonicaljson.docs 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -README.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/python3-canonicaljson.docs new/python-canonicaljson-1.5.0/debian/python3-canonicaljson.docs --- old/python-canonicaljson-1.4.0/debian/python3-canonicaljson.docs 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/python3-canonicaljson.docs 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -README.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/rules new/python-canonicaljson-1.5.0/debian/rules --- old/python-canonicaljson-1.4.0/debian/rules 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -#!/usr/bin/make -f - -export PYBUILD_NAME=canonicaljson - -%: - dh $@ --with python2,python3 --buildsystem=pybuild diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/source/format new/python-canonicaljson-1.5.0/debian/source/format --- old/python-canonicaljson-1.4.0/debian/source/format 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/source/format 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -3.0 (native) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/debian/source/options new/python-canonicaljson-1.5.0/debian/source/options --- old/python-canonicaljson-1.4.0/debian/source/options 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/debian/source/options 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -extend-diff-ignore="\.egg-info" \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/releasing.md new/python-canonicaljson-1.5.0/releasing.md --- old/python-canonicaljson-1.4.0/releasing.md 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/releasing.md 2021-10-08 18:24:57.000000000 +0200 @@ -3,42 +3,10 @@ * bump version in `canonicaljson.py` * update changelog -* update debian changelog: - * Add new entry: `dch -v <ver>` - * Mark as released: `dch --distribution stable -r` * Build and upload to pypi: * `rm -r dist` * `python setup.py sdist bdist_wheel` * `twine upload -s dist/*` * `git tag -s v<ver>` * `git push` -* `git push --tags` -* Follow instructions below to release debian packaging. - -Prerequisites for debian packaging ----------------------------------- - -``` -sudo apt-get install sbuild -sudo apt-get install ubuntu-dev-tools # for mk-sbuild -sudo sbuild-adduser $LOGNAME - -newgrp sbuild -mk-sbuild stretch -``` - -If your kernel doesn't support `aufs`, you'll need to set `union-type=overlay` -in `/etc/schroot/chroot.d/sbuild-stretch-amd64`. - -Debian release --------------- - -``` -# We need to build from a pristine copy of the repo (otherwise you end up with -# your whole working copy in the source tarball), so: -git clone g...@github.com:matrix-org/python-canonicaljson.git -b v<ver> python-canonicaljson-clean - -cd python-canonicaljson-clean -sbuild -s --arch-all -d stretch -debsign -``` +* `git push --tags` \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/test_canonicaljson.py new/python-canonicaljson-1.5.0/test_canonicaljson.py --- old/python-canonicaljson-1.4.0/test_canonicaljson.py 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/test_canonicaljson.py 2021-10-08 18:24:57.000000000 +0200 @@ -36,12 +36,14 @@ # ctrl-chars should be encoded. self.assertEqual( - encode_canonical_json(u"text\u0003\r\n"), b'"text\\u0003\\r\\n"', + encode_canonical_json(u"text\u0003\r\n"), + b'"text\\u0003\\r\\n"', ) # quotes and backslashes should be escaped. self.assertEqual( - encode_canonical_json(r'"\ test'), b'"\\"\\\\ test"', + encode_canonical_json(r'"\ test'), + b'"\\"\\\\ test"', ) # non-ascii should come out utf8-encoded. @@ -59,7 +61,8 @@ # but we need to watch out for 'u1234' after backslash, which should # get encoded to an escaped backslash, followed by u1234 self.assertEqual( - encode_canonical_json(u"\\u1234"), b'"\\\\u1234"', + encode_canonical_json(u"\\u1234"), + b'"\\\\u1234"', ) # Iteratively encoding should work. @@ -107,7 +110,8 @@ def test_frozen_dict(self): self.assertEqual( - encode_canonical_json(frozendict({"a": 1})), b'{"a":1}', + encode_canonical_json(frozendict({"a": 1})), + b'{"a":1}', ) self.assertEqual( encode_pretty_printed_json(frozendict({"a": 1})), b'{\n "a": 1\n}' @@ -125,8 +129,7 @@ encode_pretty_printed_json(unknown_object) def test_invalid_float_values(self): - """Infinity/-Infinity/NaN are not allowed in canonicaljson. - """ + """Infinity/-Infinity/NaN are not allowed in canonicaljson.""" with self.assertRaises(ValueError): encode_canonical_json(inf) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-canonicaljson-1.4.0/tox.ini new/python-canonicaljson-1.5.0/tox.ini --- old/python-canonicaljson-1.4.0/tox.ini 2020-09-03 18:08:15.000000000 +0200 +++ new/python-canonicaljson-1.5.0/tox.ini 2021-10-08 18:24:57.000000000 +0200 @@ -1,13 +1,13 @@ [tox] -envlist = packaging, pep8, py35, py36, py37, py38, pypy3 +envlist = packaging, pep8, py35, py36, py37, py38, py39, py310, pypy3 [testenv] deps = coverage - nose + nose2 commands = - coverage run --source canonicaljson -m nose + coverage run --source canonicaljson -m nose2 coverage report -m --fail-under 100 [testenv:packaging]