Hello community,
here is the log from the commit of package python-repoze.who for
openSUSE:Factory checked in at 2020-08-04 20:21:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-repoze.who (Old)
and /work/SRC/openSUSE:Factory/.python-repoze.who.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-repoze.who"
Tue Aug 4 20:21:37 2020 rev:6 rq:824180 version:2.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-repoze.who/python-repoze.who.changes
2020-04-07 10:31:26.462507932 +0200
+++
/work/SRC/openSUSE:Factory/.python-repoze.who.new.3592/python-repoze.who.changes
2020-08-04 20:21:49.156997050 +0200
@@ -1,0 +2,14 @@
+Mon Aug 3 11:09:47 UTC 2020 - Marketa Calabkova <[email protected]>
+
+- update to 2.4
+ * Add support for Python 3.6, 3.7, and 3.8.
+ * Drop support for Python 3.3.
+ * Fix travis configuration.
+ * Add ``samesite`` option to AuthTktCookiePlugin constructor.
+ If this is passed, it should be a string, and it will be used
+ to compose the Set-Cookie header's "SameSite" value, e.g.
+ if you pass ``samesite="Strict"`` into the constructor,
+ the cookie value for the auth tkt cooke will contain
+ ``SameSite=Strict``.
+
+-------------------------------------------------------------------
Old:
----
repoze.who-2.3.tar.gz
New:
----
repoze.who-2.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-repoze.who.spec ++++++
--- /var/tmp/diff_new_pack.La3WgB/_old 2020-08-04 20:21:50.372997205 +0200
+++ /var/tmp/diff_new_pack.La3WgB/_new 2020-08-04 20:21:50.376997205 +0200
@@ -19,20 +19,18 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%global modname repoze.who
Name: python-repoze.who
-Version: 2.3
+Version: 2.4
Release: 0
Summary: Identification and authentication framework for WSGI
License: SUSE-Repoze
URL: http://www.repoze.org
Source:
https://files.pythonhosted.org/packages/source/r/repoze.who/%{modname}-%{version}.tar.gz
-BuildRequires: %{python_module Paste}
BuildRequires: %{python_module WebOb}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module zope.interface}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-Paste
Requires: python-WebOb
Requires: python-zope.interface
BuildArch: noarch
@@ -61,8 +59,7 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}/
%check
-# test_brokenimpl zope.interface raises different assert
-%pytest -k 'not test_brokenimpl'
+%pytest
%files %{python_files}
%license LICENSE.txt
++++++ repoze.who-2.3.tar.gz -> repoze.who-2.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/.travis.yml
new/repoze.who-2.4/.travis.yml
--- old/repoze.who-2.3/.travis.yml 2016-05-31 18:22:32.000000000 +0200
+++ new/repoze.who-2.4/.travis.yml 2020-06-03 22:21:47.000000000 +0200
@@ -4,16 +4,24 @@
matrix:
include:
+ - python: 2.7
+ env: TOXENV=py27
+ - python: 3.4
+ env: TOXENV=py34
- python: 3.5
env: TOXENV=py35
-
-env:
- - TOXENV=py27
- - TOXENV=py33
- - TOXENV=py34
- - TOXENV=pypy
- - TOXENV=pypy3
- - TOXENV=cover
+ - python: 3.6
+ env: TOXENV=py36
+ - python: 3.7
+ env: TOXENV=py37
+ - python: 3.8
+ env: TOXENV=py38
+ - python: pypy
+ env: TOXENV=pypy
+ - python: pypy3
+ env: TOXENV=pypy3
+ - python: 3.8
+ env: TOXENV=cover
install:
- travis_retry pip install tox
@@ -21,6 +29,3 @@
script:
- travis_retry tox
-notifications:
- email:
- - [email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/CHANGES.rst
new/repoze.who-2.4/CHANGES.rst
--- old/repoze.who-2.3/CHANGES.rst 2016-05-31 19:44:09.000000000 +0200
+++ new/repoze.who-2.4/CHANGES.rst 2020-06-03 22:32:10.000000000 +0200
@@ -1,6 +1,22 @@
repoze.who Changelog
====================
+2.4 (2020-06-03)
+----------------
+
+- Add upport for Python 3.6, 3.7, and 3.8.
+
+- Drop support for Python 3.3.
+
+- Fix travis configuration.
+
+- Add ``samesite`` option to AuthTktCookiePlugin constructor.
+ If this is passed, it should be a string, and it will be used
+ to compose the Set-Cookie header's "SameSite" value, e.g.
+ if you pass ``samesite="Strict"`` into the constructor,
+ the cookie value for the auth tkt cooke will contain
+ ``SameSite=Strict``.
+
2.3 (2016-05-31)
----------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/PKG-INFO new/repoze.who-2.4/PKG-INFO
--- old/repoze.who-2.3/PKG-INFO 2016-05-31 19:46:03.000000000 +0200
+++ new/repoze.who-2.4/PKG-INFO 2020-06-03 22:32:18.000000000 +0200
@@ -1,13 +1,13 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: repoze.who
-Version: 2.3
+Version: 2.4
Summary: repoze.who is an identification and authentication framework for WSGI.
Home-page: http://www.repoze.org
Author: Agendaless Consulting
Author-email: [email protected]
License: BSD-derived (http://www.repoze.org/LICENSE.txt)
-Description: ``repoze.who``
- ==============
+Description: repoze.who
+ ==========
.. image:: https://travis-ci.org/repoze/repoze.who.png?branch=master
:target: https://travis-ci.org/repoze/repoze.who
@@ -16,8 +16,11 @@
:target: http://repozewho.readthedocs.org/en/latest/
:alt: Documentation Status
- Overview
- --------
+ .. image:: https://img.shields.io/pypi/v/repoze.who.svg
+ :target: https://pypi.python.org/pypi/repoze.who
+
+ .. image:: https://img.shields.io/pypi/pyversions/repoze.who.svg
+ :target: https://pypi.python.org/pypi/repoze.who
``repoze.who`` is an identification and authentication framework
for arbitrary WSGI applications. ``repoze.who`` can be configured
@@ -30,10 +33,64 @@
operation implied by the request). This is considered to be the
domain of the WSGI application.
+ Installation
+ ------------
+
+ Install using setuptools, e.g. (within a virtualenv)::
+
+ $ easy_install repoze.who
+
+ or using pip::
+
+ $ pip install repoze.who
+
+
+ Usage
+ -----
+
+ For details on using the various components, please see the
+ documentation in ``docs/index.rst``. A rendered version of that
documentation
+ is also available online:
+
+ - http://repozewho.readthedocs.org/en/latest/
+
+
+ Reporting Bugs
+ --------------
+
+ Please report bugs in this package to
+
+ https://github.com/repoze/repoze.who/issues
+
+
+ Obtaining Source Code
+ ---------------------
+
+ Download development or tagged versions of the software by visiting:
+
+ https://github.com/repoze/repoze.who
+
+
repoze.who Changelog
====================
+ 2.4 (2020-06-03)
+ ----------------
+
+ - Add upport for Python 3.6, 3.7, and 3.8.
+
+ - Drop support for Python 3.3.
+
+ - Fix travis configuration.
+
+ - Add ``samesite`` option to AuthTktCookiePlugin constructor.
+ If this is passed, it should be a string, and it will be used
+ to compose the Set-Cookie header's "SameSite" value, e.g.
+ if you pass ``samesite="Strict"`` into the constructor,
+ the cookie value for the auth tkt cooke will contain
+ ``SameSite=Strict``.
+
2.3 (2016-05-31)
----------------
@@ -732,12 +789,16 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
+Provides-Extra: testing
+Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/README.rst
new/repoze.who-2.4/README.rst
--- old/repoze.who-2.3/README.rst 2015-03-18 20:33:59.000000000 +0100
+++ new/repoze.who-2.4/README.rst 2016-06-03 20:39:39.000000000 +0200
@@ -1,5 +1,5 @@
-``repoze.who``
-==============
+repoze.who
+==========
.. image:: https://travis-ci.org/repoze/repoze.who.png?branch=master
:target: https://travis-ci.org/repoze/repoze.who
@@ -8,8 +8,11 @@
:target: http://repozewho.readthedocs.org/en/latest/
:alt: Documentation Status
-Overview
---------
+.. image:: https://img.shields.io/pypi/v/repoze.who.svg
+ :target: https://pypi.python.org/pypi/repoze.who
+
+.. image:: https://img.shields.io/pypi/pyversions/repoze.who.svg
+ :target: https://pypi.python.org/pypi/repoze.who
``repoze.who`` is an identification and authentication framework
for arbitrary WSGI applications. ``repoze.who`` can be configured
@@ -21,3 +24,41 @@
for authorization (ensuring whether a user can or cannot perform the
operation implied by the request). This is considered to be the
domain of the WSGI application.
+
+Installation
+------------
+
+Install using setuptools, e.g. (within a virtualenv)::
+
+ $ easy_install repoze.who
+
+or using pip::
+
+ $ pip install repoze.who
+
+
+Usage
+-----
+
+For details on using the various components, please see the
+documentation in ``docs/index.rst``. A rendered version of that documentation
+is also available online:
+
+ - http://repozewho.readthedocs.org/en/latest/
+
+
+Reporting Bugs
+--------------
+
+Please report bugs in this package to
+
+ https://github.com/repoze/repoze.who/issues
+
+
+Obtaining Source Code
+---------------------
+
+Download development or tagged versions of the software by visiting:
+
+ https://github.com/repoze/repoze.who
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/docs/middleware.rst
new/repoze.who-2.4/docs/middleware.rst
--- old/repoze.who-2.3/docs/middleware.rst 2015-03-18 20:33:59.000000000
+0100
+++ new/repoze.who-2.4/docs/middleware.rst 2020-06-02 22:54:09.000000000
+0200
@@ -55,7 +55,7 @@
A refererence to the "right-hand" application. The plugins
consulted during request classification / identification /
authentication may replace this application with another
- WSGI application, which will be used for the remainer of the
+ WSGI application, which will be used for the remainder of the
current request.
#. Request Classification
@@ -96,14 +96,14 @@
record matching any of the extracted credentials. If it finds one, and
if the password listed in the record matches the password in the
identity, the userid of the user would be returned (which would
- be the same as the login name). Successfully-authenticated ndenties are
+ be the same as the login name). Successfully-authenticated identities are
"weighted", with the highest weight identity governing the remainder of
the request.
#. Metadata Assignment
After identifying and authenticating a user, :mod:`repoze.who` consults
- plugins configured as metadata providers, which may augmented the
+ plugins configured as metadata providers, which may augment the
authenticated identity with arbitrary metadata.
For example, a metadata provider plugin might add the user's first,
@@ -143,9 +143,9 @@
#. Challenge
- The plugin then consults each of the set of plugins configured as
+ The plugin then consults each of the plugins configured as
challengers for the current request classification: the first plugin
- which returns a non-None WSGI application will be used perform a
+ which returns a non-None WSGI application will be used to perform a
challenge.
Challenger plugins may use application-returned headers, the WSGI
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/docs/narr.rst
new/repoze.who-2.4/docs/narr.rst
--- old/repoze.who-2.3/docs/narr.rst 2015-03-18 20:33:59.000000000 +0100
+++ new/repoze.who-2.4/docs/narr.rst 2020-06-02 22:54:09.000000000 +0200
@@ -33,7 +33,7 @@
authentication purposes, but need to participate more directly in the
mechanics of identification and authorization for some portions of the
application. For example, consider a system which allows users to
-sign up online for membrship in a site: once the user completes
+sign up online for membership in a site: once the user completes
registration, such an application might wish to log the user in
transparently, and thus needs to interact with the configured
:mod:`repoze.who` middleware to generate response headers, ensuring
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/repoze/who/api.py
new/repoze.who-2.4/repoze/who/api.py
--- old/repoze.who-2.3/repoze/who/api.py 2015-03-18 20:33:59.000000000
+0100
+++ new/repoze.who-2.4/repoze/who/api.py 2020-06-03 22:21:08.000000000
+0200
@@ -58,7 +58,8 @@
def make_registries(identifiers, authenticators, challengers, mdproviders):
- from zope.interface.verify import BrokenImplementation
+ from zope.interface.exceptions import Invalid
+ from zope.interface.verify import BrokenImplementation # BBB, z.i < 5.0.x
interface_registry = {}
name_registry = {}
@@ -70,7 +71,7 @@
for name, value in supplied:
try:
verify(value, iface)
- except BrokenImplementation as why:
+ except (Invalid, BrokenImplementation) as why:
why = str(why)
raise ValueError(str(name) + ': ' + why)
L = interface_registry.setdefault(iface, [])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/repoze/who/plugins/auth_tkt.py
new/repoze.who-2.4/repoze/who/plugins/auth_tkt.py
--- old/repoze.who-2.3/repoze/who/plugins/auth_tkt.py 2016-05-31
18:44:04.000000000 +0200
+++ new/repoze.who-2.4/repoze/who/plugins/auth_tkt.py 2020-06-02
22:54:09.000000000 +0200
@@ -49,7 +49,8 @@
def __init__(self, secret, cookie_name='auth_tkt',
secure=False, include_ip=False,
timeout=None, reissue_time=None, userid_checker=None,
- digest_algo=auth_tkt.DEFAULT_DIGEST):
+ digest_algo=auth_tkt.DEFAULT_DIGEST,
+ samesite=None):
self.secret = secret
self.cookie_name = cookie_name
self.include_ip = include_ip
@@ -61,6 +62,7 @@
self.reissue_time = reissue_time
self.userid_checker = userid_checker
self.digest_algo = digest_algo
+ self.samesite = samesite
# IIdentifier
def identify(self, environ):
@@ -197,6 +199,9 @@
if self.secure:
secure = '; secure; HttpOnly'
+ if self.samesite:
+ secure += '; SameSite=%s' % self.samesite
+
cur_domain = environ.get('HTTP_HOST', environ.get('SERVER_NAME'))
cur_domain = cur_domain.split(':')[0] # drop port
wild_domain = '.' + cur_domain
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/repoze.who-2.3/repoze/who/plugins/tests/test_authtkt.py
new/repoze.who-2.4/repoze/who/plugins/tests/test_authtkt.py
--- old/repoze.who-2.3/repoze/who/plugins/tests/test_authtkt.py 2016-05-31
18:44:04.000000000 +0200
+++ new/repoze.who-2.4/repoze/who/plugins/tests/test_authtkt.py 2020-06-02
22:54:09.000000000 +0200
@@ -296,6 +296,35 @@
'secure; HttpOnly'
% val))
+ def test_remember_creds_samesite(self):
+ plugin = self._makeOne('secret', secure=False, samesite="Strict")
+ val = self._makeTicket(userid='userid', secure=False,
userdata='foo=123')
+ environ = self._makeEnviron()
+ result = plugin.remember(environ, {'repoze.who.userid':'userid',
+ 'userdata':{'foo':'123'}})
+ self.assertEqual(len(result), 3)
+ self.assertEqual(result[0],
+ ('Set-Cookie',
+ 'auth_tkt="%s"; '
+ 'Path=/; '
+ 'SameSite=Strict'
+ % val))
+ self.assertEqual(result[1],
+ ('Set-Cookie',
+ 'auth_tkt="%s"; '
+ 'Path=/; '
+ 'Domain=localhost; '
+ 'SameSite=Strict'
+ % val))
+ self.assertEqual(result[2],
+ ('Set-Cookie',
+ 'auth_tkt="%s"; '
+ 'Path=/; '
+ 'Domain=.localhost; '
+ 'SameSite=Strict'
+ % val))
+
+
def test_remember_creds_different(self):
plugin = self._makeOne('secret')
old_val = self._makeTicket(userid='userid')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/repoze/who/tests/test__auth_tkt.py
new/repoze.who-2.4/repoze/who/tests/test__auth_tkt.py
--- old/repoze.who-2.3/repoze/who/tests/test__auth_tkt.py 2016-05-31
18:44:04.000000000 +0200
+++ new/repoze.who-2.4/repoze/who/tests/test__auth_tkt.py 2020-06-02
22:54:09.000000000 +0200
@@ -111,7 +111,7 @@
).strip())
self.assertEqual(cookie['oatmeal']['path'], '/')
self.assertEqual(cookie['oatmeal']['secure'], 'true')
-
+
class BadTicketTests(unittest.TestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/repoze/who/tests/test_api.py
new/repoze.who-2.4/repoze/who/tests/test_api.py
--- old/repoze.who-2.3/repoze/who/tests/test_api.py 2015-03-18
20:34:00.000000000 +0100
+++ new/repoze.who-2.4/repoze/who/tests/test_api.py 2020-06-03
22:21:08.000000000 +0200
@@ -104,8 +104,10 @@
self.assertEqual(name_reg, {})
def test_brokenimpl(self):
- self.assertRaises(ValueError, self._callFUT,
- [(None, object())], [], [], [])
+ from zope.interface.exceptions import Invalid
+ expected_exc = (Invalid, ValueError) # BBB for zope.interface < 5.0.0
+ with self.assertRaises(expected_exc):
+ self._callFUT([(None, object())], [], [], [])
def test_ok(self):
from repoze.who.interfaces import IIdentifier
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/repoze.who.egg-info/PKG-INFO
new/repoze.who-2.4/repoze.who.egg-info/PKG-INFO
--- old/repoze.who-2.3/repoze.who.egg-info/PKG-INFO 2016-05-31
19:46:01.000000000 +0200
+++ new/repoze.who-2.4/repoze.who.egg-info/PKG-INFO 2020-06-03
22:32:18.000000000 +0200
@@ -1,13 +1,13 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: repoze.who
-Version: 2.3
+Version: 2.4
Summary: repoze.who is an identification and authentication framework for WSGI.
Home-page: http://www.repoze.org
Author: Agendaless Consulting
Author-email: [email protected]
License: BSD-derived (http://www.repoze.org/LICENSE.txt)
-Description: ``repoze.who``
- ==============
+Description: repoze.who
+ ==========
.. image:: https://travis-ci.org/repoze/repoze.who.png?branch=master
:target: https://travis-ci.org/repoze/repoze.who
@@ -16,8 +16,11 @@
:target: http://repozewho.readthedocs.org/en/latest/
:alt: Documentation Status
- Overview
- --------
+ .. image:: https://img.shields.io/pypi/v/repoze.who.svg
+ :target: https://pypi.python.org/pypi/repoze.who
+
+ .. image:: https://img.shields.io/pypi/pyversions/repoze.who.svg
+ :target: https://pypi.python.org/pypi/repoze.who
``repoze.who`` is an identification and authentication framework
for arbitrary WSGI applications. ``repoze.who`` can be configured
@@ -30,10 +33,64 @@
operation implied by the request). This is considered to be the
domain of the WSGI application.
+ Installation
+ ------------
+
+ Install using setuptools, e.g. (within a virtualenv)::
+
+ $ easy_install repoze.who
+
+ or using pip::
+
+ $ pip install repoze.who
+
+
+ Usage
+ -----
+
+ For details on using the various components, please see the
+ documentation in ``docs/index.rst``. A rendered version of that
documentation
+ is also available online:
+
+ - http://repozewho.readthedocs.org/en/latest/
+
+
+ Reporting Bugs
+ --------------
+
+ Please report bugs in this package to
+
+ https://github.com/repoze/repoze.who/issues
+
+
+ Obtaining Source Code
+ ---------------------
+
+ Download development or tagged versions of the software by visiting:
+
+ https://github.com/repoze/repoze.who
+
+
repoze.who Changelog
====================
+ 2.4 (2020-06-03)
+ ----------------
+
+ - Add upport for Python 3.6, 3.7, and 3.8.
+
+ - Drop support for Python 3.3.
+
+ - Fix travis configuration.
+
+ - Add ``samesite`` option to AuthTktCookiePlugin constructor.
+ If this is passed, it should be a string, and it will be used
+ to compose the Set-Cookie header's "SameSite" value, e.g.
+ if you pass ``samesite="Strict"`` into the constructor,
+ the cookie value for the auth tkt cooke will contain
+ ``SameSite=Strict``.
+
2.3 (2016-05-31)
----------------
@@ -732,12 +789,16 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
+Provides-Extra: testing
+Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/setup.cfg new/repoze.who-2.4/setup.cfg
--- old/repoze.who-2.3/setup.cfg 2016-05-31 19:46:03.000000000 +0200
+++ new/repoze.who-2.4/setup.cfg 2020-06-03 22:32:18.000000000 +0200
@@ -13,5 +13,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/setup.py new/repoze.who-2.4/setup.py
--- old/repoze.who-2.3/setup.py 2016-05-31 19:44:19.000000000 +0200
+++ new/repoze.who-2.4/setup.py 2020-06-03 22:32:10.000000000 +0200
@@ -31,7 +31,7 @@
docs_extras = tests_require + ['Sphinx', 'repoze.sphinx.autointerface']
setup(name='repoze.who',
- version='2.3',
+ version='2.4',
description=('repoze.who is an identification and authentication '
'framework for WSGI.'),
long_description='\n\n'.join([README, CHANGES]),
@@ -41,9 +41,11 @@
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.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 :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Internet :: WWW/HTTP",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/repoze.who-2.3/tox.ini new/repoze.who-2.4/tox.ini
--- old/repoze.who-2.3/tox.ini 2016-05-31 18:23:07.000000000 +0200
+++ new/repoze.who-2.4/tox.ini 2020-06-03 22:21:08.000000000 +0200
@@ -1,6 +1,6 @@
[tox]
envlist =
- py27,pypy,py33,py34,py35,pypy3,cover,docs
+ py27,pypy,py34,py35,py36,py37,py38,pypy3,cover,docs
[testenv]
commands =