Skip to content

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

v0.13.5

16 Jun 12:58
v0.13.5
0da3bdb
Compare
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
Compare
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
Compare
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

v0.13.2

08 Apr 11:40
v0.13.2
b698be0
Compare
Choose a tag to compare

Bug Fixes

  • Fix setuptools dependency range so it is possible to use the latest setuptools version.

What's Changed

Full Changelog: v0.13.1...v0.13.2

v0.13.1

29 Mar 22:49
v0.13.1
60cc5cb
Compare
Choose a tag to compare

Frequenz Repository Configuration Release Notes

Bug Fixes

Cookiecutter template

  • Fix the repo-config version number that was outdated.

What's Changed

  • Fix the outdated version number in the template by @llucax in #380
  • Clear release notes and migration script by @llucax in #378
  • Bump the patch group across 1 directory with 6 updates by @dependabot in #379

Full Changelog: v0.13.0...v0.13.1

v0.13.0

29 Mar 22:10
v0.13.0
4233bc8
Compare
Choose a tag to compare

Frequenz Repository Configuration Release Notes

Summary

This release improves dependabot groups, so it is less likely that breaking updates are grouped with non-breaking updates and upgrades the GitHub workflows to use more actions, run PR checks faster and use Ubuntu 24.04 instead of 20.04.

Upgrading

Cookiecutter template

  • Branch protection rule Protect version branches was updated, please re-import it following the instructions.

Important

For api projects make sure to require the Check proto files with protolint status check too, which is not included by the provided ruleset by default.

All other 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.13.0/cookiecutter/migrate.py | python3

But you might still need to adapt your code:

  • The new workflows will test using Python 3.12 too, if your code is not compatible with it, you might need to fix it, or you can just remove the Python 3.12 from the test matrix if you need a quick fix. For example, the typing-extension library is compatible with Python 3.12 from version 4.6.0, so you might need to upgrade it if you are using it.
  • Check the new dependabot configuration file if you customized the dependabot configuration for the pip ecosystem.
  • Add exclusions for any other dependency you have at v0.x.x or that breaks frequently, so dependabot PRs are easy to merge.

New Features

Cookiecutter template

  • Dependabot config now uses a new grouping that should make upgrades more smooth.

    • We group patch updates as they should always work.
    • We also group minor updates, as it works too for most libraries, typically except libraries that don't have a stable release yet (v0.x.x branch), so we make some exceptions for them.
    • Major updates and dependencies excluded by the above groups are still managed, but they'll create one PR per dependency, as breakage is expected, so it might need manual intervention.
    • Finally, we group some dependencies that are related to each other, and usually needs to be updated together.
  • The GitHub workflows is now split into PRs and CI workflows.

    These new workflows also start using a new reusable gh-action-nox, native arm runners and Ubuntu 24.04, as Ubuntu 20.04 will be removed from GitHub runners by April's 1st. Python 3.12 is also added to the test matrix.

    The PR action is more lightweight, and only tests with one matrix (the most widely used), so PRs can be tested more quickly.

    The push workflow does a more intense testing with all matrix combinations. This also runs for the merge queue, so before PRs are actually merged the tests will run for the complete matrix.

  • The Python Protect version branches branch protection rule now request review to Copilot by default.

What's Changed

  • Clear release notes and migration script by @llucax in #362
  • Bump nox from 2024.10.9 to 2025.2.9 by @dependabot in #364
  • Exclude frequenz-repo-config from dependabot grouping by @llucax in #368
  • Update types-setuptools requirement from <76,>=67.6.0 to >=67.6.0,<78 by @dependabot in #374
  • Bump setuptools from 75.8.0 to 78.1.0 by @dependabot in #377
  • Bump the mkdocstrings group with 2 updates by @dependabot in #372
  • Bump types-pyyaml from 6.0.12.20241230 to 6.0.12.20250326 by @dependabot in #373
  • Use new split workflow Ubuntu 24.04 in workflows by @llucax in #369

Full Changelog: v0.12.3...v0.13.0

v0.12.3

27 Feb 11:06
v0.12.3
3fc1a3b
Compare
Choose a tag to compare

Frequenz Repository Configuration Release Notes

Enhancements

  • Add tips for Mac users in the upgrading section of the documentation.
  • Add a final note letting the user know the script run finished in the migration script.

Bug Fixes

Cookiecutter template

  • Fixed an outdated link to instructions on how to continue when the cookiecutter template generation finishes.

What's Changed

  • Clear release notes by @llucax in #356
  • Update link in cookiecutter end instructions by @llucax in #360
  • Add notes to the upgrading section and a comment that the script finished by @TalweSingh in #358

New Contributors

Full Changelog: v0.12.2...v0.12.3

v0.12.2

11 Feb 13:30
v0.12.2
0704c59
Compare
Choose a tag to compare

Frequenz Repository Configuration Release Notes

Bug Fixes

  • Update dependencies for templates and docs to the latest patch version.

What's Changed

  • Update the dependency to the latest patch version by @llucax in #355

Full Changelog: v0.12.1...v0.12.2

v0.12.1

11 Feb 12:44
v0.12.1
862eb5b
Compare
Choose a tag to compare

Frequenz Repository Configuration Release Notes

Upgrading

Even if this is a patch release, it will require a dependency bump for mkdocstrings-python to v1.14.6 or newer, but since these are only dev dependencies and things will break if you update the dependencies anyway, it seems like a reasonable trade-off.

Bug Fixes

  • The new mkdocstrings-macros pluglet didn't work with the latest mkdocstrings-python version.

What's Changed

  • Fix the mkdocstrings-macros pluglet by @llucax in #352

Full Changelog: v0.12.0...v0.12.1

v0.12.0

10 Feb 14:06
v0.12.0
7d21f0b
Compare
Choose a tag to compare

Frequenz Repository Configuration Release Notes

Summary

This release introduces a new MkDocs macros pluglet system that simplifies documentation setup and provides enhanced functionality for version information and code annotations. It also includes changes to how pytest warnings are handled in templates.

Upgrading

  • The nox default pytest session doesn't pass -W=all -vv to pytest anymore. You can use the pyproject.toml file to configure default options for pytest, for example:

    [tool.pytest.ini_options]
    addopts = "-W=all -Werror -Wdefault::DeprecationWarning -Wdefault::PendingDeprecationWarning -vv"

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.12.0/cookiecutter/migrate.py | python3

But you might still need to adapt your code:

  • pytest now uses -Werror by default (but still treat deprecations as normal warnings), so if your tests run with warnings, they will now be turned to errors, and you'll need to fix them.

  • Projects using docs/_scripts/macros.py with customized scripts can use the new provided utility functions. See the mkdocstrings_macros documentation for the new features and setup.

New Features

  • Two new modules were introduced to facilitate the configuration of macros for use within docstrings via mkdocstrings: mkdocstrings_macros and annotations.

Cookiecutter template

  • pytest now uses -Werror -Wdefault::DeprecationWarning -Wdefault::PendingDeprecationWarning by default. Deprecations are still treated as warnings, as when testing with the pytest_min session is normal to get deprecation warnings as we are using old versions of dependencies.

Bug Fixes

Cookiecutter template

  • Fixed a compatibility issue in the macros doc script with mkdocsstrings 0.28.

What's Changed

Full Changelog: v0.11.0...v0.12.0