Skip to content

Releases: conan-io/conan

2.24.0 (15-Dec-2025)

15 Dec 13:48
2.24.0

Choose a tag to compare

  • Feature: MesonToolchain needs_exe_wrapper property now listens to can_run() function. (#19382)
  • Feature: Workspace super-install now follows layout(). (#19376). Docs: 📃
  • Feature: Make diff symbols in conan report diff ... -f=html non-selectable. (#19375)
  • Feature: Add more public sub Python APIs, some more typing and fix docstrings. (#19370). Docs: 📃
  • Feature: Represent missing packages in graph.html output. (#19360)
  • Feature: conan cache check-integrity: new JSON output format. (#19343). Docs: 📃
  • Feature: New conan workspace complete command to open/add intermediate packages to the workspace. (#19331). Docs: 📃
  • Feature: Inject hashlib in the global.conf jinja2 rendering to be able to compute hashes (for paths, for example). (#19319). Docs: 📃
  • Feature: Introduce new conanconfig.yml file that can store packages for multiple automatic conan config install-pkg. (#17793). Docs: 📃
  • Fix: defines and frameworks now also generate CMakeConfigDeps targets. (#19357)
  • Fix: Warn on version ranges in reference pattern, which have no effect (ie -o="foo/[>1]:shared=True"). (#19356)
  • Fix: Improve MSBuildToolchain docstrings for compile_options. (#19351). Docs: 📃
  • Fix: Conan profile detect can detect Visual Studio 18 (2026). (#19348)
  • Fix: Avoid AutotoolsToolchain/GnuToolchain to define --sysroot for QNX qcc compiler, define -Wc,-isysroot instead. (#18897)
  • Fix: Fixed conan_config.json storage to use only RecipeReferences (not PackageReferences). (#17793). Docs: 📃
  • Fix: conan config install-pkg will report for order-changing updates to existing configuration installs, allowing to -force to change the order. (#17793). Docs: 📃
  • Bugfix: Do correct scoping of conan install --requires=dep/[*] -o myoption=value. (#19367)
  • Bugfix: fix new core.graph:compatibility_mode=optimized with multiple repos. (#19349)
  • Bugfix: Fix crash for conan workspace build with external global editables. (#19338)
  • Bugfix: Bugfix: Fix CMakeConfigDeps flags handling of generator expressions with separators. (#19330)
  • Bugfix: Fix logic in EnvVars generation of .sh and .ps1 scripts for "unset" vs "empty" definition. (#19328). Docs: 📃
  • Bugfix: Fix Workspace crash when passing per-package configuration. (#19327)
  • Bugfix: Fix version range pattern replacement in replace_requires. (#19324)

2.23.0 (25-Nov-2025)

25 Nov 17:43
2.23.0

Choose a tag to compare

  • Feature: Adding optional cli_args to meson install. (#19301)
  • Feature: implement VCVars support for latest VS 18 2026. (#19294)
  • Feature: Implement ClangCL support for VS 18 2026, add v145 to the clang vs-runtime. (#19289)
  • Feature: Improve conan pkglist find-remote to handle partial information, like not providing revisions. (#19265)
  • Feature: Add message when compatibility does not find a matching package. (#19262)
  • Feature: Improve Workspace error reporting for user code, and allow workspace conanfile to execute self.run() commands. (#19260)
  • Feature: Introduce workspace_packages so workspace super-install can collect information from workspace packages. (#19245). Docs: 📃
  • Feature: New parameter to support custom Premake configuration names. (#19242). Docs: 📃
  • Feature: Add collapse all and expand level buttons to conan report diff html output. (#19240)
  • Feature: Add support for apple os versions 26.1 and corresponding SDKs. (#19239)
  • Feature: Show provides conflicts in conan graph info -f=html. (#19222)
  • Feature: Allow source_credentials.json and the source auth plugin to define headers. (#19206). Docs: 📃
  • Feature: Let conan install/create output the resulting graph.json/html even when there are build failures, to allow listing possible packages that have been built. (#19204)
  • Feature: Document the Remote() constructor as public API. (#19200)
  • Feature: CMake.ctest() runner new tools.cmake:ctest_args conf. (#19198). Docs: 📃
  • Feature: Add some more useful output to conan audit. (#19197)
  • Feature: Allow distro 1.19 python pip package dependency for broader compatibility. (#19192)
  • Feature: Support metadata files addition without previously downloading other metadata files. (#19185)
  • Feature: Add rename info for files in conan report diff. (#19171)
  • Feature: Add conan run command to run commands from packages (#18972). Docs: 📃
  • Feature: Compatibility checks are now performed in a single request to each remote (#18396)
  • Fix: Propagate verbosity confs to CMakeToolchain. (#19296)
  • Fix: Fix 15.7 version in settings.yml. (#19250)
  • Fix: Remove empty value from --verbose choice help string. (#19244)
  • Fix: Improve error message referencing non existing git_excluded, use core.scm:excluded instead. (#19232). Docs: 📃
  • Fix: CMakeConfigDeps management of cmake_extra_interface_libs per component. (#19187)
  • Fix: Added deployer arguments to workspace super-install command. (#18792)
  • Fix: Added format_graph_json formatter to workspace super-install command. (#18792)
  • Bugfix: Make layout() have higher precedence for self.layouts.build.xxxenv_info/conf_info. (#19268)
  • Bugfix: Fix bug in conan new cmake_lib template without arguments, incorrect function name. (#19257)
  • Bugfix: Conanfile.run's quiet parameter now silences the output of the command (#18972). Docs: 📃
  • Bugfix: Verbosity level quiet now also silences the output of tools ran by Conan (#18972). Docs: 📃

2.22.2 (07-Nov-2025)

07 Nov 16:15
2.22.2
658260f

Choose a tag to compare

  • Bugfix: Fix assert when finding compatible binaries of a package that exists in both contexts with different settings. (#19208)

2.22.1 (30-Oct-2025)

30 Oct 07:23
2.22.1

Choose a tag to compare

  • Bugfix: Revert "Error out if components miss requiring direct dependencies in more cases". (#19168)

2.22.0 (29-Oct-2025)

29 Oct 14:25
2.22.0

Choose a tag to compare

  • Feature: Make the remote name used by conan config install-pkg --url=<url> public. (#19132). Docs: 📃
  • Feature: Add support for macOS 15.7 and iOS 18.7. (#19130)
  • Feature: Group arguments in CLI help. (#19126)
  • Feature: Suggest possible typos for CLI arguments declared as string choices. (#19126)
  • Feature: Add opt-in conf to control making .sh and .ps1 env deactivate functionality into in-memory functions instead of files. (#19105). Docs: 📃
  • Feature: Document ExportAPI. (#19103)
  • Feature: Enable parallel download of packages by default, by defaulting core.download:parallel to the available CPU cores. (#19099). Docs: 📃
  • Feature: Support conan graph info --package-filter=& pattern. (#19080). Docs: 📃
  • Feature: Add new environment variable CONAN_DEFAULT_BUILD_PROFILE for default build profile. (#19040). Docs: 📃
  • Feature: Allow nullifying settings from profiles and command line. (#19035). Docs: 📃
  • Feature: Support compatibility plugin removal of nullable settings. (#19031). Docs: 📃
  • Feature: New tools.gnu:disable_flags configuration to allow disabling the injection of some build system flags. (#19014)
  • Feature: Expose recipe in the ConanFileInterface for information purpose only. (#18995). Docs: 📃
  • Feature: New CMakeConfigDeps properties to inject extra dependencies and targets. (#18316)
  • Fix: Better error message for CMakeConfigDeps when the package_type or component type is not defined for something with .location defined. (#19096)
  • Fix: Change order of build_modules inclusion in CMakeConfigDeps so it happens after legacy-vars, to support some ConanCenter recipes abusing those variables. (#19094)
  • Fix: Reintroduce settings.yml access to config Sub-API. (#19078)
  • Fix: Raise an error if conan list * --lru=xx, recommending the #<rev-pattern> argument. (#19077)
  • Fix: Sanitize XcodeDeps file and variable names to use only valid xcconfig characters. (#19075)
  • Fix: Explicitly set allow_empty=True in glob() function in BazelDeps (Bazel 8.x compatible). (#19068)
  • Fix: Fix CMakeConfigDeps when a regular library requires() an application, using components. (#19052)
  • Fix: Add missing final newline when saving lockfiles to disk. (#19043)
  • Fix: Warn when adding requirement to version range with pinned revision, it has no effect. (#19041). Docs: 📃
  • Fix: Fix CMakeConfigDeps escaping. (#19034)
  • Fix: Improved Python virtual environment creation in PipEnv by using the system-installed interpreter or a user-defined one via tools.system.pipenv:python_interpreter. (#19030). Docs: 📃
  • Fix: Add VS2026 CMake generator mapping. (#19024)
  • Fix: Avoid referencing xcconfig from skipped dependencies required in components in XcodeDeps. (#19023)
  • Fix: Add execution["jobs"] to the generated CMake testPresets with same logic and value as buildPresets. (#19021)
  • Fix: Improve the error message when a workspace super-install defines intermediate packages in the cache depending on workspace packages. (#19013)
  • Fix: Improve support for huge diffs in conan report diff HTML output. (#19012). Docs: 📃
  • Bugfix: MSBuildToolchain explicitly adds the specific toolset .props file when compiler.update is defined, otherwise, activating vcvars is not enough. (#19137)
  • Bugfix: Fixes an issue where the Apt packages for the build arch would be reported missing, in cross-compiling scenarios, even though they are installed. (#19074)
  • Bugfix: Solve unexpected conflict when pinning a recipe-revision directly in a conanfile that is not the latest, and having other dependencies resolving first to the latest recipe revision. (#19038)
  • Bugfix: Fix <host_version> resolution in certain transitive cases. (#18947)
  • Bugfix: Fix orphan nodes being created when expanding the dependency graph for some cases. (#18947)
  • Bugfix: Error out if components miss requiring direct dependencies in more cases. (#18830)

2.21.0 (29-Sep-2025)

29 Sep 16:24
2.21.0

Choose a tag to compare

  • Feature: Add support for universal binaries to AutotoolsToolchain. (#18992). Docs: 📃
  • Feature: Add support for universal binaries to GnuToolchain. (#18992). Docs: 📃
  • Feature: Add --context={build,host} filter to conan audit scan. (#18976). Docs: 📃
  • Feature: Default recipe paths to cwd if not specified when calling Conan. (#18964)
  • Feature: Implement a new post_package_id() hook. (#18960). Docs: 📃
  • Feature: Add support for Xcode 26 and related. (#18953)
  • Feature: Add support for MSVC VS 2026 (insiders at the moment). (#18948). Docs: 📃
  • Feature: Add the PipEnv tool to install python tools using pip in an isolated virtual environment. (#18923). Docs: 📃
  • Feature: Allow separate build and package directories for multiple CMake builds from single conanfile. (#18905). Docs: 📃
  • Feature: Add recipes_only field to remote to control whether a remote can be used to download binaries. (#18896). Docs: 📃
  • Feature: Add cmake_extra_variables property for CMakeConfigDeps. (#18822). Docs: 📃
  • Feature: Add cmake_extra_variables property for CMakeDeps. (#18822). Docs: 📃
  • Feature: Improve conan report diff html UX. (#18686). Docs: 📃
  • Feature: Allow passing build configuration in XcodeBuild explicitly via configuration parameter. (#18668). Docs: 📃
  • Feature: Allow passing arbitrary command line arguments to XcodeBuild via cli_args. (#18668). Docs: 📃
  • Feature: Add generation of dotenv environment files with tools.env:dotenv=True conf. (#18266). Docs: 📃
  • Fix: Avoid CMakePresets adding the jobs field when tools.build:jobs=0. (#18984)
  • Fix: Warn when exporting recipes with versions containing alphanumeric majors. (#18980). Docs: 📃
  • Fix: Set cpp.source.includedirs to include in basic_layout. (#18958). Docs: 📃
  • Fix: workspace add can update the package version of an existing package in the workspace. (#18955)
  • Fix: Move macOS bitcode flag testing to integration test. (#18930)
  • Fix: Move test_requires to build_requirements method in tests. (#18929)
  • Fix: Always run validate hooks even if recipe does not define validate() method. (#18928)
  • Fix: Remove deprecated, old and undocumented features, marked for deprecations for a long time. (#18920). Docs: 📃
  • Fix: Ensure VCVars generated conanvcvars.bat has normalized path with backward slash (Windows). (#18907)
  • Fix: Fix compatibility.py migration overwrite when no changes were necessary. (#18882)
  • Fix: Cleaning files and upload-urls from "package lists" after a download or when skipping uploads. (#18878)
  • Fix: Improve the error message and avoid the traceback when a build-scripts package tries to depend on a library in the "host" context. (#18869). Docs: 📃
  • Fix: Move legacy CMake vars from xxx-target-<config>.cmake to xxxx-config.cmake file. (#18860)
  • Bugfix: Added Apple frameworks support for BazelDeps. (#19004)
  • Bugfix: Ensure conan graph build-order errors out when passing both a recipe path and a --requires reference. (#18964)
  • Bugfix: MesonToolchain no longer add quotes to linker_script definition. (#18922)
  • Bugfix: Fix missing double quotes for MSBuild's commands. (#18911)
  • Bugfix: Command conan list with version-ranges can now listen to core.version_ranges:resolve_prereleases=True to list pre-releases. (#18868)
  • Bugfix: Stabilize PackagesList methods. (#18833)

2.20.1 (04-Sep-2025)

04 Sep 06:09
2.20.1
0384d64

Choose a tag to compare

  • BugFix: Fix Apt not detecting the correct architecture in multiarch setups. (#18872)
  • BugFix: Apt correctly detects arch-independent (all) packages during cross-building to avoid unnecessary reinstalls. (#18872)

2.20.0 (01-Sep-2025)

01 Sep 14:36
2.20.0
6960af2

Choose a tag to compare

  • Feature: new check_min_compiler_version validator which simplify compiler restriction description in recipes. (#18849). Docs: 📃
  • Feature: Adding Clang 21 to the default settings.yml. (#18846)
  • Feature: Add new Apple OS's versions. (#18845)
  • Feature: Avoid the generation of conanintelsetvars script by IntelCC if the tools.intel:installation_path="", similarly to VCVars generation. The user should have already activated the IntelCC environment on their own before running. (#18840). Docs: 📃
  • Feature: Improved the CMakeLists.txt file created by the conan new workspace command for super-builds. (#18838)
  • Feature: Add CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON for CMakeConfigDeps generator. (#18832)
  • Feature: Add excludes pattern support for get and unzip methods. (#18831)
  • Feature: Add support for GCC 15.2. (#18735)
  • Feature: Add iOS 18.5 and tvOS 18.5 to default_settings.yml template. (#18722)
  • Feature: Stabilize and document ConfigAPI public Python sub-API. (#18709)
  • Feature: Print build-order in the conan workspace super-install command (#18693). Docs: 📃
  • Feature: Workspace super-build options aggregation. (#18608). Docs: 📃
  • Feature: Implement tools.build:install_strip for Autotools. (#18606). Docs: 📃
  • Feature: Added support to the system_package tool for defining the system package version to be installed. (#18517). Docs: 📃
  • Fix: Better error message when there is an existing file called "build" in the same location as the "build" build-folder is expected to be created. (#18842)
  • Fix: The cmake_layout was not taking into account the Apple multi-arch/universal separator when creating folders named after the arch setting. (#18823)
  • Fix: Avoiding issues if passing non-string objects to ConanOutput methods. Still, the input to several .info() and similar methods must be "text", passing arbitrary objects and expecting them to convert to strings internally is not supported. (#18782). Docs: 📃
  • Fix: Document public interface for ConanOutput class. (#18782). Docs: 📃
  • Fix: Remove Python 3.6 support, End Of Life since 2021. (#18779). Docs: 📃
  • Fix: Make all non-documented subapi attributes private. (#18736)
  • Fix: Remove SearchAPI in favour of ListAPI's select(). (#18726). Docs: 📃
  • Fix: Relax the "risk" warning for conflicting visibility in test_requires. (#18723)
  • Fix: Fixed an issue that caused APT packages without a defined architecture to be detected if one with the same name was installed for a different architecture. (#18517). Docs: 📃
  • Fix: Preserve subfolders for runtime_deploy deployer. (#17848). Docs: 📃
  • Bugfix: Made ConanAPI's home_folder read-only. (#18726). Docs: 📃

2.19.1 (30-Jul-2025)

30 Jul 07:21
2.19.1
70ebad1

Choose a tag to compare

  • Fix: Remove the definition of CMAKE_TRY_COMPILE_CONFIGURATION in CMakeToolchain to avoid issues with check_function_exists() legacy code in MSVC. (#18707)

2.19.0 (23-Jul-2025)

23 Jul 16:12
2.19.0

Choose a tag to compare

  • Feature: Changed some private attributes in MesonToolchain as public ones, e.g., b_ndebug, b_staticpic. (#18676)
  • Feature: PremakeDeps will now correctly propagate libraries, headers and binaries depending on the requirement traits. (#18663)
  • Feature: Add cmake_target_aliases support for CMakeConfigDeps. (#18662)
  • Feature: Add self.conan_data to the information serialized by ConanFile, so it is printed in conan graph info and other commands. (#18661). Docs: 📃
  • Feature: Let conan source reference the backup sources it generates in more cases. (#18655)
  • Feature: Add user channel to CycloneDX SBOM sbom_ref field. (#18649)
  • Feature: Enable test_package_folder attribute for conan export-pkg command. (#18621). Docs: 📃
  • Feature: Add support for GCC 12.5. (#18587). Docs: 📃
  • Feature: New makefile parameter in Autotools make/install methods to allow specifying the name of the Makefile file. (#18578)
  • Feature: Let graph html focus on searched package when pressing Intro in search box. (#18575)
  • Feature: Allow defining a custom platform on Premake generator for Windows. (#18572)
  • Feature: Allow profile composition while using conan runners. (#18534)
  • Fix: Add explicit error when trying to export a reference with channel but no user. (#18646). Docs: 📃
  • Fix: Check required_conan_version before loading hooks. (#18644)
  • Fix: Avoid logging levels hiding the login username/password request messages. (#18642)
  • Fix: Allow cc compiler to be defined with spaces for profile auto detection. (#18628)
  • Fix: Fixed untargz when the destination path uses the Windows long paths prefix \\?\. (#18612)
  • Fix: CMakeConfigDeps filter requires() to package_type=application. (#18611)
  • Fix: Fix multithreading for self-contained Conan binaries. (#18603)
  • Fix: Improve version detection for cc compilers. (#18600)
  • Fix: Pass deployment target from profile to XcodeBuild. (#18496). Docs: 📃
  • Fix: Project path and target name are quoted now for XcodeBuild. (#18496). Docs: 📃
  • Bugfix: Make package_type="configuration" packages independent of the config_mode for their package_id. (#18671)
  • Bugfix: PremakeDeps: ensure correct linkage on dependent libraries. (#18631)