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.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.