Releases: conan-io/conan
Releases · conan-io/conan
2.25.1 (29-Jan-2026)
- Fix: Do "retry" over the
os.replace()in Windows to avoid antivirus blocking issues. (#19532)
2.25.0 (28-Jan-2026)
- Feature: Make the download of package binaries more atomic to make cancellations more robust. (#19510)
- Feature: Add public docs for
InstallAPIsubapi. (#19497) - Feature:
conan newwith 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
CacheAPIandConfigAPIsubapis. (#19479) - Feature: Deprecate
MesonToolchain.preprocessor_definitionsin favor ofextra_defines. (#19468) - Feature: Add
conan requirecommand 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:...>) inCMakeConfigDeps. (#19444). Docs: 📃 - Feature: Update settings with new versions of supported tools. (#19442)
- Feature: CPS CMake-Conan round trip support for components. (#19428)
- Feature: Move
CMakeConfigDepsfrom 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_nameto 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
xzandzstdcompression for Conan artifacts. (#19337). Docs: 📃 - Fix: Check Python version in
PyEnvinit. (#19520) - Fix: Populate
<library>_DEFINITIONSlegacy variables inCMakeConfigDepsfor compatibility with oldcheck_symbol_existsand similar (#19519) - Fix: Use
dnfas the default system package manager for Almalinux, Rocky and Oracle Linux instead of legacyyum. (#19487) - Fix: Display packages even when a system package manager install is a no-op. (#19483)
- Fix: Remove
--lockfile-outgeneration arguments inworkspacecommands that cannot generate a lockfile (orchestratedconan workspace install/build/complete). (#19475) - Fix: Reduce the sqlite DB connection scope to try to optimize DB locking. Remove the
yieldDB return that could create operational issues. (#19394) - Bugfix: Avoid potential
NoneandPackageTypecomparison when deducingcpp_info. (#19494) - Bugfix: Solve
PipEnvfailure when using version ranges. (#19478) - Bugfix: Correct pattern comparison for symlink with
files.copyfunction. (#19437) - Bugfix: Solve issue in
CMakeConfigDepswhen 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)
- Feature: MesonToolchain
needs_exe_wrapperproperty now listens tocan_run()function. (#19382) - Feature: Workspace super-install now follows
layout(). (#19376). Docs: 📃 - Feature: Make diff symbols in
conan report diff ... -f=htmlnon-selectable. (#19375) - Feature: Add more public sub Python APIs, some more typing and fix docstrings. (#19370). Docs: 📃
- Feature: Represent missing packages in
graph.htmloutput. (#19360) - Feature:
conan cache check-integrity: new JSON output format. (#19343). Docs: 📃 - Feature: New
conan workspace completecommand to open/add intermediate packages to the workspace. (#19331). Docs: 📃 - Feature: Inject
hashlibin theglobal.confjinja2 rendering to be able to compute hashes (for paths, for example). (#19319). Docs: 📃 - Feature: Introduce new
conanconfig.ymlfile that can store packages for multiple automaticconan config install-pkg. (#17793). Docs: 📃 - Fix:
definesandframeworksnow also generateCMakeConfigDepstargets. (#19357) - Fix: Warn on version ranges in reference pattern, which have no effect (ie
-o="foo/[>1]:shared=True"). (#19356) - Fix: Improve
MSBuildToolchaindocstrings forcompile_options. (#19351). Docs: 📃 - Fix: Conan profile detect can detect Visual Studio 18 (2026). (#19348)
- Fix: Avoid
AutotoolsToolchain/GnuToolchainto define--sysrootfor QNXqcccompiler, define-Wc,-isysrootinstead. (#18897) - Fix: Fixed
conan_config.jsonstorage to use only RecipeReferences (not PackageReferences). (#17793). Docs: 📃 - Fix:
conan config install-pkgwill report for order-changing updates to existing configuration installs, allowing to-forceto 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=optimizedwith multiple repos. (#19349) - Bugfix: Fix crash for
conan workspace buildwith external global editables. (#19338) - Bugfix: Bugfix: Fix CMakeConfigDeps flags handling of generator expressions with separators. (#19330)
- Bugfix: Fix logic in
EnvVarsgeneration of.shand.ps1scripts for "unset" vs "empty" definition. (#19328). Docs: 📃 - Bugfix: Fix
Workspacecrash when passing per-package configuration. (#19327) - Bugfix: Fix version range pattern replacement in
replace_requires. (#19324)
2.23.0 (25-Nov-2025)
- Feature: Adding optional
cli_argsto meson install. (#19301) - Feature: implement
VCVarssupport for latest VS 18 2026. (#19294) - Feature: Implement
ClangCLsupport for VS 18 2026, addv145to the clang vs-runtime. (#19289) - Feature: Improve
conan pkglist find-remoteto handle partial information, like not providing revisions. (#19265) - Feature: Add message when compatibility does not find a matching package. (#19262)
- Feature: Improve
Workspaceerror reporting for user code, and allow workspace conanfile to executeself.run()commands. (#19260) - Feature: Introduce
workspace_packagessoworkspace super-installcan 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 diffhtmloutput. (#19240) - Feature: Add support for apple os versions 26.1 and corresponding SDKs. (#19239)
- Feature: Show
providesconflicts inconan graph info -f=html. (#19222) - Feature: Allow
source_credentials.jsonand the source auth plugin to define headers. (#19206). Docs: 📃 - Feature: Let
conan install/createoutput the resultinggraph.json/htmleven 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 newtools.cmake:ctest_argsconf. (#19198). Docs: 📃 - Feature: Add some more useful output to
conan audit. (#19197) - Feature: Allow
distro 1.19python 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 runcommand to run commands from packages (#18972). Docs: 📃 - Feature: Compatibility checks are now performed in a single request to each remote (#18396)
- Fix: Propagate
verbosityconfs toCMakeToolchain. (#19296) - Fix: Fix 15.7 version in settings.yml. (#19250)
- Fix: Remove empty value from
--verbosechoice help string. (#19244) - Fix: Improve error message referencing non existing
git_excluded, usecore.scm:excludedinstead. (#19232). Docs: 📃 - Fix: CMakeConfigDeps management of
cmake_extra_interface_libsper component. (#19187) - Fix: Added deployer arguments to
workspace super-installcommand. (#18792) - Fix: Added
format_graph_jsonformatter toworkspace super-installcommand. (#18792) - Bugfix: Make
layout()have higher precedence forself.layouts.build.xxxenv_info/conf_info. (#19268) - Bugfix: Fix bug in
conan new cmake_libtemplate without arguments, incorrect function name. (#19257) - Bugfix:
Conanfile.run'squietparameter now silences the output of the command (#18972). Docs: 📃 - Bugfix: Verbosity level
quietnow also silences the output of tools ran by Conan (#18972). Docs: 📃
2.22.2 (07-Nov-2025)
- 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)
- Bugfix: Revert "Error out if components miss requiring direct dependencies in more cases". (#19168)
2.22.0 (29-Oct-2025)
- 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
.shand.ps1envdeactivatefunctionality 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:parallelto the available CPU cores. (#19099). Docs: 📃 - Feature: Support
conan graph info --package-filter=&pattern. (#19080). Docs: 📃 - Feature: Add new environment variable
CONAN_DEFAULT_BUILD_PROFILEfor 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_flagsconfiguration to allow disabling the injection of some build system flags. (#19014) - Feature: Expose
recipein theConanFileInterfacefor information purpose only. (#18995). Docs: 📃 - Feature: New
CMakeConfigDepsproperties to inject extra dependencies and targets. (#18316) - Fix: Better error message for
CMakeConfigDepswhen the package_type or component type is not defined for something with.locationdefined. (#19096) - Fix: Change order of
build_modulesinclusion inCMakeConfigDepsso it happens after legacy-vars, to support some ConanCenter recipes abusing those variables. (#19094) - Fix: Reintroduce
settings.ymlaccess toconfigSub-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=Trueinglob()function inBazelDeps(Bazel 8.x compatible). (#19068) - Fix: Fix
CMakeConfigDepswhen a regular libraryrequires()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
CMakeConfigDepsescaping. (#19034) - Fix: Improved Python virtual environment creation in
PipEnvby using the system-installed interpreter or a user-defined one viatools.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 CMaketestPresetswith same logic and value asbuildPresets. (#19021) - Fix: Improve the error message when a workspace
super-installdefines intermediate packages in the cache depending on workspace packages. (#19013) - Fix: Improve support for huge diffs in
conan report diffHTML output. (#19012). Docs: 📃 - Bugfix:
MSBuildToolchainexplicitly adds the specific toolset .props file whencompiler.updateis defined, otherwise, activatingvcvarsis 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-revisiondirectly 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)
- 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 toconan 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_onlyfield to remote to control whether a remote can be used to download binaries. (#18896). Docs: 📃 - Feature: Add
cmake_extra_variablesproperty forCMakeConfigDeps. (#18822). Docs: 📃 - Feature: Add
cmake_extra_variablesproperty forCMakeDeps. (#18822). Docs: 📃 - Feature: Improve
conan report diffhtml UX. (#18686). Docs: 📃 - Feature: Allow passing build configuration in
XcodeBuildexplicitly viaconfigurationparameter. (#18668). Docs: 📃 - Feature: Allow passing arbitrary command line arguments to
XcodeBuildviacli_args. (#18668). Docs: 📃 - Feature: Add generation of
dotenvenvironment files withtools.env:dotenv=Trueconf. (#18266). Docs: 📃 - Fix: Avoid
CMakePresetsadding thejobsfield whentools.build:jobs=0. (#18984) - Fix: Warn when exporting recipes with versions containing alphanumeric majors. (#18980). Docs: 📃
- Fix: Set
cpp.source.includedirstoincludeinbasic_layout. (#18958). Docs: 📃 - Fix:
workspace addcan 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_requirestobuild_requirementsmethod in tests. (#18929) - Fix: Always run
validatehooks even if recipe does not definevalidate()method. (#18928) - Fix: Remove deprecated, old and undocumented features, marked for deprecations for a long time. (#18920). Docs: 📃
- Fix: Ensure
VCVarsgeneratedconanvcvars.bathas normalized path with backward slash (Windows). (#18907) - Fix: Fix
compatibility.pymigration overwrite when no changes were necessary. (#18882) - Fix: Cleaning
filesandupload-urlsfrom "package lists" after a download or when skipping uploads. (#18878) - Fix: Improve the error message and avoid the traceback when a
build-scriptspackage tries to depend on alibraryin the "host" context. (#18869). Docs: 📃 - Fix: Move legacy CMake vars from
xxx-target-<config>.cmaketoxxxx-config.cmakefile. (#18860) - Bugfix: Added Apple frameworks support for BazelDeps. (#19004)
- Bugfix: Ensure
conan graph build-ordererrors out when passing both a recipe path and a--requiresreference. (#18964) - Bugfix: MesonToolchain no longer add quotes to
linker_scriptdefinition. (#18922) - Bugfix: Fix missing double quotes for MSBuild's commands. (#18911)
- Bugfix: Command
conan listwith version-ranges can now listen tocore.version_ranges:resolve_prereleases=Trueto list pre-releases. (#18868) - Bugfix: Stabilize
PackagesListmethods. (#18833)
2.20.1 (04-Sep-2025)
2.20.0 (01-Sep-2025)
- Feature: new
check_min_compiler_versionvalidator 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
conanintelsetvarsscript byIntelCCif thetools.intel:installation_path="", similarly toVCVarsgeneration. 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 workspacecommand for super-builds. (#18838) - Feature: Add
CMAKE_FIND_PACKAGE_PREFER_CONFIG=ONforCMakeConfigDepsgenerator. (#18832) - Feature: Add
excludespattern support forgetandunzipmethods. (#18831) - Feature: Add support for GCC 15.2. (#18735)
- Feature: Add iOS 18.5 and tvOS 18.5 to
default_settings.ymltemplate. (#18722) - Feature: Stabilize and document
ConfigAPIpublic Python sub-API. (#18709) - Feature: Print build-order in the
conan workspace super-installcommand (#18693). Docs: 📃 - Feature: Workspace super-build options aggregation. (#18608). Docs: 📃
- Feature: Implement
tools.build:install_stripfor 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_layoutwas not taking into account the Apple multi-arch/universal separator when creating folders named after thearchsetting. (#18823) - Fix: Avoiding issues if passing non-string objects to
ConanOutputmethods. 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
ConanOutputclass. (#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
SearchAPIin favour ofListAPI'sselect(). (#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_deploydeployer. (#17848). Docs: 📃 - Bugfix: Made
ConanAPI'shome_folderread-only. (#18726). Docs: 📃