Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-service_identity for 
openSUSE:Factory checked in at 2022-02-09 20:38:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-service_identity (Old)
 and      /work/SRC/openSUSE:Factory/.python-service_identity.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-service_identity"

Wed Feb  9 20:38:12 2022 rev:10 rq:952143 version:21.1.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-service_identity/python-service_identity.changes
  2020-03-27 00:21:02.808127616 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-service_identity.new.1898/python-service_identity.changes
        2022-02-09 20:38:21.490255148 +0100
@@ -1,0 +2,18 @@
+Mon Feb  7 14:27:56 UTC 2022 - Matej Cepl <mc...@suse.com>
+
+- Update to 21.1.0:
+  - Python 3.4 is not supported anymore. It has been unsupported
+    by the Python core team for a while now, its PyPI downloads
+    are negligible, and our CI provider removed it as a supported
+    option.
+  - It's very unlikely that service-identity will break under 3.4
+    anytime soon, which is why we do not block its installation
+    on Python 3.4. But we don't test it anymore and will block it
+    once someone reports breakage.
+  - service_identity.exceptions.VerificationError can now be
+    pickled and is overall more well-behaved as an exception.
+    This raises the requirement of attrs to 19.1.0.
+- This package actually truly requires six (it is expected to
+  work with Python 2.7 as well).
+
+-------------------------------------------------------------------

Old:
----
  18.1.0.tar.gz

New:
----
  21.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-service_identity.spec ++++++
--- /var/tmp/diff_new_pack.0BfBHC/_old  2022-02-09 20:38:22.114256640 +0100
+++ /var/tmp/diff_new_pack.0BfBHC/_new  2022-02-09 20:38:22.122256660 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-service_identity
 #
-# 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
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define oname   service_identity
 Name:           python-service_identity
-Version:        18.1.0
+Version:        21.1.0
 Release:        0
 Summary:        Service identity verification for pyOpenSSL
 License:        MIT
@@ -27,7 +27,7 @@
 URL:            https://github.com/pyca/service_identity
 # no tests in upstream tarball
 Source:         
https://github.com/pyca/service_identity/archive/%{version}.tar.gz
-BuildRequires:  %{python_module attrs}
+BuildRequires:  %{python_module attrs >= 19.1.0}
 BuildRequires:  %{python_module cryptography}
 BuildRequires:  %{python_module idna}
 BuildRequires:  %{python_module pyOpenSSL >= 0.14}
@@ -35,12 +35,14 @@
 BuildRequires:  %{python_module pyasn1}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module six}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-attrs
+Requires:       python-attrs >= 19.1.0
 Requires:       python-cryptography
 Requires:       python-pyasn1
 Requires:       python-pyasn1-modules
+Requires:       python-six
 Recommends:     python-idna
 Recommends:     python-pyOpenSSL
 BuildArch:      noarch

++++++ 18.1.0.tar.gz -> 21.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/.coveragerc 
new/service-identity-21.1.0/.coveragerc
--- old/service-identity-18.1.0/.coveragerc     2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/.coveragerc     1970-01-01 01:00:00.000000000 
+0100
@@ -1,12 +0,0 @@
-[run]
-branch = True
-source = service_identity
-
-[paths]
-source =
-   src/service_identity
-   .tox/*/lib/python*/site-packages/service_identity
-   .tox/pypy*/site-packages/service_identity
-
-[report]
-show_missing = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/.github/CONTRIBUTING.rst 
new/service-identity-21.1.0/.github/CONTRIBUTING.rst
--- old/service-identity-18.1.0/.github/CONTRIBUTING.rst        2018-12-05 
13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/.github/CONTRIBUTING.rst        2021-05-09 
14:20:37.000000000 +0200
@@ -13,8 +13,8 @@
 - No contribution is too small!
   Please submit as many fixes for typos and grammar bloopers as you can!
 - Try to limit each pull request to *one* change only.
-- Since we squash on merge, it's up to you how you handle updates to the 
master branch.
-  Whether you prefer to rebase on master or merge master into your branch, do 
whatever is more comfortable for you.
+- Since we squash on merge, it's up to you how you handle updates to the main 
branch.
+  Whether you prefer to rebase on main or merge main into your branch, do 
whatever is more comfortable for you.
 - *Always* add tests and docs for your code.
   This is a hard rule; patches with missing tests or documentation can't be 
merged.
 - Make sure your changes pass our CI_.
@@ -58,7 +58,7 @@
      assert "foo" == x._a_private_attribute
 
 - To run the test suite, all you need is a recent tox_.
-  It will ensure the test suite runs with all dependencies against all Python 
versions just as it will on `Travis CI`_.
+  It will ensure the test suite runs with all dependencies against all Python 
versions just as it will in our CI.
   If you lack some Python versions, you can can make it a non-failure using 
``tox --skip-missing-interpreters`` (in that case you may want to look into 
pyenv_ that makes it very easy to install many different Python versions in 
parallel).
 - Write `good test docstrings`_.
 
@@ -167,16 +167,15 @@
 .. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
 .. _`PEP 257`: https://www.python.org/dev/peps/pep-0257/
 .. _`good test docstrings`: https://jml.io/pages/test-docstrings.html
-.. _`Code of Conduct`: 
https://github.com/pyca/service_identity/blob/master/.github/CODE_OF_CONDUCT.rst
-.. _changelog: 
https://github.com/pyca/service_identity/blob/master/CHANGELOG.rst
+.. _`Code of Conduct`: 
https://github.com/pyca/service-identity/blob/main/.github/CODE_OF_CONDUCT.rst
+.. _changelog: https://github.com/pyca/service-identity/blob/main/CHANGELOG.rst
 .. _`backward compatibility`: 
https://service-identity.readthedocs.io/en/latest/backward-compatibility.html
 .. _`tox`: https://tox.readthedocs.io/en/latest/
-.. _`Travis CI`: https://travis-ci.org/
 .. _pyenv: https://github.com/pyenv/pyenv
-.. _CI: https://travis-ci.org/pyca/service_identity
+.. _CI: https://github.com/pyca/service-identity/actions
 .. _freenode: https://webchat.freenode.net
 .. _reStructuredText: 
https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html
 .. _semantic newlines: 
https://rhodesmill.org/brandon/2012/one-sentence-per-line/
-.. _isort: https://github.com/timothycrosley/isort
-.. _black: https://github.com/ambv/black
+.. _isort: https://github.com/PyCQA/isort
+.. _black: https://github.com/psf/black
 .. _pre-commit: https://pre-commit.com/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/.github/FUNDING.yml 
new/service-identity-21.1.0/.github/FUNDING.yml
--- old/service-identity-18.1.0/.github/FUNDING.yml     1970-01-01 
01:00:00.000000000 +0100
+++ new/service-identity-21.1.0/.github/FUNDING.yml     2021-05-09 
14:20:37.000000000 +0200
@@ -0,0 +1,4 @@
+---
+
+github: hynek
+ko_fi: the_hynek
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/.github/workflows/main.yml 
new/service-identity-21.1.0/.github/workflows/main.yml
--- old/service-identity-18.1.0/.github/workflows/main.yml      1970-01-01 
01:00:00.000000000 +0100
+++ new/service-identity-21.1.0/.github/workflows/main.yml      2021-05-09 
14:20:37.000000000 +0200
@@ -0,0 +1,87 @@
+---
+name: CI
+
+on:
+  push:
+    branches: ["main"]
+  pull_request:
+    branches: ["main"]
+
+jobs:
+  tests:
+    name: "Python ${{ matrix.python-version }}"
+    runs-on: "ubuntu-latest"
+    env:
+      USING_COVERAGE: "2.7,3.5,3.6,3.7,3.8"
+
+    strategy:
+      matrix:
+        python-version: ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", 
"3.10.0-alpha - 3.10"]
+
+    steps:
+      - uses: "actions/checkout@v2"
+      - uses: "actions/setup-python@v2"
+        with:
+          python-version: "${{ matrix.python-version }}"
+      - name: "Install dependencies"
+        run: |
+          set -xe
+          python -VV
+          python -m site
+          python -m pip install --upgrade pip setuptools wheel
+          python -m pip install --upgrade coverage[toml] virtualenv tox 
tox-gh-actions
+
+      - name: "Run tox targets for ${{ matrix.python-version }}"
+        run: "python -m tox"
+
+      - name: "Combine coverage"
+        run: |
+          set -xe
+          python -m coverage combine
+          python -m coverage xml --ignore-errors
+        if: "contains(env.USING_COVERAGE, matrix.python-version)"
+
+      - name: "Upload coverage to Codecov"
+        if: "contains(env.USING_COVERAGE, matrix.python-version)"
+        uses: "codecov/codecov-action@v1"
+        with:
+          fail_ci_if_error: true
+
+  package:
+    name: "Build & verify package"
+    runs-on: "ubuntu-latest"
+
+    steps:
+      - uses: "actions/checkout@v2"
+      - uses: "actions/setup-python@v2"
+        with:
+          python-version: "3.9"
+
+      - name: "Install build, check-wheel-content, and twine"
+        run: "python -m pip install build twine check-wheel-contents"
+      - name: "Build package"
+        run: "python -m build --sdist --wheel ."
+      - name: "List result"
+        run: "ls -l dist"
+      - name: "Check wheel contents"
+        run: "check-wheel-contents dist/*.whl"
+      - name: "Check long_description"
+        run: "python -m twine check dist/*"
+
+  install-dev:
+    strategy:
+      matrix:
+        os: ["ubuntu-latest", "windows-latest", "macos-latest"]
+
+    name: "Verify dev env"
+    runs-on: "${{ matrix.os }}"
+
+    steps:
+      - uses: "actions/checkout@v2"
+      - uses: "actions/setup-python@v2"
+        with:
+          python-version: "3.9"
+      - name: "Install in dev mode"
+        run: "python -m pip install -e .[dev]"
+      - name: "Import package"
+        run: "python -c 'import service_identity; 
print(service_identity.__version__)'"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/.gitignore 
new/service-identity-21.1.0/.gitignore
--- old/service-identity-18.1.0/.gitignore      2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/.gitignore      2021-05-09 14:20:37.000000000 
+0200
@@ -10,3 +10,4 @@
 .eggs
 .cache
 .pytest_cache
+pip-wheel-metadata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/.pre-commit-config.yaml 
new/service-identity-21.1.0/.pre-commit-config.yaml
--- old/service-identity-18.1.0/.pre-commit-config.yaml 2018-12-05 
13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/.pre-commit-config.yaml 2021-05-09 
14:20:37.000000000 +0200
@@ -1,27 +1,28 @@
+---
 repos:
-  - repo: https://github.com/ambv/black
-    rev: 18.9b0
+  - repo: https://github.com/psf/black
+    rev: 20.8b1
     hooks:
       - id: black
-        language_version: python3.7
-        # override until resolved: https://github.com/ambv/black/issues/402
-        files: \.pyi?$
-        types: []
-  - repo: https://github.com/asottile/seed-isort-config
-    rev: v1.5.0
-    hooks:
-      - id: seed-isort-config
-  - repo: https://github.com/pre-commit/mirrors-isort
-    rev: v4.3.4
+        language_version: python3.8
+
+  - repo: https://github.com/PyCQA/isort
+    rev: 5.8.0
     hooks:
       - id: isort
-        language_version: python3.7
+        additional_dependencies: [toml]
+        language_version: python3.8
+
+  - repo: https://github.com/pycqa/flake8
+    rev: 3.9.0
+    hooks:
+    - id: flake8
+      additional_dependencies: [flake8-bugbear]
+      language_version: python3.8
 
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v2.0.0
+    rev: v3.4.0
     hooks:
       - id: trailing-whitespace
       - id: end-of-file-fixer
       - id: debug-statements
-      - id: flake8
-        language_version: python3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/.readthedocs.yml 
new/service-identity-21.1.0/.readthedocs.yml
--- old/service-identity-18.1.0/.readthedocs.yml        2018-12-05 
13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/.readthedocs.yml        2021-05-09 
14:20:37.000000000 +0200
@@ -1,6 +1,12 @@
 ---
+
+version: 2
 python:
-  version: 3
-  pip_install: true
-  extra_requirements:
-    - docs
+  # Keep version in sync with tox.ini (docs and gh-actions).
+  version: 3.7
+
+  install:
+    - method: pip
+      path: .
+      extra_requirements:
+        - docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/.travis.yml 
new/service-identity-21.1.0/.travis.yml
--- old/service-identity-18.1.0/.travis.yml     2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/.travis.yml     1970-01-01 01:00:00.000000000 
+0100
@@ -1,103 +0,0 @@
-dist: xenial
-group: travis_latest
-sudo: false
-cache:
-  directories:
-    - $HOME/.cache/pip
-
-language: python
-
-
-matrix:
-  fast_finish: true
-
-  include:
-    # lint
-    - python: "3.7"
-      stage: lint
-      env: TOXENV=lint
-    - python: "3.7"
-      env: TOXENV=manifest
-
-    # test
-    - python: "2.7"
-      stage: test
-      env: TOXENV=py27
-    - python: "3.7"
-      env: TOXENV=py37
-    - python: "2.7"
-      env: TOXENV=py27-pyopenssl014-idna
-    - python: "2.7"
-      env: TOXENV=py27-pyopensslLatest-idna
-    - python: "2.7"
-      env: TOXENV=py27-pyopensslLatest-noidna
-    - python: "3.4"
-      env: TOXENV=py34-pyopenssl014-idna
-    - python: "3.4"
-      env: TOXENV=py34-pyopensslLatest-idna
-    - python: "3.5"
-      env: TOXENV=py35-pyopenssl014-idna
-    - python: "3.5"
-      env: TOXENV=py35-pyopensslLatest-idna
-    - python: "3.6"
-      env: TOXENV=py36-pyopenssl014-idna
-    - python: "3.6"
-      env: TOXENV=py36-pyopensslLatest-idna
-    - python: "3.6"
-      env: TOXENV=py36-pyopensslLatest-noidna
-    - python: "3.7"
-      env: TOXENV=py37-pyopenssl014-idna
-    - python: "3.7"
-      env: TOXENV=py37-pyopensslLatest-idna
-    - python: "3.7"
-      env: TOXENV=py37-pyopensslLatest-noidna
-    - python: "pypy"
-      dist: trusty
-      env: TOXENV=pypy
-    - python: "pypy3"
-      dist: trusty
-      env: TOXENV=pypy3
-    - python: "pypy"
-      dist: trusty
-      env: TOXENV=pypy-pyopensslLatest-idna
-    - python: "pypy3"
-      dist: trusty
-      env: TOXENV=pypy3-pyopensslLatest-idna
-
-    # Prevent breakage by a new releases
-    - python: "3.6-dev"
-      env: TOXENV=py36-pyopensslLatest-idna
-    - python: "3.7-dev"
-      env: TOXENV=py37-pyopensslLatest-idna
-
-    # Docs
-    - python: "3.7"
-      stage: docs
-      env: TOXENV=docs
-    - python: "3.7"
-      env: TOXENV=pypi-description
-
-  allow_failures:
-    - python: "3.6-dev"
-    - python: "3.7-dev"
-
-
-install:
-  - pip install -U tox
-
-
-script:
-  - tox
-
-
-before_install:
-  - pip install codecov
-
-
-after_success:
-  - tox -e coverage-report
-  - codecov
-
-
-notifications:
-  email: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/AUTHORS.rst 
new/service-identity-21.1.0/AUTHORS.rst
--- old/service-identity-18.1.0/AUTHORS.rst     2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/AUTHORS.rst     2021-05-09 14:20:37.000000000 
+0200
@@ -1,8 +1,8 @@
 Authors
 =======
 
-``service_identity`` is written and maintained by `Hynek Schlawack 
<https://hynek.me/>`_.
+``service-identity`` is written and maintained by `Hynek Schlawack 
<https://hynek.me/>`_.
 
 The development is kindly supported by `Variomedia AG 
<https://www.variomedia.de/>`_.
 
-Other contributors can be found in `GitHub's overview 
<https://github.com/pyca/service_identity/graphs/contributors>`_.
+Other contributors can be found in `GitHub's overview 
<https://github.com/pyca/service-identity/graphs/contributors>`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/CHANGELOG.rst 
new/service-identity-21.1.0/CHANGELOG.rst
--- old/service-identity-18.1.0/CHANGELOG.rst   2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/CHANGELOG.rst   2021-05-09 14:20:37.000000000 
+0200
@@ -7,6 +7,36 @@
 The third digit is only for regressions.
 
 
+21.1.0 (2021-05-09)
+-------------------
+
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Python 3.4 is not supported anymore.
+  It has been unsupported by the Python core team for a while now, its PyPI 
downloads are negligible, and our CI provider removed it as a supported option.
+
+  It's very unlikely that ``service-identity`` will break under 3.4 anytime 
soon, which is why we do *not* block its installation on Python 3.4.
+  But we don't test it anymore and will block it once someone reports breakage.
+
+
+Deprecations:
+^^^^^^^^^^^^^
+
+*none*
+
+
+Changes:
+^^^^^^^^
+
+- ``service_identity.exceptions.VerificationError`` can now be pickled and is 
overall more well-behaved as an exception.
+  This raises the requirement of ``attrs`` to 19.1.0.
+
+
+----
+
+
 18.1.0 (2018-12-05)
 -------------------
 
@@ -16,7 +46,7 @@
 - pyOpenSSL is optional now if you use ``service_identity.cryptography.*`` 
only.
 - Added support for ``iPAddress`` ``subjectAltName``\ s.
   You can now verify whether a connection or a certificate is valid for an IP 
address using ``service_identity.pyopenssl.verify_ip_address()`` and 
``service_identity.cryptography.verify_certificate_ip_address()``.
-  `#12 <https://github.com/pyca/service_identity/pull/12>`_
+  `#12 <https://github.com/pyca/service-identity/pull/12>`_
 
 
 ----
@@ -28,7 +58,7 @@
 Deprecations:
 ^^^^^^^^^^^^^
 
-- Since Chrome 58 and Firefox 48 both don't accept certificates that contain 
only a Common Name, its usage is hereby deprecated in ``service_identity`` too.
+- Since Chrome 58 and Firefox 48 both don't accept certificates that contain 
only a Common Name, its usage is hereby deprecated in ``service-identity`` too.
   We have been raising a warning since 16.0.0 and the support will be removed 
in mid-2018 for good.
 
 
@@ -36,12 +66,12 @@
 ^^^^^^^^
 
 - When ``service_identity.SubjectAltNameWarning`` is raised, the Common Name 
of the certificate is now included in the warning message.
-  `#17 <https://github.com/pyca/service_identity/pull/17>`_
+  `#17 <https://github.com/pyca/service-identity/pull/17>`_
 - Added ``cryptography.x509`` backend for verifying certificates.
-  `#18 <https://github.com/pyca/service_identity/pull/18>`_
+  `#18 <https://github.com/pyca/service-identity/pull/18>`_
 - Wildcards (``*``) are now only allowed if they are the leftmost label in a 
certificate.
   This is common practice by all major browsers.
-  `#19 <https://github.com/pyca/service_identity/pull/19>`_
+  `#19 <https://github.com/pyca/service-identity/pull/19>`_
 
 
 ----
@@ -69,7 +99,7 @@
 
 - Officially support Python 3.5.
 - ``service_identity.SubjectAltNameWarning`` is now raised if the server 
certicate lacks a proper ``SubjectAltName``.
-  `#9 <https://github.com/pyca/service_identity/issues/9>`_
+  `#9 <https://github.com/pyca/service-identity/issues/9>`_
 - Add a ``__str__`` method to ``VerificationError``.
 - Port from ``characteristic`` to its spiritual successor `attrs 
<https://www.attrs.org/>`_.
 
@@ -105,11 +135,11 @@
 
 - Move into the `Python Cryptography Authority???s GitHub account 
<https://github.com/pyca/>`_.
 - Move exceptions into ``service_identity.exceptions`` so tracebacks don???t 
contain private module names.
-- Promoting to stable since Twisted 14.0 is optionally depending on 
``service_identity`` now.
+- Promoting to stable since Twisted 14.0 is optionally depending on 
``service-identity`` now.
 - Use `characteristic <https://characteristic.readthedocs.io/>`_ instead of a 
home-grown solution.
 - ``idna`` 0.6 did some backward-incompatible fixes that broke Python 3 
support.
-  This has been fixed now therefore ``service_identity`` only works with 
``idna`` 0.6 and later.
-  Unfortunately since ``idna`` doesn???t offer version introspection, 
``service_identity`` can???t warn about it.
+  This has been fixed now therefore ``service-identity`` only works with 
``idna`` 0.6 and later.
+  Unfortunately since ``idna`` doesn???t offer version introspection, 
``service-identity`` can???t warn about it.
 
 
 ----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/MANIFEST.in 
new/service-identity-21.1.0/MANIFEST.in
--- old/service-identity-18.1.0/MANIFEST.in     2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/MANIFEST.in     2021-05-09 14:20:37.000000000 
+0200
@@ -1,7 +1,7 @@
-include LICENSE .coveragerc .travis.yml .pre-commit-config.yaml tox.ini 
pyproject.toml
+include LICENSE *.yml .pre-commit-config.yaml tox.ini pyproject.toml 
conftest.py
 include docs/Makefile docs/conf.py
-include *.rst *.txt
-exclude conftest.py .readthedocs.yml
+include *.rst *.txt *.md
 recursive-include docs *.rst
-prune tests
-prune .github
+recursive-include tests *.py
+recursive-exclude tests *.pyc
+graft .github
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/README.rst 
new/service-identity-21.1.0/README.rst
--- old/service-identity-18.1.0/README.rst      2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/README.rst      2021-05-09 14:20:37.000000000 
+0200
@@ -6,12 +6,12 @@
    :target: https://service-identity.readthedocs.io/en/stable/?badge=stable
    :alt: Documentation Status
 
-.. image:: https://travis-ci.org/pyca/service_identity.svg?branch=master
-   :target: https://travis-ci.org/pyca/service_identity
-   :alt: CI status
+.. image:: 
https://github.com/pyca/service-identity/workflows/CI/badge.svg?branch=main
+   :target: https://github.com/pyca/service-identity/actions?workflow=CI
+   :alt: CI Status
 
-.. image:: 
https://codecov.io/github/pyca/service_identity/branch/master/graph/badge.svg
-   :target: https://codecov.io/github/pyca/service_identity
+.. image:: 
https://codecov.io/github/pyca/service-identity/branch/main/graph/badge.svg
+   :target: https://codecov.io/github/pyca/service-identity
    :alt: Test Coverage
 
 .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
@@ -28,12 +28,12 @@
 - you use pyOpenSSL_ and don???t want to be MITM_\ ed or
 - if you want to verify that a `PyCA cryptography`_ certificate is valid for a 
certain hostname or IP address.
 
-``service_identity`` aspires to give you all the tools you need for verifying 
whether a certificate is valid for the intended purposes.
+``service-identity`` aspires to give you all the tools you need for verifying 
whether a certificate is valid for the intended purposes.
 
 In the simplest case, this means *host name verification*.
-However, ``service_identity`` implements `RFC 6125`_ fully and plans to add 
other relevant RFCs too.
+However, ``service-identity`` implements `RFC 6125`_ fully and plans to add 
other relevant RFCs too.
 
-``service_identity``\ ???s documentation lives at `Read the Docs 
<https://service-identity.readthedocs.io/>`_, the code on `GitHub 
<https://github.com/pyca/service_identity>`_.
+``service-identity``\ ???s documentation lives at `Read the Docs 
<https://service-identity.readthedocs.io/>`_, the code on `GitHub 
<https://github.com/pyca/service-identity>`_.
 
 
 .. _Twisted: https://twistedmatrix.com/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/SECURITY.md 
new/service-identity-21.1.0/SECURITY.md
--- old/service-identity-18.1.0/SECURITY.md     1970-01-01 01:00:00.000000000 
+0100
+++ new/service-identity-21.1.0/SECURITY.md     2021-05-09 14:20:37.000000000 
+0200
@@ -0,0 +1,12 @@
+# Security Policy
+
+## Supported Versions
+
+We are following [CalVer](https://calver.org) with generous 
backward-compatibility guarantees. Therefore we only support the latest version.
+
+
+## Reporting a Vulnerability
+
+If you think you found a Vulnerability, please contact Hynek Schlawack at 
<h...@ox.cx>.
+
+If you insist on using PGP, you can use the key `0xAE2536227F69F181`. The 
fingerprint must be `C2A0 4F86 ACE2 8ADC F817 DBB7 AE25 3622 7F69 F181`.  You 
can also find it on [Keybase](https://keybase.io/hynek).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/codecov.yml 
new/service-identity-21.1.0/codecov.yml
--- old/service-identity-18.1.0/codecov.yml     1970-01-01 01:00:00.000000000 
+0100
+++ new/service-identity-21.1.0/codecov.yml     2021-05-09 14:20:37.000000000 
+0200
@@ -0,0 +1,10 @@
+---
+comment: false
+coverage:
+    status:
+        patch:
+            default:
+                target: "100"
+        project:
+            default:
+                target: "100"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/docs/api.rst 
new/service-identity-21.1.0/docs/api.rst
--- old/service-identity-18.1.0/docs/api.rst    2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/docs/api.rst    2021-05-09 14:20:37.000000000 
+0200
@@ -6,7 +6,7 @@
 
    So far, public APIs are only available for hostnames (RFC 6125) and IP 
addresses (RFC 2818).
    All IDs specified by RFC 6125 are already implemented though.
-   If you'd like to play with them and provide feedback have a look at the 
``verify_service_identity`` function in the `_common module 
<https://github.com/pyca/service_identity/blob/master/src/service_identity/_common.py>`_.
+   If you'd like to play with them and provide feedback have a look at the 
``verify_service_identity`` function in the `_common module 
<https://github.com/pyca/service-identity/blob/main/src/service_identity/_common.py>`_.
 
 
 pyOpenSSL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/service-identity-18.1.0/docs/backward-compatibility.rst 
new/service-identity-21.1.0/docs/backward-compatibility.rst
--- old/service-identity-18.1.0/docs/backward-compatibility.rst 2018-12-05 
13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/docs/backward-compatibility.rst 2021-05-09 
14:20:37.000000000 +0200
@@ -1,7 +1,7 @@
 Backward Compatibility
 ======================
 
-``service_identity`` has a very strong backward compatibility policy.
+``service-identity`` has a very strong backward compatibility policy.
 Generally speaking, you shouldn't ever be afraid of updating.
 
 If breaking changes are needed do be done, they are:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/docs/conf.py 
new/service-identity-21.1.0/docs/conf.py
--- old/service-identity-18.1.0/docs/conf.py    2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/docs/conf.py    2021-05-09 14:20:37.000000000 
+0200
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 #
-# service_identity documentation build configuration file, created by
+# service-identity documentation build configuration file, created by
 # sphinx-quickstart on Mon Jun  2 16:32:11 2014.
 #
 # This file is execfile()d with the current directory set to its
@@ -76,7 +76,7 @@
 master_doc = "index"
 
 # General information about the project.
-project = u"service_identity"
+project = u"service-identity"
 year = datetime.date.today().year
 copyright = u"2014, Hynek Schlawack"
 
@@ -117,7 +117,7 @@
 # show_authors = False
 
 # The name of the Pygments (syntax highlighting) style to use.
-pygments_style = "sphinx"
+# pygments_style = "sphinx"
 
 # A list of ignored prefixes for module index sorting.
 # modindex_common_prefix = []
@@ -131,14 +131,7 @@
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 
-html_theme = "alabaster"
-html_theme_options = {
-    "font_family": '"Avenir Next", Calibri, "PT Sans", sans-serif',
-    "head_font_family": '"Avenir Next", Calibri, "PT Sans", sans-serif',
-    "font_size": "18px",
-    "page_width": "980px",
-    "show_relbars": True,
-}
+html_theme = "furo"
 
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
@@ -216,7 +209,7 @@
 # html_file_suffix = None
 
 # Output file base name for HTML help builder.
-htmlhelp_basename = "service_identitydoc"
+htmlhelp_basename = "service-identitydoc"
 
 
 # -- Options for LaTeX output ---------------------------------------------
@@ -229,7 +222,7 @@
 latex_documents = [
     (
         "index",
-        "service_identity.tex",
+        "service-identity.tex",
         u"service\\_identity Documentation",
         u"Hynek Schlawack",
         "manual",
@@ -264,8 +257,8 @@
 man_pages = [
     (
         "index",
-        "service_identity",
-        u"service_identity Documentation",
+        "service-identity",
+        u"service-identity Documentation",
         [u"Hynek Schlawack"],
         1,
     )
@@ -283,10 +276,10 @@
 texinfo_documents = [
     (
         "index",
-        "service_identity",
-        u"service_identity Documentation",
+        "service-identity",
+        u"service-identity Documentation",
         u"Hynek Schlawack",
-        "service_identity",
+        "service-identity",
         "Service Identity Verification for pyOpenSSL",
         "Miscellaneous",
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/docs/installation.rst 
new/service-identity-21.1.0/docs/installation.rst
--- old/service-identity-18.1.0/docs/installation.rst   2018-12-05 
13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/docs/installation.rst   2021-05-09 
14:20:37.000000000 +0200
@@ -6,13 +6,13 @@
 Installation
 ============
 
-``$ pip install service_identity``
+``$ pip install service-identity``
 
 
 Requirements
 ============
 
-Python 2.7, 3.4 and later, as well as PyPy are supported.
+Python 2.7, 3.5 and later, as well as PyPy are supported.
 
 Additionally, the following PyPI packages are required:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/docs/license.rst 
new/service-identity-21.1.0/docs/license.rst
--- old/service-identity-18.1.0/docs/license.rst        2018-12-05 
13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/docs/license.rst        2021-05-09 
14:20:37.000000000 +0200
@@ -1,7 +1,7 @@
 License
 =======
 
-``service_identity`` is licensed under the `MIT 
<https://choosealicense.com/licenses/mit/>`_ license.
-The full license text can be also found in the `source code repository 
<https://github.com/pyca/service_identity/blob/master/LICENSE>`_.
+``service-identity`` is licensed under the `MIT 
<https://choosealicense.com/licenses/mit/>`_ license.
+The full license text can be also found in the `source code repository 
<https://github.com/pyca/service-identity/blob/main/LICENSE>`_.
 
 .. include:: ../AUTHORS.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/pyproject.toml 
new/service-identity-21.1.0/pyproject.toml
--- old/service-identity-18.1.0/pyproject.toml  2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/pyproject.toml  2021-05-09 14:20:37.000000000 
+0200
@@ -1,6 +1,23 @@
 [build-system]
-requires = ["setuptools", "wheel"]
+requires = ["setuptools>=40.6.0", "wheel"]
+build-backend = "setuptools.build_meta"
+
+
+[tool.coverage.run]
+parallel = true
+branch = true
+source = ["service_identity"]
+
+[tool.coverage.paths]
+source = ["src", ".tox/*/site-packages"]
+
+[tool.coverage.report]
+show_missing = true
 
 
 [tool.black]
 line-length = 79
+
+
+[tool.isort]
+profile = "attrs"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/setup.cfg 
new/service-identity-21.1.0/setup.cfg
--- old/service-identity-18.1.0/setup.cfg       2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/setup.cfg       1970-01-01 01:00:00.000000000 
+0100
@@ -1,31 +0,0 @@
-[tool:pytest]
-minversion = 3.0
-strict = true
-addopts = -ra
-testpaths = tests
-filterwarnings =
-    once::Warning
-
-
-[bdist_wheel]
-# Since we're a pure Python package, we can mark our wheels as universal.
-universal = 1
-
-
-[metadata]
-# ensure LICENSE is included in wheel metadata
-license_file = LICENSE
-
-
-[isort]
-atomic=true
-force_grid_wrap=0
-include_trailing_comma=true
-lines_after_imports=2
-lines_between_types=1
-multi_line_output=3
-not_skip=__init__.py
-use_parentheses=true
-
-known_first_party=service_identity
-known_third_party=OpenSSL,attr,cryptography,pyasn1,pyasn1_modules,pytest,setuptools,six
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/setup.py 
new/service-identity-21.1.0/setup.py
--- old/service-identity-18.1.0/setup.py        2018-12-05 13:14:55.000000000 
+0100
+++ new/service-identity-21.1.0/setup.py        2021-05-09 14:20:37.000000000 
+0200
@@ -7,7 +7,7 @@
 
 ###############################################################################
 
-NAME = "service_identity"
+NAME = "service-identity"
 KEYWORDS = ["cryptography", "openssl", "pyopenssl"]
 CLASSIFIERS = [
     "Development Status :: 5 - Production/Stable",
@@ -22,10 +22,12 @@
     "Programming Language :: Python :: 2",
     "Programming Language :: Python :: 2.7",
     "Programming Language :: Python :: 3",
-    "Programming Language :: Python :: 3.4",
     "Programming Language :: Python :: 3.5",
     "Programming Language :: Python :: 3.6",
     "Programming Language :: Python :: 3.7",
+    "Programming Language :: Python :: 3.8",
+    "Programming Language :: Python :: 3.9",
+    "Programming Language :: Python :: 3.10",
     "Programming Language :: Python :: Implementation :: CPython",
     "Programming Language :: Python :: Implementation :: PyPy",
     "Programming Language :: Python",
@@ -33,28 +35,35 @@
     "Topic :: Software Development :: Libraries :: Python Modules",
 ]
 INSTALL_REQUIRES = [
-    "attrs>=16.0.0",
+    "attrs>=19.1.0",
     "ipaddress; python_version<'3.3'",
     "pyasn1-modules",
     # Place pyasn1 after pyasn1-modules to workaround setuptools install bug:
     # https://github.com/pypa/setuptools/issues/498
     "pyasn1",
     "cryptography",
+    "six",
 ]
 EXTRAS_REQUIRE = {
     "idna": ["idna"],
-    "tests": ["coverage>=4.2.0", "pytest"],
-    "docs": ["sphinx"],
+    "tests": ["coverage[toml]>=5.0.2", "pytest"],
+    "docs": ["sphinx", "furo"],
 }
 EXTRAS_REQUIRE["dev"] = (
     EXTRAS_REQUIRE["tests"] + EXTRAS_REQUIRE["docs"] + ["idna", "pyOpenSSL"]
 )
+PROJECT_URLS = {
+    "Documentation": "https://service-identity.readthedocs.io/";,
+    "Bug Tracker": "https://github.com/pyca/service-identity/issues";,
+    "Source Code": "https://github.com/pyca/service-identity";,
+    "Funding": "https://github.com/sponsors/hynek";,
+}
 
 ###############################################################################
 
 HERE = os.path.abspath(os.path.dirname(__file__))
 PACKAGES = find_packages(where="src")
-META_PATH = os.path.join(HERE, "src", NAME, "__init__.py")
+META_PATH = os.path.join(HERE, "src", NAME.replace("-", "_"), "__init__.py")
 
 
 def read(*parts):
@@ -81,21 +90,21 @@
     raise RuntimeError("Unable to find __{meta}__ string.".format(meta=meta))
 
 
-URI = find_meta("uri")
+URL = find_meta("url")
 LONG = (
     read("README.rst")
     + "\n\n"
     + "Release Information\n"
     + "===================\n\n"
     + re.search(
-        r"(\d{2}.\d.\d \(.*?\)\n.*?)\n\n\n----\n\n\n",
+        r"(\d+.\d.\d \(.*?\)\r?\n.*?)\r?\n\r?\n\r?\n----\r?\n\r?\n\r?\n",
         read("CHANGELOG.rst"),
         re.S,
     ).group(1)
     + "\n\n`Full changelog "
     + "<{uri}en/stable/changelog.html>`_.\n\n"
     + read("AUTHORS.rst")
-).format(uri=URI)
+).format(uri=URL)
 
 
 if __name__ == "__main__":
@@ -103,7 +112,8 @@
         name=NAME,
         description=find_meta("description"),
         license=find_meta("license"),
-        url=URI,
+        url=URL,
+        project_urls=PROJECT_URLS,
         version=find_meta("version"),
         author=find_meta("author"),
         author_email=find_meta("email"),
@@ -111,10 +121,12 @@
         maintainer_email=find_meta("email"),
         keywords=KEYWORDS,
         long_description=LONG,
+        long_description_content_type="text/x-rst",
         packages=PACKAGES,
         package_dir={"": "src"},
         zip_safe=False,
         classifiers=CLASSIFIERS,
         install_requires=INSTALL_REQUIRES,
         extras_require=EXTRAS_REQUIRE,
+        options={"bdist_wheel": {"universal": "1"}},
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/service-identity-18.1.0/src/service_identity/__init__.py 
new/service-identity-21.1.0/src/service_identity/__init__.py
--- old/service-identity-18.1.0/src/service_identity/__init__.py        
2018-12-05 13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/src/service_identity/__init__.py        
2021-05-09 14:20:37.000000000 +0200
@@ -12,11 +12,12 @@
 )
 
 
-__version__ = "18.1.0"
+__version__ = "21.1.0"
 
-__title__ = "service_identity"
+__title__ = "service-identity"
 __description__ = "Service identity verification for pyOpenSSL & cryptography."
-__uri__ = "https://service-identity.readthedocs.io/";
+__url__ = "https://service-identity.readthedocs.io/";
+__uri__ = __url__
 
 __author__ = "Hynek Schlawack"
 __email__ = "h...@ox.cx"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/service-identity-18.1.0/src/service_identity/exceptions.py 
new/service-identity-21.1.0/src/service_identity/exceptions.py
--- old/service-identity-18.1.0/src/service_identity/exceptions.py      
2018-12-05 13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/src/service_identity/exceptions.py      
2021-05-09 14:20:37.000000000 +0200
@@ -1,5 +1,5 @@
 """
-All exceptions and warnings thrown by ``service_identity``.
+All exceptions and warnings thrown by ``service-identity``.
 
 Separated into an own package for nicer tracebacks, you should still import
 them from __init__.py.
@@ -18,7 +18,7 @@
     """
 
 
-@attr.s
+@attr.s(auto_exc=True)
 class VerificationError(Exception):
     """
     Service identity verification failed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/service-identity-18.1.0/src/service_identity/pyopenssl.py 
new/service-identity-21.1.0/src/service_identity/pyopenssl.py
--- old/service-identity-18.1.0/src/service_identity/pyopenssl.py       
2018-12-05 13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/src/service_identity/pyopenssl.py       
2021-05-09 14:20:37.000000000 +0200
@@ -138,7 +138,7 @@
             "Certificate with CN '%s' has no `subjectAltName`, falling back "
             "to check for a `commonName` for now.  This feature is being "
             "removed by major browsers and deprecated by RFC 2818.  "
-            "service_identity will remove the support for it in mid-2018."
+            "service-identity will remove the support for it in mid-2018."
             % (cn.decode("utf-8"),),
             SubjectAltNameWarning,
             stacklevel=2,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/tests/test_common.py 
new/service-identity-21.1.0/tests/test_common.py
--- old/service-identity-18.1.0/tests/test_common.py    2018-12-05 
13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/tests/test_common.py    2021-05-09 
14:20:37.000000000 +0200
@@ -1,6 +1,7 @@
 from __future__ import absolute_import, division, print_function
 
 import ipaddress
+import pickle
 
 import pytest
 import six
@@ -667,12 +668,32 @@
 
 
 class TestVerificationError(object):
-    """
-    The __str__ returns something sane.
-    """
+    def test_repr_str(self):
+        """
+        The __str__ and __repr__ methods return something helpful.
+        """
+        try:
+            raise VerificationError(errors=["foo"])
+        except VerificationError as e:
+            assert repr(e) == str(e)
+            assert str(e) != ""
+
+    @pytest.mark.parametrize("proto", range(0, pickle.HIGHEST_PROTOCOL + 1))
+    @pytest.mark.parametrize(
+        "exc",
+        [
+            VerificationError(errors=[]),
+            VerificationError(errors=[DNSMismatch("example.com")]),
+            VerificationError([]),
+            VerificationError([DNSMismatch("example.com")]),
+        ],
+    )
+    def test_pickle(self, exc, proto):
+        """
+        Exceptions can be pickled and unpickled.
+        """
+        new_exc = pickle.loads(pickle.dumps(exc, proto))
 
-    try:
-        raise VerificationError(errors=["foo"])
-    except VerificationError as e:
-        assert repr(e) == str(e)
-        assert str(e) != ""
+        # Exceptions can't be compared.
+        assert exc.__class__ == new_exc.__class__
+        assert exc.__dict__ == new_exc.__dict__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/tests/test_pyopenssl.py 
new/service-identity-21.1.0/tests/test_pyopenssl.py
--- old/service-identity-18.1.0/tests/test_pyopenssl.py 2018-12-05 
13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/tests/test_pyopenssl.py 2021-05-09 
14:20:37.000000000 +0200
@@ -121,7 +121,7 @@
             "Certificate with CN 'www.microsoft.com' has no `subjectAltName`"
         )
         assert msg.endswith(
-            "service_identity will remove the support for it in mid-2018."
+            "service-identity will remove the support for it in mid-2018."
         )
 
     def test_uri(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/service-identity-18.1.0/tox.ini 
new/service-identity-21.1.0/tox.ini
--- old/service-identity-18.1.0/tox.ini 2018-12-05 13:14:55.000000000 +0100
+++ new/service-identity-21.1.0/tox.ini 2021-05-09 14:20:37.000000000 +0200
@@ -1,5 +1,27 @@
+[pytest]
+minversion = 3.0
+addopts = -ra
+testpaths = tests
+filterwarnings =
+    once::Warning
+
+
+# Keep docs in sync with docs env and .readthedocs.yml.
+[gh-actions]
+python =
+    2.7: py27
+    3.5: py35
+    3.6: py36
+    3.7: py37, docs
+    3.8: py38, lint, manifest
+    3.9: py39
+    3.10: py310
+
+
 [tox]
-envlist = 
lint,py27,py37,pypy,pypy3,{py27,py36}-pyopensslLatest-noidna,{py27,py34,py35,py36}-{pyopenssl014,pyopensslLatest}-idna,{pypy,pypy3}-pyopensslLatest-idna,manifest,pypi-description,coverage-report
+envlist = 
lint,py27,py37,py38,py39,py310,pypy,pypy3,{py27,py38}-pyopensslLatest-noidna,{py27,py35,py36,py37,py38,py39,py310}-{pyopenssl014,pyopensslLatest}-idna,{pypy,pypy3}-pyopensslLatest-idna,manifest,pypi-description,coverage-report
+isolated_build = true
+
 
 [testenv]
 extras = tests
@@ -13,19 +35,20 @@
     PYTHONHASHSEED = 0
     noidna: TRICKING_TOX = 1
 commands =
-    coverage run --parallel-mode -m pytest {posargs}
-    py36-pyopensslLatest-idna: coverage run --parallel-mode -m pytest 
--doctest-modules --doctest-glob='*.rst' {posargs}
+    coverage run -m pytest {posargs}
+    py37-pyopensslLatest-idna: coverage run -m pytest --doctest-modules 
--doctest-glob='*.rst' {posargs}
 
 
 [testenv:lint]
-basepython = python3.7
+basepython = python3.8
 skip_install = true
 deps = pre-commit
 passenv = HOMEPATH  # needed on Windows
-commands = pre-commit run --all-files --verbose
+commands = pre-commit run --all-files --show-diff
 
 
 [testenv:docs]
+# Keep basepython in sync with gh-actions and .readthedocs.yml.
 basepython = python3.7
 extras = docs
 commands =
@@ -34,13 +57,13 @@
 
 
 [testenv:manifest]
-basepython = python3.7
+basepython = python3.8
 deps = check-manifest
 commands = check-manifest
 
 
 [testenv:pypi-description]
-basepython = python3.7
+basepython = python3.8
 skip_install = true
 deps =
     twine
@@ -51,8 +74,8 @@
 
 
 [testenv:coverage-report]
-basepython = python3.7
-deps = coverage
+basepython = python3.8
+deps = coverage[toml]>=5.0.2
 skip_install = true
 commands =
     coverage combine

Reply via email to