diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index c0c115cb..19846555 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -2,12 +2,10 @@ ## Summary - +This release adds a new workflow for Dependabot auto-merge and updates mkdocstrings to v2. ## Upgrading - - ### Cookiecutter template All upgrading should be done via the migration script or regenerating the templates. @@ -16,9 +14,7 @@ All upgrading should be done via the migration script or regenerating the templa curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14/cookiecutter/migrate.py | python3 ``` -But you might still need to adapt your code: - - +But you might still need to adapt your code, just have a look at the script output for further instructions. ## New Features @@ -26,19 +22,13 @@ But you might still need to adapt your code: ### Cookiecutter template -- 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. +- New warning ignores for protobuf gencode versions in pytest. - Added Dependabot auto-merge workflow using `frequenz-floss/dependabot-auto-approve` action. -- Migration script now creates auto-merge workflow and disables CODEOWNERS review requirement via GitHub API. -- The `import` key in `mkdocs.yml` under `mkdocstrings` has to be renamed to `inventories`. -- The `paths` key in `mkdocs.yml` under `mkdocstrings` has to be moved from the `options` key to the `python` key. ## Bug Fixes - - ### Cookiecutter template - mkdocstrings: Move `paths` key to the right section in `mkdocs.yml`. -- Migration script: Fix invalid YAML syntax in Dependabot workflow template. +- Fix invalid YAML syntax in Dependabot workflow template. diff --git a/cookiecutter/{{cookiecutter.github_repo_name}}/pyproject.toml b/cookiecutter/{{cookiecutter.github_repo_name}}/pyproject.toml index e7b5eb45..ba211d69 100644 --- a/cookiecutter/{{cookiecutter.github_repo_name}}/pyproject.toml +++ b/cookiecutter/{{cookiecutter.github_repo_name}}/pyproject.toml @@ -5,7 +5,7 @@ requires = [ "setuptools == 75.8.0", "setuptools_scm[toml] == 8.1.0", - "frequenz-repo-config[{{cookiecutter.type}}] == 0.13.1", + "frequenz-repo-config[{{cookiecutter.type}}] == 0.14.0", {%- if cookiecutter.type == "api" %} # We need to pin the protobuf, grpcio and grpcio-tools dependencies to make # sure the code is generated using the minimum supported versions, as older @@ -101,7 +101,7 @@ dev-mkdocs = [ "mkdocs-material == 9.6.18", "mkdocstrings[python] == 1.0.0", "mkdocstrings-python == 2.0.1", - "frequenz-repo-config[{{cookiecutter.type}}] == 0.13.1", + "frequenz-repo-config[{{cookiecutter.type}}] == 0.14.0", ] dev-mypy = [ "mypy == 1.9.0", @@ -114,7 +114,7 @@ dev-mypy = [ ] dev-noxfile = [ "nox == 2025.5.1", - "frequenz-repo-config[{{cookiecutter.type}}] == 0.13.1", + "frequenz-repo-config[{{cookiecutter.type}}] == 0.14.0", ] dev-pylint = [ # dev-pytest already defines a dependency to pylint because of the examples @@ -124,7 +124,7 @@ dev-pylint = [ dev-pytest = [ "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", + "frequenz-repo-config[extra-lint-examples] == 0.14.0", {%- if cookiecutter.type != "api" %} "pytest-mock == 3.14.0", "pytest-asyncio == 1.1.0", 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 9f4daa8d..bb8c42aa 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 @@ -5,7 +5,7 @@ requires = [ "setuptools == 75.8.0", "setuptools_scm[toml] == 8.1.0", - "frequenz-repo-config[actor] == 0.13.1", + "frequenz-repo-config[actor] == 0.14.0", ] build-backend = "setuptools.build_meta" @@ -60,7 +60,7 @@ dev-mkdocs = [ "mkdocs-material == 9.6.18", "mkdocstrings[python] == 1.0.0", "mkdocstrings-python == 2.0.1", - "frequenz-repo-config[actor] == 0.13.1", + "frequenz-repo-config[actor] == 0.14.0", ] dev-mypy = [ "mypy == 1.9.0", @@ -70,7 +70,7 @@ dev-mypy = [ ] dev-noxfile = [ "nox == 2025.5.1", - "frequenz-repo-config[actor] == 0.13.1", + "frequenz-repo-config[actor] == 0.14.0", ] dev-pylint = [ # dev-pytest already defines a dependency to pylint because of the examples @@ -80,7 +80,7 @@ dev-pylint = [ dev-pytest = [ "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", + "frequenz-repo-config[extra-lint-examples] == 0.14.0", "pytest-mock == 3.14.0", "pytest-asyncio == 1.1.0", "async-solipsism == 0.8", 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 3a563d64..75a78d90 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 @@ -5,7 +5,7 @@ requires = [ "setuptools == 75.8.0", "setuptools_scm[toml] == 8.1.0", - "frequenz-repo-config[api] == 0.13.1", + "frequenz-repo-config[api] == 0.14.0", # We need to pin the protobuf, grpcio and grpcio-tools dependencies to make # sure the code is generated using the minimum supported versions, as older # versions can't work with code that was generated with newer versions. @@ -71,7 +71,7 @@ dev-mkdocs = [ "mkdocs-material == 9.6.18", "mkdocstrings[python] == 1.0.0", "mkdocstrings-python == 2.0.1", - "frequenz-repo-config[api] == 0.13.1", + "frequenz-repo-config[api] == 0.14.0", ] dev-mypy = [ "mypy == 1.9.0", @@ -82,7 +82,7 @@ dev-mypy = [ ] dev-noxfile = [ "nox == 2025.5.1", - "frequenz-repo-config[api] == 0.13.1", + "frequenz-repo-config[api] == 0.14.0", ] dev-pylint = [ # dev-pytest already defines a dependency to pylint because of the examples @@ -92,7 +92,7 @@ dev-pylint = [ dev-pytest = [ "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", + "frequenz-repo-config[extra-lint-examples] == 0.14.0", ] dev = [ "frequenz-api-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/app/frequenz-app-test/pyproject.toml b/tests_golden/integration/test_cookiecutter_generation/app/frequenz-app-test/pyproject.toml index 78c11d10..1f540a3b 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 @@ -5,7 +5,7 @@ requires = [ "setuptools == 75.8.0", "setuptools_scm[toml] == 8.1.0", - "frequenz-repo-config[app] == 0.13.1", + "frequenz-repo-config[app] == 0.14.0", ] build-backend = "setuptools.build_meta" @@ -59,7 +59,7 @@ dev-mkdocs = [ "mkdocs-material == 9.6.18", "mkdocstrings[python] == 1.0.0", "mkdocstrings-python == 2.0.1", - "frequenz-repo-config[app] == 0.13.1", + "frequenz-repo-config[app] == 0.14.0", ] dev-mypy = [ "mypy == 1.9.0", @@ -69,7 +69,7 @@ dev-mypy = [ ] dev-noxfile = [ "nox == 2025.5.1", - "frequenz-repo-config[app] == 0.13.1", + "frequenz-repo-config[app] == 0.14.0", ] dev-pylint = [ # dev-pytest already defines a dependency to pylint because of the examples @@ -79,7 +79,7 @@ dev-pylint = [ dev-pytest = [ "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", + "frequenz-repo-config[extra-lint-examples] == 0.14.0", "pytest-mock == 3.14.0", "pytest-asyncio == 1.1.0", "async-solipsism == 0.8", 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 a068f130..1789b66b 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 @@ -5,7 +5,7 @@ requires = [ "setuptools == 75.8.0", "setuptools_scm[toml] == 8.1.0", - "frequenz-repo-config[lib] == 0.13.1", + "frequenz-repo-config[lib] == 0.14.0", ] build-backend = "setuptools.build_meta" @@ -56,7 +56,7 @@ dev-mkdocs = [ "mkdocs-material == 9.6.18", "mkdocstrings[python] == 1.0.0", "mkdocstrings-python == 2.0.1", - "frequenz-repo-config[lib] == 0.13.1", + "frequenz-repo-config[lib] == 0.14.0", ] dev-mypy = [ "mypy == 1.9.0", @@ -66,7 +66,7 @@ dev-mypy = [ ] dev-noxfile = [ "nox == 2025.5.1", - "frequenz-repo-config[lib] == 0.13.1", + "frequenz-repo-config[lib] == 0.14.0", ] dev-pylint = [ # dev-pytest already defines a dependency to pylint because of the examples @@ -76,7 +76,7 @@ dev-pylint = [ dev-pytest = [ "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", + "frequenz-repo-config[extra-lint-examples] == 0.14.0", "pytest-mock == 3.14.0", "pytest-asyncio == 1.1.0", "async-solipsism == 0.8", 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 ae997a0d..9116df25 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 @@ -5,7 +5,7 @@ requires = [ "setuptools == 75.8.0", "setuptools_scm[toml] == 8.1.0", - "frequenz-repo-config[model] == 0.13.1", + "frequenz-repo-config[model] == 0.14.0", ] build-backend = "setuptools.build_meta" @@ -60,7 +60,7 @@ dev-mkdocs = [ "mkdocs-material == 9.6.18", "mkdocstrings[python] == 1.0.0", "mkdocstrings-python == 2.0.1", - "frequenz-repo-config[model] == 0.13.1", + "frequenz-repo-config[model] == 0.14.0", ] dev-mypy = [ "mypy == 1.9.0", @@ -70,7 +70,7 @@ dev-mypy = [ ] dev-noxfile = [ "nox == 2025.5.1", - "frequenz-repo-config[model] == 0.13.1", + "frequenz-repo-config[model] == 0.14.0", ] dev-pylint = [ # dev-pytest already defines a dependency to pylint because of the examples @@ -80,7 +80,7 @@ dev-pylint = [ dev-pytest = [ "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", + "frequenz-repo-config[extra-lint-examples] == 0.14.0", "pytest-mock == 3.14.0", "pytest-asyncio == 1.1.0", "async-solipsism == 0.8",