diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 31d5c48..c6e3b64 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -17,11 +17,10 @@ jobs: - macos-14 - macos-13 python: + - '3.14' - '3.13' - '3.12' - '3.11' - - '3.10' - - '3.9' tz: - 'utc' - 'cest' diff --git a/CHANGELOG.md b/CHANGELOG.md index dab933f..e67a907 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ Changelog [Semantic versioning](http://semver.org/) is used. +3.1.0 +----- + +- breaking: drop support for python 3.9 and 3.10 +- add support for python 3.14 + 3.0.1 ----- released 2026-08-19 diff --git a/README.md b/README.md index 0cda3fa..68c5b0e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ python-libfaketime: fast date/time mocking python-libfaketime is a wrapper of [libfaketime](https://github.com/wolfcw/libfaketime) for python. Some brief details: -* Linux and OS X, Pythons 3.8 through 3.12, pypy and pypy3 +* Linux and OS X, Pythons 3.11 through 3.14, pypy and pypy3 * Mostly compatible with [freezegun](https://github.com/spulec/freezegun). * Microsecond resolution. * Accepts datetimes and strings that can be parsed by dateutil. diff --git a/libfaketime/_version.py b/libfaketime/_version.py index 0552768..f5f41e5 100644 --- a/libfaketime/_version.py +++ b/libfaketime/_version.py @@ -1 +1 @@ -__version__ = "3.0.1" +__version__ = "3.1.0" diff --git a/setup.cfg b/setup.cfg index c33f005..c1e815d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [tox:tox] -envlist = py{39,310,311,312,313,py,py3}-{utc,cest} +envlist = py{311,312,313,314,py,py3}-{utc,cest} [testenv] setenv = diff --git a/setup.py b/setup.py index 664693e..2ae3030 100644 --- a/setup.py +++ b/setup.py @@ -82,6 +82,7 @@ def get_outputs(self): description="A fast alternative to freezegun that wraps libfaketime.", long_description=(open("README.md").read() + "\n\n" + open("CHANGELOG.md").read()), long_description_content_type="text/markdown", + python_requires=">=3.11", install_requires=[ "python-dateutil >= 1.3", "pytz", # for pytz.timezone and pytz.utc @@ -92,11 +93,10 @@ def get_outputs(self): "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules",