- Support Python 3.14
- Drop support for Python 3.8 and 3.9
- Drop
clickdependency
- Support click v8.3.0
- Drop support for Python 3.7
- Support Python 3.13
- Exclude click v8.2.2 from dependencies due to breakage caused by pallets/click#3024
- 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
showcommand 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
PyVersionInfohas been renamed toCPythonVersionInfo- A new
PyPyVersionInfoclass has been added - A new
VersionDatabaseclass has been added, containing aCPythonVersionInfoinstance and aPyPyVersionInfoinstance get_pyversion_info()is nowVersionDatabase.fetch()- The command-line interface now takes a
--pypyoption for showing details about PyPy versions
- The
unreleasedargument tomajor_versions(),minor_versions(),micro_versions(), andsubversions()has been removed; the methods now return all known versions, released & unreleased release_date()now returnsNonefor 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 returnsNonefor 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 optionalunreleasedarguments for including unreleased versionsis_supported()now accepts major and micro versionsUnknownVersionErrornow 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