diff --git a/.github/workflows/pre-commit.yaml b/.github/workflows/pre-commit.yaml index adddea75..263d42b3 100644 --- a/.github/workflows/pre-commit.yaml +++ b/.github/workflows/pre-commit.yaml @@ -7,10 +7,10 @@ jobs: main: runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 with: python-version: 3.x - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 - - uses: pre-commit-ci/lite-action@9d882e7a565f7008d4faf128f27d1cb6503d4ebf # v1.0.2 + - uses: pre-commit-ci/lite-action@5d6cc0eb514c891a40562a58a8e71576c5c7fb43 # v1.1.0 if: ${{ !cancelled() }} diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 89e159cd..a616b5fe 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -64,10 +64,10 @@ jobs: id-token: write steps: - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 - - uses: pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597 # v1.10.3 + - uses: pypa/gh-action-pypi-publish@fb13cb306901256ace3dab689990e13a5550ffaa # v1.11.0 with: repository-url: https://test.pypi.org/legacy/ packages-dir: artifact/ - - uses: pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597 # v1.10.3 + - uses: pypa/gh-action-pypi-publish@fb13cb306901256ace3dab689990e13a5550ffaa # v1.11.0 with: packages-dir: artifact/ diff --git a/CHANGES.rst b/CHANGES.rst index 01f84e70..f3e624f1 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,8 @@ Version 3.1.0 Unreleased - Drop support for Python 3.8. :pr:`5623` +- Update minimum dependency versions to latest feature releases. + Werkzeug >= 3.1, ItsDangerous >= 2.2, Blinker >= 1.8. :pr:`5624` - Provide a configuration option to control automatic option responses. :pr:`5496` - ``Flask.open_resource``/``open_instance_resource`` and diff --git a/pyproject.toml b/pyproject.toml index fc4ef831..f2d33c2d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,12 +21,12 @@ classifiers = [ ] requires-python = ">=3.9" dependencies = [ - "Werkzeug>=3.0.0", + "Werkzeug>=3.1", "Jinja2>=3.1.2", - "itsdangerous>=2.1.2", + "itsdangerous>=2.2", "click>=8.1.3", - "blinker>=1.6.2", - "importlib-metadata>=3.6.0; python_version < '3.10'", + "blinker>=1.8", + "importlib-metadata>=3.6; python_version < '3.10'", ] [project.urls] diff --git a/requirements-skip/README.md b/requirements-skip/README.md deleted file mode 100644 index 675ca4ab..00000000 --- a/requirements-skip/README.md +++ /dev/null @@ -1,2 +0,0 @@ -Dependabot will only update files in the `requirements` directory. This directory is -separate because the pins in here should not be updated automatically. diff --git a/requirements-skip/tests-min.in b/requirements-skip/tests-min.in deleted file mode 100644 index c7ec9969..00000000 --- a/requirements-skip/tests-min.in +++ /dev/null @@ -1,6 +0,0 @@ -werkzeug==3.0.0 -jinja2==3.1.2 -markupsafe==2.1.1 -itsdangerous==2.1.2 -click==8.1.3 -blinker==1.6.2 diff --git a/requirements/dev.txt b/requirements/dev.txt index 30009beb..36d9e2c2 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -6,25 +6,25 @@ # alabaster==1.0.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx asgiref==3.8.1 # via - # -r tests.txt - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/tests.txt + # -r /Users/david/Projects/flask/requirements/typing.txt babel==2.16.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx cachetools==5.5.0 # via tox certifi==2024.8.30 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # requests cffi==1.17.1 # via - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/typing.txt # cryptography cfgv==3.4.0 # via pre-commit @@ -32,17 +32,17 @@ chardet==5.2.0 # via tox charset-normalizer==3.4.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # requests colorama==0.4.6 # via tox cryptography==43.0.3 - # via -r typing.txt + # via -r /Users/david/Projects/flask/requirements/typing.txt distlib==0.3.9 # via virtualenv docutils==0.21.2 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx # sphinx-tabs filelock==3.16.1 @@ -53,146 +53,146 @@ identify==2.6.1 # via pre-commit idna==3.10 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # requests imagesize==1.4.1 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx iniconfig==2.0.0 # via - # -r tests.txt - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/tests.txt + # -r /Users/david/Projects/flask/requirements/typing.txt # pytest jinja2==3.1.4 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx markupsafe==3.0.2 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # jinja2 mypy==1.13.0 - # via -r typing.txt + # via -r /Users/david/Projects/flask/requirements/typing.txt mypy-extensions==1.0.0 # via - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/typing.txt # mypy nodeenv==1.9.1 # via - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/typing.txt # pre-commit # pyright packaging==24.1 # via - # -r docs.txt - # -r tests.txt - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/docs.txt + # -r /Users/david/Projects/flask/requirements/tests.txt + # -r /Users/david/Projects/flask/requirements/typing.txt # pallets-sphinx-themes # pyproject-api # pytest # sphinx # tox pallets-sphinx-themes==2.3.0 - # via -r docs.txt + # via -r /Users/david/Projects/flask/requirements/docs.txt platformdirs==4.3.6 # via # tox # virtualenv pluggy==1.5.0 # via - # -r tests.txt - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/tests.txt + # -r /Users/david/Projects/flask/requirements/typing.txt # pytest # tox pre-commit==4.0.1 # via -r dev.in pycparser==2.22 # via - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/typing.txt # cffi pygments==2.18.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx # sphinx-tabs pyproject-api==1.8.0 # via tox -pyright==1.1.386 - # via -r typing.txt +pyright==1.1.387 + # via -r /Users/david/Projects/flask/requirements/typing.txt pytest==8.3.3 # via - # -r tests.txt - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/tests.txt + # -r /Users/david/Projects/flask/requirements/typing.txt python-dotenv==1.0.1 # via - # -r tests.txt - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/tests.txt + # -r /Users/david/Projects/flask/requirements/typing.txt pyyaml==6.0.2 # via pre-commit requests==2.32.3 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx snowballstemmer==2.2.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx sphinx==8.1.3 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # pallets-sphinx-themes # sphinx-notfound-page # sphinx-tabs # sphinxcontrib-log-cabinet sphinx-notfound-page==1.0.4 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # pallets-sphinx-themes sphinx-tabs==3.4.7 - # via -r docs.txt + # via -r /Users/david/Projects/flask/requirements/docs.txt sphinxcontrib-applehelp==2.0.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx sphinxcontrib-devhelp==2.0.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx sphinxcontrib-htmlhelp==2.1.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx sphinxcontrib-jsmath==1.0.1 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx sphinxcontrib-log-cabinet==1.0.1 - # via -r docs.txt + # via -r /Users/david/Projects/flask/requirements/docs.txt sphinxcontrib-qthelp==2.0.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx sphinxcontrib-serializinghtml==2.0.0 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # sphinx tox==4.23.2 # via -r dev.in types-contextvars==2.4.7.3 - # via -r typing.txt + # via -r /Users/david/Projects/flask/requirements/typing.txt types-dataclasses==0.6.6 - # via -r typing.txt + # via -r /Users/david/Projects/flask/requirements/typing.txt typing-extensions==4.12.2 # via - # -r typing.txt + # -r /Users/david/Projects/flask/requirements/typing.txt # mypy # pyright urllib3==2.2.3 # via - # -r docs.txt + # -r /Users/david/Projects/flask/requirements/docs.txt # requests -virtualenv==20.27.0 +virtualenv==20.27.1 # via # pre-commit # tox diff --git a/requirements-skip/tests-dev.txt b/requirements/tests-dev.txt similarity index 100% rename from requirements-skip/tests-dev.txt rename to requirements/tests-dev.txt diff --git a/requirements/tests-min.in b/requirements/tests-min.in new file mode 100644 index 00000000..cab4789b --- /dev/null +++ b/requirements/tests-min.in @@ -0,0 +1,6 @@ +werkzeug==3.1.0 +jinja2==3.1.2 +markupsafe==2.1.1 +itsdangerous==2.2.0 +click==8.1.3 +blinker==1.8.0 diff --git a/requirements-skip/tests-min.txt b/requirements/tests-min.txt similarity index 73% rename from requirements-skip/tests-min.txt rename to requirements/tests-min.txt index 8a6cbf02..005de8b5 100644 --- a/requirements-skip/tests-min.txt +++ b/requirements/tests-min.txt @@ -1,14 +1,14 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.13 # by the following command: # # pip-compile tests-min.in # -blinker==1.6.2 +blinker==1.8.0 # via -r tests-min.in click==8.1.3 # via -r tests-min.in -itsdangerous==2.1.2 +itsdangerous==2.2.0 # via -r tests-min.in jinja2==3.1.2 # via -r tests-min.in @@ -17,5 +17,5 @@ markupsafe==2.1.1 # -r tests-min.in # jinja2 # werkzeug -werkzeug==3.0.0 +werkzeug==3.1.0 # via -r tests-min.in diff --git a/requirements/typing.txt b/requirements/typing.txt index 16989230..4d40090e 100644 --- a/requirements/typing.txt +++ b/requirements/typing.txt @@ -24,7 +24,7 @@ pluggy==1.5.0 # via pytest pycparser==2.22 # via cffi -pyright==1.1.386 +pyright==1.1.387 # via -r typing.in pytest==8.3.3 # via -r typing.in diff --git a/tox.ini b/tox.ini index 321262c6..db77e4df 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,7 @@ envlist = py3{13,12,11,10,9} pypy310 - py312-min + py313-min py39-dev style typing @@ -17,8 +17,8 @@ constrain_package_deps = true use_frozen_constraints = true deps = -r requirements/tests.txt - min: -r requirements-skip/tests-min.txt - dev: -r requirements-skip/tests-dev.txt + min: -r requirements/tests-min.txt + dev: -r requirements/tests-dev.txt commands = pytest -v --tb=short --basetemp={envtmpdir} {posargs} [testenv:style] @@ -39,6 +39,7 @@ commands = sphinx-build -E -W -b dirhtml docs docs/_build/dirhtml [testenv:update-actions] labels = update deps = gha-update +skip_install = true commands = gha-update [testenv:update-pre_commit] @@ -56,5 +57,6 @@ commands = pip-compile build.in -q {posargs:-U} pip-compile docs.in -q {posargs:-U} pip-compile tests.in -q {posargs:-U} + pip-compile tests-min.in -q pip-compile typing.in -q {posargs:-U} pip-compile dev.in -q {posargs:-U}