Changelog#

2.6.0 (2026-03-16)#

Bug fixes:#

  • Allow maintenance branches to run GHA workflows from meta.yml @gforcada #337

  • Add workflow_dispatch trigger for generated test-matrix workflows. @mauritsvanrees

Internal:#

  • Remove outdated GitHub workflow @gforcada

Documentation:#

  • Add documentation following Diataxis framework @jensens

Tests:#

  • Add test suite and code coverage @jensens @gforcada

2.5.1 (2026-03-09)#

Bug fixes:#

  • Bump isort version @gforcada

2.5.0 (2026-03-09)#

New features:#

  • Update black and pyupgrade to use the lowest python version supported from the test matrix @gforcada #285

  • Detect upper bound for setuptools in build-system. For pkg_resources namespaces, use setuptools<82, otherwise setuptools<83. @mauritsvanrees

Bug fixes:#

  • Add missing newline on news entry files @gforcada

  • Adjust indentation on gitlab-ci.yml @gforcada

  • Do not add trailing colons on changes subheadings @gforcada

  • GHA: Fix platforms input not being passed to docker/build-push-action. @ericof

2.4.0 (2026-02-27)#

New features:#

  • Add Python 3.14 to the test matrix of Plone 6.2. @mauritsvanrees

  • Add option use_test_matrix, default true. When false, don’t use the test matrix.

  • Switch to Debian Trixie, more updates to Python 3.14.

    Use Debian Trixie for all Platforms, remove the 3.9 image reference and add more updates Python 3.14 support. [thet]

Bug fixes:#

  • Set constrain_package_deps to true when not explicitly set, even when using mxdev. @mauritsvanrees #316

  • Add tox option skip_test_extra. Packages that don’t have the standard test extra should set this option. Otherwise tests fail latest tox. @mauritsvanrees #325

2.3.2 (2026-02-11)#

Bug fixes:#

  • Handle repositories without towncrier, when converting them to native namespace @gforcada #312

  • pin setuptools to version < 82.0.0 in the tox-qa template [testenv:dependencies] this fix ModuleNotFoundError: No module named 'pkg_resources' if run tox -e dependencies in a project z3c.dependencychecker is not ready for PEP 420 native namespace @1letter #320

2.3.1 (2025-12-15)#

Bug fixes:#

  • Remove Python 3.9 from testing matrix as it went EOL @gforcada

  • Update GHA version pins @gforcada

2.3.0 (2025-12-06)#

New features:#

  • Replace pkg_resources namespace with PEP 420 native namespace. Support only Plone 6.2 and Python 3.10+. #3928

2.2.2 (2025-11-11)#

Bug fixes:#

  • switch-to-pep420 script: remove setuptools dependency. @mauritsvanrees #3982

2.2.1 (2025-11-08)#

Bug fixes:#

  • Fix switch to native namespace script to expect bumpversion to be globally available @gforcada

2.2.0 (2025-11-08)#

New features:#

  • Add and adapt switch-to-pep420 script from zope meta. #3982

  • Setup uv in frontend shared workflows – used by repoplone. @ericof

  • Support github options extra_lines and extra_lines_after_os_dependencies. @mauritsvanrees

Bug fixes:#

  • Do not add test_deps_additional to circular and release-check tox envs. @mauritsvanrees #293

2.1.0 (2025-09-12)#

New features:#

  • Support combinations of multiple versions of Plone and Python in tox. @gforcada #234

  • Add Plone 6.2 on the default test matrix generated by plone.meta @gforcada #255

  • Add reusable workflows and composite actions to be used with projects generate via Cookieplone. @ericof #277

  • Test matrix: allow specifying ["*"] as Python list. We replace it with the default Python versions list supported on the given Plone version. @mauritsvanrees

Bug fixes:#

  • Handle custom test_matrix with only a single Python version @gforcada #260

  • Restrict setuptools to less than 80 when building a package. Require wheel as well in the build-system. See also pep 517 and pep 518. [maurits] #267

  • Fix testing with PyPy in the testing matrix.

Documentation:#

  • Add an upgrade guide. @gforcada #234

  • Document the new composite actions and reusable workflows. @ericof #277

2.0.0 (2025-02-11)#

New features#

  • Allow to configure extra options on i18ndude’s pre-commit configuration @Akshat2Jain #133

  • Install browsers (for playwright) on packages that run plone.app.robotframework tests @gforcada #155

  • Allow setting GHA environment variables @ericof #164

  • Implement conditional towncrier configuration depending on existing news/ folder @petschki #170

  • Allow customizing enabled gitlab-ci jobs @petschki #171

  • In generated pyproject.toml files, add build-system requiring setuptools 68.2+. Also, build the package in isolation, so the build is free to use the required setuptools version. This combination fixes possible ModuleNotFoundErrors for plone.app.* packages @mauritsvanrees #172

  • Ignore .*project in git @wesleybl #179

  • tox: allow to configure what gets in testenv environment @gforcada #185

  • Configure dependabot to get GHA updates. @gforcada #201

  • GHA: Allow to run tox -e test with multiple python versions @gforcada #210

  • Made pytest-plone test dependency in tox.ini optional. Specify use_pytest_plone = false if you don’t want to use it. Also added check_manifest_extra_lines for pyproject.toml, you can use it for specifying corner cases like ignore-bad-ideas @reinout #212

  • Use tomlkit for TOML read/write operations it allow custom regexes with backslahes in meta.toml it is a port of https://github.com/zopefoundation/meta/pull/215 #229

  • Turn this repository into a proper Python distribution. @gforcada #239

  • Make plone.meta an actual python distribution releasable in PyPI @gforcada #248

  • When creating a branch, use the git commit hash from meta repository @gforcada

Bug fixes#

  • Only run a GHA on Linux, while we wait for a counterpart for Windows @gforcada #180

  • Moved inline comments in .editorconfig to their own lines: the spec at https://spec.editorconfig.org/#no-inline-comments forbids it @reinout #208

  • Stop relying on GitHub repository/organization variables @gforcada #210

  • Preventing lines with only spaces in the generated tox.ini @reinout #212

  • On .meta.toml file installed by plone.meta, write plone.meta’s version on commit-id rather than a commit. We are no longer running plone.meta out of a checkout, but rather from a release version @gforcada #248

  • Fix dependabot.yml location @gforcada #252

  • Do not track packages on packages.txt by default @gforcada

  • Ensure that prettier’s default line length is respected @gforcada

  • Mark old shared-workflows GHA as deprecated @gforcada

Internal#

  • Add .gitignore @wesleybl #178

  • Editorconfig: Restructure the frontend config.

    • Add an xml type to the xml section.

    • Move the HTML type to the xml section.

    This allows more easily for frontend related files except HTML files to be reconfigured for an 4-space indentation. 4 spaces for JS/CSS related code is the default style in Patternslib/Mockup. style @thet #197

Documentation#

  • Add a note on how to disable i18ndude checks. Add a note on how to apply a customized configuration. @thet #200

1.0.0 (2023-07-12)#

New features:#

  • Allow passing arguments to tox -e test. [@mauritsvanrees] #0

  • Run robot tests as well (pass --all to zope.testrunner) [@mauritsvanrees] #0

  • Generate XML coverage reports. [@gforcada] #0

  • Handle repositories that do not have towncrier configured. [@petschki] #0

  • Add skip option to codespell. [@petschki] #0

  • Fix deletion of old files. [@mauritsvanrees] #0

  • Use pre-commit to manage most of QA/linting tools. [@mauritsvanrees] #0

  • Make tox fail if the environment is not defined. [@mauritsvanrees] #0

  • Allow to install extra dependencies on tox environments. [@gforcada] #0

  • Allow updating the current branch, rather than creating a new one. [@mauritsvanrees] #0

  • Update pre-commit configuration. [@ale-rt] #0

  • Allow repositories to not be recorded in packages.txt. [@gforcada] #0

  • Report branch coverage. [@gforcada] #0

  • Major update on the documentation. [@gforcada] #0

  • Decide on standard towncrier snippets. [@gforcada] #2

  • Do not push repository changes by default. [@gforcada] #3

  • Do not run tox in parallel mode, when first configuring a repository. [@gforcada] #4

  • New linting tool: check-manifest. [@gforcada] #6

  • Use git ls-files to get the files that need to be linted. [@gforcada] #11

  • Display project dependencies in a visual graph. [@gforcada] #14

  • Run distributions’ tests. [@gforcada] #15

  • Add automatic (towncrier) news entry when configuring a repository. [@gforcada] #20

  • Keep setup.metadata and setup.options in .meta.toml. [@mauritsvanrees] #24

  • Add another linter: pyroma. [@gforcada] #28

  • Analyze package dependencies with z3c.dependencychecker. [@gforcada] #34

  • New formatter: zpretty. [@gforcada] #35

  • New linter: pipforester (find circular dependencies). [@gforcada] #42

  • New linter: check-python-versions [@gforcada] #44

  • Generate coverage reports. [@gforcada] #45

  • Support markdown for towncrier news snippets. [@gforcada] #49

  • Add default dependency mappings for z3c.dependencychecker. [@gforcada] #52

  • New linter: i18ndude. [@gforcada] #60

  • Manage .gitignore as well. [@gforcada] #62

  • Allow to configure OS dependencies to be installed (for CI jobs). [@gforcada] #65

  • Allow to specify extra configuration options for flake8, like exclude files, plugins, etc.. [@gforcada] #71

  • Show coverage reports on GHA job summaries. [@gforcada] #72

  • Improve documentation of all options, and ensure all options are documented. [@gforcada] #82

  • Do not rely on a centralized workflow, but rather install shim GHA workflows. [@gforcada] #87

  • New linter: twine to ensure repositories are always ready to be released. [@gforcada] #98

  • Automatically detect if pytest or zope.testrunner is used. [@ericof] #120

  • Add support for GitLab CI. [@gforcada] #131

  • Allow to extend all sections of pyproject.toml. [@gforcada] #135

  • Allow to specify a custom constraints.txt for tox environments to use. [@gforcada] #136

  • Allow to specify environment variables on tox.ini. [@gforcada] #143

  • Allow to specify towncrier issue format. [@ericof] #147

  • Allow to customize GHA shim. [@ericof] #150

  • Add mxdev support. [@ericof] #151

Bug fixes:#

  • Do not ignore setuptools on plone.base mapping. [@mauritsvanrees] #0

  • Use constrain_package_deps = true on tox.ini. [@mauritsvanrees] #0

  • Fix changelog template to have a leading dot. [@mauritsvanrees] #0

  • Add ExtensionClass namespaces on Zope mapping. [@jensens] #0

  • Update .gitignore defaults. [@petschki] #0, #111

  • Ignore tox.ini from check-manifest. [@gforcada] #5

  • Adjust flake8 configuration to be compatible with black. [@mauritsvanrees] #23

  • Allow to configure codespell to ignore some words. [@gforcada] #29

  • Specify, on pyupgrade, which python version to lint. [@mauritsvanrees] #41

  • Add a missing codespell dependency. [@gforcada] #47

  • Move check-manifest configuration over to pyproject.toml. [@gforcada] #56

  • Improve codespell default configuration options by providing sane defaults. [@gforcada] #57

  • Enforce pipforester to be run always. [@gforcada] #77

  • Do not install dependencies on z3c.dependencychecker tox environment. [@gforcada] #84

  • Ignore coverage errors when generating reports. [@mauritsvanrees] #110

  • Update .editorconfig defaults. [@ericof] #116

  • Update .gitignore defaults. [@ericof] #123