Skip to content

Releases: conan-io/conan

2.4.0 (05-Jun-2024)

05 Jun 14:02
5b5015e
Compare
Choose a tag to compare
  • Feature: Added support for MacOS sdk_version 14.5 (#16400). Docs: πŸ“ƒ
  • Feature: Added CC_FOR_BUILD and CXX_FOR_BUILD environment variable to AutotoolsToolchain. (#16391). Docs: πŸ“ƒ
  • Feature: Added extra_xxxx flags to MesonToolchain as done in other toolchains like AutotoolsToolchain, CMakeToolchain, etc. (#16389)
  • Feature: Add new qbs_lib template for the conan new command. (#16382)
  • Feature: new detect_api.detect_sdk_version() method (#16355). Docs: πŸ“ƒ
  • Feature: Add excludes parameter to tools.files.rm to void removing pattern. (#16350). Docs: πŸ“ƒ
  • Feature: Allow multiple --build=missing:~pattern1 --build=missing:~pattern2 patterns. (#16327)
  • Feature: Deprecate use of path accessors in ConanFile. (#16247)
  • Feature: add support for setting tools.cmake.cmaketoolchain:extra_variables (#16242). Docs: πŸ“ƒ
  • Feature: Add cmake_additional_variables_prefixes variable to CMakeDeps generator to allow adding extra names for declared CMake variables. (#16231). Docs: πŸ“ƒ
  • Feature: Allow GNUInstallDirs definition in CMakeToolchain for the local conan install/build flow too. (#16214)
  • Feature: Let conan cache save listen to the core.gzip:compresslevel conf. (#16211)
  • Feature: Add support for Bazel >= 7.1. (#16196). Docs: πŸ“ƒ
  • Feature: Add new revision_mode including everything down to the recipe-revision, but not the package_id. (#16195). Docs: πŸ“ƒ
  • Feature: Allow a recipe to requires(..., visible=False) a previous version of itself without raising a loop error. (#16132)
  • Feature: New vendor=True package creation and build isolation strategy (#16073). Docs: πŸ“ƒ
  • Feature: New compiler.cstd setting for C standard (#16028). Docs: πŸ“ƒ
  • Feature: Implemented compatibility.py default compatibility for different C standards (#16028). Docs: πŸ“ƒ
  • Feature: Implement check_min_cstd, check_max_cstd, valid_max_cstd, valid_min_cstd, supported_cstd tools (#16028). Docs: πŸ“ƒ
  • Feature: New languages = "C", "C++" class attribute to further automate settings management (#16028). Docs: πŸ“ƒ
  • Feature: Add CONAN_RUNTIME_LIB_DIRS variable to the conan_toolchain.cmake. (#15914). Docs: πŸ“ƒ
  • Fix: Implement a back migration to <2.3 for default compatibility.py plugin. (#16405)
  • Fix: Add missing [replace_requires] and [platform_requires] to serialization/dump of profiles. (#16401)
  • Fix: Fix handling spaces in paths in Qbs helper. (#16382)
  • Fix: Make cc version detection more robust (#16362)
  • Fix: Allow --build=missing:& pattern to build only the consumer if missing, but not others. (#16344)
  • Fix: Allow "local-recipes-index" to conan list packages with custom user/channel. (#16342)
  • Fix: Fixing docstrings for cppstd functions. (#16341)
  • Fix: Change autodetect of CMAKE_SYSTEM_VERSION to use the Darwin version. (#16335). Docs: πŸ“ƒ
  • Fix: Fix require syntax in output in graph build-order. (#16308)
  • Fix: Improve some commands help documentation strings by adding double quotes. (#16292)
  • Fix: Better error message for incorrect version-ranges definitions. (#16289)
  • Fix: Only print info about cached recipe revision being newer when it truly is. (#16275)
  • Fix: Warn when using options without pattern scope, to improve UX of users expecting -o shared=True to apply to dependencies. (#16233). Docs: πŸ“ƒ
  • Fix: Fix CommandAPI usage when not used by Conan custom commands. (#16213)
  • Fix: Avoid datetime deprecated calls in Python 3.12. (#16095)
  • Fix: Handle tools.build:sysroot on Meson toolchain. (#16011). Docs: πŸ“ƒ
  • Bugfix: Fix LLVM/Clang enablement of vcvars for latest v14.4 toolset version after VS 17.10 update (#16374). Docs: πŸ“ƒ
  • Bugfix: Fix profile errors when using a docker runner of type=shared (#16364)
  • Bugfix: conan graph info .. --build=pkg doesn't download pkg sources unless tools.build:download_source is defined. (#16349)
  • Bugfix: Solved problem with relativization of paths in CMakeToolchain and CMakeDeps. (#16316)
  • Bugfix: Avoid sanitizing tools.build:compiler_executables value in MesonToolchain. (#16307)
  • Bugfix: Solved incorrect paths in conan cache save/restore tgz files that crashed when using storage_path custom configuration. (#16293)
  • Bugfix: Fix stacktrace with nonexistent graph file in conan list. (#16291)
  • Bugfix: Let CMakeDeps generator overwrite the xxxConfig.cmake when it already exists. (#16279)
  • Bugfix: Disallow self.info access in source() method. (#16272)

2.3.2 (28-May-2024)

28 May 09:10
5e42ca5
Compare
Choose a tag to compare
  • Feature: New tools.microsoft:msvc_update configuration to define the MSVC compiler update even when compiler.update is not defined. Can be used to use compiler.version=193 once VS2022 is updated to 17.10, which changes the default compiler to compiler.version=194. (#16332)
  • Bugfix: Allow default compatibility.py plugin to fallback from MSVC compiler.version=194->193 and to other cppstd values. (#16346)
  • Bugfix: Skip dot folders in local recipe index layouts. (#16345)
  • Bugfix: Remove extra backslash in generated conanvcvars.ps1. (#16322)

2.3.1 (16-May-2024)

16 May 17:40
95da083
Compare
Choose a tag to compare
  • Feature: Add GCC 13.3 support. (#16246). Docs: πŸ“ƒ
  • Feature: Allow opt-out for CMakeToolchain default use of absolute paths for CMakeUserPresets->CMakePreset and CMakePresets->toolchainFile path. (#16244). Docs: πŸ“ƒ
  • Fix: Fix config container name for Docker runner. (#16243)
  • Bugfix: Make compatibility checks understand update flag patterns. (#16252)
  • Bugfix: Solve bug with overrides from lockfiles in case of diamond structures. (#16235)
  • Bugfix: Allow export-pkg --version=xxx to be passed to recipes with python_requires inheriting set_version from base class. (#16224)

1.64.1 (14-May-2024)

14 May 09:38
Compare
Choose a tag to compare
  • Bugfix: Solved inefficiency in conan info that could make the command order of magnitude slower in slow drive systems with large dependency graphs. (#16236)

2.3.0 (06-May-2024)

06 May 16:43
Compare
Choose a tag to compare
  • Feature: Allow * wildcard as subsetting in in rm_safe. (#16105). Docs: πŸ“ƒ
  • Feature: Show recipe and package sizes when running conan upload. (#16103)
  • Feature: Extend conan version to report current python and system for troubleshooting. (#16102). Docs: πŸ“ƒ
  • Feature: Add detect_xxxx_compiler() for mainstream compilers as gcc, msvc, clang. to the public detect_api. (#16092). Docs: πŸ“ƒ
  • Feature: Add comment support for .conanignore file. (#16087)
  • Feature: In graph html search bar now takes in multiple search patterns separated by commas. (#16083)
  • Feature: In graph html added 'filter packages' bar that takes in multiple search patterns separated by comma and hides filters them from graph. (#16083)
  • Feature: Add an argument hide_url to Git operations to allow logging of the repository URL. By default, URLs will stay <hidden>, but users may opt-out of this. (#16038)
  • Feature: Allow .conf access (exclusively to global.conf information, not to profile information) in the export() and export_sources() methods. (#16034). Docs: πŸ“ƒ
  • Feature: Avoid copying identical existing files in copy(). (#16031)
  • Feature: New conan pkglist merge command to merge multiple package lists. (#16022). Docs: πŸ“ƒ
  • Feature: New conan pkglist find-remote command to find matching in remotes for list of packages in the cache. (#16022). Docs: πŸ“ƒ
  • Feature: Relativize paths in CMakePresets generation. (#16015)
  • Feature: Add new test_package_folder attribute to conanfile.py to define a different custom location and name rather than test_package default. (#16013). Docs: πŸ“ƒ
  • Feature: New conan create --test-missing syntax to optionally run the test_package only when the package is actually created (useful with --build=missing). (#15999). Docs: πŸ“ƒ
  • Feature: Add tools.gnu:build_triplet to conf. (#15965)
  • Feature: Add --exist-ok argument to conan profile detect to not fail if the profile already exists, without overwriting it. (#15933)
  • Feature: MesonToolchain can generate a native file if native=True (only makes sense when cross-building). (#15919). Docs: πŸ“ƒ
  • Feature: Meson helper injects native and cross files if both exist. (#15919). Docs: πŸ“ƒ
  • Feature: Add support for meson subproject. (#15916). Docs: πŸ“ƒ
  • Feature: Added transparent support for running Conan within a Docker container. (#15856). Docs: πŸ“ƒ
  • Fix: Allow defining CC=/usr/bin/cc (and for CXX) for conan profile detect auto-detection. (#16187)
  • Fix: Solve issue in pyinstaller.py script, it will no longer install pip install pyinstaller, having it installed will be a precondition (#16186)
  • Fix: Use backslash in CMake helper for the CMakeLists.txt folder, fixes issue when project is in the drive root, like X: (#16180)
  • Fix: Allowing conan editable remove <path> even when the path has been already deleted. (#16170)
  • Fix: Fix conan new --help formatting issue. (#16155)
  • Fix: Improved error message when there are conflicts in the graph. (#16137)
  • Fix: Improve error message when one URL is not a valid server but still returns 200-ok under a Conan "ping" API call. (#16126)
  • Fix: Solve sqlite3 issues in FreeBSD due to queries with double quotes. (#16123)
  • Fix: Clean error message for conan cache restore <non-existing-file>. (#16113)
  • Fix: Improve UX and error messages when a remotes or credentials file in the cache is invalid/empty. (#16091)
  • Fix: Use cc executable in Linux systems for autodetect compiler (conan profile detect and detect_api). (#16074)
  • Fix: Improve the definition of version ranges UX with better error message for invalid ==, ~=, ^= operators. (#16069)
  • Fix: Improve error message UX when incorrect settings.yml or settings_user.yml. (#16065)
  • Fix: Print a warning for Python 3.6 usage which is EOL since 2021. (#16003)
  • Fix: Remove duplicated printing of command line in Autotools helper. (#15991)
  • Fix: Add response error message output to HTTP Status 401 Errors in FileDownloader. (#15983)
  • Fix: Add gcc 14 to default settings.yml. (#15958)
  • Fix: Make VCVars use the compiler.update to specify the toolset. (#15947)
  • Fix: Add rc to AutotoolsToolchain mapping of compiler_executables for cross-build Linux->Windows. (#15946)
  • Fix: Add Pop!_OS to the distros using apt-get as system package manager. (#15931)
  • Fix: Do not warn with package names containing the - character. (#15920)
  • Fix: Fix html escaping of new --format=html graph output, and pass the graph serialized object instead of the string. (#15915)
  • Bugfix: Make MesonToolchain listen to tools.build:defines conf variable. (#16172). Docs: πŸ“ƒ
  • Bugfix: Disallow self.cpp_info access in validate_build() method. (#16135)
  • Bugfix: Don't show a trace when .conanrc's conan_home is invalid. (#16134)
  • Bugfix: Avoid the propagation of transitive dependencies of tool_requires to generators information even if they are marked as visible=True. (#16077)
  • Bugfix: BazelDeps now uses the requirement.build property instead of dependency.context one. (#16025)
  • Bugfix: Make conan cache restore work correctly when restoring over a package already in the local cache. (#15950)

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)