Changelog

For a more detailed description of the major changes that Conan 2.0 brings, compared with Conan 1.X, please read What’s new in Conan 2.0

2.0.11 (18-Sept-2023)

  • Feature: Add --format=json formatter to conan profile show command #14743 . Docs here
  • Feature: add new –deployer –generators args to ‘conan build’ cmd #14737 . Docs here
  • Feature: Better CMakeToolchain blocks 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_api to be used in profiles jinja templates. #14578 . Docs here
  • Feature: Allow access to settings_target in compatibility method. #14532
  • Fix: Add missing minor macos versions #14740 . Docs here
  • 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_requires with diamonds. #14721
  • Bugfix: Solve crash with conan export-pkg with test_package doing calls to remotes. #14712
  • Bugfix: Do not binary-skip packages that have transitive dependencies that are not skipped, otherwise the build chain of build systems to those transitive dependencies like CMakeDeps generated files are broken. #14673
  • Bugfix: Fix detected CPU architecture when running conan profile detect on native ARM64 Windows. #14667
  • Bugfix: conan lock create --update now correctly updates references from servers if newer than cache ones. #14643
  • Bugfix: Fix unnecessarily decorating command stdout with escape sequences. #14642
  • Bugfix: tools.info.package_id:confs shouldn’t affect header-only libraries. #14622

2.0.10 (29-Aug-2023)

  • Feature: Allow patch_user in conandata.yml definition 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=json adds information to python_requires so conan list --graph can list python_requires too. #14529
  • Feature: Add rrev, rrev_timestamp and prev_timestamp to the graph json serialization. #14526
  • Feature: Allow version-ranges to 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:symlinks configuration to disable symlinks copy in deployers. #14461 . Docs here
  • Feature: Allow remotes to automatically resolve missing python_requires in ‘editable add’. #14413 . Docs here
  • Feature: Add cli_args argument for CMake.install(). #14397 . Docs here
  • Feature: Allow test_requires(..., force=True). #14394 . Docs here
  • Feature: New credentials.json file 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=editable build mode. #14358 . Docs here
  • Feature: conan create --build-test=missing new argument to control what is being built as dependencies of the test_package folder. #14347 . Docs here
  • Feature: Provide new default_build_options attribute for defining options for tool_requires in 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.cmaketoolchain to be used if defined even if tools.cmake.cmaketoolchain:user_toolchain is defined. #14556 . Docs here
  • Fix: Serialize booleans of dependencies in --format=json for graphs as booleans, not strings. #14530 . Docs here
  • Fix: Avoid errors in conan upload when python_requires are not in the cache and need to be downloaded. #14511
  • Fix: Improve error check of lock add adding 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 stdout but to stderr. #14444
  • Fix: Serialize conf_info in --format=json output. #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.sources conf not mandate the final slash. #14342
  • Fix: Correctly propagate options defined in recipe default_options to test_requires. #14340 . Docs here
  • Fix: Invoke XCRun using conanfile.run() so that environment is injected. #14326
  • Fix: Use abspath for conan config install to avoid symlinks issues. #14183
  • Bugfix: Solve build_id() issues, when multiple different package_ids reusing 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_target computation for tool_requires of packages already in the “build” context. #14441
  • Bugfix: Avoid DB is locked error when core.download:parallel is 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 CMakeUserPresets inherits 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 CMakeDeps generator. #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_safe never 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 configuration in XcodeDeps instead of always build_type. #14168
  • Fix: Respect symlinked path for cache location. #14164
  • Fix: PkgConfig uses conanfile.run() instead of internal runner to get full Conan environment from profiles and dependencies. #13985
  • Bugfix: Fix leaking of CMakeDeps CMAKE_FIND_LIBRARY_SUFFIXES variable. #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 CMakeToolchain cross-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 arm64ec architecture, used to define CMAKE_GENERATOR_PLATFORM. #14114 . Docs here
  • Feature: Make CppInfo a public, documented, importable tool for generators that need to aggregate them. #14101 . Docs here
  • Feature: Allow conan remove --list=pkglist to remove package-lists. #14082 . Docs here
  • Feature: Output for conan remove --format both 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=json formatter. #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-run equivalent 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 PackagesList as input argument for conan upload --list=pkglist.json. #13928 . Docs here
  • Feature: Use --graph input for conan list to create a PackagesList that 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 AutoPackage remnant from Conan 1.X. #14083 . Docs here
  • Fix: Fix description for the conf entry for default build profile used. #14075 . Docs here
  • Fix: Allow spaces in path in Git helper. #14063 . Docs here
  • Fix: Remove trailing . in conanfile.xxx_folder that 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 Cli object to be called more than once. #14053
  • Fix: Force pyyaml>=6 for 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-order graph has any errors, instead of quietly doing nothing and outputting and empty json. #14106
  • Bugfix: Avoid incorrect path replacements for editable packages 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=json result graph, irrespective of test_package existence. #14011 . Docs here
  • Bugfix: Fix problem with editable packages 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_requires were affecting the package_id of consumers as regular requires, but they shouldn’t. #13966
  • Bugfix: Define source_folder correctly 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-revision is 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.conf to 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_warns configuration 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 overrides in the graph, and in the graph build-order #13680
  • Feature: New revision_mode = "scm_folder" for mono-repo projects that want to use scm revisions. #13562 . Docs here
  • Feature: Demonstrate that it is possible to tool_requires different 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/version reference fields #13870
  • Fix: Fix AutotoolsToolchain definition of tools.build:compiler_executable for 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/create commands, when they are used by some other dependencies. #13778
  • Fix: Renaming the cache “deploy” folder to “deployers” and allow -d, --deployer cli arg. (“deploy” folder will not break but will warn as deprecated). #13740 . Docs here
  • Fix: Omit -L libpaths in CMakeDeps for header-only libraries. #13704
  • Bugfix: Fix when a test_requires is also a regular transitive “host” requires and consumer defines components. #13898
  • Bugfix: Fix propagation of options like *:shared=True defined in recipes #13855
  • Bugfix: Fix --lockfile-out paths for ‘graph build-order’ and ‘test’ commands #13853
  • Bugfix: Ensure backup sources are uploaded in more cases #13846
  • Bugfix: fix settings.yml definition of intel-cc cppstd=03 #13844
  • Bugfix: Fix conan upload with backup sources for exported-only recipes #13779
  • Bugfix: Fix conan lock merge of 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-require to 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_deploy subfolder for the direct_deploy deployer. #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 override is used in a node of the graph that is also the closing node of a diamond. #13631
  • Bugfix: Fix the --package-query argument for options. #13618
  • Bugfix: Add full_deploy subfolder for the full_deploy deployer 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 clean learned the --all and --temp to clean everything (sources, builds) and also the temporary folders. #13581 . Docs here
  • Feature: Introduce the conf dictionary update semantics with *= operator. #13571 . Docs here
  • Feature: Support MacOS SDK 13.1 (available in Xcode 14.2). #13531
  • Feature: The full_deploy deployer together with CMakeDeps generator 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-integrity command 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_cache to 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_options in python_requires_extend extension. #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 CMakeDeps not clearing CONAN_SHARED_FOUND_LIBRARY var in find_library(). #13596
  • Bugfix: Do not allow adding more than 1 remote with the same remote name. #13574
  • Bugfix: cmd_wrapper added 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-requires in remotes when running conan export-pkg. #13496
  • Bugfix: Editable packages now also follow build_folder_vars configuration. #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.conf jinja2 inclusion of other files. #13336
  • Feature: Add conan export-pkg --skip-binaries to 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 detect detection of libc++ for clang compiler on OSX. #13359
  • Fix: Allow internal vswhere calls 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 dict of settings.yml lists when settings_user.yml define a dict. #13323
  • Fix: Fix flags passed by AutotoolsToolchain when cross compiling from macOS to a non-Apple OS. #13230
  • BugFix: Fix issues in MSBuild with 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_libs from dependencies even if they are header-only. #13364
  • Bugfix: Fix VirtualBuildEnv environment not being created when MesonToolchain is 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 -vv and -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.bat VS telemetry env-var, to avoid Conan hanging. #13293
  • Fix: Remove legacy CMakeToolchain support for CMakePresets schema2 for CMakeUserPresets.json. #13288 . Docs here
  • Fix: Remove --logger json logging and legacy traces. #13287 . Docs here
  • Fix: Fix typo in conan remote auth help. #13285 . Docs here
  • Fix: Raise arg error if conan config list unexpected-arg. #13282
  • Fix: Do not auto-detect compiler.runtime_type for 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 --force to 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 options are 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 cppstd values for msvc compiler. #13278
  • Bugfix: CMakeDeps generate files for tool_requires with the same build_type as 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_requires is 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 auth command 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_package to process --build arguments (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_vars in 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_prefix so 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_source conf 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.host from 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-remotes to 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 info filters 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 --confirm to 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.conanrc file to setup the conan user home. #11675
  • Feature: Add core.cache:storage_path to 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_fail hook that is called when a build fails. #11593
  • Feature: Add pre_generate and post_generate hook, covering the generation of files around the generate() method call. #11593
  • Feature: Brought conan config list command 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 CMakeDeps and 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_id computation, taking into account the new more detailed graph model.
  • Feature: Added compatibility.py extension mechanism to allow users to define binary compatibility globally.
  • Feature: Simpler and more powerful lockfiles to provide reproducibility over time.
  • Feature: Better configuration with [conf] and better environment management with the new conan.tools.env tools.
  • 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.