- Drop support for Python 3.7
- Support Python 3.13
- Support platformdirs v4.0
- Migrated from setuptools to hatch
- Support cachecontrol v0.14
- Support Python 3.12
- Correct the order of results returned by
PyPyVersionInfo.supported_cpython_series()
- Support platformdirs v3.0
- Update pydantic to v2.0
- Support Python 3.11
- Support cachecontrol 0.13
- Use pydantic internally for parsing & validating version databases
eol_date()
andis_eol()
now accept major and micro versions- The
show
command now outputs the EOL date and EOL state for all CPython version levels
- Support Python 3.10
- Drop support for Python 3.6
- Support for fetching information on PyPy versions has been added. With it
come the following changes:
- The schema used by the database (and thus the URL for the default database) has been modified
PyVersionInfo
has been renamed toCPythonVersionInfo
- A new
PyPyVersionInfo
class has been added - A new
VersionDatabase
class has been added, containing aCPythonVersionInfo
instance and aPyPyVersionInfo
instance get_pyversion_info()
is nowVersionDatabase.fetch()
- The command-line interface now takes a
--pypy
option for showing details about PyPy versions
- The
unreleased
argument tomajor_versions()
,minor_versions()
,micro_versions()
, andsubversions()
has been removed; the methods now return all known versions, released & unreleased release_date()
now returnsNone
for any known version whose release date is unknown, whether it's been released yet or not. Useis_released()
to determine whether such a version has been released.eol_date()
now returnsNone
for any known version whose EOL date is unknown, whether it's EOL yet or not. Useis_eol()
to determine whether such a version has reached end-of-life.- Moved documentation from README file to a Read the Docs site
major_versions()
,minor_versions()
,micro_versions()
, andsubversions()
now take optionalunreleased
arguments for including unreleased versionsis_supported()
now accepts major and micro versionsUnknownVersionError
now inheritsValueError
- Added a command-line interface
- Add type annotations
- Switch from appdirs to platformdirs
- Support Python 3.8 and 3.9
- Add a note to the README about the possibility of release deadlines being missed
- Drop support for Python 2.7, 3.4, and 3.5
- Properly close the requests session after downloading the database
Initial release