2.9 (2026-03-01)¶
New Linting Checks¶
Thirteen new linting checks have been added when using the
lint action:
releng-tool lint
An overall summary of additions includes:
Notify use of deprecated configurations.
Notify use of development-mode package configurations for packages which do not configure a development revision.
Various checks for package/feature-specific configurations when a given package/VCS/feature type is not applicable (e.g. attempting to use Git-related features for a non-Git VCS type package).
This change drops some warnings that were originally presented in a default releng-tool run to now only show in a lint request.
Support for Development Mode Patching¶
Developers may now utilizing patching support for packages with a development revision. Historically, patches would only be aimed to run for non-development revisions as a way to support delays in patch application for upstream release versions. However, maintainers of a releng-tool project may also experience the same delays when waiting for the application of packages on development streams they cannot control. With this release, developers will have new options to hint whether or not patches are applied to a package no matter what mode is configured.
The default patching strategy has not changed from previous releases. Patches for a package are still automatically detected and applied for non-development revisioned packages.
If a developer now wishes to apply patches for a package with a development
mode revision, the LIBFOO_DEVMODE_PATCHES option
can now be used. For example:
LIBFOO_DEVMODE_REVISION = 'feature/alpha'
LIBFOO_DEVMODE_PATCHES = True
When operating in development mode, the libfoo
package will utilize the feature/alpha branch and will automatically apply
patches to the cloned sources during the patching stage. The patch
configuration also supports pattern matching to have only specific or a
wildcard of patches to apply. For example:
LIBFOO_DEVMODE_PATCHES = [
'005-correct-cint-usage.patch',
'007-remove-broken-mode.patch',
]
With the ability to support patching packages in development mode,
developers utilizing this feature may now need to configure packages to not
apply for a standard build. To support this, the configuration option
LIBFOO_IGNORE_PATCHES has been introduced.
If a developer wants to have new patches applied to only in a development mode
context, the following configuration can be used:
LIBFOO_DEVMODE_REVISION = 'feature/bravo'
LIBFOO_DEVMODE_PATCHES = True
LIBFOO_IGNORE_PATCHES = True
Normal builds will now not apply any patches to libfoo by default, and only
apply changes when in a development mode. This option also supports patterns
to allow ignoring only specific patches for a normal build. For example:
LIBFOO_IGNORE_PATCHES = [
'*-new-feature-*',
'006-support-new-compiler.patch',
]
For more information on tailoring patch applications for specific development modes, refer to the documentation of the newly added options.
Planned Removals Next Release¶
A series of deprecated features are now planned to be removed in a following release.
Bazaar-site support is planned to be removed. Developers can switch to using the Breezy-site type.
Support for Python 3.9 (EOL) will be dropped.
Package configurations
override_revisionsandoverride_siteswill no longer be supported. Developers can take advantage of therevisionsconfiguration key or utilize variable injection for overriding options on the fly.The
LIBFOO_SKIP_REMOTE_*options will be removed as respectiveLIBFOO_REMOTE_*options exist.An implicit Python package setup type will no longer be supported. Python-based packages are required to configure
LIBFOO_PYTHON_SETUP_TYPE.