Conan - The open-source C and C++ package manager
--output-folder
to export-pkg
command to be used when layout()
is declared. (https://github.com/conan-io/conan/pull/15741). Docs: :page_with_curl:
conan.tools.meson
helper requires meson >= 0.57.0. (https://github.com/conan-io/conan/pull/15706). Docs: :page_with_curl:
--destdir
param instead. Deprecated reconfigure
param in Meson.configure() function
. (https://github.com/conan-io/conan/pull/15706). Docs: :page_with_curl:
print(..., file=fileobj)
. (https://github.com/conan-io/conan/pull/15934)print(x, file=y)
with duplicate keyword arguments. (https://github.com/conan-io/conan/pull/15912)tools.build:defines
for multiconfig CMake. (https://github.com/conan-io/conan/pull/15924)copytree_compat
method for compatibility with Python>=3.12 after distutils removal. (https://github.com/conan-io/conan/pull/15906)settings.yml
. (https://github.com/conan-io/conan/pull/15859). Docs: :page_with_curl:
html
: more information, test-requires, hiding/showing different packages (build, test). (https://github.com/conan-io/conan/pull/15846). Docs: :page_with_curl:
--backup-sources
flag to conan cache clean
. (https://github.com/conan-io/conan/pull/15845)conan graph outdated
command that lists the dependencies that have newer versions in remotes (https://github.com/conan-io/conan/pull/15838). Docs: :page_with_curl:
CMAKE_VS_DEBUGGER_ENVIRONMENT
from CMakeToolchain to point to all binary directories when using Visual Studio. This negates the need to copy DLLs to launch executables from the Visual Studio IDE (requires CMake 3.27 or newer). (https://github.com/conan-io/conan/pull/15830). Docs: :page_with_curl:
trim_conandata
to avoid raising an exception when conandata.yml file doesn't exist. (https://github.com/conan-io/conan/pull/15829). Docs: :page_with_curl:
build_context_folder
to PkgConfigDeps. (https://github.com/conan-io/conan/pull/15813). Docs: :page_with_curl:
build.pkg_config_path
in the built-in options section in the MesonToolchain template. (https://github.com/conan-io/conan/pull/15813). Docs: :page_with_curl:
_meson_cpu_family_map
to support arm64ec
. (https://github.com/conan-io/conan/pull/15812)tools.cmake.cmake_layout:build_folder
config that allows re-defining cmake_layout
local build-folder. (https://github.com/conan-io/conan/pull/15767). Docs: :page_with_curl:
tools.cmake.cmake_layout:test_folder
config that allows re-defining cmake_layout
output build folder for test_package
, including a $TMP
placeholder to create a temporary folder in system tmp
. (https://github.com/conan-io/conan/pull/15767). Docs: :page_with_curl:
conan config install-pkg myconf/[*]
new configuration inside Conan packages with new package_type = "configuration"
. (https://github.com/conan-io/conan/pull/15748). Docs: :page_with_curl:
core.package_id:config_mode
that allows configuration package reference to affect the package_id
of all packages built with that configuration. (https://github.com/conan-io/conan/pull/15748). Docs: :page_with_curl:
cppstd_flag
public to return the corresponding C++ standard flag based on the settings. (https://github.com/conan-io/conan/pull/15710). Docs: :page_with_curl:
self.name
and self.version
in build_folder_vars
attribute and conf. (https://github.com/conan-io/conan/pull/15705). Docs: :page_with_curl:
conan list --filter-xxx
arguments to list package binaries that match settings+options. (https://github.com/conan-io/conan/pull/15697). Docs: :page_with_curl:
detect_libc
to the detect_api
to get the name and version of the C library. (https://github.com/conan-io/conan/pull/15683). Docs: :page_with_curl:
CommandAPI
subapi in the ConanAPI
that allows calling other commands. (https://github.com/conan-io/conan/pull/15630). Docs: :page_with_curl:
tool_requires
when --build=missing
and repeated tool_requires
. (https://github.com/conan-io/conan/pull/15885)CMakeDeps
set_property(... APPEND
argument order. (https://github.com/conan-io/conan/pull/15877)detect_default_compiler()
always returns a 3-tuple. (https://github.com/conan-io/conan/pull/15832)conan graph explain
when no binaries exist for one revision. (https://github.com/conan-io/conan/pull/15823)package_type="static-library"
to the conan new msbuild_lib
template. (https://github.com/conan-io/conan/pull/15807)platform_requires
to fail when explicit options are being passed via requires(.., options={})
. (https://github.com/conan-io/conan/pull/15804)CMakeToolchain
end with newline. (https://github.com/conan-io/conan/pull/15788)conan list
binary filters or package query if a binary pattern is not provided. (https://github.com/conan-io/conan/pull/15781)CMakeToolchain.preprocessor_definition
definitions to "None"
literal string when it has no value (Python None
). (https://github.com/conan-io/conan/pull/15756)conan install <path> --deployer-package=*
case that was crashing when using self.package_folder
. (https://github.com/conan-io/conan/pull/15737)conan graph info --format=html
for large dependency graphs. (https://github.com/conan-io/conan/pull/15724)print()
to stderr
, so json outputs to stdout
are not broken. (https://github.com/conan-io/conan/pull/15704)conan_home_folder
in global.conf
when used in strings inside lists. (https://github.com/conan-io/conan/pull/15870)CMakeDeps
multi-config when there are conditional dependencies on the build_type
. (https://github.com/conan-io/conan/pull/15853)get_backup_sources()
method to expected CacheAPI
from UploadAPI
. (https://github.com/conan-io/conan/pull/15845)package_type=build-scripts
issue with lockfiles and conan create
. (https://github.com/conan-io/conan/pull/15802)--channel
command line argument if the recipe specifies user
attribute. (https://github.com/conan-io/conan/pull/15794)MesonToolchain
. (https://github.com/conan-io/conan/pull/15790)CMakeToolchain
GENERATOR_TOOLSET when compiler.update
is defined. (https://github.com/conan-io/conan/pull/15789)conf
items when they matched a Python module (https://github.com/conan-io/conan/pull/15779)PkgConfigDeps
generating .pc files for its tool_requires
when it is in the build context already. (https://github.com/conan-io/conan/pull/15763)VISIBILITY
flags to CONAN_C_FLAGS
too. (https://github.com/conan-io/conan/pull/15762)conan profile show --format=json
for profiles with scoped confs. (https://github.com/conan-io/conan/pull/15747)update
argument in Conan API. (https://github.com/conan-io/conan/pull/15743)[conf]
when strings contains Windows backslash. (https://github.com/conan-io/conan/pull/15727)tools.build:xxxx
flags in CMakeToolchain
. (https://github.com/conan-io/conan/pull/15654)--update
flag. (https://github.com/conan-io/conan/pull/15652). Docs: :page_with_curl:
--format=json
formatter to conan build
. (https://github.com/conan-io/conan/pull/15651)tools.build.cross_building:cross_build
to decide whether cross-building or not regardless of the internal Conan mechanism. (https://github.com/conan-io/conan/pull/15616)--format=json
option to conan cache path
. (https://github.com/conan-io/conan/pull/15613)graph build-order --reduce
argument to reduce the order exclusively to packages that need to be built from source. (https://github.com/conan-io/conan/pull/15573). Docs: :page_with_curl:
deactivate_conanvcvars
. (https://github.com/conan-io/conan/pull/15557)self.info
information of package_id
to serialized output in the graph, and forward it to package-lists. (https://github.com/conan-io/conan/pull/15553). Docs: :page_with_curl:
-vvv
) for conan.tools.files.copy()
calls. (https://github.com/conan-io/conan/pull/15513)python_requires = "tested_reference_str"
for explicit test_package
of python_requires
. (https://github.com/conan-io/conan/pull/15485). Docs: :page_with_curl:
CMakeToolchain.presets_build/run_environment
to modify CMakePresets
environment in generate()
method. (https://github.com/conan-io/conan/pull/15470). Docs: :page_with_curl:
--allowed-packges
to remotes to limit what references a remote can supply. (https://github.com/conan-io/conan/pull/15464). Docs: :page_with_curl:
RemotesAPI
publicly available (experimental). (https://github.com/conan-io/conan/pull/15462)Git(..., excluded=[])
feature to avoid "dirty" errors in Git
helper. (https://github.com/conan-io/conan/pull/15457). Docs: :page_with_curl:
core.scm:excluded
feature to avoid "dirty" errors in Git
helper and revision_mode = "scm"
. (https://github.com/conan-io/conan/pull/15457). Docs: :page_with_curl:
python_package_id_mode
for python_requires
recipes, to define per-recipe effect on consumers package_id
. (https://github.com/conan-io/conan/pull/15453). Docs: :page_with_curl:
--core-conf
command line argument to allow passing core.
confs via CLI. (https://github.com/conan-io/conan/pull/15441). Docs: :page_with_curl:
detect_api.detect_msvc_update(version)
helper to detect_api
. (https://github.com/conan-io/conan/pull/15435). Docs: :page_with_curl:
CMakeToolchain
defines jobs
in generated CMakePresets.json
buildPresets. (https://github.com/conan-io/conan/pull/15422)settings.yml
. (https://github.com/conan-io/conan/pull/15415). Docs: :page_with_curl:
Git().coordinates_to_conandata()
and Git().checkout_from_conandata_coordinates()
to simplify scm based flows. (https://github.com/conan-io/conan/pull/15377)AutotoolsToolchain
automatically inject -FS
for VS. (https://github.com/conan-io/conan/pull/15375)conan upload
core.upload:parallel
for faster parallel uploads. (https://github.com/conan-io/conan/pull/15360). Docs: :page_with_curl:
conan list
commands. (https://github.com/conan-io/conan/pull/15354)extension_properties
attribute to pass information to extensions from recipes. (https://github.com/conan-io/conan/pull/15348). Docs: :page_with_curl:
compatibility_cppstd
in extension_properties
for the compatibility.py
plugin to disable fallback to other cppstd for the recipe. (https://github.com/conan-io/conan/pull/15348). Docs: :page_with_curl:
Git.get_commit(..., repository=True)
to obtain the repository commit, not the folder commit. (https://github.com/conan-io/conan/pull/15304)--build=editable
and --build=cascade
works together. (https://github.com/conan-io/conan/pull/15300). Docs: :page_with_curl:
conan graph build-order --order=configuration
to output a different order, sorted by package binaries/configurations, not grouped by recipe revisions. (https://github.com/conan-io/conan/pull/15270). Docs: :page_with_curl:
--format=compact
into conan lock add
. (https://github.com/conan-io/conan/pull/15262). Docs: :page_with_curl:
generators
attribute execution. (https://github.com/conan-io/conan/pull/15678)[platform_tool_requires]
in the build profile and context. Discard [platform_requires]
in build profile. (https://github.com/conan-io/conan/pull/15665).dirty
download files when uploading backup sources. (https://github.com/conan-io/conan/pull/15601)None
values for CMakeToolchain.preprocessor_definitions
that will map to definitions without values. (https://github.com/conan-io/conan/pull/15545). Docs: :page_with_curl:
graph build-order --order=configuration
text format output. (https://github.com/conan-io/conan/pull/15538)--lockfile-packages
argument, it was not documented as it is was not intended for public usage. (https://github.com/conan-io/conan/pull/15499). Docs: :page_with_curl:
check_type=int
and conf value is set to bool
. (https://github.com/conan-io/conan/pull/15378)pkg-config
entry to machine file generated by MesonToolchain, due to pkgconfig
entry being deprecated since Meson 1.3.0. (https://github.com/conan-io/conan/pull/15369)graph explain
not showing some differences in requirements if missing. (https://github.com/conan-io/conan/pull/15355)tools.info.package_id:confs
when pattern did not match any defined conf. (https://github.com/conan-io/conan/pull/15353)upload_policy=skip
with --build=missing
issues. (https://github.com/conan-io/conan/pull/15336)conan download/upload --list=.. --only-recipe
to download only the recipes. (https://github.com/conan-io/conan/pull/15312)cmake.build(build_type="Release")
for recipes built with multi-config systems but without build_type
setting. (https://github.com/conan-io/conan/pull/14780)MSBuildDeps
with components and skipped dependencies. (https://github.com/conan-io/conan/pull/15626)provides
raising an error for packages that self tool_requires
to themselves to cross-build. (https://github.com/conan-io/conan/pull/15575)tools.microsoft.visual.VCVars
. (https://github.com/conan-io/conan/pull/15568)visible=False
when dependency is header-only. (https://github.com/conan-io/conan/pull/15564)core.cache:storage_path
, so conan cache clean
also finds and clean them correctly. (https://github.com/conan-io/conan/pull/15505)conan export-pkg --format=json
output now returns recipe = "cache"
status, as the recipe is in the cache after the command. (https://github.com/conan-io/conan/pull/15504)conan export-pkg
command stores the lockfile excluding the test_package
, following the same behavior as conan create
. (https://github.com/conan-io/conan/pull/15504)conan test
failing for python_requires
test-package. (https://github.com/conan-io/conan/pull/15485). Docs: :page_with_curl:
apple_min_version_flag
. (https://github.com/conan-io/conan/pull/15465)os
, compiler
and other settings with subsettings in build_id()
and package_id()
methods. (https://github.com/conan-io/conan/pull/15439).
folder into consideration for tools.files.copy()
excludes
patterns. (https://github.com/conan-io/conan/pull/15349)Git.get_url_and_commit
raising for some Git configs. (https://github.com/conan-io/conan/pull/15271)get_libs
algorithm for BazelDeps. (https://github.com/conan-io/conan/pull/15299)<host_version>
. (https://github.com/conan-io/conan/pull/15287). Docs: :page_with_curl:
tqdm
failing on macOS. (https://github.com/conan-io/conan/pull/15628)BazelDeps._get_libs()
was gathering binary names. (https://github.com/conan-io/conan/pull/15410)from_old_cppinfo
helper checks if the old cpp_info is not None
before merging. (https://github.com/conan-io/conan/pull/15320)NMakeDeps
quoting issues. (https://github.com/conan-io/conan/pull/15288)<host_version>
only track for same user/channel. (https://github.com/conan-io/conan/pull/15287). Docs: :page_with_curl:
conan cache save --file=subfolder/file.tgz
subfolder doesn't exist. (https://github.com/conan-io/conan/pull/15409)CC/CXX
env vars. (https://github.com/conan-io/conan/pull/15418). Docs: :page_with_curl:
winsdk_version
bug in CMakeToolchain
generator for cmake_minimum_required(3.27)
. (https://github.com/conan-io/conan/pull/15373)build=True
trait. (https://github.com/conan-io/conan/pull/15357)package_id
calculation when including conf values thru tools.info.package_id:confs
. (https://github.com/conan-io/conan/pull/15356)conf
items when dumping them to allow reproducible package_id
independent of the order the confs were declared. (https://github.com/conan-io/conan/pull/15356)source_buildenv
, make it False
by default. (https://github.com/conan-io/conan/pull/15319). Docs: :page_with_curl:
conan lock remove
command to remove requires from lockfiles. (https://github.com/conan-io/conan/pull/15284). Docs: :page_with_curl:
CMake.ctest()
helper method to launch directly ctest
instead of via cmake --target=RUN_TEST
. (https://github.com/conan-io/conan/pull/15282)<host_version>
for different references. (https://github.com/conan-io/conan/pull/15274). Docs: :page_with_curl:
tools.microsoft:winsdk_version
conf to make VCVars
generator to use the given winsdk_version
. (https://github.com/conan-io/conan/pull/15272). Docs: :page_with_curl:
pkglist
formatter for conan export command. (https://github.com/conan-io/conan/pull/15266). Docs: :page_with_curl:
CONAN_LOG_LEVEL
env-var to be able to change verbosity at a global level. (https://github.com/conan-io/conan/pull/15263). Docs: :page_with_curl:
conan cache path xxx --folder xxxx
raises an error if the folder requested does not exist. (https://github.com/conan-io/conan/pull/15257)in
operator support for ConanFile's self.dependencies
. (https://github.com/conan-io/conan/pull/15221). Docs: :page_with_curl:
CMakeDeps
generator create a conandeps.cmake
that aggregates all direct dependencies in a cmake
-like generator style. (https://github.com/conan-io/conan/pull/15207). Docs: :page_with_curl:
deploy()
method in recipes for explicit per-recipe deployment. (https://github.com/conan-io/conan/pull/15172). Docs: :page_with_curl:
tool-requires
to be used in source()
method injecting environment. (https://github.com/conan-io/conan/pull/15153). Docs: :page_with_curl:
settings.yml
(and settings_user
!) from ConfigAPI
. (https://github.com/conan-io/conan/pull/15151)ConfigAPI
. (https://github.com/conan-io/conan/pull/15151)redirect_stdout
to CMake integration methods. (https://github.com/conan-io/conan/pull/15150)core:warnings_as_errors
configuration option to make Conan raise on warnings and errors. (https://github.com/conan-io/conan/pull/15149). Docs: :page_with_curl:
FTP_TLS
option using secure
argument in ftp_download
for secure communication. (https://github.com/conan-io/conan/pull/15137)[replace_requires]
and [replace_tool_requires]
in profile for redefining requires, useful for package replacements like zlibng/zlib
, to solve conflicts, and to replace some dependencies by system alternatives wrapped in another Conan package recipe. (https://github.com/conan-io/conan/pull/15136). Docs: :page_with_curl:
stderr
capture argument to conanfile's run()
method. (https://github.com/conan-io/conan/pull/15121). Docs: :page_with_curl:
[platform_requires]
profile definition to be able to replace Conan dependencies by platform-provided dependencies. (https://github.com/conan-io/conan/pull/14871). Docs: :page_with_curl:
conan graph explain
command to search, compare and explain missing binaries. (https://github.com/conan-io/conan/pull/14694). Docs: :page_with_curl:
cpp_info
can be used to initialize components values. (https://github.com/conan-io/conan/pull/13994)core:warnings_as_errors
accept a list (https://github.com/conan-io/conan/pull/15297)user
confs package scoping when no separator was given (https://github.com/conan-io/conan/pull/15296)set_name()
and set_version()
to mutate name and version provided in command line. (https://github.com/conan-io/conan/pull/15211). Docs: :page_with_curl:
conan graph info --format=text
print to stdout. (https://github.com/conan-io/conan/pull/15170)CMAKE_POLICY_DEFAULT_CMP0091
unused variable. (https://github.com/conan-io/conan/pull/15127)[system_tools]
in favor of [platform_tool_requires]
to align with [platform_requires]
for regular dependencies. Changed output from "System tool" to "Platform". (https://github.com/conan-io/conan/pull/14871). Docs: :page_with_curl:
user
confs have at least 1 :
separator (https://github.com/conan-io/conan/pull/15296)Git.is_dirty()
will use git status . -s
to make sure it only process the current path, not the whole repo, similarly to other Git
methods. (https://github.com/conan-io/conan/pull/15289)self.info.clear()
and header-only packages to remove python_requires
and tool_requires
. (https://github.com/conan-io/conan/pull/15285). Docs: :page_with_curl:
conan cache save/restore
portable across Windows and other OSs. (https://github.com/conan-io/conan/pull/15253)deployers
. (https://github.com/conan-io/conan/pull/15244)architecture
to CMakePresets
to avoid cmake ignoring toolchain definitions when using presets. (https://github.com/conan-io/conan/pull/15215)conan graph info --format=html
reporting misleading conflicting nodes. (https://github.com/conan-io/conan/pull/15196)conan profile show --format=json
. (https://github.com/conan-io/conan/pull/15185)storage_path
conf is defined. (https://github.com/conan-io/conan/pull/15135)package_metadata_folder
for conan export-pkg
command. (https://github.com/conan-io/conan/pull/15126)pyinstaller.py
was broken for Python 3.12 due to a useless distutils
import. (https://github.com/conan-io/conan/pull/15116)core.sources:download_cache
is set. (https://github.com/conan-io/conan/pull/15109)riscv64, riscv32
architectures to default settings.yml
and management of them in Meson and Autotools. (https://github.com/conan-io/conan/pull/15053)conan cache backup-upload
to upload all the backup sources in the cache, regardless of which references they are from (https://github.com/conan-io/conan/pull/15013). Docs: :page_with_curl:
conan list --format=compact
for better UX. (https://github.com/conan-io/conan/pull/15011). Docs: :page_with_curl:
conan upload
(https://github.com/conan-io/conan/pull/14984)CMakeToolchain
overwriting user CMakePresets.json
when no layout nor output-folder is defined (https://github.com/conan-io/conan/pull/15058)astra
, elbrus
and altlinux
as distribution using apt
in SystemPackageManager (https://github.com/conan-io/conan/pull/15051)Git()
check commits in remote server even for shallow clones. (https://github.com/conan-io/conan/pull/15023)conan --version
output (https://github.com/conan-io/conan/pull/15002)conf
to affect other recipes. (https://github.com/conan-io/conan/pull/14932). Docs: :page_with_curl:
Apt.install()
or PkgConfig.fill_cpp_info
, like xorg/system
was very noisy to the Conan output, making it more quiet (https://github.com/conan-io/conan/pull/14924)path
information of python_requires
, necessary for computing buildinfo (https://github.com/conan-io/conan/pull/14886)conan source
command in case recipe has python_requires
that need to be downloaded from remotes. (https://github.com/conan-io/conan/pull/14852)--build=missing
was doing unnecessary builds of packages that were not needed and could be skipped, in the case of tool_requires
having transitive dependencies. (https://github.com/conan-io/conan/pull/15082)tools.build:download_source=True
will not fail when there are editable packages. (https://github.com/conan-io/conan/pull/15004). Docs: :page_with_curl:
upload --check
or cache check-integrity
) when the export_source
has not been downloaded (https://github.com/conan-io/conan/pull/14850)-
do not automatically activate pre-releases resolution in the full range. (https://github.com/conan-io/conan/pull/14814). Docs: :page_with_curl: