Skip to content

Releases: frequenz-floss/frequenz-repo-config-python

v0.16.0

12 Mar 09:59
Immutable release. Only release title and notes can be modified.
v0.16.0
fa0fc91

Choose a tag to compare

Frequenz Repository Configuration Release Notes

Summary

This is a maintenance, template-only, bugfix release.

Upgrading

Cookiecutter template

All upgrading should be done via the migration script or regenerating the templates.

curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.16.0/cookiecutter/migrate.py | python3

Bug Fixes

Cookiecutter template

  • Added a migration step for api repositories to fix mkdocs.yml when the previous mkdocstrings-python v2 migration moved only paths: ["src"] under handlers.python.options but not paths: ["py"].
  • Fixed runners for jobs that require Docker and where wrongly converted to ubuntu-slim in v0.15.0, changing them back to ubuntu-24.04 to avoid Docker-related failures. The template and the migration script were both updated to reflect this change.
  • Updated the repo-config migration workflow template and migration script so existing repositories also add the merge_group trigger and skip the job unless the event is pull_request_target, allowing the workflow to be used as a required merge-queue check.
  • Added a migration step to remove the copilot review request from the Protect version branch protection rules. This was also done by v0.15.0 in theory, but the migration step was wrong and didn't update it properly.

What's Changed

  • Fix mkdocs python path for API repos by @llucax in #534
  • migrate: Update runners for Docker jobs by @llucax in #536
  • ci: Trigger repo-config migration in merge queue by @llucax in #537
  • migrate: Fix version ruleset copilot removal by @llucax in #535
  • Prepare for the v0.16.0 release by @llucax in #538

Full Changelog: v0.15.1...v0.16.0

v0.15.1

05 Mar 10:21
Immutable release. Only release title and notes can be modified.
v0.15.1
a5bcbaa

Choose a tag to compare

Frequenz Repository Configuration Release Notes

Note

This is a bugfix release for v0.15.0. This release was never published to PyPI, so we keep the entire release notes for v0.15.0 here (updated to the new changes) to make it easier for users to upgrade from v0.14.0 to v0.15.x.

The only change with respect to v0.15.0 is using the appropriate job runner for the publish-to-pypi job in ci.yaml. v0.15.0 updated it to ubuntu-slim but that didn't work because it requires Docker, and it is not installed on the ubuntu-slim runner.

Summary

This release reduces CI cost by moving lightweight GitHub Actions jobs to the new ubuntu-slim runner, fixes Dependabot auto-merge/merge-queue issues by switching to a GitHub App installation token, and introduces an automated repo-config migration workflow (including updating existing repos' version-branch protection defaults).

Upgrading

Cookiecutter template

All upgrading should be done via the migration script or regenerating the templates.

curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.15.0/cookiecutter/migrate.py | python3

But you might still need to adapt your code:

New Features

Cookiecutter template

  • Migrated lightweight workflow jobs to use the new ubuntu-slim runner for cost savings.
    The following jobs now use ubuntu-slim:

    • ci.yaml: protolint, nox-all, test-installation-all, create-github-release
    • ci-pr.yaml: protolint
    • auto-dependabot.yaml: auto-merge
    • release-notes-check.yml: check-release-notes
    • dco-merge-queue.yml: DCO
    • labeler.yml: Label
  • Migrated the publish-to-pypi job in ci.yaml from ubuntu-latest to ubuntu-24.04 to get reproducible builds.

  • Added the flake8-datetimez plugin to the flake8 session. This plugin prevents accidental use of naive datetime objects by flagging calls that create or return datetimes without timezone information.

  • The CI workflow now uses a simpler matrix.

  • Added repo-config-migration.yaml workflow that automatically runs the migration script, commits changes, posts results, and auto-approves/merges only when no migration commit is created.

    The workflow handles multi-version jumps by running each intermediate migration in sequence. The migration script output is posted as a PR comment and in the job summary. PRs with migration commits stay open for manual approval and merge. PRs that need manual intervention fail the job until a human completes the steps and signals resolution by removing the tool:repo-config:migration:intervention-pending label or adding the tool:repo-config:migration:intervention-done label.

  • The auto-dependabot.yaml workflow now skips repo-config group PRs, which are handled by the new migration workflow instead.

  • Updated the default "Protect version branches" ruleset to require the new Migrate Repo Config status check, which is added by the migration workflow to PRs that need manual intervention. This prevents merging PRs that require manual migration steps until those steps are completed and the check passes. Also removed the required code-owner approval and automatic Copilot review request.

Bug Fixes

Cookiecutter template

  • Switched project.license to SPDX expressions and added project.license-files. This removes deprecated setuptools license metadata and avoids build warnings.

  • Fixed auto-dependabot workflow failing to trigger merge queue CI or complete auto-merge. The workflow now uses a GitHub App installation token (via actions/create-github-app-token) instead of GITHUB_TOKEN, which was suppressing subsequent workflow runs by design. Workflow permissions have been reduced to the minimum needed for the workflow (contents: read and pull-requests: write).

  • Fix dependabot group patterns for repo-config and mkdocstrings.

What's Changed

  • ci: Fix runner for publish-to-pypi by @llucax in #532

Full Changelog: v0.15.0...v0.15.1

v0.15.0

05 Mar 08:46
Immutable release. Only release title and notes can be modified.
v0.15.0
13ff74d

Choose a tag to compare

Frequenz Repository Configuration Release Notes

Summary

This release reduces CI cost by moving lightweight GitHub Actions jobs to the new ubuntu-slim runner, fixes Dependabot auto-merge/merge-queue issues by switching to a GitHub App installation token, and introduces an automated repo-config migration workflow (including updating existing repos' version-branch protection defaults).

Upgrading

Cookiecutter template

All upgrading should be done via the migration script or regenerating the templates.

curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.15.0/cookiecutter/migrate.py | python3

But you might still need to adapt your code:

New Features

Cookiecutter template

  • Migrated lightweight workflow jobs to use the new ubuntu-slim runner for cost savings.
    The following jobs now use ubuntu-slim:

    • ci.yaml: protolint, nox-all, test-installation-all, create-github-release, publish-to-pypi
    • ci-pr.yaml: protolint
    • auto-dependabot.yaml: auto-merge
    • release-notes-check.yml: check-release-notes
    • dco-merge-queue.yml: DCO
    • labeler.yml: Label
  • Added the flake8-datetimez plugin to the flake8 session. This plugin prevents accidental use of naive datetime objects by flagging calls that create or return datetimes without timezone information.

  • The CI workflow now uses a simpler matrix.

  • Added repo-config-migration.yaml workflow that automatically runs the migration script, commits changes, posts results, and auto-approves/merges only when no migration commit is created.

    The workflow handles multi-version jumps by running each intermediate migration in sequence. The migration script output is posted as a PR comment and in the job summary. PRs with migration commits stay open for manual approval and merge. PRs that need manual intervention fail the job until a human completes the steps and signals resolution by removing the tool:repo-config:migration:intervention-pending label or adding the tool:repo-config:migration:intervention-done label.

  • The auto-dependabot.yaml workflow now skips repo-config group PRs, which are handled by the new migration workflow instead.

  • Updated the default "Protect version branches" ruleset to require the new Migrate Repo Config status check, which is added by the migration workflow to PRs that need manual intervention. This prevents merging PRs that require manual migration steps until those steps are completed and the check passes. Also removed the required code-owner approval and automatic Copilot review request.

Bug Fixes

Cookiecutter template

  • Switched project.license to SPDX expressions and added project.license-files. This removes deprecated setuptools license metadata and avoids build warnings.

  • Fixed auto-dependabot workflow failing to trigger merge queue CI or complete auto-merge. The workflow now uses a GitHub App installation token (via actions/create-github-app-token) instead of GITHUB_TOKEN, which was suppressing subsequent workflow runs by design. Workflow permissions have been reduced to the minimum needed for the workflow (contents: read and pull-requests: write).

  • Fix dependabot group patterns for repo-config and mkdocstrings.

What's Changed

  • CONTRIBUTING.md: Document cookiecutter workflow by @llucax in #493
  • Clear release notes by @llucax in #491
  • Add AGENTS.md by @llucax in #494
  • Use ubuntu-slim for lightweight jobs by @llucax in #496
  • Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #498
  • Replace deprecated setuptools options by @llucax in #503
  • Bump setuptools from 80.9.0 to 80.10.2 in the minor group by @dependabot[bot] in #500
  • Improve migration script results reporting by @llucax in #507
  • template: Add flake8-datetimez by @llucax in #506
  • Use GitHub app credentials for auto-dependabot by @llucax in #508
  • Fix dependabot-auto-approve version by @llucax in #510
  • Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #497
  • Bump the patch group across 1 directory with 4 updates by @dependabot[bot] in #509
  • Fix dependabot repo-config and mkdocstrings groups by @llucax in #512
  • Bump frequenz-floss/gh-action-setup-python-with-deps from 1.0.1 to 1.0.2 in the compatible group by @dependabot[bot] in #513
  • Bump mkdocs-material from 9.7.1 to 9.7.2 in the patch group by @dependabot[bot] in #514
  • Bump nox from 2025.11.12 to 2026.2.9 by @dependabot[bot] in #515
  • Update types-setuptools requirement from <81,>=67.6.0 to >=67.6.0,<83 by @dependabot[bot] in #516
  • Bump black from 25.12.0 to 26.1.0 by @dependabot[bot] in #501
  • Simplify CI job matrix by @llucax in #511
  • Bump setuptools from 80.10.2 to 82.0.0 by @dependabot[bot] in #517
  • Fix tests by adding dependency constraint by @llucax in #528
  • Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #522
  • Only apply ubuntu-slim to publish-to-pypy for public repos by @llucax in #525
  • Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #521
  • Bump the patch group with 3 updates by @dependabot[bot] in #523
  • Bump frequenz-floss/dependabot-auto-approve from 1.4.0 to 1.5.0 in the compatible group by @dependabot[bot] in #520
  • Bump isort from 7.0.0 to 8.0.1 by @dependabot[bot] in #524
  • Add repo-config auto-migration workflow by @llucax in #519
  • Improve "Protect version branches" ruleset by @llucax in #529
  • Prepare for the v0.15.0 release by @llucax in #530

Full Changelog: v0.14.0...v0.15.0

v0.14.0

16 Jan 13:00
Immutable release. Only release title and notes can be modified.
v0.14.0
a72bd53

Choose a tag to compare

Frequenz Repository Configuration Release Notes

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.

curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py | python3

But you might still need to adapt your code, just have a look at the script output for further instructions.

New Features

  • mkdocsstrings-python v2 is now supported.

Cookiecutter template

  • 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.

Bug Fixes

Cookiecutter template

  • mkdocstrings: Move paths key to the right section in mkdocs.yml.
  • Fix invalid YAML syntax in Dependabot workflow template.

What's Changed

  • Bump types-pyyaml from 6.0.12.20250402 to 6.0.12.20250516 by @dependabot[bot] in #410
  • Bump the patch group with 2 updates by @dependabot[bot] in #408
  • Bump the minor group with 2 updates by @dependabot[bot] in #409
  • Improve filtering of warnings in pytest by @llucax in #411
  • Fix mkdocsstrings config by @llucax in #412
  • Merge v0.13.x into v0.x.x by @llucax in #420
  • Bump the patch group with 3 updates by @dependabot[bot] in #424
  • Bump the minor group with 2 updates by @dependabot[bot] in #423
  • Update templates dependencies by @llucax in #431
  • Bump types-markdown from 3.8.0.20250415 to 3.8.0.20250708 by @dependabot[bot] in #430
  • Bump mypy from 1.16.1 to 1.17.1 in the minor group by @dependabot[bot] in #428
  • Bump the mkdocstrings group across 1 directory with 2 updates by @dependabot[bot] in #432
  • Bump the patch group across 1 directory with 3 updates by @dependabot[bot] in #433
  • Bump the compatible group with 2 updates by @dependabot[bot] in #426
  • Bump mkdocstrings-python from 1.17.0 to 1.18.2 in the mkdocstrings group by @dependabot[bot] in #440
  • Bump types-pyyaml from 6.0.12.20250516 to 6.0.12.20250822 by @dependabot[bot] in #439
  • Bump actions/download-artifact from 4 to 5 in the artifacts group by @dependabot[bot] in #438
  • Bump types-colorama from 0.4.15.20240311 to 0.4.15.20250801 by @dependabot[bot] in #436
  • Bump actions/checkout from 4 to 5 by @dependabot[bot] in #437
  • Bump pydoclint from 0.6.6 to 0.6.11 by @dependabot[bot] in #434
  • Bump setuptools-scm[toml] from 8.3.1 to 9.2.0 by @dependabot[bot] in #435
  • Bump the minor group with 5 updates by @dependabot[bot] in #452
  • Bump types-pyyaml from 6.0.12.20250822 to 6.0.12.20250915 by @dependabot[bot] in #454
  • Bump the patch group across 1 directory with 4 updates by @dependabot[bot] in #455
  • Bump actions/labeler from 5.0.0 to 6.0.1 by @dependabot[bot] in #450
  • Bump pydoclint from 0.6.11 to 0.7.3 by @dependabot[bot] in #453
  • Support pylint 4 by @Marenz in #457
  • Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #459
  • Bump isort from 6.0.1 to 7.0.0 by @dependabot[bot] in #464
  • Bump nox from 2025.5.1 to 2025.10.16 in the minor group by @dependabot[bot] in #462
  • Add Dependabot auto-merge workflow and migration script by @Marenz in #466
  • Fix invalid YAML formatting in Dependabot workflow template by @Marenz in #469
  • Bump actions/checkout from 5 to 6 by @dependabot[bot] in #476
  • Bump the patch group across 1 directory with 3 updates by @dependabot[bot] in #478
  • Add support for mkdocstrings-python v2 by @llucax in #481
  • Merge v0.13.8 into v0.x.x by @llucax in #480
  • Bump the minor group with 7 updates by @dependabot[bot] in #488
  • Bump pytest from 9.0.1 to 9.0.2 in the patch group by @dependabot[bot] in #487
  • Bump frequenz-floss/gh-action-nox from 1.0.1 to 1.1.0 in the compatible group by @dependabot[bot] in #475
  • Bump pydoclint from 0.7.3 to 0.8.3 by @dependabot[bot] in #477
  • Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #460
  • Prepare for release v0.14.0 by @llucax in #490
  • Update mypy-protobuf requirement from <4,>=3.0.0 to >=3.0.0,<5 by @dependabot[bot] in #489

Full Changelog: v0.13.8...v0.14.0

v0.13.8

04 Dec 12:25
Immutable release. Only release title and notes can be modified.
v0.13.8
9a2dfa2

Choose a tag to compare

Frequenz Repository Configuration Release Notes

New Features

  • mkdocs-gen-files v0.6 is now supported.

What's Changed

  • Add support for mkdocs-gen-files v0.6 by @llucax in #479

Full Changelog: v0.13.7...v0.13.8

v0.13.7

27 Nov 14:08
Immutable release. Only release title and notes can be modified.
v0.13.7
eccf57f

Choose a tag to compare

Frequenz Repository Configuration Release Notes

New Features

  • Pytest v9.x is now supported.

What's Changed

  • Widen pytest version upper bound to accept v9.x by @llucax in #473

Full Changelog: v0.13.6...v0.13.7

v0.13.6

21 Oct 09:17
Immutable release. Only release title and notes can be modified.
v0.13.6
51a970d

Choose a tag to compare

Frequenz Repository Configuration Release Notes

New Features

  • Pylint4 is now supported.

Cookiecutter template

  • Dependencies have been updated.

What's Changed

Full Changelog: v0.13.5...v0.13.6

v0.13.5

16 Jun 12:58
v0.13.5
0da3bdb

Choose a tag to compare

Frequenz Repository Configuration Release Notes

Bug Fixes

  • Fixed some typos in the docs.

  • Fixed wrong comparison for mike versions when versions were equal.

  • Fixed version regex escaping of .. This means that a version like v0x1e1 were accepted as valid semver versions. Now this version is not considered a semver version anymore.

  • setuptools.grpc_tools: Fix wrong passing of include paths when passed via:

    • Command-line: Now extra white-spaces and empty strings are removed, before they were passed to protoc -I.
    • pyproject.toml: Now an empty array/list can be passed to override the default paths, before this resulted in an empty string being passed to protoc -I.

What's Changed

Full Changelog: v0.13.4...v0.13.5

v0.13.4

05 May 10:25
v0.13.4
78ec787

Choose a tag to compare

Frequenz Repository Configuration Release Notes

Summary

This release just widens the setuptools dependency to allow for version 80.x.

What's Changed

Full Changelog: v0.13.3...v0.13.4

v0.13.3

23 Apr 08:48
v0.13.3
3fbbfd8

Choose a tag to compare

Frequenz Repository Configuration Release Notes

This version only widens the setuptools dependency to support 79.x.

What's Changed

  • Clear release notes and migration script by @llucax in #389
  • Bump, widen and fix setuptools dependency by @llucax in #392

Full Changelog: v0.13.2...v0.13.3