Skip to content

Releases: conan-io/conan

2.2.3 (17-Apr-2024)

17 Apr 15:51
8e03c4b
Compare
Choose a tag to compare
  • Fix: Fix to_apple_archs method when using architectures from settings_user. (#16090)

1.64.0 (04-Apr-2024)

04 Apr 14:13
Compare
Choose a tag to compare
  • Feature: Add --output-folder to export-pkg command to be used when layout() is declared. (#15741). Docs: 📃
  • Feature: Promote cppstd_flag in the new conan.tools.build module. (#15731). Docs: 📃
  • Feature: conan.tools.meson helper requires meson >= 0.57.0. (#15706). Docs: 📃
  • Fix: Fix flags passed by AutotoolsToolchain when cross compiling from macOS to a non-Apple OS. Backported from Conan 2. (#15948)
  • Fix: Avoiding reconfigure process. Using --destdir param instead. Deprecated reconfigure param in Meson.configure() function. (#15706). Docs: 📃

2.2.2 (25-Mar-2024)

25 Mar 15:15
Compare
Choose a tag to compare
  • Fix: Avoid issues with recipe print(..., file=fileobj). (#15934)
  • Fix: Fix broken calls to print(x, file=y) with duplicate keyword arguments. (#15912)
  • Bugfix: Fix handling of tools.build:defines for multiconfig CMake. (#15924)

2.2.1 (20-Mar-2024)

20 Mar 17:52
f416a7e
Compare
Choose a tag to compare
  • Fix: Add copytree_compat method for compatibility with Python>=3.12 after distutils removal. (#15906)

2.2.0 (20-Mar-2024)

20 Mar 14:26
906146f
Compare
Choose a tag to compare
  • Feature: Raise for toolchains different than CMakeToolchain if using universal binary syntax. (#15896)
  • Feature: Warn on misplaced requirement function calls (#15888)
  • Feature: Print options conflicts in the graph caused by different branches recipes defining options values. (#15876). Docs: 📃
  • Feature: Add macOS versions 14.2, 14.3, 14.4 to settings.yml. (#15859). Docs: 📃
  • Feature: New graph html: more information, test-requires, hiding/showing different packages (build, test). (#15846). Docs: 📃
  • Feature: Add --backup-sources flag to conan cache clean. (#15845)
  • Feature: Add conan graph outdated command that lists the dependencies that have newer versions in remotes (#15838). Docs: 📃
  • Feature: Set CMAKE_VS_DEBUGGER_ENVIRONMENT from CMakeToolchain to point to all binary directories when using Visual Studio. This negates the need to copy DLLs to launch executables from the Visual Studio IDE (requires CMake 3.27 or newer). (#15830). Docs: 📃
  • Feature: Add a parameter to trim_conandata to avoid raising an exception when conandata.yml file doesn't exist. (#15829). Docs: 📃
  • Feature: Added build_context_folder to PkgConfigDeps. (#15813). Docs: 📃
  • Feature: Included build.pkg_config_path in the built-in options section in the MesonToolchain template. (#15813). Docs: 📃
  • Feature: Update _meson_cpu_family_map to support arm64ec. (#15812)
  • Feature: Added support for Clang 18. (#15806). Docs: 📃
  • Feature: Add basic support in CMakeToolchain for universal binaries. (#15775). Docs: 📃
  • Feature: New tools.cmake.cmake_layout:build_folder config that allows re-defining cmake_layout local build-folder. (#15767). Docs: 📃
  • Feature: New tools.cmake.cmake_layout:test_folder config that allows re-defining cmake_layout output build folder for test_package, including a $TMP placeholder to create a temporary folder in system tmp. (#15767). Docs: 📃
  • Feature: (Experimental) Add conan config install-pkg myconf/[*] new configuration inside Conan packages with new package_type = "configuration". (#15748). Docs: 📃
  • Feature: (Experimental) New core.package_id:config_mode that allows configuration package reference to affect the package_id of all packages built with that configuration. (#15748). Docs: 📃
  • Feature: Make cppstd_flag public to return the corresponding C++ standard flag based on the settings. (#15710). Docs: 📃
  • Feature: Allow self.name and self.version in build_folder_vars attribute and conf. (#15705). Docs: 📃
  • Feature: Add conan list --filter-xxx arguments to list package binaries that match settings+options. (#15697). Docs: 📃
  • Feature: Add detect_libc to the detect_api to get the name and version of the C library. (#15683). Docs: 📃
  • Feature: New CommandAPI subapi in the ConanAPI that allows calling other commands. (#15630). Docs: 📃
  • Fix: Avoid unnecessary build of tool_requires when --build=missing and repeated tool_requires. (#15885)
  • Fix: Fix CMakeDeps set_property(... APPEND argument order. (#15877)
  • Fix: Raising an error when an infinite loop is found in the install graph (ill-formed dependency graph with loops). (#15835)
  • Fix: Make sure detect_default_compiler() always returns a 3-tuple. (#15832)
  • Fix: Print a clear message for conan graph explain when no binaries exist for one revision. (#15823)
  • Fix: Add package_type="static-library" to the conan new msbuild_lib template. (#15807)
  • Fix: Avoid platform_requires to fail when explicit options are being passed via requires(.., options={}). (#15804)
  • Fix: Make CMakeToolchain end with newline. (#15788)
  • Fix: Do not allow conan list binary filters or package query if a binary pattern is not provided. (#15781)
  • Fix: Avoid CMakeToolchain.preprocessor_definition definitions to "None" literal string when it has no value (Python None). (#15756)
  • Fix: Improved conan install <path> --deployer-package=* case that was crashing when using self.package_folder. (#15737)
  • Fix: Fix conan graph info --format=html for large dependency graphs. (#15724)
  • Fix: Make all recipe and plugins python file print() to stderr, so json outputs to stdout are not broken. (#15704)
  • Fix: Fix getting the gnu triplet for Linux x86. (#15699)
  • Bugfix: Solve backslash issues with conan_home_folder in global.conf when used in strings inside lists. (#15870)
  • Bugfix: Fix CMakeDeps multi-config when there are conditional dependencies on the build_type. (#15853)
  • Bugfix: Move get_backup_sources() method to expected CacheAPI from UploadAPI. (#15845)
  • Bugfix: Avoid TypeError when a version in conandata.yml lists no patches. (#15842)
  • Bugfix: Solve package_type=build-scripts issue with lockfiles and conan create. (#15802)
  • Bugfix: Allow --channel command line argument if the recipe specifies user attribute. (#15794)
  • Bugfix: Fix cross-compilation to Android from Windows when using MesonToolchain. (#15790)
  • Bugfix: Fix CMakeToolchain GENERATOR_TOOLSET when compiler.update is defined. (#15789)
  • Bugfix: Solved evaluation of conf items when they matched a Python module (#15779)
  • Bugfix: Fix PkgConfigDeps generating .pc files for its tool_requires when it is in the build context already. (#15763)
  • Bugfix: Adding VISIBILITY flags to CONAN_C_FLAGS too. (#15762)
  • Bugfix: Fix conan profile show --format=json for profiles with scoped confs. (#15747)
  • Bugfix: Fix legacy usage of update argument in Conan API. (#15743)
  • Bugfix: Solve broken profile [conf] when strings contains Windows backslash. (#15727)
  • Bugfix: Fix version precendence for metadata version ranges. (#15653)

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)