From a1ea615bb37359d77c3531a4abb834a26fdabe46 Mon Sep 17 00:00:00 2001 From: Nick Coghlan Date: Sat, 26 Jun 2021 15:38:48 +1000 Subject: [PATCH] Issue #29: Switch to CalVer, require Python >= 3.6 --- NEWS.rst | 27 +++++++++++++++++++++++++++ VERSION.txt | 2 +- setup.py | 10 +++++----- tox.ini | 9 +++------ 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/NEWS.rst b/NEWS.rst index f1ad826..920275b 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -1,6 +1,33 @@ Release History --------------- +21.6.0 (2021-06-TBD) +^^^^^^^^^^^^^^^^^^^^^^^^ + +* Switched to calendar based versioning rather than continuing with pre-1.0 + semantic versioning (`#29 `__) +* Due to the inclusion of asynchronous features from Python 3.7+, the + minimum supported Python version is now Python 3.6 + (`#29 `__) +* (WIP) Synchronised with the Python 3.10 version of contextlib, bringing the + following new features to Python 3.6+ ( + `#12 `__, + `#19 `__, + `#27 `__): + + * ``asyncontextmanager`` (Python 3.7) + * ``aclosing`` (Python 3.10) + * ``AbstractAsyncContextManager`` (Python 3.7) + * ``AsyncContextDecorator`` (Python 3.10) + * ``AsyncExitStack`` (Python 3.7) + * async support in ``nullcontext`` (Python 3.10) + +* Updates to the default compatibility testing matrix: + + * Added: CPython 3.9, CPython 3.10 + * Dropped: CPython 2.7, CPython 3.5, PyPy2 + + 0.6.0.post1 (2019-10-10) ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/VERSION.txt b/VERSION.txt index 9db1064..986c3cc 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -0.6.0.post1 +21.6.0 diff --git a/setup.py b/setup.py index 28f403b..afa7938 100755 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ except ImportError: setup( name='contextlib2', version=open('VERSION.txt').read().strip(), - python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', + python_requires='>=3.6', py_modules=['contextlib2'], license='PSF License', description='Backports and enhancements for the contextlib module', @@ -19,13 +19,13 @@ setup( 'Development Status :: 5 - Production/Stable', 'License :: OSI Approved :: Python Software Foundation License', # These are the Python versions tested, it may work on others - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', + # It definitely won't work on versions without native async support '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', ], ) diff --git a/tox.ini b/tox.ini index d682619..77b66ed 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{27,35,36,37,py,py3} +envlist = py{36,37,38,39,3_10,py3} skip_missing_interpreters = True [testenv] @@ -9,15 +9,12 @@ commands = coverage xml deps = coverage - py27: unittest2 - pypy: unittest2 [gh-actions] python = - 2.7: py27 - 3.5: py35 3.6: py36 3.7: py37 3.8: py38 - pypy2: pypy + 3.9: py39 + 3.10: py3_10 pypy3: pypy3