Releases: bincrafters/bincrafters-package-tools
Releases · bincrafters/bincrafters-package-tools
0.33.0
Breaking Changes / Removed features
- Increasing
conan_package_tools
min version to>=0.39.0
as 0.39.0 added support forCONAN_GLOBAL_CONF
- Remove Clang 3.9 builds from the default build matrix
- Visual Studio 2017 was dropped since GitHub Actions and Azure Pipelines are dropping support for it (see actions/runner-images#4312)
- Remove
build_template_boost_default.py
,build_template_boost_header_only.py
,build_template_default.py
,build_template_header_only.py
orbuild_template_installer.py
files.build.py
files that make use of those files will break. Migrate to use the auto-detect feature (or if you can't use the auto-detect feature for some reason, a custombuild.py
file that does not try to import these files).
Deprecated Features / Will be removed in a future release
- Support for AppVeyor CI is deprecated. AppVeyor does not allow dynamic matrix generations which we need for most modern features.
- Clang < 10 builds will be removed from the default build matrix
- GCC 4.9 builds will be removed from the default build matrix
- Apple Clang 10 builds will be removed from the default build matrix
Upcoming Features Early Notice
- Bincrafters Package Tools will start to use semantic versioning
- The usage of the "modern" Conan Docker Tools containers will be extended to Clang >= 10 builds (see https://github.com/conan-io/conan-docker-tools/tree/b693dc3507cf16e7ec5db50e002765420b747651/modern); this might cause incompatibilities with existing builds and setups
- Clang 13 builds will be added to the default build matrix
- Use the Conan 2.x behaviour to always use 2 profiles (host and build) - This might break old recipes
New Features
- Add GCC 11 and Clang 12 builds to the default build matrix
- Use "modern" Conan Docker Tools containers for GCC >= 11 and Clang >= 12 build jobs (see https://github.com/conan-io/conan-docker-tools/tree/b693dc3507cf16e7ec5db50e002765420b747651/modern)
- Add environment variable
BPT_MATRIX_DISCARD_DUPLICATE_BUILD_IDS
. Options:true
/false
, default:true
. This does NOT YET what it says. Right now, this only has an effect for installer_only and header_only recipes when set tofalse
. In those cases, you get the full build matrix, instead of a shortened build matrix. In the future, the matrix generation actually compares build IDs and discards jobs based on the IDs. (bincrafters/community#1391)
Other Improvements
- Change the default remote URL to Bincrafters' Artifactory remote (it was still pointing to Bintray)
- Some more adjustment to support the
msvc
compiler model (though, it still does not work completely) - Add Apple Clang -> XCode mappings for newer versions
Bugfixes
- Enable installing system packages also for Conan 2.x system package tools
- Do not set
CONAN_DOCKER_ENTRY_SCRIPT
, but append instead
Internal Improvements
- Allow getting the builder for autodetect builds without executing the builder
- Add Dependabot to repository
Thanks to all the people that contributed to this release:
0.32.1
0.32.0
Breaking Changes / Removed features
- No support for the environment variable
BINTRAY_REPOSITORY
anymore to specify the repository name for a Conan repository on Bintray. UseCONAN_REMOTE
for the URL+name of your remote(s) (+ potentialCONAN_UPLOAD
if download and upload remotes are different) - No explicit support for Travis CI anymore; macOS jobs will start to run on GitHub Actions (if it exists)
- No explicit support for Circle CI anymore as it is untested and unused by Bincrafters for a very long time and does not support many features there anyway
Deprecated Features / Will be removed in a future release
- Support for repositories using the single-recipe layout. Even if you have just one Conan recipe pro repository, you can use the multi-recipe layout without any major disadvantages, but it streamlines our tooling.
- Environment variable
splitByBuildTypes
andBPT_SPLIT_BY_BUILD_TYPES
, useBPT_MATRIX_SPLIT_BY_BUILD_TYPES
instead to split build jobs by build type (Debug
/Release
) - possible values:true
,false
build.py
files which make use of BPT'sbuild_template_boost_default.py
,build_template_boost_header_only.py
,build_template_default.py
,build_template_header_only.py
orbuild_template_installer.py
files. Migrate to use the autodetect feature.- In the next release, Clang 3.9 won't be added to the build matrix by default anymore
Upcoming Features Early Notice
- In the next release, the following compilers will be added to the default build matrix: Visual Studio 2022 Preview, GCC 11, Clang 12
New Features
- Generate build jobs for GCC 10, Clang 10 and Clang 11 in the build matrix
- BPT checks now if the CI config file version is compatible with the currently used version of BPT. Sometimes new features require breakages.
Bugfixes
- Fix container image for Linux installer recipes run (mismatch between specified GCC version 7 and specified image
conanio/gcc8
) - Fix matrix generation for installer and header_only packages in a CCI style repository
Internal Improvements
- Matrix generation: split-by-build-types is now dynamic instead of hard coded
Release 0.31.0
- BREAKING CHANGE: Always enable Conan revisions in the client
- BREAKING CHANGE: Replace gcc7-centos6 container with the gcc8 container for building Linux installer packages
- When neither AppVeyor nor Azure Pipelines are configured, Windows builds will run on GitHub Actions
- Provide more disk space for Linux jobs on GitHub Actions
Release 0.30.0
- When neither Travis nor Azure Pipelines are configured, run macOS build jobs on GitHub Actions
Release 0.29.0
- More work to support dynamic matrix generation on AZP
Release 0.28.0
- Introduce prepare-env command to setup the env according to one option set generated by generate-ci-jobs. This allows us to hide this implementation logic and simplify CI config files. This works for now only on GitHub Actions.
- Start implementing support for repositories with multiple version for one recipe and for repositories with multiple recipes with multiple versions (like CCI). This works so for for Installers, header_only recipes and the Linux configurations for any other packages while running on GitHub Actions. There is not yet any support for other CI systems.
Supports Azure Pipelines
bincrafters-package-tools can now read environment information on AZP