Skip to content

Releases: conan-io/conan

2.26.2 (05-Mar-2026)

05 Mar 09:31
2.26.2
c2de323

Choose a tag to compare

  • Bugfix: Fix exception when conan cache check-integrity finds a corrupted recipe. (#19713)
  • Bugfix: Revert regression in escaping CMakeToolchain.variables, those variables will not be automatically escaped. (#19706)

2.26.1 (27-Feb-2026)

27 Feb 13:16
2.26.1

Choose a tag to compare

  • Bugfix: Avoid missing binaries due to default platform requires revision. (#19680)

2.26.0 (25-Feb-2026)

25 Feb 17:30
2.26.0
b706c37

Choose a tag to compare

  • Feature: Expose PyEnv env_dir (venv root), env_exe (venv python executable), and bin_path (bin/Scripts directory). (#19628)
  • Feature: Document publicly LocalAPI. (#19623). Docs: 📃
  • Feature: Create deployers that generate CycloneDX SBOMs. (#19611). Docs: 📃
  • Feature: New important! conf that allows tool-requires conf_info to have higher relative priority over profiles conf. (#19610). Docs: 📃
  • Feature: Don't check for user/channel match in <host_version>. (#19599). Docs: 📃
  • Feature: Allow disabling environment script generation from recipes using virtualxxxenv = False. (#19594). Docs: 📃
  • Feature: Add detect_api.detect_emcc_compiler to detect EMSDK Emscripten compiler version. (#19592). Docs: 📃
  • Feature: Generate .sh scripts with variable existence checks to harden scripts and avoid extra separators for empty variables. (#19591)
  • Feature: Optimize LRU database updates by using filesystem folder mtimes. (#19582)
  • Feature: Enable access to the author attribute in the ConanFileInterface class. (#19577)
  • Feature: Add tools.build:add_rpath_link conf (Meson and CMake toolchains) to pass -rpath-link with all directories of host dependencies (#19574). Docs: 📃
  • Feature: Add cmake_file_name_variants support to CMakeConfigDeps to allow packages to define additional lower/upper-case variants that consumers may use when calling find_package. (#19530). Docs: 📃
  • Feature: Add .bat support for tools.env:deactivation_mode=function. (#19474). Docs: 📃
  • Feature: New package_id_abi_options to allow specific dependency options to affect the consumer package_id when headers variability (e.g. shared) can impact consumer binaries, even in non-embed cases. (#19438). Docs: 📃
  • Feature: New conan cache sign and conan cache verify commands for signing and verifying packages. (#19345). Docs: 📃
  • Fix: Use lazy imports to avoid circular dependency so PyInstaller bundles conan.tools.system. (#19670)
  • Fix: Fix legacy definitions syntax for CMakeConfigDeps (#19662)
  • Fix: Add support for .txz and .tzst extensions to conan cache save help output. (#19660). Docs: 📃
  • Fix: Allow requires-only components to create a target with CMakeConfigDeps (#19645)
  • Fix: MSBuildDeps bug with transitive build requirements and components. (#19625)
  • Fix: Improve the -DCMAKE_TOOLCHAIN_FILE tip in CMakeToolchain generator to abstract it to a <output_folder>. (#19602)
  • Fix: Fix CPS parsing of package preprocessor definitions. (#19539)
  • Fix: Deprecate Python 3.7 warning for Conan. (#19535). Docs: 📃
  • Fix: Update terminology to use “hash” instead of “signature”. (#19522). Docs: 📃
  • Bugfix: Solve CMakeConfigDeps issue with in-package config.cmake files that were ignoring cmake_file_name_variants. (#19669)
  • Bugfix: Fix conan list --graph-context={build,host}-only for consumer recipes without a name (#19657)
  • Bugfix: Force parsing of conf like tools.microsoft:msvc_update as a string, to avoid parsing it as float and dropping trailing zero. (#19647)
  • Bugfix: Avoid --build=compatible to rebuild an already existing binary (#19643)
  • Bugfix: Correctly escape CMakeToolchain.variables for CMake syntax. (#19642)
  • Bugfix: Fix serialization of cpp_info when it uses the type field. (#19604)
  • Bugfix: Ensure CPS component Cmake targets follow expected name pattern. (#19584)
  • Bugfix: Fix corruption of [buildenv] information when using per-package patterns across multiple packages. (#19571)
  • Bugfix: Add default #platform revision to platform_{tool_}requires. (#19561). Docs: 📃
  • Bugfix: Add missing riscv64 mappings for yum and apt. (#19560)

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)