2.5 (2025-06-22)

Introducing Profiles

A user can now provide "profile" hints for a releng-tool execution. These are simple string hints that a caller can used to inform a project of custom runtime states that should be performed. A user can trigger a run to use a profile by using the --profile argument. For example, the following will enable a profile name awesome-mode:

releng-tool --profile awesome-mode

A profile value can then be read by a project's configuration or various package stages to manipulate a run as desired. Active profiles can be determined by checking the RELENG_PROFILES variable. To continue with this example, if looking to add an additional package when using the awesome-mode profile, the following can be added in a project's releng-tool.rt file:

packages = [
    'example',
]

if 'awesome-mode' in RELENG_PROFILES:
    packages.append('awesome-mods')

Multiple profiles can be enabled for a run:

releng-tool --profile awesome-mode --profile another-example

Note that releng-tool does not use any provided profile values other than normalizing profile strings to be forwarded to project/package scripts.

Support flexible Visual Studio Developer Command Prompt installs

For projects using the vsdevcmd option, it was not consistent to which Visual Studio installation was used based on how releng-tool invoked Visual Studio Locator (vswhere). This release aims to be more consistent and flexible for the automatic selection by:

  • Using the most recent revision of Visual Studio (e.g. 2022 over 2019) and most recent install (e.g. if Visual Studio Enterprise was the most recent install, it is used).

  • If a Visual Studio installation does not define a Visual Studio Developer Command Prompt script (VsDevCmd.bat), look for the next Visual Studio installation. This can help avoid issues where environments may include an installation of Visual Studio Test Agent.

Note that users can still use the vsdevcmd_products project configuration or LIBFOO_VSDEVCMD_PRODUCTS package configuration to select a specific product type to use.