Skip to content

Commit e572f29

Browse files
committed
Merge remote-tracking branch 'mpdavis/master' into deterministic-headers
2 parents 6927cf8 + aac4c32 commit e572f29

File tree

5 files changed

+61
-31
lines changed

5 files changed

+61
-31
lines changed

.travis.yml

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,6 @@ matrix:
3333
- python: 3.4
3434
env: TOXENV=py34-compatibility
3535
# CPython 3.5
36-
- python: 3.5
37-
env: TOXENV=py35-base
38-
- python: 3.5
39-
env: TOXENV=py35-cryptography-only
40-
- python: 3.5
41-
env: TOXENV=py35-pycryptodome-norsa
42-
- python: 3.5
43-
env: TOXENV=py35-pycrypto-norsa
44-
- python: 3.5
45-
env: TOXENV=py35-compatibility
46-
# CPython 3.5
4736
- python: 3.5
4837
env: TOXENV=py35-base
4938
- python: 3.5
@@ -56,36 +45,36 @@ matrix:
5645
env: TOXENV=py35-compatibility
5746
# CPython 3.6
5847
- python: 3.6
59-
env: TOXENV=py35-base
48+
env: TOXENV=py36-base
6049
- python: 3.6
61-
env: TOXENV=py35-cryptography-only
50+
env: TOXENV=py36-cryptography-only
6251
- python: 3.6
63-
env: TOXENV=py35-pycryptodome-norsa
52+
env: TOXENV=py36-pycryptodome-norsa
6453
- python: 3.6
65-
env: TOXENV=py35-pycrypto-norsa
54+
env: TOXENV=py36-pycrypto-norsa
6655
- python: 3.6
67-
env: TOXENV=py35-compatibility
56+
env: TOXENV=py36-compatibility
6857
# CPython 3.7
6958
# xenial + sudo are currently needed to get 3.7
7059
# https://github.com/travis-ci/travis-ci/issues/9815
7160
- python: 3.7
72-
env: TOXENV=py35-base
61+
env: TOXENV=py37-base
7362
dist: xenial
7463
sudo: true
7564
- python: 3.7
76-
env: TOXENV=py35-cryptography-only
65+
env: TOXENV=py37-cryptography-only
7766
dist: xenial
7867
sudo: true
7968
- python: 3.7
80-
env: TOXENV=py35-pycryptodome-norsa
69+
env: TOXENV=py37-pycryptodome-norsa
8170
dist: xenial
8271
sudo: true
8372
- python: 3.7
84-
env: TOXENV=py35-pycrypto-norsa
73+
env: TOXENV=py37-pycrypto-norsa
8574
dist: xenial
8675
sudo: true
8776
- python: 3.7
88-
env: TOXENV=py35-compatibility
77+
env: TOXENV=py37-compatibility
8978
dist: xenial
9079
sudo: true
9180
# PyPy 5.3.1

CHANGELOG.rst

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---------
2+
Changelog
3+
---------
4+
5+
3.1.0 -- 2019-??-??
6+
^^^^^^^^^^^^^^^^^^^
7+
8+
Major
9+
"""""
10+
11+
* Isolate and flesh out cryptographic backends to enable independent operation.
12+
`#114 <https://github.com/mpdavis/python-jose/issues/114>`_
13+
`#129 <https://github.com/mpdavis/python-jose/pull/129>`_
14+
* Remove pyca/cryptography backend's dependency on python-ecdsa.
15+
`#117 <https://github.com/mpdavis/python-jose/pull/117>`_
16+
* Remove pycrypto/dome backends' dependency on python-rsa.
17+
`#121 <https://github.com/mpdavis/python-jose/pull/121>`_
18+
* Make pyca/cryptography backend the preferred backend if multiple backends are present.
19+
`#122 <https://github.com/mpdavis/python-jose/pull/122>`_
20+
21+
Bugfixes
22+
""""""""
23+
24+
* Fix invalid RSA private key PKCS8 encoding by python-rsa backend.
25+
`#120 <https://github.com/mpdavis/python-jose/pull/120>`_
26+
27+
Housekeeping
28+
""""""""""""
29+
30+
* Test each cryptographic backend independently in CI.
31+
`#114 <https://github.com/mpdavis/python-jose/issues/114>`_
32+
`#129 <https://github.com/mpdavis/python-jose/pull/129>`_
33+
`#135 <https://github.com/mpdavis/python-jose/pull/135>`_
34+
* Add flake8 checks in CI.
35+
* Add CPython 3.7 and PyPy 3.5 testing in CI.

jose/jws.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
import json
44
import six
55

6-
from collections import Mapping, Iterable
6+
try:
7+
from collections.abc import Mapping, Iterable # Python 3
8+
except ImportError:
9+
from collections import Mapping, Iterable # Python 2, will be deprecated in Python 3.8
710

811
from jose import jwk
912
from jose.constants import ALGORITHMS

jose/jwt.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22
import json
33

44
from calendar import timegm
5-
from collections import Mapping
5+
try:
6+
from collections.abc import Mapping # Python3
7+
except ImportError:
8+
from collections import Mapping # Python2, will be depecrated in Python 3.8
69
from datetime import datetime
710
from datetime import timedelta
811
from six import string_types

requirements-dev.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
PyYAML==3.11
22
cov-core==1.15.0
3-
coverage==3.7.1
4-
coveralls==0.5
3+
coverage==4.4
4+
coveralls==1.5.1
5+
cryptography==2.4.2
56
docopt==0.6.2
67
nose==1.3.6
7-
py==1.4.26
8-
pytest==2.7.0
9-
pytest-cov==1.8.1
10-
ecdsa==0.13
11-
wsgiref==0.1.2
12-
8+
py==1.5.4
9+
pytest==4.1.1
10+
pytest-cov==2.6.1
11+
# wsgiref is included in python standard library in Python 3, and will fail to install.
12+
wsgiref==0.1.2; python_version < "3.0"
1313
-r requirements.txt
1414
-r requirements-rtd.txt

0 commit comments

Comments
 (0)