バージョンノート¶
The following provides the notable features, bug fixes and more for each release of releng-tool. For a complete list of detailed changes to releng-tool, please see the project's repository commits.
News¶
- 2.6 (2025-08-03)
- 2.5 (2025-06-22)
- 2.4 (2025-05-31)
- 2.3 (2025-05-04)
- 2.2 (2025-03-29)
- 2.1 (2025-02-17)
- 2.0 (2025-02-09)
- 1.4 (2025-01-19)
- 1.3 (2024-08-19)
- 1.2 (2024-07-01)
- 1.1 (2024-03-29)
- 1.0 (2023-12-22)
- 0.17 (2023-08-06)
- 0.16 (2023-05-07)
- 0.15 (2023-02-12)
- 0.14 (2023-02-05)
- 0.13 (2022-08-10)
- 0.12 (2022-05-02)
- 0.11 (2022-02-26)
- 0.10 (2021-12-31)
2.6.0 (2025-08-03)¶
- Always output configured local sources paths 
- Avoid configuring - CMAKE_PREFIX_PATHand solely rely on find-related defines
- Detected tool version information is printed in debug mode 
- Ensure - CMAKE_MODULE_PATHpaths are pre-populated to avoid directory building
- Handle trailing path-slash in a local sources package reference 
- Support a pre-defined - CMAKE_FIND_ROOT_PATHfor staging/target/host areas
- Update SPDX license database to v3.27 
2.5.0 (2025-06-22)¶
- Avoid forwarding arguments to project when using - <pkg>-exec
- Drop warnings when using local-site packages 
- Introduce a profile argument for a project's configuration discretion 
- Support checking multiple Visual Studio installs for - VsDevCmd.bat
2.4.0 (2025-05-31)¶
- Include VCS revisions in generated SBOM documents 
- Introduce a - --debug-extendedargument
- Introduce quirk to help disable package-specific ignore-cache flags 
- Renamed SBOM format - rdp-spdxto- rdf-spdx
- Support Visual Studio Build Tools when using injected Visual Studio support 
2.3.0 (2025-05-04)¶
- Installed Python packages now use releng-tool interpreter values for launchers 
- Introduce - LIBFOO_PYTHON_INSTALLER_INTERPRETERfor interpreter tailoring
- Introduce - RELENG_PARALLEL_LEVELfor environment-managed job management
- Introduce - releng_pathhelper script function
- Ensure Make configuration stage runs if any configuration setting is set 
- Ensure SCons configuration stage runs if any configuration setting is set 
2.2.0 (2025-03-29)¶
- Cleanup unexpected prints in - releng_require_version
- Extension priority changed: (1) - .rt, (2)- .py, (3) (none), (4)- .releng
- Fixed - releng_copynot replicating symlinks in base directory
- Improve accepting of path-like arguments into multiple - releng_*calls
- Improve accepting of path-like arguments into multiple package options 
- Patches are applied with the - --verboseargument
- Support for extensionless configuration/scripts is deprecated 
- Support path-like types for multiple path-like script variables 
- Support working-directory changing with - releng_tmpdir
2.1.1 (2025-02-17)¶
- Fixed extraction warnings for non-empty folders due to improper fetch flags 
2.1.0 (2025-02-17)¶
- Avoid multi-fetching packages with ignore-cache in development mode 
- Improve ease of unconfiguring local-sources mode with single - unsetcall
- Introduce - *_SHARE_DIRenvironment/script variables
- Introduce - default_devmode_ignore_cacheproject configuration
- Local-sources configurations can now accept - package/-prefixed entries
- Prevent unused CLI warnings with CMake for releng-tool-managed options 
- Support a pre-defined - CMAKE_MODULE_PATHfor CMake staging/target/host areas
2.0.1 (2025-02-09)¶
- Including missing completion scripts and man page in source package 
2.0 (2025-02-09)¶
- (note) Support for non-LTS version of Python have been dropped 
- Fixed handling of Git submodules using incorrect revisions 
- Fixed issue where configured prefixes could be ignored in Python packages 
- Fixed issue where file URIs sites may prevent other URL sites from fetching 
- Fixed issue where triggering a re-install on select Python packages would fail 
- Improved support for host tool integration with Python packages 
- Introduce - --only-mirrorargument to force external package fetch with mirror
- Introduce alternative hash-files for package development revisions 
- Overhaul of Python package processing with install scheme configuration via - LIBFOO_PYTHON_INSTALLER_SCHEME, launcher configuration via- LIBFOO_PYTHON_INSTALLER_LAUNCHER_KINDand dist overrides via- LIBFOO_PYTHON_DIST_PATH
- Script function - releng_lsnow accepts a- recursiveargument
- Support URL fetch retries on transient errors 
- Support for GNU Bazaar sites is deprecated 
- Support for Python distutils packages is deprecated 
- Support for - override_revisionsis deprecated
- Support for - override_sitesis deprecated
- Support format hints in - url_mirror
- Support ignoring - stderroutput in execute calls
- Support maximum checks when using - releng_require_version
- Use of Python's - installerrequired for all Python packages
1.4 (2025-01-19)¶
- Allow adding a package without a definition that defines at least one script 
- Allow users to suppress local-site package warnings 
- Correct - hintmissing from script environments
- Disable garbage collection and maintenance tasks for Git caches 
- Disable update checks for PDM when processing PDM packages 
- Ensure the - punchaction triggers the post-build stage
- Fixed configuration failure when using older Meson (pre-v1.1.1) 
- Fixed incorrect JSON/SPDX SBOM documents for projects with empty/local sites 
- Fixed issue where - releng_copycould not copy a broken symbolic link
- Fixed issue where - releng_removecould not remove a broken symbolic link
- Fixed patch overrides not supporting alternative file extensions 
- Flag - RELENG_FORCEwhen using the- punchaction
- Introduce - LIBFOO_CARGO_NOINSTALLto support Cargo libraries
- Introduce - RELENG_EXECenvironment/script variable
- Introduce - libfoo-freshaction
- Introduce - releng_symlinkhelper script function
- Introduce a - nestedoption for I/O copy/move utility calls
- Introduce a shared build target for Cargo packages 
- Perform automatic Cargo patching for project-managed dependencies 
- Post-fetching Cargo dependencies now occurs after a package's patch stage 
- Promote use of - .rtextensions for definitions/scripts
- Promote use of - releng-tool.rtfor project configuration
- Support Breezy VCS-type 
- Support injecting Visual Studio development environment variables 
- Support newer GitLab CI flag for automatic debugging mode 
- Support preallocated list/dictionary package configurations 
- Update SPDX license database to v3.26 
- Utilize forwarded arguments as fallback for - libfoo-execaction
1.3 (2024-08-19)¶
- Automatic debugging mode when detecting CI debugging runs 
- Correct unexpected dot in prefix path variables for empty prefixed builds 
- Fixed incorrect specification version tag in RDF/SPDX SBOM documents 
- Fixed issue where an aborted Mercurial fetch could require manual cleanup 
- Include license list version in SPDX SBOM documents 
- Introduce - LIBFOO_NEEDSto replace- LIBFOO_DEPENDENCIES
- Introduce - RELENG_GENERATED_LICENSESscript variable
- Introduce - RELENG_GENERATED_SBOMSscript variable
- Introduce - environmentproject configuration
- Introduce support for Cargo-based packages 
- Remote package configuration/scripting is now opt-in 
- Script helper - releng_mkdirwill now return the path
- Support multiple path components in - releng_mkdir
- Support variable expansion for - releng_executearguments
- Unknown arguments will now generate an error by default 
- Update SPDX license database to v3.25 
1.2 (2024-07-01)¶
- Introduce the - punchaction to support forced rebuild of packages
- Support automatic package preparation for compatible local-sourced packages 
- Update SPDX license database to v3.24 
1.1 (2024-03-29)¶
- Prevent SSH authentication prompts that may occur when using Git 
- Support SPDX license identifier field for custom licenses 
- Support environment output directory override ( - RELENG_OUTPUT_DIR)
- Support global output containers ( - RELENG_GLOBAL_OUTPUT_CONTAINER_DIR)
- Update SPDX license database to v3.23 
1.0 (2023-12-22)¶
- Introduce - RELENG_SCRIPTand- RELENG_SCRIPT_DIRvariables
- Update SPDX license database to v3.22 
0.17 (2023-08-06)¶
- Fixed issue with CMake-generated export targets missing prefix overrides 
- Fixed issue with local-source configurations when provided relative paths 
- Introduce - LIBFOO_CMAKE_BUILD_TYPEto override CMake build types
- Introduce - LIBFOO_ENVto apply environment variables on multiple stages
- Introduce - stateaction for dumping configured releng-tool state
- Introduce support for Perforce sites 
- Support Git repository interaction in output directories for Git-based sources 
- Support ability to unconfigure development/local-sources mode 
- Support the existence of a - NO_COLORenvironment variable
- Update SPDX license database to v3.21 
0.16 (2023-05-07)¶
- Enforce strict hash checking in development mode for external packages which define a development revision 
- Fixed issue where - releng_copymay fail when provided a single part relative destination
- Fixed issue where HTML-based software build of materials would be empty 
- Introduce support for Meson-based packages 
- Prevent processing packages when SBOM generation is explicitly requested 
- Support SPDX-tailored software build of materials 
- Support module-specific local-sources to accept - :instead of- @, allowing certain shells to take advantage of path auto-completion
0.15 (2023-02-12)¶
- CMake install events will now always skip dependency checks 
- Fixed issue where extension loading may cause issues in Python 2.7 
- Fixed issue where reconfiguration may not flag rebuild flags (and related) 
- Fixed issue where statistics (PDF) may fail on legacy matplotlib environments 
- Improve support for patching a root build directory and sub-directories 
- Introduce extension support for event listeners 
- Make projects will now be provided a - PREFIXoverride
- Source distribution now includes completion scripts and tests 
- Support setting software build of materials format in project configuration 
0.14 (2023-02-05)¶
- (note) The deprecated - relengnamespace has been removed
- CMake install events will now always force installs by default 
- Fixed issue where CMake projects with implicit target area installs have issues finding includes/libraries with - find_<x>calls
- Fixed issue where - libfoo-execaction with an- =character would crash
- Introduce - *_BIN_DIRenvironment/script variables
- Introduce - releng_move_intohelper script function
- Local VCS-type packages should now place sources inside a - localfolder
- Promote the use of SPDX license identifiers in package license options 
- Support - .relengextensions for scripts
- Support automatic include injection for CMake staging/target/host areas 
- Support for Poetry Python setup type 
- Support generating a software build of materials 
- Support treating releng-tool warnings as errors with - --werrorargument
- Support user paths in package-specific local-sources overrides 
0.13 (2022-08-10)¶
- Avoid interaction with target area when using CMake projects that only uses the staging area 
- Downloaded files will now be stored in sub-directories under - dl/
- Ensure clean-related environment/script variables are set for package-specific clean requests 
- Fixed a rare chance that an explicit package run provided via command line may be ignored 
- Fixed issue in older Python interpreters where the executed package order may not be consistent 
- Fixed issue where select package-specific environment variables may leak into other packages 
- Improve handling of - file://sites in Windows
- Improve support for host-built Python packages 
- Introduce - LIBFOO_HOST_PROVIDESto help skip prerequisite checks
- Introduce - PKG_DEVMODEenvironment/script variable
- Introduce - RELENG_TARGET_PKGenvironment/script variable
- Introduce - releng_copy_intohelper script function
- Introduce support for Python setup types 
- Introduce support for SCons-based packages 
- Introduce support for development mode configurations, allowing users to target specific revisions or sites for packages supporting alternative source revisions 
- Introduce support for global and package-specific path overrides when operating in local-sources mode 
- Introduce support for make-based packages 
- Support - PKG_DEFDIRusage inside a package's definition
- Support Bazaar quirk to utilize - certificertificates
- Support users overriding a project's configuration path from command line 
0.12 (2022-05-02)¶
- Adding - dst_dirto- releng_copyfor explicit copies to directories
- Adjust automatic job detection to use physical cores instead of logical cores 
- Fixed an issue where forced Git-fetches with branch revisions may have stale content on first extract 
- Fixed where package-specific prefixes/njobs would leak to other projects 
- Introduce - *_[INCLUDE,LIB]_DIRenvironment/script variables
- Introduce - PKG_BUILD_BASE_DIRenvironment/script variable
- Introduce - PREFIXED_*_DIRenvironment/script variables
- Introduce - libfoo-execaction
- Introduce - releng_includehelper script function
- Support Make-styled environment injections via command line 
- Support package variable overrides via command line 
0.11 (2022-02-26)¶
- Always pre-create install directory before package install scripts are invoked 
- Fixed an issue where nested zip files could not extract 
- Introduce - releng_cathelper script function
- Introduce - releng_lshelper script function
- Introduce - releng_require_versionhelper script function
- No longer extract with non-local-supported tar command if host format detected 
- No longer warn if hash file is empty for extracted contents check 
- Support removing cached assets through a forced fetch argument 
- Support triggering a reconfiguration of all packages through a force argument 
0.10 (2021-12-31)¶
- Fixed an issue where a configured - sysroot_prefixbin path would not be registered in the script environment's path
- Fixed an issue where - releng_mkdirreports success if the target path is a file that already exists
- Fixed an issue where extensions may not load on Python 2.7 
- Fixed an issue where post-processing may be invoked even if a package's stage would fail 
- Introduce - <PKG_NAME>_DEFDIRenvironment/script variable
- Introduce - LIBFOO_CMAKE_NOINSTALLfor CMake packages with no install rule
- Introduce support for rsync sites 
- Provide an option to suppress root warning (for zero-UID containers) 
- Remove the requirement to have a package version entry 
- Support configuring cache/download directories using environment variables 
- Support custom SSL context overrides via - urlopen_context
- Support providing an assets container directory (for cache/download folders) 
0.9 (2021-10-02)¶
- Fixed an import issue when running with Python 3.10 
- Fixed an issue where a cyclic package check provided a bad message 
- Fixed an issue where a Git submodule with a target branch may fail to extract 
- Post-processing script renamed to - releng-post-build
- Support development mode relaxed branch fetching for Git sites 
- Support requiring a Git source's revision to be GnuPG-signed (GPG) 
- Support using ASCII-armor (asc) files to package integrity checks 
0.8 (2021-08-28)¶
- Allow DVCS packages to share caches (to minimize space/time fetching) 
- Fixed an issue where tools/ - releng_executerequests would fail on Python 2.7 with Unicode-defined environment variables
- Fixed an issue where a diverged revision in Git would incorrectly populate a package's build directory with the cached revision instead of the remote revision 
- Introduce - LIBFOO_GIT_SUBMODULESfor package Git-specific configurations
- Introduce - releng_execute_rvhelper script function
- Introduce statistic tracking (stage durations) which generate to into the output folder after execution 
- Introduce support for package-specific distclean 
- Introduce support for package-specific license processing 
- Package-specific extraction/patching no longer requires dependency processing 
- Rework - LIBTOOL_GIT_REFSPECSto provide more control over custom revisions that can be fixed (i.e. no longer fixed on- <target>/*/head; instead, a configured value-wildcard string should be used)
- Support auto-detecting Python interpreter path overrides in windows 
- Support faster Git fetching 
- Support pruning any remote-tracked references in a Git-cached project when a forced fetch request is made 
0.7 (2021-08-08)¶
- Fetch from an already cached package's site if the fetch is explicitly requested 
- Fixed an issue with registry failing to import on Python 2.7 
- Fixed issue where build/install definitions where not used in in their respective stages 
- Fixed issue where mercurial packages fetched using the version option instead of the revision option 
- Fixed issue where the host directory was not registered in a stage's path 
- Introduce clean, logging flags and releng-version into the script environments 
- Only fetch a single package if only said package is requested to be fetched 
- Package without a site will throw an error when VCS-type is set 
- Reconfigure/rebuild requests will now perform all trailing stages for the package(s) being redone; rebuild/reconfigure-only actions have been introduced to force re-invoking a specific stage 
- Support loading remote package configuration 
- Support loading remote package scripts 
- releng-tool will now full stop if external package definition fails to load 
0.6 (2020-10-10)¶
- Always register optional flags inside scripts (allowing developers to use flags like - RELENG_RECONFIGUREwithout needing to check environment variables)
- Fixed issued when capturing with - releng_executewhich did not suppress output by default
- Introduce - LIBTOOL_GIT_CONFIGfor package git-specific configurations
- Introduce a - releng-tool initaction for a quick-sample project
- Introduce support for distclean 
- Introduce support for prerequisites 
- Namespace moved from - relengto- releng_tool(- relengdeprecated for an interim)
0.5 (2020-09-07)¶
- Fixed false error when verifying cached Git reference 
0.4 (2020-09-07)¶
- Allow developers to fetch from addition Git refspecs (e.g. pull requests) 
- Allow setting quirks in command line 
- Fixed a scenario where a Git extraction stage could fetch sources 
- Fixed Git fetch/extraction if package is cached and site has changed 
- Improved handling of output files which may set the read-only attribute 
- Introduce support for local interim-development package content 
- Introduce support for shallow Git fetching 
0.3 (2019-10-19)¶
- Allow packages to configure to ignore cache while in development mode 
- Allow packages to configure for no-extraction for sources 
- Fixed default interpreter detection for Python packages 
- Fixed fetching from Mercurial sources 
- Fixed fetching from newer Git hashes if repository was already cached 
- Introduce - releng_envand- releng_mkdirhelper script functions
- Introduce support for package-specific bootstrapping stage 
0.2 (2019-03-15)¶
- A project's host directory will now be registered in the system's path during execution 
- Allow tracking project's license files when found in multiple directories 
- Fixed loading configuration overrides script if one actually exists 
- Re-work various script names (e.g. - releng.py->- releng)
0.1 (2019-02-24)¶
- Hello world