diff --git a/.travis.yml b/.travis.yml index 2927417b..a71e1965 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,9 @@ after_success: - codecov matrix: include: + # Linting + - python: 3.6 + env: TOX_ENV=flake8 # CPython 2.7 - python: 2.7 env: TOXENV=py27-base @@ -77,6 +80,3 @@ matrix: env: TOXENV=pypy-pycrypto-norsa - python: pypy3.5 env: TOXENV=pypy-compatibility - # Linting - - python: 3.6 - env: TOX_ENV=flake8 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..79fd0d6a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,45 @@ +# Changelog # + +## 3.1.0 -- 2019-12-10 ## + +This is a greatly overdue release. + +### Features ### + +* Improve `JWT.decode()` #76 (fixes #75) +* Sort headers when serializing to allow for headless JWT #136 (fixes #80) +* Adjust dependency handling + - Use PyCryptodome instead of PyCrypto #83 + - Update package dependencies #124 (fixes #158) +* Avoid using deprecated methods #85 +* Support X509 certificates #107 +* Isolate and flesh out cryptographic backends to enable independent operation #129 (fixes #114) + - Remove pyca/cryptography backend's dependency on python-ecdsa #117 + - Remove pycrypto/dome backends' dependency on python-rsa #121 + - Make pyca/cryptography backend the preferred backend if multiple backends are present #122 + +### Bugfixes/Improvements ### + +* Enable flake8 check in tox/TravisCI #77 +* Fix `crytography` dependency typo #94 +* Trigger tests using `python setup.py test` #97 +* Properly raise an error if a claim is expected and not given #98 +* Typo fixes #110 +* Fix invalid RSA private key PKCS8 encoding by python-rsa backend #120 (fixes #119) +* Remove `future` dependency #134 (fixes #112) +* Fix incorrect use of `pytest.raises(message=...)` #141 +* Typo fix #143 +* Clarify sign docstring to allow for `dict` payload #150 + +### Housekeeping ### + +* Streamline the code a bit and update classifiers #87 +* Fix typo and rephrase `access_token` documentation #89 +* Code linting now mostly honors flake8 #101 +* Document using a `dict` for `jwt.encode` and `jwt.decode` #103 +* Include docs and tests in source distributions #111 +* Updating README descriptions of crypto backends #130 +* Document versioning policy #131 +* Add `CHANGELOG.rst` #132 (fixes #99) +* Simplify and extend `.travis.yml` #135 +* Move `CHANGELOG.rst` to `CHANGELOG.md` and update it #159 diff --git a/CHANGELOG.rst b/CHANGELOG.rst deleted file mode 100644 index 553259f8..00000000 --- a/CHANGELOG.rst +++ /dev/null @@ -1,41 +0,0 @@ ---------- -Changelog ---------- - -3.1.0 -- 2019-??-?? -^^^^^^^^^^^^^^^^^^^ - -Major -""""" - -* Require claim options added. - `#98 `_ -* Isolate and flesh out cryptographic backends to enable independent operation. - `#114 `_ - `#129 `_ -* Remove pyca/cryptography backend's dependency on python-ecdsa. - `#117 `_ -* Remove pycrypto/dome backends' dependency on python-rsa. - `#121 `_ -* Make pyca/cryptography backend the preferred backend if multiple backends are present. - `#122 `_ -* Allow for headless JWT by sorting headers when serializing. - `#136 `_ - -Bugfixes -"""""""" - -* Fix invalid RSA private key PKCS8 encoding by python-rsa backend. - `#120 `_ - -Housekeeping -"""""""""""" - -* Test each cryptographic backend independently in CI. - `#114 `_ - `#129 `_ - `#135 `_ -* Add flake8 checks in CI. -* Add CPython 3.7 and PyPy 3.5 testing in CI. -* Remove package future as a dependency, not needed anymore. -* Fix warnings from py.test. diff --git a/setup.py b/setup.py index 01281158..ed196b84 100644 --- a/setup.py +++ b/setup.py @@ -65,7 +65,6 @@ def _cryptography_version(): '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 :: Implementation :: PyPy',