diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index d4851bae..a2d8d9aa 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -28,6 +28,7 @@ But you might still need to adapt your code: - New warning ignores for protobuf gencode versions in pytest. - mkdocstrings: Updated the deprecated `import` config key to `inventories` in `mkdocs.yml`. +- Dependencies have been updated. ## Bug Fixes diff --git a/cookiecutter/{{cookiecutter.github_repo_name}}/pyproject.toml b/cookiecutter/{{cookiecutter.github_repo_name}}/pyproject.toml index b1bb97bc..af4e247b 100644 --- a/cookiecutter/{{cookiecutter.github_repo_name}}/pyproject.toml +++ b/cookiecutter/{{cookiecutter.github_repo_name}}/pyproject.toml @@ -44,35 +44,35 @@ requires-python = ">= 3.11, < 4" # TODO(cookiecutter): Remove and add more dependencies if appropriate {%- if cookiecutter.type in ("actor", "model") %} dependencies = [ - "typing-extensions >= 4.12.2, < 5", + "typing-extensions >= 4.14.1, < 5", # Make sure to update the version for cross-referencing also in the # mkdocs.yml file when changing the version here (look for the config key # plugins.mkdocstrings.handlers.python.import) - "frequenz-sdk >= 1.0.0rc1500, < 1.0.0rc1600", + "frequenz-sdk >= 1.0.0rc2100, < 1.0.0rc2200", ] {%- elif cookiecutter.type == "app" %} dependencies = [ - "typing-extensions == 4.12.2", + "typing-extensions == 4.14.1", # Make sure to update the version for cross-referencing also in the # mkdocs.yml file when changing the version here (look for the config key # plugins.mkdocstrings.handlers.python.import) - "frequenz-sdk == 1.0.0rc1500", + "frequenz-sdk == 1.0.0rc2100", ] {%- elif cookiecutter.type == "api" %} dependencies = [ - "frequenz-api-common >= 0.6.3, < 0.7.0", + "frequenz-api-common >= 0.6.3, < 1", # We can't widen beyond the current value unless we bump the minimum # requirements too because of protobuf cross-version runtime guarantees: # https://protobuf.dev/support/cross-version-runtime-guarantee/#major - "protobuf >= 5.29.3, < 7", # Do not widen beyond 7! + "protobuf >= 6.32.0, < 8", # Do not widen beyond 8! # We couldn't find any document with a spec about the cross-version runtime # guarantee for grpcio, so unless we find one in the future, we'll assume # major version jumps are not compatible - "grpcio >= 1.70.0, < 2", # Do not widen beyond 2! + "grpcio >= 1.74.0, < 2", # Do not widen beyond 2! ] {%- else %} dependencies = [ - "typing-extensions >= 4.12.2, < 5", + "typing-extensions >= 4.14.1, < 5", ] {%- endif %} dynamic = ["version"] @@ -84,36 +84,36 @@ email = "{{cookiecutter.author_email}}" # TODO(cookiecutter): Remove and add more optional dependencies if appropriate [project.optional-dependencies] dev-flake8 = [ - "flake8 == 7.1.1", + "flake8 == 7.3.0", "flake8-docstrings == 1.7.0", "flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml - "pydoclint == 0.6.0", + "pydoclint == 0.6.10", "pydocstyle == 6.3.0", ] dev-formatting = ["black == 25.1.0", "isort == 6.0.0"] dev-mkdocs = [ - "Markdown == 3.7", + "Markdown == 3.8.2", "black == 25.1.0", "mike == 2.1.3", "mkdocs-gen-files == 0.5.0", - "mkdocs-literate-nav == 0.6.1", - "mkdocs-macros-plugin == 1.3.7", - "mkdocs-material == 9.6.2", - "mkdocstrings[python] == 0.28.0", - "mkdocstrings-python == 1.14.6", + "mkdocs-literate-nav == 0.6.2", + "mkdocs-macros-plugin == 1.3.9", + "mkdocs-material == 9.6.18", + "mkdocstrings[python] == 0.30.0", + "mkdocstrings-python == 1.17.0", "frequenz-repo-config[{{cookiecutter.type}}] == 0.13.1", ] dev-mypy = [ "mypy == 1.9.0", {%- if cookiecutter.type == "api" %} - "grpc-stubs == 1.53.0.5", + "grpc-stubs == 1.53.0.6", {%- endif %} - "types-Markdown == 3.7.0.20241204", + "types-Markdown == 3.8.0.20250809", # For checking the noxfile, docs/ script, and tests "{{cookiecutter.pypi_package_name}}[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-noxfile = [ - "nox == 2024.10.9", + "nox == 2025.5.1", "frequenz-repo-config[{{cookiecutter.type}}] == 0.13.1", ] dev-pylint = [ @@ -122,13 +122,13 @@ dev-pylint = [ "{{cookiecutter.pypi_package_name}}[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-pytest = [ - "pytest == 8.3.4", - "pylint == 3.3.4", # We need this to check for the examples + "pytest == 8.4.1", + "pylint == 3.3.8", # We need this to check for the examples "frequenz-repo-config[extra-lint-examples] == 0.13.1", {%- if cookiecutter.type != "api" %} "pytest-mock == 3.14.0", - "pytest-asyncio == 0.25.3", - "async-solipsism == 0.7", + "pytest-asyncio == 1.1.0", + "async-solipsism == 0.8", {%- endif %} ] dev = [ diff --git a/tests_golden/integration/test_cookiecutter_generation/actor/frequenz-actor-test/pyproject.toml b/tests_golden/integration/test_cookiecutter_generation/actor/frequenz-actor-test/pyproject.toml index bb0651de..18d955ff 100644 --- a/tests_golden/integration/test_cookiecutter_generation/actor/frequenz-actor-test/pyproject.toml +++ b/tests_golden/integration/test_cookiecutter_generation/actor/frequenz-actor-test/pyproject.toml @@ -28,11 +28,11 @@ classifiers = [ requires-python = ">= 3.11, < 4" # TODO(cookiecutter): Remove and add more dependencies if appropriate dependencies = [ - "typing-extensions >= 4.12.2, < 5", + "typing-extensions >= 4.14.1, < 5", # Make sure to update the version for cross-referencing also in the # mkdocs.yml file when changing the version here (look for the config key # plugins.mkdocstrings.handlers.python.import) - "frequenz-sdk >= 1.0.0rc1500, < 1.0.0rc1600", + "frequenz-sdk >= 1.0.0rc2100, < 1.0.0rc2200", ] dynamic = ["version"] @@ -43,33 +43,33 @@ email = "floss@frequenz.com" # TODO(cookiecutter): Remove and add more optional dependencies if appropriate [project.optional-dependencies] dev-flake8 = [ - "flake8 == 7.1.1", + "flake8 == 7.3.0", "flake8-docstrings == 1.7.0", "flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml - "pydoclint == 0.6.0", + "pydoclint == 0.6.10", "pydocstyle == 6.3.0", ] dev-formatting = ["black == 25.1.0", "isort == 6.0.0"] dev-mkdocs = [ - "Markdown == 3.7", + "Markdown == 3.8.2", "black == 25.1.0", "mike == 2.1.3", "mkdocs-gen-files == 0.5.0", - "mkdocs-literate-nav == 0.6.1", - "mkdocs-macros-plugin == 1.3.7", - "mkdocs-material == 9.6.2", - "mkdocstrings[python] == 0.28.0", - "mkdocstrings-python == 1.14.6", + "mkdocs-literate-nav == 0.6.2", + "mkdocs-macros-plugin == 1.3.9", + "mkdocs-material == 9.6.18", + "mkdocstrings[python] == 0.30.0", + "mkdocstrings-python == 1.17.0", "frequenz-repo-config[actor] == 0.13.1", ] dev-mypy = [ "mypy == 1.9.0", - "types-Markdown == 3.7.0.20241204", + "types-Markdown == 3.8.0.20250809", # For checking the noxfile, docs/ script, and tests "frequenz-actor-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-noxfile = [ - "nox == 2024.10.9", + "nox == 2025.5.1", "frequenz-repo-config[actor] == 0.13.1", ] dev-pylint = [ @@ -78,12 +78,12 @@ dev-pylint = [ "frequenz-actor-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-pytest = [ - "pytest == 8.3.4", - "pylint == 3.3.4", # We need this to check for the examples + "pytest == 8.4.1", + "pylint == 3.3.8", # We need this to check for the examples "frequenz-repo-config[extra-lint-examples] == 0.13.1", "pytest-mock == 3.14.0", - "pytest-asyncio == 0.25.3", - "async-solipsism == 0.7", + "pytest-asyncio == 1.1.0", + "async-solipsism == 0.8", ] dev = [ "frequenz-actor-test[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]", diff --git a/tests_golden/integration/test_cookiecutter_generation/api/frequenz-api-test/pyproject.toml b/tests_golden/integration/test_cookiecutter_generation/api/frequenz-api-test/pyproject.toml index 0a85f0ba..2937992b 100644 --- a/tests_golden/integration/test_cookiecutter_generation/api/frequenz-api-test/pyproject.toml +++ b/tests_golden/integration/test_cookiecutter_generation/api/frequenz-api-test/pyproject.toml @@ -35,15 +35,15 @@ classifiers = [ requires-python = ">= 3.11, < 4" # TODO(cookiecutter): Remove and add more dependencies if appropriate dependencies = [ - "frequenz-api-common >= 0.6.3, < 0.7.0", + "frequenz-api-common >= 0.6.3, < 1", # We can't widen beyond the current value unless we bump the minimum # requirements too because of protobuf cross-version runtime guarantees: # https://protobuf.dev/support/cross-version-runtime-guarantee/#major - "protobuf >= 5.29.3, < 7", # Do not widen beyond 7! + "protobuf >= 6.32.0, < 8", # Do not widen beyond 8! # We couldn't find any document with a spec about the cross-version runtime # guarantee for grpcio, so unless we find one in the future, we'll assume # major version jumps are not compatible - "grpcio >= 1.70.0, < 2", # Do not widen beyond 2! + "grpcio >= 1.74.0, < 2", # Do not widen beyond 2! ] dynamic = ["version"] @@ -54,34 +54,34 @@ email = "floss@frequenz.com" # TODO(cookiecutter): Remove and add more optional dependencies if appropriate [project.optional-dependencies] dev-flake8 = [ - "flake8 == 7.1.1", + "flake8 == 7.3.0", "flake8-docstrings == 1.7.0", "flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml - "pydoclint == 0.6.0", + "pydoclint == 0.6.10", "pydocstyle == 6.3.0", ] dev-formatting = ["black == 25.1.0", "isort == 6.0.0"] dev-mkdocs = [ - "Markdown == 3.7", + "Markdown == 3.8.2", "black == 25.1.0", "mike == 2.1.3", "mkdocs-gen-files == 0.5.0", - "mkdocs-literate-nav == 0.6.1", - "mkdocs-macros-plugin == 1.3.7", - "mkdocs-material == 9.6.2", - "mkdocstrings[python] == 0.28.0", - "mkdocstrings-python == 1.14.6", + "mkdocs-literate-nav == 0.6.2", + "mkdocs-macros-plugin == 1.3.9", + "mkdocs-material == 9.6.18", + "mkdocstrings[python] == 0.30.0", + "mkdocstrings-python == 1.17.0", "frequenz-repo-config[api] == 0.13.1", ] dev-mypy = [ "mypy == 1.9.0", - "grpc-stubs == 1.53.0.5", - "types-Markdown == 3.7.0.20241204", + "grpc-stubs == 1.53.0.6", + "types-Markdown == 3.8.0.20250809", # For checking the noxfile, docs/ script, and tests "frequenz-api-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-noxfile = [ - "nox == 2024.10.9", + "nox == 2025.5.1", "frequenz-repo-config[api] == 0.13.1", ] dev-pylint = [ @@ -90,8 +90,8 @@ dev-pylint = [ "frequenz-api-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-pytest = [ - "pytest == 8.3.4", - "pylint == 3.3.4", # We need this to check for the examples + "pytest == 8.4.1", + "pylint == 3.3.8", # We need this to check for the examples "frequenz-repo-config[extra-lint-examples] == 0.13.1", ] dev = [ diff --git a/tests_golden/integration/test_cookiecutter_generation/app/frequenz-app-test/pyproject.toml b/tests_golden/integration/test_cookiecutter_generation/app/frequenz-app-test/pyproject.toml index 1c8a80f3..4737b8ab 100644 --- a/tests_golden/integration/test_cookiecutter_generation/app/frequenz-app-test/pyproject.toml +++ b/tests_golden/integration/test_cookiecutter_generation/app/frequenz-app-test/pyproject.toml @@ -27,11 +27,11 @@ classifiers = [ requires-python = ">= 3.11, < 4" # TODO(cookiecutter): Remove and add more dependencies if appropriate dependencies = [ - "typing-extensions == 4.12.2", + "typing-extensions == 4.14.1", # Make sure to update the version for cross-referencing also in the # mkdocs.yml file when changing the version here (look for the config key # plugins.mkdocstrings.handlers.python.import) - "frequenz-sdk == 1.0.0rc1500", + "frequenz-sdk == 1.0.0rc2100", ] dynamic = ["version"] @@ -42,33 +42,33 @@ email = "floss@frequenz.com" # TODO(cookiecutter): Remove and add more optional dependencies if appropriate [project.optional-dependencies] dev-flake8 = [ - "flake8 == 7.1.1", + "flake8 == 7.3.0", "flake8-docstrings == 1.7.0", "flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml - "pydoclint == 0.6.0", + "pydoclint == 0.6.10", "pydocstyle == 6.3.0", ] dev-formatting = ["black == 25.1.0", "isort == 6.0.0"] dev-mkdocs = [ - "Markdown == 3.7", + "Markdown == 3.8.2", "black == 25.1.0", "mike == 2.1.3", "mkdocs-gen-files == 0.5.0", - "mkdocs-literate-nav == 0.6.1", - "mkdocs-macros-plugin == 1.3.7", - "mkdocs-material == 9.6.2", - "mkdocstrings[python] == 0.28.0", - "mkdocstrings-python == 1.14.6", + "mkdocs-literate-nav == 0.6.2", + "mkdocs-macros-plugin == 1.3.9", + "mkdocs-material == 9.6.18", + "mkdocstrings[python] == 0.30.0", + "mkdocstrings-python == 1.17.0", "frequenz-repo-config[app] == 0.13.1", ] dev-mypy = [ "mypy == 1.9.0", - "types-Markdown == 3.7.0.20241204", + "types-Markdown == 3.8.0.20250809", # For checking the noxfile, docs/ script, and tests "frequenz-app-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-noxfile = [ - "nox == 2024.10.9", + "nox == 2025.5.1", "frequenz-repo-config[app] == 0.13.1", ] dev-pylint = [ @@ -77,12 +77,12 @@ dev-pylint = [ "frequenz-app-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-pytest = [ - "pytest == 8.3.4", - "pylint == 3.3.4", # We need this to check for the examples + "pytest == 8.4.1", + "pylint == 3.3.8", # We need this to check for the examples "frequenz-repo-config[extra-lint-examples] == 0.13.1", "pytest-mock == 3.14.0", - "pytest-asyncio == 0.25.3", - "async-solipsism == 0.7", + "pytest-asyncio == 1.1.0", + "async-solipsism == 0.8", ] dev = [ "frequenz-app-test[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]", diff --git a/tests_golden/integration/test_cookiecutter_generation/lib/frequenz-test-python/pyproject.toml b/tests_golden/integration/test_cookiecutter_generation/lib/frequenz-test-python/pyproject.toml index 03916e86..1d6d5942 100644 --- a/tests_golden/integration/test_cookiecutter_generation/lib/frequenz-test-python/pyproject.toml +++ b/tests_golden/integration/test_cookiecutter_generation/lib/frequenz-test-python/pyproject.toml @@ -28,7 +28,7 @@ classifiers = [ requires-python = ">= 3.11, < 4" # TODO(cookiecutter): Remove and add more dependencies if appropriate dependencies = [ - "typing-extensions >= 4.12.2, < 5", + "typing-extensions >= 4.14.1, < 5", ] dynamic = ["version"] @@ -39,33 +39,33 @@ email = "floss@frequenz.com" # TODO(cookiecutter): Remove and add more optional dependencies if appropriate [project.optional-dependencies] dev-flake8 = [ - "flake8 == 7.1.1", + "flake8 == 7.3.0", "flake8-docstrings == 1.7.0", "flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml - "pydoclint == 0.6.0", + "pydoclint == 0.6.10", "pydocstyle == 6.3.0", ] dev-formatting = ["black == 25.1.0", "isort == 6.0.0"] dev-mkdocs = [ - "Markdown == 3.7", + "Markdown == 3.8.2", "black == 25.1.0", "mike == 2.1.3", "mkdocs-gen-files == 0.5.0", - "mkdocs-literate-nav == 0.6.1", - "mkdocs-macros-plugin == 1.3.7", - "mkdocs-material == 9.6.2", - "mkdocstrings[python] == 0.28.0", - "mkdocstrings-python == 1.14.6", + "mkdocs-literate-nav == 0.6.2", + "mkdocs-macros-plugin == 1.3.9", + "mkdocs-material == 9.6.18", + "mkdocstrings[python] == 0.30.0", + "mkdocstrings-python == 1.17.0", "frequenz-repo-config[lib] == 0.13.1", ] dev-mypy = [ "mypy == 1.9.0", - "types-Markdown == 3.7.0.20241204", + "types-Markdown == 3.8.0.20250809", # For checking the noxfile, docs/ script, and tests "frequenz-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-noxfile = [ - "nox == 2024.10.9", + "nox == 2025.5.1", "frequenz-repo-config[lib] == 0.13.1", ] dev-pylint = [ @@ -74,12 +74,12 @@ dev-pylint = [ "frequenz-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-pytest = [ - "pytest == 8.3.4", - "pylint == 3.3.4", # We need this to check for the examples + "pytest == 8.4.1", + "pylint == 3.3.8", # We need this to check for the examples "frequenz-repo-config[extra-lint-examples] == 0.13.1", "pytest-mock == 3.14.0", - "pytest-asyncio == 0.25.3", - "async-solipsism == 0.7", + "pytest-asyncio == 1.1.0", + "async-solipsism == 0.8", ] dev = [ "frequenz-test[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]", diff --git a/tests_golden/integration/test_cookiecutter_generation/model/frequenz-model-test/pyproject.toml b/tests_golden/integration/test_cookiecutter_generation/model/frequenz-model-test/pyproject.toml index bcd2216c..a377f14e 100644 --- a/tests_golden/integration/test_cookiecutter_generation/model/frequenz-model-test/pyproject.toml +++ b/tests_golden/integration/test_cookiecutter_generation/model/frequenz-model-test/pyproject.toml @@ -28,11 +28,11 @@ classifiers = [ requires-python = ">= 3.11, < 4" # TODO(cookiecutter): Remove and add more dependencies if appropriate dependencies = [ - "typing-extensions >= 4.12.2, < 5", + "typing-extensions >= 4.14.1, < 5", # Make sure to update the version for cross-referencing also in the # mkdocs.yml file when changing the version here (look for the config key # plugins.mkdocstrings.handlers.python.import) - "frequenz-sdk >= 1.0.0rc1500, < 1.0.0rc1600", + "frequenz-sdk >= 1.0.0rc2100, < 1.0.0rc2200", ] dynamic = ["version"] @@ -43,33 +43,33 @@ email = "floss@frequenz.com" # TODO(cookiecutter): Remove and add more optional dependencies if appropriate [project.optional-dependencies] dev-flake8 = [ - "flake8 == 7.1.1", + "flake8 == 7.3.0", "flake8-docstrings == 1.7.0", "flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml - "pydoclint == 0.6.0", + "pydoclint == 0.6.10", "pydocstyle == 6.3.0", ] dev-formatting = ["black == 25.1.0", "isort == 6.0.0"] dev-mkdocs = [ - "Markdown == 3.7", + "Markdown == 3.8.2", "black == 25.1.0", "mike == 2.1.3", "mkdocs-gen-files == 0.5.0", - "mkdocs-literate-nav == 0.6.1", - "mkdocs-macros-plugin == 1.3.7", - "mkdocs-material == 9.6.2", - "mkdocstrings[python] == 0.28.0", - "mkdocstrings-python == 1.14.6", + "mkdocs-literate-nav == 0.6.2", + "mkdocs-macros-plugin == 1.3.9", + "mkdocs-material == 9.6.18", + "mkdocstrings[python] == 0.30.0", + "mkdocstrings-python == 1.17.0", "frequenz-repo-config[model] == 0.13.1", ] dev-mypy = [ "mypy == 1.9.0", - "types-Markdown == 3.7.0.20241204", + "types-Markdown == 3.8.0.20250809", # For checking the noxfile, docs/ script, and tests "frequenz-model-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-noxfile = [ - "nox == 2024.10.9", + "nox == 2025.5.1", "frequenz-repo-config[model] == 0.13.1", ] dev-pylint = [ @@ -78,12 +78,12 @@ dev-pylint = [ "frequenz-model-test[dev-mkdocs,dev-noxfile,dev-pytest]", ] dev-pytest = [ - "pytest == 8.3.4", - "pylint == 3.3.4", # We need this to check for the examples + "pytest == 8.4.1", + "pylint == 3.3.8", # We need this to check for the examples "frequenz-repo-config[extra-lint-examples] == 0.13.1", "pytest-mock == 3.14.0", - "pytest-asyncio == 0.25.3", - "async-solipsism == 0.7", + "pytest-asyncio == 1.1.0", + "async-solipsism == 0.8", ] dev = [ "frequenz-model-test[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]",