Skip to content

Releases: conan-io/conan

2.1.0 (15-Feb-2024)

15 Feb 17:59
Compare
Choose a tag to compare
  • Feature: Implement multi-config tools.build:xxxx flags in CMakeToolchain. (#15654)
  • Feature: Add ability to pass patterns to --update flag. (#15652). Docs: 📃
  • Feature: Add --format=json formatter to conan build. (#15651)
  • Feature: Added tools.build.cross_building:cross_build to decide whether cross-building or not regardless of the internal Conan mechanism. (#15616)
  • Feature: Add --format=json option to conan cache path. (#15613)
  • Feature: Add the --order-by argument for conan graph build-order. (#15602). Docs: 📃
  • Feature: Provide a new graph build-order --reduce argument to reduce the order exclusively to packages that need to be built from source. (#15573). Docs: 📃
  • Feature: Add configuration to specify desired CUDA Toolkit in CMakeToolchain for Visual Studio CMake generators. (#15572). Docs: 📃
  • Feature: New "important" options values definition, with higher precedence over regular option value definitions. (#15571). Docs: 📃
  • Feature: Display message when calling deactivate_conanvcvars. (#15557)
  • Feature: Add self.info information of package_id to serialized output in the graph, and forward it to package-lists. (#15553). Docs: 📃
  • Feature: Log Git tool commands when running in verbose mode. (#15514)
  • Feature: Add verbose debug information (with -vvv) for conan.tools.files.copy() calls. (#15513)
  • Feature: Define python_requires = "tested_reference_str" for explicit test_package of python_requires. (#15485). Docs: 📃
  • Feature: Adding CMakeToolchain.presets_build/run_environment to modify CMakePresets environment in generate() method. (#15470). Docs: 📃
  • Feature: Add --allowed-packges to remotes to limit what references a remote can supply. (#15464). Docs: 📃
  • Feature: Initial documentation to make RemotesAPI publicly available (experimental). (#15462)
  • Feature: Add support for use of vcvars env variables when calling from powershell. (#15461). Docs: 📃
  • Feature: New Git(..., excluded=[]) feature to avoid "dirty" errors in Git helper. (#15457). Docs: 📃
  • Feature: New core.scm:excluded feature to avoid "dirty" errors in Git helper and revision_mode = "scm". (#15457). Docs: 📃
  • Feature: Recipe python_package_id_mode for python_requires recipes, to define per-recipe effect on consumers package_id. (#15453). Docs: 📃
  • Feature: Add cmakeExecutable to configure preset. (#15447). Docs: 📃
  • Feature: Add new --core-conf command line argument to allow passing core. confs via CLI. (#15441). Docs: 📃
  • Feature: Add detect_api.detect_msvc_update(version) helper to detect_api. (#15435). Docs: 📃
  • Feature: CMakeToolchain defines jobs in generated CMakePresets.json buildPresets. (#15422)
  • Feature: Allow nested "ANY" definitions in settings.yml. (#15415). Docs: 📃
  • Feature: Helpers Git().coordinates_to_conandata() and Git().checkout_from_conandata_coordinates() to simplify scm based flows. (#15377)
  • Feature: AutotoolsToolchain automatically inject -FS for VS. (#15375)
  • Feature: New conan upload core.upload:parallel for faster parallel uploads. (#15360). Docs: 📃
  • Feature: Intel oneAPI compiler detection improvement. (#15358)
  • Feature: Display progress for long conan list commands. (#15354)
  • Feature: Add extension_properties attribute to pass information to extensions from recipes. (#15348). Docs: 📃
  • Feature: Implement compatibility_cppstd in extension_properties for the compatibility.py plugin to disable fallback to other cppstd for the recipe. (#15348). Docs: 📃
  • Feature: Add Git.get_commit(..., repository=True) to obtain the repository commit, not the folder commit. (#15304)
  • Feature: Ensure --build=editable and --build=cascade works together. (#15300). Docs: 📃
  • Feature: New conan graph build-order --order=configuration to output a different order, sorted by package binaries/configurations, not grouped by recipe revisions. (#15270). Docs: 📃
  • Feature: Allow copy&paste of recipe revisions with timestamps from --format=compact into conan lock add. (#15262). Docs: 📃
  • Fix: Guarantee order of generators attribute execution. (#15678)
  • Fix: Solve issue with [platform_tool_requires] in the build profile and context. Discard [platform_requires] in build profile. (#15665)
  • Fix: Fix gcc detection in conda environments. (#15664)
  • Fix: Improve handling of .dirty download files when uploading backup sources. (#15601)
  • Fix: Fix relativize paths in generated files. (#15592)
  • Fix: Allow None values for CMakeToolchain.preprocessor_definitions that will map to definitions without values. (#15545). Docs: 📃
  • Fix: Fix graph build-order --order=configuration text format output. (#15538)
  • Fix: Raise a helpful error when the remote is not reachable in case the user wants to work in offline mode. (#15516)
  • Fix: Avoid missing file stacktrace when no metadata exists for a source backup. (#15501)
  • Fix: Remove --lockfile-packages argument, it was not documented as it is was not intended for public usage. (#15499). Docs: 📃
  • Fix: Raise if check_type=int and conf value is set to bool. (#15378)
  • Fix: Add pkg-config entry to machine file generated by MesonToolchain, due to pkgconfig entry being deprecated since Meson 1.3.0. (#15369)
  • Fix: Fix graph explain not showing some differences in requirements if missing. (#15355)
  • Fix: Fix tools.info.package_id:confs when pattern did not match any defined conf. (#15353)
  • Fix: Fix upload_policy=skip with --build=missing issues. (#15336)
  • Fix: Accept conan download/upload --list=.. --only-recipe to download only the recipes. (#15312)
  • Fix: Allow cmake.build(build_type="Release") for recipes built with multi-config systems but without build_type setting. (#14780)
  • Bugfix: Fix MSBuildDeps with components and skipped dependencies. (#15626)
  • Bugfix: Avoid provides raising an error for packages that self tool_requires to themselves to cross-build. (#15575)
  • Bugfix: Fix build scope OS detection in tools.microsoft.visual.VCVars. (#15568)
  • Bugfix: Fix wrong propagation over visible=False when dependency is header-only. (https://github.com/conan...
Read more

1.63.0 (12-Feb-2024)

12 Feb 16:57
Compare
Choose a tag to compare
  • Feature: Improved get_libs algorithm for BazelDeps. (#15299)
  • Feature: Changed shared lib name in conan-new templates. (#15299)
  • Feature: Add tracking of different ref to <host_version>. (#15287). Docs: 📃
  • Fix: Adding a workaround to avoid tqdm failing on macOS. (#15628)
  • Bugfix: BazelDeps._get_libs() was gathering binary names. (#15410)
  • Bugfix: Non-visible transitive dependencies are not included in the requires (PkgConfigDeps). (#15320)
  • Bugfix: from_old_cppinfo helper checks if the old cpp_info is not None before merging. (#15320)
  • Bugfix: Fix NMakeDeps quoting issues. (#15288)
  • Bugfix: Make <host_version> only track for same user/channel. (#15287). Docs: 📃

2.0.17 (10-Jan-2024)

10 Jan 15:33
Compare
Choose a tag to compare
  • Fix: Automatically create folder if conan cache save --file=subfolder/file.tgz subfolder doesn't exist. (#15409)
  • Bugfix: Fix libcxx detection when using CC/CXX env vars. (#15418). Docs: 📃
  • Bugfix: Solve winsdk_version bug in CMakeToolchain generator for cmake_minimum_required(3.27). (#15373)
  • Bugfix: Fix visible trait propagation with build=True trait. (#15357)
  • Bugfix: Fix package_id calculation when including conf values thru tools.info.package_id:confs. (#15356)
  • Bugfix: Order conf items when dumping them to allow reproducible package_id independent of the order the confs were declared. (#15356)

2.0.16 (21-Dec-2023)

21 Dec 10:50
1bd3f2a
Compare
Choose a tag to compare
  • Bugfix: Revert the default of source_buildenv, make it False by default. (#15319). Docs: 📃

2.0.15 (20-Dec-2023)

20 Dec 16:54
88f203f
Compare
Choose a tag to compare
  • Feature: New conan lock remove command to remove requires from lockfiles. (#15284). Docs: 📃
  • Feature: New CMake.ctest() helper method to launch directly ctest instead of via cmake --target=RUN_TEST. (#15282)
  • Feature: Add tracking syntax in <host_version> for different references. (#15274). Docs: 📃
  • Feature: Adding tools.microsoft:winsdk_version conf to make VCVars generator to use the given winsdk_version. (#15272). Docs: 📃
  • Feature: Add pkglist formatter for conan export command. (#15266). Docs: 📃
  • Feature: Define CONAN_LOG_LEVEL env-var to be able to change verbosity at a global level. (#15263). Docs: 📃
  • Feature: conan cache path xxx --folder xxxx raises an error if the folder requested does not exist. (#15257)
  • Feature: Add in operator support for ConanFile's self.dependencies. (#15221). Docs: 📃
  • Feature: Make CMakeDeps generator create a conandeps.cmake that aggregates all direct dependencies in a cmake-like generator style. (#15207). Docs: 📃
  • Feature: Add build environment information to CMake configure preset and run environment information to CMake test presets. (#15192). Docs: 📃
  • Feature: Removed a warning about a potential issue with conan migration that would print every time a build failed. (#15174)
  • Feature: New deploy() method in recipes for explicit per-recipe deployment. (#15172). Docs: 📃
  • Feature: Allow tool-requires to be used in source() method injecting environment. (#15153). Docs: 📃
  • Feature: Allow accessing the contents of settings.yml (and settings_user!) from ConfigAPI. (#15151)
  • Feature: Add builtin conf access from ConfigAPI. (#15151)
  • Feature: Add redirect_stdout to CMake integration methods. (#15150)
  • Feature: Add core:warnings_as_errors configuration option to make Conan raise on warnings and errors. (#15149). Docs: 📃
  • Feature: Added FTP_TLS option using secure argument in ftp_download for secure communication. (#15137)
  • Feature: New [replace_requires] and [replace_tool_requires] in profile for redefining requires, useful for package replacements like zlibng/zlib, to solve conflicts, and to replace some dependencies by system alternatives wrapped in another Conan package recipe. (#15136). Docs: 📃
  • Feature: Add stderr capture argument to conanfile's run() method. (#15121). Docs: 📃
  • Feature: New [platform_requires] profile definition to be able to replace Conan dependencies by platform-provided dependencies. (#14871). Docs: 📃
  • Feature: New conan graph explain command to search, compare and explain missing binaries. (#14694). Docs: 📃
  • Feature: Global cpp_info can be used to initialize components values. (#13994)
  • Fix: Make core:warnings_as_errors accept a list (#15297)
  • Fix: Fix user confs package scoping when no separator was given (#15296)
  • Fix: Fix range escaping in conflict reports involving ranges. (#15222)
  • Fix: Allow hard set_name() and set_version() to mutate name and version provided in command line. (#15211). Docs: 📃
  • Fix: Make conan graph info --format=text print to stdout. (#15170)
  • Fix: Avoid warning in CMake output due to CMAKE_POLICY_DEFAULT_CMP0091 unused variable. (#15127)
  • Fix: Deprecate [system_tools] in favor of [platform_tool_requires] to align with [platform_requires] for regular dependencies. Changed output from "System tool" to "Platform". (#14871). Docs: 📃
  • Bugfix: Ensure user confs have at least 1 : separator (#15296)
  • Bugfix: Git.is_dirty() will use git status . -s to make sure it only process the current path, not the whole repo, similarly to other Git methods. (#15289)
  • Bugfix: Make self.info.clear() and header-only packages to remove python_requires and tool_requires. (#15285). Docs: 📃
  • Bugfix: Make conan cache save/restore portable across Windows and other OSs. (#15253)
  • Bugfix: Do not relativize absolute paths in deployers. (#15244)
  • Bugfix: Add architecture to CMakePresets to avoid cmake ignoring toolchain definitions when using presets. (#15215)
  • Bugfix: Fix conan graph info --format=html reporting misleading conflicting nodes. (#15196)
  • Bugfix: Fix serialization of tool_requires in conan profile show --format=json. (#15185)
  • Bugfix: Fix NMakeDeps quoting issues. (#15140)
  • Bugfix: Fix the 2.0.14 migration to add LRU data to the cache when storage_path conf is defined. (#15135)
  • Bugfix: Fix definition of package_metadata_folder for conan export-pkg command. (#15126)
  • Bugfix: pyinstaller.py was broken for Python 3.12 due to a useless distutils import. (#15116)
  • Bugfix: Fix backup sources error when no core.sources:download_cache is set. (#15109)

2.0.14 (14-Nov-2023)

14 Nov 13:57
Compare
Choose a tag to compare
  • Feature: Added riscv64, riscv32 architectures to default settings.yml and management of them in Meson and Autotools. (#15053)
  • Feature: Allow only one simultaneous database connection. (#15029)
  • Feature: Add conan cache backup-upload to upload all the backup sources in the cache, regardless of which references they are from (#15013). Docs: 📃
  • Feature: New conan list --format=compact for better UX. (#15011). Docs: 📃
  • Feature: Ignore metadata upload by passing --metadata="" (#15007). Docs: 📃
  • Feature: Better output messages in conan upload (#14984)
  • Feature: Add extra flags to CMakeToolchain. (#14966). Docs: 📃
  • Feature: Implement package load/restore from the cache, for CI workflows and moving packages over air-gaps. (#14923). Docs: 📃
  • Feature: Compute version-ranges intersection to avoid graph version conflicts for compatible ranges (#14912)
  • Feature: CMake helper can use multiple targets in target argument. (#14883)
  • Feature: Add Macos 13.6 to settings.yml. (#14858). Docs: 📃
  • Feature: Add CMakeDeps and PkgConfigDeps generators listening to system_package_version property. (#14808). Docs: 📃
  • Feature: Add shorthand syntax in cli to specify host and build in 1 argument (#14727). Docs: 📃
  • Feature: Implement cache LRU control for cleaning of unused artifacts. (#14054). Docs: 📃
  • Fix: Avoid CMakeToolchain overwriting user CMakePresets.json when no layout nor output-folder is defined (#15058)
  • Fix: Add astra, elbrus and altlinux as distribution using apt in SystemPackageManager (#15051)
  • Fix: Default to apt-get package manager in Linux Mint (#15026). Docs: 📃
  • Fix: Make Git() check commits in remote server even for shallow clones. (#15023)
  • Fix: Add new Apple OS versions to settings.yml (#15015)
  • Fix: Fix AutotoolsToolchain extraflags priority. (#15005). Docs: 📃
  • Fix: Remove colors from conan --version output (#15002)
  • Fix: Add an error message if the sqlite3 version is unsupported (less than 3.7.11 from 2012) (#14950)
  • Fix: Make cache DB always use forward slash for paths, to be uniform across Windows and Linux (#14940)
  • Fix: Solve re-build of an existing package revision (like forcing rebuild of a an existing header-only package), while previous folder was still used by other projects. (#14938)
  • Fix: Avoid a recipe mutating a conf to affect other recipes. (#14932). Docs: 📃
  • Fix: The output of system packages via Apt.install() or PkgConfig.fill_cpp_info, like xorg/system was very noisy to the Conan output, making it more quiet (#14924)
  • Fix: Serialize the path information of python_requires, necessary for computing buildinfo (#14886)
  • Fix: Define remotes in conan source command in case recipe has python_requires that need to be downloaded from remotes. (#14852)
  • Fix: Fix min target flag for xros and xros-simulator. (#14776)
  • Bugfix: --build=missing was doing unnecessary builds of packages that were not needed and could be skipped, in the case of tool_requires having transitive dependencies. (#15082)
  • BugFix: Add package revision to format=json in 'conan export-pkg' command (#15042)
  • Bugfix: tools.build:download_source=True will not fail when there are editable packages. (#15004). Docs: 📃
  • Bugfix: Transitive dependencies were incorrectly added to conandeps.xcconfig. (#14898)
  • Bugfix: Fix integrity-check (upload --check or cache check-integrity) when the export_source has not been downloaded (#14850)
  • Bugfix: Properly lock release candidates of python requires (#14846)
  • BugFix: Version ranges ending with - do not automatically activate pre-releases resolution in the full range. (#14814). Docs: 📃
  • BugFix: Fix version ranges so pre-releases are correctly included in the lower bound and excluded in the upper bound. (#14814). Docs: 📃

1.62.0 (14-Nov-2023)

14 Nov 13:51
Compare
Choose a tag to compare
  • Feature: Removed extra_xxxx attributes from BazelToolchain (#15073). Docs: 📃
  • Feature: BazelDeps global refactor. Adding each component as an isolated target, better requirements management (including requirements coming from build-context), adding C/C++ flags, etc. (#14959). Docs: 📃
  • Feature: BazelDeps works fine in editable mode. (#14959). Docs: 📃
  • Feature: Added bazel_tagert_name and bazel_repository_name properties. (#14959). Docs: 📃
  • Feature: Added mechanism to consume shared/static libraries for bazel_lib template in all the platforms. (#14959). Docs: 📃
  • Feature: BazelToolchain creates a conan_bzl.rc file which defines the conan-config configuration. If it exists, Bazel helper will use it automatically. (#14958). Docs: 📃
  • Feature: Add clang-17 support to settings. (#14915). Docs: 📃
  • Feature: Add support for gcc 10.5 (#14865). Docs: 📃
  • Feature: Add support for gcc 11.4 (#14865). Docs: 📃
  • Feature: Add support for gcc 13.2 (#14865). Docs: 📃
  • Fix: Use importlib in Python >= 3.12 (#14841)
  • Bugfix: Solve crash of conan lock install when the provided lockfile was created from a conanfile.txt (#14836)

2.0.13 (28-Sep-2023)

28 Sep 10:27
Compare
Choose a tag to compare
  • Bugfix: Fix wrong cppstd detection for newer apple-clang versions introduced in 2.0.11. (#14837)

2.0.12 (26-Sep-2023)

26 Sep 16:36
844f112
Compare
Choose a tag to compare
  • Feature: Add support for Clang 17. (#14781). Docs: 📃
  • Feature: Add --dry-run for conan remove. (#14760). Docs: 📃
  • Feature: Add host_tool to install() method in package_manager to indicate whether the package is a host tool or a library. (#14752). Docs: 📃
  • Fix: Better error message when trying to export-pkg a python-require package, and avoid it being exported and then failing. (#14819)
  • Fix: CMakeDeps allows set_property() on all properties. (#14813)
  • Fix: Add minor version for Apple clang 15.0. (#14797). Docs: 📃
  • Fix: conan build command prettier error when argument not provided. (#14787)
  • Bugfix: fix compatibility() over settings_target making it None (#14825)
  • Bugfix: compatible packages look first in the cache, and only if not found, the servers, to allow offline installs when there are compatible packages. (#14800)
  • BugFix: Reuse session in ConanRequester to speed up requests. (#14795)
  • Bugfix: Fix relative paths of editable packages when they have components partially defining directories. (#14782)

2.0.11 (18-Sep-2023)

18 Sep 07:56
1c5c5dd
Compare
Choose a tag to compare
  • Feature: Add --format=json formatter to conan profile show command (#14743). Docs: 📃
  • Feature: add new --deployer --generators args to 'conan build' cmd (#14737). Docs: 📃
  • Feature: Better CMakeToolchain blocks interface. Added new .blocks.select(), .blocks.keys(). (#14731). Docs: 📃
  • Feature: Add message when copying large files from download cache instead of downloading from server. (#14716)
  • Feature: MesonToolchain shows a warning message if any options are used directly. (#14692). Docs: 📃
  • Feature: Support clang-cl in default profile plugin. (#14682). Docs: 📃
  • Feature: Added mechanism to transform c, cpp, and/or ld binaries variables from Meson into lists if declared blank-separated strings. (#14676)
  • Feature: Add nobara distro to dnf package manager mapping. (#14668)
  • Feature: Ensure meson toolchain sets b_vscrt with clang-cl. (#14664)
  • Feature: Supporting regex pattern for conf tools.info.package_id:confs (#14621). Docs: 📃
  • Feature: MakeDeps: Provide "require" information, and more styling tweaks. (#14605)
  • Feature: New detect_api to be used in profiles jinja templates. (#14578). Docs: 📃
  • Feature: Allow access to settings_target in compatibility method. (#14532)
  • Fix: Add missing minor macos versions (#14740). Docs: 📃
  • Fix: Improve error messages in ConanApi init failures, (#14735)
  • Fix: CMakeDeps: Remove "Target name ... already exists" warning about duplicating aliases. (#14644)
  • Bugfix: Fix regression in Git.run() when win_bash=True. (#14756)
  • Bugfix: Change the default check=False in conan.tools.system.package_manager.Apt to True as the other package manager tools. (#14728). Docs: 📃
  • Bugfix: Solved propagation of transitive shared dependencies of test_requires with diamonds. (#14721)
  • Bugfix: Solve crash with conan export-pkg with test_package doing calls to remotes. (#14712)
  • Bugfix: Do not binary-skip packages that have transitive dependencies that are not skipped, otherwise the build chain of build systems to those transitive dependencies like CMakeDeps generated files are broken. (#14673)
  • Bugfix: Fix detected CPU architecture when running conan profile detect on native ARM64 Windows. (#14667)
  • Bugfix: conan lock create --update now correctly updates references from servers if newer than cache ones. (#14643)
  • Bugfix: Fix unnecessarily decorating command stdout with escape sequences. (#14642)
  • Bugfix: tools.info.package_id:confs shouldn't affect header-only libraries. (#14622)