Changelog¶
For a more detailed description of the major changes that Conan 2 brings, compared with Conan 1.X, please read What’s new in Conan 2
2.3.2 (28-May-2024)¶
- Feature: New - tools.microsoft:msvc_updateconfiguration to define the MSVC compiler- updateeven when- compiler.updateis not defined. Can be used to use- compiler.version=193once VS2022 is updated to 17.10, which changes the default compiler to- compiler.version=194. #16332
- Bugfix: Allow default - compatibility.pyplugin to fallback from MSVC- compiler.version=194->193and to other- cppstdvalues. #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)¶
- Feature: Allow opt-out for - CMakeToolchaindefault use of absolute paths for CMakeUserPresets->CMakePreset and CMakePresets->toolchainFile path. #16244 . Docs here
- Fix: Fix config container name for Docker runner. #16243 
- Bugfix: Make compatibility checks understand update flag patterns. #16252 
- Bugfix: Solve bug with - overridesfrom- lockfilesin case of diamond structures. #16235
- Bugfix: Allow - export-pkg --version=xxxto be passed to recipes with- python_requiresinheriting- set_versionfrom base class. #16224
2.3.0 (06-May-2024)¶
- Feature: Allow * wildcard as subsetting in in rm_safe. #16105 . Docs here 
- 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 here 
- Feature: Add - detect_xxxx_compiler()for mainstream compilers as gcc, msvc, clang. to the public- detect_api. #16092 . Docs here
- 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 - .confaccess (exclusively to- global.confinformation, not to profile information) in the- export()and- export_sources()methods. #16034 . Docs here
- Feature: Avoid copying identical existing files in - copy(). #16031
- Feature: New - conan pkglist mergecommand to merge multiple package lists. #16022 . Docs here
- Feature: New - conan pkglist find-remotecommand to find matching in remotes for list of packages in the cache. #16022 . Docs here
- Feature: Relativize paths in CMakePresets generation. #16015 
- Feature: Add new - test_package_folderattribute to- conanfile.pyto define a different custom location and name rather than- test_packagedefault. #16013 . Docs here
- Feature: New - conan create --test-missingsyntax to optionally run the- test_packageonly when the package is actually created (useful with- --build=missing). #15999 . Docs here
- Feature: Add tools.gnu:build_triplet to conf. #15965 
- Feature: Add - --exist-okargument to- conan profile detectto 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 here 
- Feature: Meson helper injects native and cross files if both exist. #15919 . Docs here 
- Feature: Add support for meson subproject. #15916 . Docs here 
- Feature: Added transparent support for running Conan within a Docker container. #15856 . Docs here 
- Fix: Allow defining - CC=/usr/bin/cc(and for CXX) for- conan profile detectauto-detection. #16187
- Fix: Solve issue in - pyinstaller.pyscript, it will no longer install- pip install pyinstaller, having it installed will be a precondition #16186
- Fix: Use backslash in - CMakehelper 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 - sqlite3issues 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 - ccexecutable in Linux systems for autodetect compiler (- conan profile detectand- 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.ymlor- 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 - Autotoolshelper. #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 - VCVarsuse the- compiler.updateto specify the toolset. #15947
- Fix: Add - rcto- AutotoolsToolchainmapping of- compiler_executablesfor cross-build Linux->Windows. #15946
- Fix: Add - Pop!_OSto the distros using- apt-getas system package manager. #15931
- Fix: Do not warn with package names containing the - character. #15920 
- Fix: Fix html escaping of new - --format=htmlgraph output, and pass the graph serialized object instead of the string. #15915
- Bugfix: Make MesonToolchain listen to tools.build:defines conf variable. #16172 . Docs here 
- 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_requiresto 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)¶
- Fix: Fix to_apple_archs method when using architectures from settings_user. #16090 
2.2.2 (25-Mar-2024)¶
2.2.1 (20-Mar-2024)¶
- Fix: Add copytree_compat method for compatibility with Python>=3.12 after distutils removal. #15906 
2.2.0 (20-Mar-2024)¶
- 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 here 
- Feature: Add macOS versions 14.2, 14.3, 14.4 to settings.yml. #15859 . Docs here 
- Feature: New graph - html: more information, test-requires, hiding/showing different packages (build, test). #15846 . Docs here
- 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 here 
- 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 here 
- Feature: Add a parameter to trim_conandata to avoid raising an exception when conandata.yml file doesn’t exist. #15829 . Docs here 
- Feature: Added build_context_folder ` to PkgConfigDeps. `#15813 . Docs here 
- Feature: Included build.pkg_config_path ` in the built-in options section in the MesonToolchain template. `#15813 . Docs here 
- Feature: Update _meson_cpu_family_map to support arm64ec. #15812 
- Feature: Add basic support in CMakeToolchain for universal binaries. #15775 . Docs here 
- Feature: New - tools.cmake.cmake_layout:build_folderconfig that allows re-defining- cmake_layoutlocal build-folder. #15767 . Docs here
- Feature: New - tools.cmake.cmake_layout:test_folderconfig that allows re-defining- cmake_layoutoutput build folder for- test_package, including a- $TMPplaceholder to create a temporary folder in system- tmp. #15767 . Docs here
- Feature: (Experimental) Add - conan config install-pkg myconf/[*]new configuration inside Conan packages with new- package_type = "configuration". #15748 . Docs here
- Feature: (Experimental) New - core.package_id:config_modethat allows configuration package reference to affect the- package_idof all packages built with that configuration. #15748 . Docs here
- Feature: Make cppstd_flag public to return the corresponding C++ standard flag based on the settings. #15710 . Docs here 
- Feature: Allow - self.nameand- self.versionin- build_folder_varsattribute and conf. #15705 . Docs here
- Feature: Add - conan list --filter-xxxarguments to list package binaries that match settings+options. #15697 . Docs here
- Feature: Add detect_libc to the detect_api to get the name and version of the C library. #15683 . Docs here 
- Feature: New - CommandAPIsubapi in the- ConanAPIthat allows calling other commands. #15630 . Docs here
- Fix: Avoid unnecessary build of - tool_requireswhen- --build=missingand repeated- tool_requires. #15885
- Fix: Fix - CMakeDeps- set_property(... APPENDargument 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 explainwhen no binaries exist for one revision. #15823
- Fix: Add - package_type="static-library"to the- conan new msbuild_libtemplate. #15807
- Fix: Avoid - platform_requiresto fail when explicit options are being passed via- requires(.., options={}). #15804
- Fix: Make - CMakeToolchainend with newline. #15788
- Fix: Do not allow - conan listbinary filters or package query if a binary pattern is not provided. #15781
- Fix: Avoid - CMakeToolchain.preprocessor_definitiondefinitions 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- stdoutare not broken. #15704
- Fix: Fix getting the gnu triplet for Linux x86. #15699 
- Bugfix: Solve backslash issues with - conan_home_folderin- global.confwhen used in strings inside lists. #15870
- Bugfix: Fix - CMakeDepsmulti-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-scriptsissue with lockfiles and conan create. #15802
- Bugfix: Allow - --channelcommand line argument if the recipe specifies- userattribute. #15794
- Bugfix: Fix cross-compilation to Android from Windows when using - MesonToolchain. #15790
- Bugfix: Fix - CMakeToolchainGENERATOR_TOOLSET when- compiler.updateis defined. #15789
- Bugfix: Solved evaluation of - confitems when they matched a Python module #15779
- Bugfix: Fix - PkgConfigDepsgenerating .pc files for its- tool_requireswhen 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)¶
- Feature: Implement multi-config - tools.build:xxxxflags in- CMakeToolchain. #15654
- Feature: Add ability to pass patterns to –update flag. #15652 . Docs here 
- 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 here 
- Feature: Provide a new - graph build-order --reduceargument to reduce the order exclusively to packages that need to be built from source. #15573 . Docs here
- Feature: Add configuration to specify desired CUDA Toolkit in CMakeToolchain for Visual Studio CMake generators. #15572 . Docs here 
- Feature: New “important” options values definition, with higher precedence over regular option value definitions. #15571 . Docs here 
- Feature: Display message when calling deactivate_conanvcvars. #15557 
- Feature: Add - self.infoinformation of- package_idto serialized output in the graph, and forward it to package-lists. #15553 . Docs here
- 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_packageof- python_requires. #15485 . Docs here
- Feature: Adding CMakeToolchain.presets_build/run_environment to modify CMakePresets environment in generate() method. #15470 . Docs here 
- Feature: Add –allowed-packges to remotes to limit what references a remote can supply. #15464 . Docs here 
- Feature: Initial documentation to make - RemotesAPIpublicly available (experimental). #15462
- Feature: Add support for use of vcvars env variables when calling from powershell. #15461 . Docs here 
- Feature: New - Git(..., excluded=[])feature to avoid “dirty” errors in- Githelper. #15457 . Docs here
- Feature: New - core.scm:excludedfeature to avoid “dirty” errors in- Githelper and- revision_mode = "scm". #15457 . Docs here
- Feature: Recipe - python_package_id_modefor- python_requiresrecipes, to define per-recipe effect on consumers- package_id. #15453 . Docs here
- Feature: Add cmakeExecutable to configure preset. #15447 . Docs here 
- Feature: Add new - --core-confcommand line argument to allow passing core. confs via CLI. #15441 . Docs here
- Feature: Add - detect_api.detect_msvc_update(version)helper to- detect_api. #15435 . Docs here
- Feature: - CMakeToolchaindefines- jobsin generated- CMakePresets.jsonbuildPresets. #15422
- Feature: Allow nested “ANY” definitions in - settings.yml. #15415 . Docs here
- Feature: Helpers - Git().coordinates_to_conandata()and- Git().checkout_from_conandata_coordinates()to simplify scm based flows. #15377
- Feature: - AutotoolsToolchainautomatically inject- -FSfor VS. #15375
- Feature: New conan upload - core.upload:parallelfor faster parallel uploads. #15360 . Docs here
- Feature: Intel oneAPI compiler detection improvement. #15358 
- Feature: Display progress for long - conan listcommands. #15354
- Feature: Add extension_properties attribute to pass information to extensions from recipes. #15348 . Docs here 
- Feature: Implement compatibility_cppstd in extension_properties for the - compatibility.pyplugin to disable fallback to other cppstd for the recipe. #15348 . Docs here
- Feature: Add - Git.get_commit(..., repository=True)to obtain the repository commit, not the folder commit. #15304
- Feature: Ensure - --build=editableand- --build=cascadeworks together. #15300 . Docs here
- Feature: New - conan graph build-order --order=configurationto output a different order, sorted by package binaries/configurations, not grouped by recipe revisions. #15270 . Docs here
- Feature: Allow copy&paste of recipe revisions with timestamps from - --format=compactinto- conan lock add. #15262 . Docs here
- 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 - Nonevalues for- CMakeToolchain.preprocessor_definitionsthat will map to definitions without values. #15545 . Docs here
- 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-packagesargument, it was not documented as it is was not intended for public usage. #15499 . Docs here
- 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=skipwith- --build=missingissues. #15336
- Fix: Accept - conan download/upload --list=.. --only-recipeto download only the recipes. #15312
- Fix: Allow - cmake.build(build_type="Release")for recipes built with multi-config systems but without- build_typesetting. #14780
- Bugfix: Fix - MSBuildDepswith components and skipped dependencies. #15626
- Bugfix: Avoid - providesraising an error for packages that self- tool_requiresto themselves to cross-build. #15575
- Bugfix: Fix build scope OS detection in tools.microsoft.visual.VCVars. #15568 
- Bugfix: Fix wrong propagation over - visible=Falsewhen dependency is header-only. #15564
- Bugfix: Store the temporary cache folders inside - core.cache:storage_path, so- conan cache cleanalso finds and clean them correctly. #15505
- Bugfix: The - conan export-pkg --format=jsonoutput now returns- recipe = "cache"status, as the recipe is in the cache after the command. #15504
- Bugfix: The conan export-pkg command stores the lockfile excluding the - test_package, following the same behavior as conan create. #15504
- Bugfix: Avoid conan test failing for - python_requirestest-package. #15485 . Docs here
- Bugfix: MesonToolchain calculates a valid apple_min_version_flag. #15465 
- Bugfix: Allow to limit - os,- compilerand other settings with subsettings in- build_id()and- package_id()methods. #15439
- Bugfix: Fix getting environment variable CONAN_LOGIN_USERNAME_REMOTE. #15388 
- Bugfix: Don’t take . folder into consideration for tools.files.copy() excludes patterns. #15349 
- Bugfix: Disable creating editables without name and version. #15337 
- Bugfix: Fix Git.get_url_and_commit raising for some Git configs. #15271 
- Bugfix: Direct dependencies in the “host” context of packages being built shouldn’t be skipped. This allows for non C/C++ libraries artifacts, like images, in the “host” context, to be used as build-time resources. #15128 
2.0.17 (10-Jan-2024)¶
- Fix: Automatically create folder if - conan cache save --file=subfolder/file.tgzsubfolder doesn’t exist. #15409
- Bugfix: Fix libcxx detection when using CC/CXX env vars. #15418 . Docs here 
- Bugfix: Solve - winsdk_versionbug in- CMakeToolchaingenerator for- cmake_minimum_required(3.27). #15373
- Bugfix: Fix visible trait propagation with - build=Truetrait. #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)¶
2.0.15 (20-Dec-2023)¶
- Feature: New - conan lock removecommand to remove requires from lockfiles. #15284 . Docs here
- Feature: New - CMake.ctest()helper method to launch directly- ctestinstead of via- cmake --target=RUN_TEST. #15282
- Feature: Add tracking syntax in <host_version> for different references. #15274 . Docs here 
- Feature: Adding - tools.microsoft:winsdk_versionconf to make- VCVarsgenerator to use the given- winsdk_version. #15272 . Docs here
- Feature: Add pkglist formatter for conan export command. #15266 . Docs here 
- Feature: Define - CONAN_LOG_LEVELenv-var to be able to change verbosity at a global level. #15263 . Docs here
- 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 here 
- Feature: Make - CMakeDepsgenerator create a- conandeps.cmakethat aggregates all direct dependencies in a- cmake-like generator style. #15207 . Docs here
- Feature: Add build environment information to CMake configure preset and run environment information to CMake test presets. #15192 . Docs here 
- 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 here
- Feature: Allow - tool-requiresto be used in- source()method injecting environment. #15153 . Docs here
- 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 here 
- 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 here
- Feature: Add stderr capture argument to conanfile’s run() method. #15121 . Docs here 
- Feature: New - [platform_requires]profile definition to be able to replace Conan dependencies by platform-provided dependencies. #14871 . Docs here
- Feature: New - conan graph explaincommand to search, compare and explain missing binaries. #14694 . Docs here
- Feature: Global - cpp_infocan 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 here
- 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 here
- Bugfix: Ensure user confs have at least 1 : separator #15296 
- Bugfix: - Git.is_dirty()will use- git status . -sto make sure it only process the current path, not the whole repo, similarly to other- Gitmethods. #15289
- Bugfix: Make - self.info.clear()and header-only packages to remove- python_requiresand- tool_requires. #15285 . Docs here
- Bugfix: Make - conan cache save/restoreportable across Windows and other OSs. #15253
- Bugfix: Do not relativize absolute paths in - deployers. #15244
- Bugfix: Add - architectureto- CMakePresetsto 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_pathconf is defined. #15135
- Bugfix: Fix definition of - package_metadata_folderfor 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)¶
- Feature: Added - riscv64, riscv32architectures to default- settings.ymland 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 here 
- Feature: New - conan list --format=compactfor better UX. #15011 . Docs here
- Feature: Ignore metadata upload by passing –metadata=”” #15007 . Docs here 
- Feature: Better output messages in conan upload #14984 
- Feature: Add extra flags to CMakeToolchain. #14966 . Docs here 
- Feature: Implement package load/restore from the cache, for CI workflows and moving packages over air-gaps. #14923 . Docs here 
- 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 CMakeDeps and PkgConfigDeps generators listening to system_package_version property. #14808 . Docs here 
- Feature: Add shorthand syntax in cli to specify host and build in 1 argument #14727 . Docs here 
- Feature: Implement cache LRU control for cleaning of unused artifacts. #14054 . Docs here 
- Fix: Avoid - CMakeToolchainoverwriting user- CMakePresets.jsonwhen no layout nor output-folder is defined #15058
- Fix: Add - astra,- elbrusand- altlinuxas distribution using- aptin SystemPackageManager #15051
- Fix: Default to apt-get package manager in Linux Mint #15026 . Docs here 
- 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 here 
- Fix: Remove colors from - conan --versionoutput #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 - confto affect other recipes. #14932 . Docs here
- Fix: The output of system packages via - Apt.install()or- PkgConfig.fill_cpp_info, like- xorg/systemwas very noisy to the Conan output, making it more quiet #14924
- Fix: Serialize the - pathinformation of- python_requires, necessary for computing buildinfo #14886
- Fix: Define remotes in conan source command in case recipe has - python_requiresthat need to be downloaded from remotes. #14852
- Fix: Fix min target flag for xros and xros-simulator. #14776 
- Bugfix: - --build=missingwas doing unnecessary builds of packages that were not needed and could be skipped, in the case of- tool_requireshaving transitive dependencies. #15082
- BugFix: Add package revision to format=json in ‘conan export-pkg’ command #15042 
- Bugfix: - tools.build:download_source=Truewill not fail when there are editable packages. #15004 . Docs here
- Bugfix: Transitive dependencies were incorrectly added to conandeps.xcconfig. #14898 
- Bugfix: Fix integrity-check ( - upload --checkor- cache check-integrity) when the- export_sourcehas 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 here
- BugFix: Fix version ranges so pre-releases are correctly included in the lower bound and excluded in the upper bound. #14814 . Docs here 
2.0.13 (28-Sept-2023)¶
- Bugfix: Fix wrong cppstd detection for newer apple-clang versions introduced in 2.0.11. #14837 
2.0.12 (26-Sept-2023)¶
- Feature: Add host_tool to install() method in package_manager to indicate whether the package is a host tool or a library. #14752 . Docs here 
- Fix: Better error message when trying to - export-pkga- python-requirepackage, and avoid it being exported and then failing. #14819
- Fix: - CMakeDepsallows- set_property()on all properties. #14813
- Fix: Add minor version for Apple clang 15.0. #14797 . Docs here 
- Fix: conan build command prettier error when <path> argument not provided. #14787 
- Bugfix: fix - compatibility()over- settings_targetmaking it None #14825
- Bugfix: - compatiblepackages 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 - editablepackages when they have components partially defining directories. #14782
2.0.11 (18-Sept-2023)¶
- Feature: Add - --format=jsonformatter to- conan profile showcommand #14743 . Docs here
- Feature: add new –deployer –generators args to ‘conan build’ cmd #14737 . Docs here 
- Feature: Better - CMakeToolchainblocks interface. Added new- .blocks.select(),- .blocks.keys(). #14731 . Docs here
- 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 here 
- Feature: Support clang-cl in default profile plugin. #14682 . Docs here 
- 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 here 
- Feature: MakeDeps: Provide “require” information, and more styling tweaks. #14605 
- Feature: New - detect_apito be used in profiles jinja templates. #14578 . Docs here
- Feature: Allow access to settings_target in compatibility method. #14532 
- 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 here 
- Bugfix: Solved propagation of transitive shared dependencies of - test_requireswith diamonds. #14721
- Bugfix: Solve crash with conan export-pkg with - test_packagedoing 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 - CMakeDepsgenerated files are broken. #14673
- Bugfix: Fix detected CPU architecture when running - conan profile detecton native ARM64 Windows. #14667
- Bugfix: - conan lock create --updatenow 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:confsshouldn’t affect header-only libraries. #14622
2.0.10 (29-Aug-2023)¶
- Feature: Allow - patch_userin- conandata.ymldefinition for user patches, not handled by- apply_conandata_patches(). #14576 . Docs here
- Feature: Support for Xcode 15, iOS 17, tvOS 17, watchOS 10, macOS 14. #14538 
- Feature: Raise an error if users are adding incorrect ConanCenter web URL as remote. #14531 
- Feature: Serialization of graph with - --format=jsonadds information to- python_requiresso- conan list --graphcan list- python_requirestoo. #14529
- Feature: Add - rrev,- rrev_timestampand- prev_timestampto the graph json serialization. #14526
- Feature: Allow - version-rangesto resolve to editable packages too. #14510
- Feature: Add tools.files.download:verify. #14508 . Docs here 
- Feature: Add support for Apple visionOS. #14504 
- Feature: Warn of unknown version range options. #14493 
- Feature: Add tools.graph:skip_binaries to control binary skipping in the graph. #14466 . Docs here 
- Feature: New - tools.deployer:symlinksconfiguration to disable symlinks copy in deployers. #14461 . Docs here
- Feature: Allow remotes to automatically resolve missing - python_requiresin ‘editable add’. #14413 . Docs here
- Feature: Add - cli_argsargument for- CMake.install(). #14397 . Docs here
- Feature: Allow - test_requires(..., force=True). #14394 . Docs here
- Feature: New - credentials.jsonfile to store credentials for Conan remotes. #14392 . Docs here
- Feature: Added support for apk package manager and Alpine Linux #14382 . Docs here 
- Feature: conan profile detect can now detect the version of msvc when invoked within a Visual Studio prompt where CC or CXX are defined and pointing to the cl compiler executable #14364 
- Feature: Properly document - --build=editablebuild mode. #14358 . Docs here
- Feature: - conan create --build-test=missingnew argument to control what is being built as dependencies of the- test_packagefolder. #14347 . Docs here
- Feature: Provide new - default_build_optionsattribute for defining options for- tool_requiresin recipes. #14340 . Docs here
- Feature: Implement - ...@as a pattern for indicating matches with packages without user/channel. #14338 . Docs here
- Feature: Add support to Makefile by the new MakeDeps generator #14133 . Docs here 
- Fix: Allow –format=json in conan create for python-requires #14594 
- Fix: Remove conan v2 ready conan-center link. #14593 
- Fix: Make conan inspect use all remotes by default. #14572 . Docs here 
- Fix: Allow extra hyphens in versions pre-releases. #14561 
- Fix: Allow confs for - tools.cmake.cmaketoolchainto be used if defined even if- tools.cmake.cmaketoolchain:user_toolchainis defined. #14556 . Docs here
- Fix: Serialize booleans of - dependenciesin- --format=jsonfor graphs as booleans, not strings. #14530 . Docs here
- Fix: Avoid errors in conan upload when - python_requiresare not in the cache and need to be downloaded. #14511
- Fix: Improve error check of - lock addadding a full package reference instead of a recipe reference. #14491
- Fix: Better error message when a built-in deployer failed to copy files. #14461 . Docs here 
- Fix: Do not print non-captured stacktraces to - stdoutbut to- stderr. #14444
- Fix: Serialize - conf_infoin- --format=jsonoutput. #14442
- Fix: MSBuildToolchain/MSBuildDeps: Avoid passing C/C++ compiler options as options for ResourceCompile. #14378 
- Fix: Removal of plugin files result in a better error message instead of stacktrace. #14376 
- Fix: Fix CMake system processor name on armv8/aarch64. #14362 
- Fix: Make backup sources - core.sourcesconf not mandate the final slash. #14342
- Fix: Correctly propagate options defined in recipe - default_optionsto- test_requires. #14340 . Docs here
- Fix: Invoke XCRun using conanfile.run() so that environment is injected. #14326 
- Fix: Use - abspathfor- conan config installto avoid symlinks issues. #14183
- Bugfix: Solve - build_id()issues, when multiple different- package_idsreusing same build-folder. #14555
- Bugfix: Avoid DB errors when timestamp is not provided to conan download when using package lists. #14526 
- Bugfix: Print exception stacktrace (when -vtrace is set) into stderr instead of stdout #14522 
- Bugfix: Print only packages confirmed interactively in conan upload. #14512 
- Bugfix: ‘conan remove’ was outputting all entries in the cache matching the filter not just the once which where confirmed by the user. #14478 
- Bugfix: Better error when passing –channel without –user. #14443 
- Bugfix: Fix - settings_targetcomputation for- tool_requiresof packages already in the “build” context. #14441
- Bugfix: Avoid - DB is lockederror when- core.download:parallelis defined. #14410
- Bugfix: Make generated powershell environment scripts relative when using deployers. #14391 
- Bugfix: fix profile [tool_requires] using revisions that were ignored. #14337 
2.0.9 (19-Jul-2023)¶
- Feature: Add implements attribute in ConanFile to provide automatic management of some options and settings. #14320 . Docs here 
- Feature: Add apple-clang 15. #14302 
- Fix: Allow repository being dirty outside of conanfile.py folder when using revision_mode = “scm_folder”. #14330 
- Fix: Improve the error messages and provide Conan traces for errors in compatibility.py and profile.py plugins. #14322 
- Fix: - flush()output streams after every message write. #14310
- Bugfix: Fix Package signing plugin not verifying the downloaded sources. #14331 . Docs here 
- Bugfix: Fix - CMakeUserPresetsinherits from conan generated presets due to typo. #14325
- Bugfix: ConanPresets.json contains duplicate presets if multiple user presets inherit from the same conan presets. #14296 
- Bugfix: Meson prefix param is passed as UNIX path. #14295 
- Bugfix: Fix CMake Error: Invalid level specified for –loglevel when tools.build:verbosity is set to quiet. #14289 
2.0.8 (13-Jul-2023)¶
- Feature: Add GCC 10.5 to default settings.yml. #14252 
- Feature: Let pkg_config_custom_content overwrite default *.pc variables created by PkgConfigDeps. #14233 . Docs here 
- Feature: Let pkg_config_custom_content be a dict-like object too. #14233 . Docs here 
- Feature: The fix_apple_shared_install_name tool now uses xcrun to resolve the otool and install_name_tool programs. #14195 
- Feature: Manage shared, fPIC, and header_only options automatically. #14194 . Docs here 
- Feature: Manage package ID for header-library package type automatically. #14194 . Docs here 
- Feature: New - cpp_info.set_property("cmake_package_version_compat" , "AnyNewerVersion")for- CMakeDepsgenerator. #14176 . Docs here
- Feature: Metadata improvements. #14152 
- Fix: Improve error message when missing binaries with conan test command. #14272 
- Fix: Make conan download command no longer need to load conanfile, won’t fail for 1.X recipes or missing - python_requires. #14261
- Fix: Using upload with the –list argument now permits empty recipe lists. #14254 
- Fix: Guarantee that - Options.rm_safenever raises. #14238
- Fix: Allow tools.gnu:make_program to affect every CMake configuration. #14223 
- Fix: Add missing package_type to conan new lib templates. #14215 
- Fix: Add clarification for the default folder shown when querying a package reference. #14199 . Docs here 
- Fix: Enable existing status-message code in the patch() function. #14177 
- Fix: Use - configurationin- XcodeDepsinstead of always- build_type. #14168
- Fix: Respect symlinked path for cache location. #14164 
- Fix: - PkgConfiguses- conanfile.run()instead of internal runner to get full Conan environment from profiles and dependencies. #13985
- Bugfix: Fix leaking of - CMakeDeps- CMAKE_FIND_LIBRARY_SUFFIXESvariable. #14253
- Bugfix: Fix conan not finding generator by name when multiple custom global generators are detected. #14227 
- Bugfix: Improve display of graph conflicts in conan graph info in html format. #14190 
- Bugfix: Fix - CMakeToolchaincross-building from Linux to OSX. #14187
- Bugfix: Fix KeyError in backup sources when no package is selected. #14185 
2.0.7 (21-Jun-2023)¶
- Feature: Add new - arm64ecarchitecture, used to define CMAKE_GENERATOR_PLATFORM. #14114 . Docs here
- Feature: Make - CppInfoa public, documented, importable tool for generators that need to aggregate them. #14101 . Docs here
- Feature: Allow - conan remove --list=pkglistto remove package-lists. #14082 . Docs here
- Feature: Output for - conan remove --formatboth text (summary of deleted things) and json. #14082 . Docs here
- Feature: Add core.sources:excluded_urls to backup sources. #14020 
- Feature: conan test command learned the - --format=jsonformatter. #14011 . Docs here
- Feature: Allow - pkg/[version-range]expressions in- conan list(and download, upload, remove) patterns. #14004 . Docs here
- Feature: Add - conan upload --dry-runequivalent to 1.X- conan upload --skip-upload. #14002 . Docs here
- Feature: Add new command conan version to format the output. #13999 . Docs here 
- Feature: Small UX improvement to print some info while downloading large files. #13989 
- Feature: Use - PackagesListas input argument for- conan upload --list=pkglist.json. #13928 . Docs here
- Feature: Use - --graphinput for- conan listto create a- PackagesListthat can be used as input for conan upload. #13928 . Docs here
- Feature: New metadata files associated to recipes and packages that can be uploaded, downloaded and added after the package exists. #13918 
- Feature: Allow to specify a custom deployer output folder. #13757 . Docs here 
- Feature: Split build & compilation verbosity control to two confs. #13729 . Docs here 
- Feature: Added bindir to generated .pc file in PkgConfigDeps. #13623 . Docs here 
- Fix: Deprecate - AutoPackageremnant from Conan 1.X. #14083 . Docs here
- Fix: Fix description for the conf entry for default build profile used. #14075 . Docs here 
- Fix: Remove trailing - .in- conanfile.xxx_folderthat is breaking subsystems like msys2. #14061
- Fix: Avoid caching issues when some intermediate package in the graph calls - aggregated_components()over some dependency and using- --deployer, generators still pointed to the Conan cache and not deployed copy. #14060
- Fix: Allow internal - Cliobject to be called more than once. #14053
- Fix: Force - pyyaml>=6for Python 3.10, as previous versions broke. #13990
- Fix: Improve graph conflict message when Conan can’t show one of the conflicting recipes. #13946 
- Bugfix: Solve bug in timestamp of non-latest revision download from the server. #14110 
- Bugfix: Fix double base path setup in editable packages. #14109 
- Bugfix: Raise if - conan graph build-ordergraph has any errors, instead of quietly doing nothing and outputting and empty json. #14106
- Bugfix: Avoid incorrect path replacements for - editablepackages when folders have overlapping matching names. #14095
- Bugfix: Set clang as the default FreeBSD detected compiler. #14065 
- Bugfix: Add prefix var and any custom content (through the pkg_config_custom_content property) to already generated pkg-config root .pc files by PkgConfigDeps. #14051 
- Bugfix: conan create command returns always the same output for - --format=jsonresult graph, irrespective of test_package existence. #14011 . Docs here
- Bugfix: Fix problem with - editablepackages when defining- self.folders.root=".."parent directory. #13983
- Bugfix: Removed libdir1 and includedir1 as the default index. Now, PkgConfigDeps creates the libdir and includedir variables by default in .pc files. #13623 . Docs here 
2.0.6 (26-May-2023)¶
- Feature: Add a tools.cmake:cmake_program configuration item to allow specifying the location of the desired CMake executable. #13940 . Docs here 
- Fix: Output “id” property in graph json output as str instead of int. #13964 . Docs here 
- Fix: Fix custom commands in a layer not able to do a local import. #13944 
- Fix: Improve the output of download + unzip. #13937 
- Fix: Add missing values to package_manager:mode in conan config install. #13929 
- Bugfix: Ensuring the same graph-info JSON output for graph info, create, export-pkg, and install. #13967 . Docs here 
- Bugfix: - test_requireswere affecting the- package_idof consumers as regular- requires, but they shouldn’t. #13966
- Bugfix: Define - source_foldercorrectly in the json output when- -c tools.build:download_source=True. #13953
- Bugfix: Fixed and completed the graph info xxxx –format json output, to publicly document it. #13934 . Docs here 
- Bugfix: Fix “double” absolute paths in premakedeps. #13926 
- Bugfix: Fix regression from 2.0.5 https://github.com/conan-io/conan/pull/13898, in which overrides of packages and components specification was failing #13923 
2.0.5 (18-May-2023)¶
- Feature: -v argument defaults to the VERBOSE level. #13839 
- Feature: Avoid showing unnecessary skipped dependencies. Now, it only shows a list of reference names if exists skipped binaries. They can be completely listed by adding -v (verbose mode) to the current command. #13836 
- Feature: Allow step-into dependencies debugging for packages built locally with - --build#13833 . Docs here
- Feature: Allow non relocatable, locally built packages with - upload_policy="skip"and- build_policy="missing"#13833 . Docs here
- Feature: Do not move “build” folders in cache when - package-revisionis computed to allow locating sources for dependencies debuggability with step-into #13810
- Feature: New - settings.possible_values()method to query the range of possible values for a setting. #13796 . Docs here
- Feature: Optimize and avoid hitting servers for binaries when - upload_policy=skip#13771
- Feature: Partially relativize generated environment .sh shell scripts #13764 
- Feature: Improve settings.yml error messages #13748 
- Feature: Auto create empty - global.confto improve UX looking for file in home. #13746 . Docs here
- Feature: Render the profile file name as profile_name #13721 . Docs here 
- Feature: New global custom generators in cache “extensions/generators” that can be used by name. #13718 . Docs here 
- Feature: Improve conan inspect output, it now understands set_name/set_version. #13716 . Docs here 
- Feature: Define new - self.tool_requires("pkg/<host_version>")to allow some tool-requires to follow and use the same version as the “host” regular requires do. #13712 . Docs here
- Feature: Introduce new - core:skip_warnsconfiguration to be able to silence some warnings in the output. #13706 . Docs here
- Feature: Add info_invalid to graph node serialization #13688 
- Feature: Computing and reporting the - overridesin the graph, and in the- graph build-order#13680
- Feature: New - revision_mode = "scm_folder"for mono-repo projects that want to use- scmrevisions. #13562 . Docs here
- Feature: Demonstrate that it is possible to - tool_requiresdifferent versions of the same package. #13529 . Docs here
- Fix: build_scripts now set the run trait to True by default #13901 . Docs here 
- Fix: Fix XcodeDeps includes skipped dependencies. #13880 
- Fix: Do not allow line feeds into - pkg/versionreference fields #13870
- Fix: Fix - AutotoolsToolchaindefinition of- tools.build:compiler_executablefor Windows subsystems #13867
- Fix: Speed up the CMakeDeps generation #13857 
- Fix: Fix imported library config suffix. #13841 
- Fix: Fail when defining an unkown conf #13832 
- Fix: Fix incorrect printing of “skipped” binaries in the - conan install/createcommands, when they are used by some other dependencies. #13778
- Fix: Renaming the cache “deploy” folder to “deployers” and allow - -d, --deployercli arg. (“deploy” folder will not break but will warn as deprecated). #13740 . Docs here
- Fix: Omit - -Llibpaths in- CMakeDepsfor header-only libraries. #13704
- Bugfix: Fix when a - test_requiresis also a regular transitive “host” requires and consumer defines components. #13898
- Bugfix: Fix propagation of options like - *:shared=Truedefined in recipes #13855
- Bugfix: Fix - --lockfile-outpaths for ‘graph build-order’ and ‘test’ commands #13853
- Bugfix: Ensure backup sources are uploaded in more cases #13846 
- Bugfix: fix - settings.ymldefinition of- intel-cc- cppstd=03#13844
- Bugfix: Fix conan upload with backup sources for exported-only recipes #13779 
- Bugfix: Fix - conan lock mergeof lockfiles containing alias #13763
- Bugfix: Fix python_requires in transitive deps with version ranges #13762 
- Bugfix: fix CMakeToolchain CMAKE_SYSTEM_NAME=Generic for baremetal #13739 
- Bugfix: Fix incorrect environment scripts deactivation order #13707 
- Bugfix: Solve failing lockfiles when graph has requirements with - override=True#13597
2.0.4 (11-Apr-2023)¶
- Feature: extend - --build-requireto more commands (- graph info,- lock create,- install) and cases. #13669 . Docs here
- Feature: Add -d tool_requires to conan new. #13608 . Docs here 
- Feature: Make CMakeDeps, CMakeToolchain and Environment (.bat, Windows only) generated files have relative paths. #13607 
- Feature: Adding preliminary (non documented, dev-only) support for premake5 deps (PremakeDeps). #13390 
- Fix: Update old conan user references to - conan remote login. #13671
- Fix: Improve dependencies options changed in - requirements()error msg. #13668
- Fix: [system_tools] was not reporting the correct resolved version, but still the original range. #13667 
- Fix: Improve provides conflict message error. #13661 
- Fix: When server responds Forbidden to the download of 1 file in a recipe/package, make sure other files and DB are cleaned. #13626 
- Fix: Add error in conan remove when using –package-query without providing a pattern that matches packages. #13622 
- Fix: Add - direct_deploysubfolder for the- direct_deploydeployer. #13612 . Docs here
- Fix: Fix html output when pattern does not list package revisions, like: - conan list "*#*:*". #13605
- Bugfix: - conan list -p <package-query>failed when a package had no settings or options. #13662
- Bugfix: python_requires now properly loads remote requirements. #13657 
- Bugfix: Fix crash when - overrideis used in a node of the graph that is also the closing node of a diamond. #13631
- Bugfix: Fix the - --package-queryargument for- options. #13618
- Bugfix: Add - full_deploysubfolder for the- full_deploydeployer to avoid collision with “build” folder. #13612 . Docs here
- Bugfix: Make STATUS the default log level. #13610 
- Bugfix: Fix double delete error in conan cache clean. #13601 
2.0.3 (03-Apr-2023)¶
- Feature: - conan cache cleanlearned the- --alland- --tempto clean everything (sources, builds) and also the temporary folders. #13581 . Docs here
- Feature: Introduce the - confdictionary update semantics with- *=operator. #13571 . Docs here
- Feature: Support MacOS SDK 13.1 (available in Xcode 14.2). #13531 
- Feature: The - full_deploydeployer together with- CMakeDepsgenerator learned to create relative paths deploys, so they are relocatable. #13526
- Feature: Introduce the - conan remove *#!latest(also for package-revisions), to remove all revisions except the latest one. #13505 . Docs here
- Feature: New - conan cache check-integritycommand to replace 1.X legacy- conan upload --skip-upload --check. #13502 . Docs here
- Feature: Add filtering for options and settings in conan list html output. #13470 
- Feature: Automatic server side source backups for third parties. #13461 
- Feature: Add tools.android:cmake_legacy_toolchain configuration useful when building CMake projects for Android. If defined, this will set the value of ANDROID_USE_LEGACY_TOOLCHAIN_FILE. It may be useful to set this to False if compiler flags are defined via tools.build:cflags or tools.build:cxxflags to prevent Android’s legacy CMake toolchain from overriding the values. #13459 . Docs here 
- Feature: Default - tools.files.download:download_cacheto- core.download:download_cache, so it is only necessary to define one. #13458
- Feature: Authentication for - tools.files.download(). #13421 . Docs here
- Fix: Define a way to update - default_optionsin- python_requires_extendextension. #13487 . Docs here
- Fix: Allow again to specify - self.options["mydep"].someoption=value, equivalent to- "mydep/*". #13467
- Fix: Generate cpp_std=vc++20 for c++20 with meson with VS2019 and VS2022, rather than vc++latest. #13450 
- Bugfix: Fixed - CMakeDepsnot clearing- CONAN_SHARED_FOUND_LIBRARYvar in- find_library(). #13596
- Bugfix: Do not allow adding more than 1 remote with the same remote name. #13574 
- Bugfix: - cmd_wrapperadded missing parameter- conanfile. #13564 . Docs here
- Bugfix: Avoid generators errors because dependencies binaries of editable packages were “skip”. #13544 
- Bugfix: Fix subcommands names when the parent command has underscores. #13516 
- Bugfix: Fix - python-requiresin remotes when running conan export-pkg. #13496
- Bugfix: Editable packages now also follow - build_folder_varsconfiguration. #13488
- Bugfix: Fix - [system_tools]profile composition. #13468
2.0.2 (15-Mar-2023)¶
- Feature: Allow relative paths to the Conan home folder in the - global.conf. #13415 . Docs here
- Feature: Some improvements for html formatter in conan list command. #13409 . Docs here 
- Feature: Adds an optional “build_script_folder” argument to the autoreconf method of the Autotools class. It mirrors the same argument and behavior of the configure method of the same class. That is, it allows one to override where the tool is run (by default it runs in the source_folder. #13403 
- Feature: Create summary of cached content. #13386 
- Feature: Add conan config show <conf> command. #13354 . Docs here 
- Feature: Allow - global.confjinja2 inclusion of other files. #13336
- Feature: Add - conan export-pkg --skip-binariesto allow exporting without binaries of dependencies. #13324 . Docs here
- Feature: Add core.version_ranges:resolve_prereleases conf to control whether version ranges can resolve to prerelease versions #13321 
- Fix: Allow automatic processing of - package_type = "build-scripts"in conan create as- --build-require. #13433
- Fix: Improve the detection and messages of server side package corruption. #13432 
- Fix: Fix conan download help typo. #13430 
- Fix: Remove profile arguments from conan profile path. #13423 . Docs here 
- Fix: Fix typo in _detect_compiler_version. #13396 
- Fix: Fix - conan profile detectdetection of- libc++for- clangcompiler on OSX. #13359
- Fix: Allow internal - vswherecalls to detect and use VS pre-releases too. #13355
- Fix: Allow conan export-pkg to use remotes to install missing dependencies not in the cache. #13324 . Docs here 
- Fix: Allow conversion to - dictof- settings.ymllists when- settings_user.ymldefine a- dict. #13323
- Fix: Fix flags passed by AutotoolsToolchain when cross compiling from macOS to a non-Apple OS. #13230 
- BugFix: Fix issues in - MSBuildwith custom configurations when custom configurations has spaces. #13435
- Bugfix: Solve bug in - conan profile path <nonexisting>that was crashing. #13434
- Bugfix: Add global verbosity conf tools.build:verbosity instead of individual ones. #13428 . Docs here 
- Bugfix: Avoid raising fatal exceptions for malformed custom commands. #13365 
- Bugfix: Do not omit - system_libsfrom dependencies even if they are header-only. #13364
- Bugfix: Fix - VirtualBuildEnvenvironment not being created when- MesonToolchainis instantiated. #13346
- Bugfix: Nicer error in the compatibility plugin with custom compilers. #13328 
- Bugfix: adds qcc cppstd compatibility info to allow dep graph to be calculated. #13326 
2.0.1 (03-Mar-2023)¶
- Feature: Add –insecure alias to –verify-ssl in config install. #13270 . Docs here 
- Feature: Add .conanignore support to conan config install. #13269 . Docs here 
- Feature: Make verbose tracebacks on exception be shown for - -vvand- -vvv, instead of custom env-var used in 1.X. #13226
- Fix: Minor improvements to conan install and 2.0-readiness error messages. #13299 
- Fix: Remove - vcvars.batVS telemetry env-var, to avoid Conan hanging. #13293
- Fix: Remove legacy - CMakeToolchainsupport for- CMakePresetsschema2 for- CMakeUserPresets.json. #13288 . Docs here
- Fix: Remove - --loggerjson logging and legacy traces. #13287 . Docs here
- Fix: Raise arg error if - conan config list unexpected-arg. #13282
- Fix: Do not auto-detect - compiler.runtime_typefor- msvc, rely on profile plugin. #13277
- Fix: Fix conanfile.txt options parsing error message. #13266 
- Fix: Improve error message for unified patterns in options. #13264 
- Fix: Allow - conan remote add --forceto force re-definition of an existing remote name. #13249
- Fix: Restore printing of profiles for build command. #13214 
- Fix: Change conan build argument description for “path” to indicate it is only for conanfile.py and explicitly state that it does not work with conanfile.txt. #13211 . Docs here 
- Fix: Better error message when dependencies - optionsare defined in- requirements()method. #13207
- Fix: Fix broken links to docs from error messages and readme. #13186 
- Bugfix: Ensure that topics are always serialized as lists. #13298 
- Bugfix: Ensure that provides are always serialized as lists. #13298 
- Bugfix: Fixed the detection of certain visual c++ installations. #13284 
- Bugfix: Fix supported - cppstdvalues for- msvccompiler. #13278
- Bugfix: CMakeDeps generate files for - tool_requireswith the same- build_typeas the “host” context. #13267
- Bugfix: Fix definition of patterns for dependencies options in configure(). #13263 
- Bugfix: Fix CMakeToolchain error when output folder in different Win drive. #13248 
- Bugfix: Do not raise errors if a - test_requiresis not used by components- .requires. #13191
2.0.0 (22-Feb-2023)¶
- Feature: Change default profile cppstd for apple-clang to gnu17. #13185 
- Feature: New - conan remote authcommand to force authentication in the remotes #13180
- Fix: Allow defining options trait in - test_requires(..., options={})#13178
- Fix: Unifying Conan commands help messages. #13176 
- Bugfix: Fix MesonToolchain wrong cppstd in apple-clang #13172 
- Feature: Improved global Conan output messages (create, install, export, etc.) #12746 
2.0.0-beta10 (16-Feb-2023)¶
- Feature: Add basic html output to conan list command. #13135 
- Feature: Allow - test_packageto process- --buildarguments (computing –build=never for the main, non test_package graph). #13117
- Feature: Add –force argument to remote add. #13112 
- Feature: Validate if the input configurations exist, to avoid typos. #13110 
- Feature: Allow defining - self.folders.build_folder_varsin recipes- layout(). #13109
- Feature: Block settings assignment. #13099 
- Feature: Improve conan editable ui. #13093 
- Feature: Provide the ability for users to extend Conan generated CMakePresets. #13090 
- Feature: Add error messages to help with the migration of recipes to 2.0, both from ConanCenter and from user repos. #13074 
- Feature: Remove option.fPIC for shared in conan new templates. #13066 
- Feature: Add conan cache clean subcommand to clean build and source folders. #13050 
- Feature: Implement customizable - CMakeToolchain.presets_prefixso presets name prepend this. #13015
- Feature: Add [system_tools] section to profiles to use your own installed tools instead of the packages declared in the requires. #10166 
- Fix: Fixes in powershell escaping. #13084 
- Fix: Define - CMakeToolchain.presets_prefix="conan"by default, to avoid conflict with other users presets. #13015
2.0.0-beta9 (31-Jan-2023)¶
- Feature: Add package names in Conan cache hash paths. #13011 
- Feature: Implement - tools.build:download_sourceconf to force the installation of sources in conan install or- conan graph info. #13003
- Feature: Users can define their own settings in settings_user.yml that will be merged with the Conan settings.yml. #12980 
- Feature: List disabled remotes too. #12937 
- Fix: PkgConfiDeps is using the wrong - dependencies.hostfrom dependencies instead of- get_transitive_requires()computation. #13013
- Fix: Fixing transitive shared linux libraries in CMakeDeps. #13010 
- Fix: Fixing issues with test_package output folder. #12992 
- Fix: Improve error messages for wrong methods. #12962 
- Fix: Fix fail in parallel packages download due to database concurrency issues. #12930 
- Fix: Enable authentication against disabled remotes. #12913 
- Fix: Improving system_requirements. #12912 
- Fix: Change tar format to PAX, which is the Python3.8 default. #12899 
2.0.0-beta8 (12-Jan-2023)¶
- Feature: Add unix_path_package_info_legacy function for those cases in which it is used in package_info in recipes that require compatibility with Conan 1.x. In Conan 2, path conversions should not be performed in the package_info method. #12886 
- Feature: New serialization json and printing for - conan list. #12883
- Feature: Add requirements to conan new cmake_{lib,exe} #12875 
- Feature: Allow - --no-remotesto force temporal disabling of remotes #12808
- Feature: Add barebones template option to conan new. #12802 
- Feature: Avoid requesting package configuration if PkgID is passed. #12801 
- Feature: Implemented conan list *#latest and conan list *:*#latest. Basically, this command can show the latest RREVs and PREVs for all the matching references. #12781 
- Feature: Allow chaining of self.output write methods #12780 
- Fix: Make - graph infofilters to work on json output too #12836
- Bugfix: Fix bug to pass a valid GNU triplet when using AutotoolsToolchain and cross-building on Windows. #12881 
- Bugfix: Ordering if same ref.name but different versions. #12801 
2.0.0-beta7 (22-Dec-2022)¶
- Feature: Raise an error when a generator is both defined in generators attribute and instantiated in generate() method #12722 
- Feature: test_requires improvements, including allowing it in conanfile.txt #12699 
- Feature: Improve errors for when required_conan_version has spaces between the operator and the version #12695 
- Feature: ConanAPI cleanup and organization #12666 
2.0.0-beta6 (02-Dec-2022)¶
- Feature: Use - --confirmto not request confirmation when removing instead of- --force#12636
- Feature: Simplify loading conaninfo.txt for search results #12616 
- Feature: Renamed ConanAPIV2 to ConanAPI #12615 
- Feature: Refactor ConanAPI #12615 
- Feature: Improve conan cache path command #12554 
- Feature: Improve #latest and pattern selection from remove/upload/download #12572 
- Feature: Add build_modules to provided deprecated warning to allow migration from 1.x #12578 
- Feature: Lockfiles alias support #12525 
2.0.0-beta5 (11-Nov-2022)¶
- Feature: Improvements in the remotes management and API #12468 
- Feature: Implement env_info and user_info as fake attributes in Conan 2.0 #12351 
- Feature: Improve settings.rm_safe() #12379 
- Feature: New RecipeReference equality #12506 
- Feature: Simplifying compress and uncompress of .tgz files #12378 
- Feature: conan source command does not require a default profile #12475 
- Feature: Created a proper LockfileAPI, with detailed methods (update, save, etc), instead of several loose methods #12502 
- Feature: The conan export can also produce lockfiles, necessary for users doing a 2 step (export + install–build) process #12502 
- Feature: Drop compat_app #12484 
- Fix: Fix transitive propagation of transitive_headers=True #12508 
- Fix: Fix transitive propagation of transitive_libs=False for static libraries #12508 
- Fix: Fix test_package for python_requires #12508 
2.0.0-beta4 (11-Oct-2022)¶
- Feature: Do not allow doing conan create/export with uncommitted changes using revision_mode=scm #12267 
- Feature: Simplify conan inspect command, removing path subcommand #12263 
- Feature: Add –deploy argument to graph info command #12243 
- Feature: Pass graph object to deployers instead of ConanFile #12243 
- Feature: Add included_files method to conan.tools.scm.Git #12246 
- Feature: Improve detection of clang libcxx #12251 
- Feature: Remove old profile variables system in favor of Jinja2 syntax in profiles #12152 
- Fix: Update command to follow Conan 2.0 conventions about CLI output #12235 
- Fix: Fix aggregation of test trait in diamonds #12080 
2.0.0-beta3 (12-Sept-2022)¶
- Feature: Decouple test_package from create. #12046 
- Feature: Warn if special chars in exported refs. #12053 
- Feature: Improvements in MSBuildDeps traits. #12032 
- Feature: Added support for CLICOLOR_FORCE env var, that will activate the colors in the output if the value is declared and different to 0. #12028 
- Fix: Call source() just once for all configurations. #12050 
- Fix: Fix deployers not creating output_folder. #11977 
- Fix: Fix build_id() removal of require. #12019 
- Fix: If Conan fails to load a custom command now it fails with a useful error message. #11720 
- Bugfix: If the ‘os’ is not specified in the build profile and a recipe, in Windows, wanted to run a command. #11728 
2.0.0-beta2 (27-Jul-2022)¶
- Feature: Add traits support in MSBuildDeps. #11680 
- Feature: Add traits support in XcodeDeps. #11615 
- Feature: Let dependency define package_id modes. # 
- Feature: Add - conan.conanrcfile to setup the conan user home. #11675
- Feature: Add - core.cache:storage_pathto declare the absolute path where you want to store the Conan packages. #11672
- Feature: Add tools for checking max cppstd version. #11610 
- Feature: Add a - post_build_failhook that is called when a build fails. #11593
- Feature: Add - pre_generateand- post_generatehook, covering the generation of files around the- generate()method call. #11593
- Feature: Brought - conan config listcommand back and other conf improvements. #11575
- Feature: Added two new arguments for all commands -v for controlling the verbosity of the output and –logger to output the contents in a json log format for log processors. #11522 
2.0.0-beta1 (20-Jun-2022)¶
- Feature: New graph model to better support C and C++ binaries relationships, compilation, and linkage. 
- Feature: New documented public Python API, for user automation 
- Feature: New build system integrations, more flexible and powerful, and providing transparent integration when possible, like - CMakeDepsand- CMakeToolchain
- Feature: New custom user commands, that can be built using the public PythonAPI and can be shared and installed with - conan config install
- Feature: New CLI interface, with cleaner commands and more structured output 
- Feature: New deployers mechanism to copy artifacts from the cache to user folders, and consume those copies while building. 
- Feature: Improved - package_idcomputation, taking into account the new more detailed graph model.
- Feature: Added - compatibility.pyextension mechanism to allow users to define binary compatibility globally.
- Feature: Simpler and more powerful - lockfilesto provide reproducibility over time.
- Feature: Better configuration with - [conf]and better environment management with the new- conan.tools.envtools.
- Feature: Conan cache now can store multiple revisions simultaneously. 
- Feature: New extensions plugins to implement profile checking, package signing, and build commands wrapping. 
- Feature: Used the package immutability for an improved update, install and upload flows.