Skip to content

Releases: conan-io/conan

2.25.2 (04-Feb-2026)

04 Feb 09:06
2.25.2
8c70a2c

Choose a tag to compare

  • Fix: Revert atomic os.replace for package binary downloads due to antivirus Windows issues. (#19565)

2.25.1 (29-Jan-2026)

29 Jan 15:33
2.25.1
794efce

Choose a tag to compare

  • Fix: Do "retry" over the os.replace() in Windows to avoid antivirus blocking issues. (#19532)

2.25.0 (28-Jan-2026)

28 Jan 06:15
2.25.0
5f4c767

Choose a tag to compare

  • Feature: Make the download of package binaries more atomic to make cancellations more robust. (#19510)
  • Feature: Add public docs for InstallAPI subapi. (#19497)
  • Feature: conan new with no positional arguments creates a default CMake basic conanfile. (#19496). Docs: πŸ“ƒ
  • Feature: Further optimize the number of DB calls for upload, download, and package builds. (#19485)
  • Feature: Add public documentation for CacheAPI and ConfigAPI subapis. (#19479)
  • Feature: Deprecate MesonToolchain.preprocessor_definitions in favor of extra_defines. (#19468)
  • Feature: Add conan require command to add/remove requirements to/from your local conanfile. (#19457). Docs: πŸ“ƒ
  • Feature: Support for CPS CMake round trip with components with requires. (#19446)
  • Feature: Add a way to specify link features ($<LINK_LIBRARY:...>) in CMakeConfigDeps. (#19444). Docs: πŸ“ƒ
  • Feature: Update settings with new versions of supported tools. (#19442)
  • Feature: CPS CMake-Conan round trip support for components. (#19428)
  • Feature: Move CMakeConfigDeps from incubating to experimental. (#19421). Docs: πŸ“ƒ
  • Feature: Support CPS shared libs from CMake. (#19417)
  • Feature: Support full CPS CMake round trip in CMakeConfigDeps. (#19410)
  • Feature: Optimize package cache DB access, reducing connections and queries by half for the dependency graph construction. (#19398)
  • Feature: Add root_profile_name to the profile jinja2 context to allow tracing back the root profile from included profiles. (#19393). Docs: πŸ“ƒ
  • Feature: Optimize package cache DB access by doing batch updates of the LRU recipes and packages. (#19392)
  • Feature: Define the Python version used by PipEnv using UV (#19388). Docs: πŸ“ƒ
  • Feature: (Experimental) Support built-in xz and zstd compression for Conan artifacts. (#19337). Docs: πŸ“ƒ
  • Fix: Check Python version in PyEnv init. (#19520)
  • Fix: Populate <library>_DEFINITIONS legacy variables in CMakeConfigDeps for compatibility with old check_symbol_exists and similar (#19519)
  • Fix: Use dnf as the default system package manager for Almalinux, Rocky and Oracle Linux instead of legacy yum. (#19487)
  • Fix: Display packages even when a system package manager install is a no-op. (#19483)
  • Fix: Remove --lockfile-out generation arguments in workspace commands that cannot generate a lockfile (orchestrated conan workspace install/build/complete). (#19475)
  • Fix: Reduce the sqlite DB connection scope to try to optimize DB locking. Remove the yield DB return that could create operational issues. (#19394)
  • Bugfix: Avoid potential None and PackageType comparison when deducing cpp_info. (#19494)
  • Bugfix: Solve PipEnv failure when using version ranges. (#19478)
  • Bugfix: Correct pattern comparison for symlink with files.copy function. (#19437)
  • Bugfix: Solve issue in CMakeConfigDeps when building transitive libraries in the "build" context. (#19429)
  • Bugfix: Allow updating to newer remote revisions that already exist in the Conan cache with an older timestamp. (#19402)
  • Bugfix: Fix unintended packages showing up when using conan list ... --graph-context={build-only,host-only} when there are package binary mismatches (#19368)

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)