变更日志¶
有关 Conan 2 相对于 Conan 1.X 带来的主要变化的更详细描述,请阅读 Conan 2 有什么新特性
2.17.0 (2025年5月28日)¶
修复:修复 PyInstaller --exclude-module 为 conan.test 添加通配符。 #18381
修复:修复 conan audit 的 URL。 #18360
修复:验证 SBOM 中的许可证是否与 SPDX 兼容。 #18358
修复:Windows 上的 Autotools 可同时用于 LLVM/Clang 的 clang 和 clang-cl 前端。 #18347 。文档 在此
修复:更改解压文件时 unzip 工具的措辞。 #18327
修复:避免在 PkgConfigDeps 和 BazelDeps 中出现重复的组件需求名称。 #18324
修复:在
Git
助手中的commit_in_remote()
函数中避免嫁接(grafted)提交,这也影响了coordinates_to_conandata()
和get_url_and_commit()
。 #18315修复:copy() 现在能够排除指向文件夹的符号链接。 #18304
修复:在使用过滤图时,改进 conan list --graph=file.json 的错误消息。 #18303
修复:始终对覆盖(overrides)的序列化进行排序。 #18274
修复:允许组合不同类别数字的 conf 值。 #18265
修复:在
python_requires
的test_package
中避免关于“tested_reference_str”的不正确警告。 #18226修复:CycloneDX 1.6 作者字段。 #18208
修复:使孵化中的
CMakeConfigDeps
生成器路径相对于deployers
。 #18197修复:在 PyInstaller bundle 中添加完整的 conan 包。 #18195
Bugfix:从
conan new autotools_exe
模板configure.ac
中移除LT_INIT
。 #18378Bugfix:修复 CMakeConfigDeps 链接标志。 #18367
Bugfix:修复
conan audit
在目录中找不到某些包时导致的 _parse_error_threshold 崩溃。 #18363Bugfix:conan graph info … -f=html 的第一个边现在显示需求信息。 #18245
Bugfix:
conan cache save
不再压缩下载的 artifact,例如conan_export.tgz
和conan_sources.tgz
。 #18243 。文档 在此Bugfix:允许使用包含 tool-requires 的配置文件 conan create 一个
python-requires
包。 #18226Bugfix:让 conan config install 遍历文件系统树以查找 .conanignore。 #18170
2.16.1 (2025年4月29日)¶
2.16.0 (2025年4月29日)¶
Feature:允许
CMakeConfigDeps
支持具有 multilibs 的组件(带有弃用警告)。 #18172Feature:为 include(module) 将 CMAKE_MODULE_PATH 添加到 CMakeConfigDeps。 #18162
Feature:GnuToolchain 包含来自 AutotoolsToolchain 的最新更改。 #18159
Feature:引入新的
no_skip=True
需求特性,用于特殊情况,例如一个应用程序通过requires
私有地依赖另一个应用程序,以避免它被跳过。 #18101 。文档 在此Feature:如果
conf_info
被分配了原始设置/选项等,则尽早抛出错误。 #18083Feature:将功能从
Command
层移动到ConanAPI
,用于清理来自conans
的旧的私有 import。 #18079Feature:公开记录
MSBuildDeps.platform
属性,以便为需要x86
值的 wix 项目允许自定义。 #18078 。文档 在此Feature:添加关于每个包构建配置的信息。 #18019
Feature:为图中每个依赖的配置添加 -vv 信息。 #18019
Fix:改进 conan audit 报告。 #18171
Fix:修复 audit html 输出中按严重性值排序的问题。 #18161
Fix:修复 audit html 输出中的列溢出问题。 #18161
Fix:使 audit_providers.json 仅所有者可读写。 #18158
Fix:使
conan.cli
命令层完全独立于可能损坏的遗留from conans
import。 #18127Fix:在
Git.checkout_from_conandata_coordinates()
中显式执行git fetch commit
,用于 Azure DevOps 等创建默认情况下git clone
不会 fetch 的提交的情况。 #18110Fix:允许
conan graph build-order
为“editable”包输出build_args
。 #18097Fix:改进当私有 audit provider 没有 curation 时的错误消息。 #18094
Fix:使某些
Command
格式化助手私有(仅printers
中的助手可重用),并使某些 ConanAPI 属性私有。 #18079Bugfix:如果“本地 recipe index”的
user/channel
与请求的不匹配,则抛出 not-found 错误。 #18153Bugfix:修复使用 MesonToolchain 和 visionOS 时的错误。 #18151
Bugfix:在
CMakeConfigDeps
中为 INTERFACE libraries 添加 IMPORTED_CONFIGURATIONS。 #18088Bugfix:将 Apple 的
bitcode
,visibility
和arc
conf 应用于Autootools/Gnu/Meson Toolchains
。 #18085
2.15.1 (2025年4月14日)¶
2.15.0 (2025年3月31日)¶
Feature:改进处理不正确 JSON 输入文件格式时的错误消息。 #18037
Feature:在 Apple OSs 之间进行交叉编译时,在 MesonToolchain 中添加了 subsystem 字段。 #17985
Feature:为 is_apple_os 助手函数添加了新的 kwarg build_context。 #17985
Fix:调用 conan cache clean 时,从未知引用中删除备份源。 #18018
Fix:修复 SBOM author 字段。 #18014
Fix:默认情况下,如果符号链接路径与库名匹配,则避免解析它们。 #17964
Fix:将
CLI
命令中一些from conan.internal
和from conans
的用法设为私有,并移至 ConanAPI。 #17961Fix:改进生成器中的相对路径,使其尽可能短。 #17945
Fix:_Component() 没有 package_type 属性。 #17943
Bugfix:修复
global.conf
对 profiles[conf]
的优先级以及 per-package pattern confs 的顺序变化。 #18028Bugfix:解决了
update_policy=legacy
和使用 lockfiles 时的问题。 #18009Bugfix:如果目录权限更严格,untargz() 方法会失败。 #17998
Bugfix:CppInfo.auto_deduce_location 方法优先考虑精确匹配。 #17975
Bugfix:避免当 tool-requires 中的自定义生成器按类而不是按名称引用时,
--format=json
序列化崩溃。 #17954Bugfix:在 metadata 中添加正确信息 + 防止当没有组件与 root_node 关联时发生崩溃。 #17925
2.14.0 (2025年3月12日)¶
Feature:允许对 workspace 进行部分
workspace install <path1> ... <pathN>
安装。 #17887 。文档 在此Feature:为 validate 方法添加 hook:pre_validate 和 post_validate。 #17856 。文档 在此
Feature:为 CMakeConfigDeps 添加了完整的 Apple Frameworks 管理。 #17725 。文档 在此
Feature:为 cpp_info 添加了新的 cpp_info.package_framework。 #17725 。文档 在此
Feature:修复了 docker runner 中的几个错误,添加了新的配置选项并改进了日志系统。 #17542 。文档 在此
Fix:改进当
jinja2
配置文件渲染由于意外语法而失败时的错误消息。 #17940Fix:对于精确的库匹配,在 auto-deduce location 中不发出警告。 #17923
Fix:
cmake_set_interface_link_directories
属性在CMakeDeps
中并不完全必要,并且在CMakeConfigDeps
中变得无效,因为它将需要完整的package_info()
定义。 #17917 。文档 在此Fix:在
MSBuildDeps
生成器中不将\\
转换为/
,因为某些 MSBuild 功能需要 Windows 的\\
路径。 #17901Fix:避免 workspace 错误地定义“local-recipes-index”辅助缓存。 #17883
Fix:改进 profile dumping 的环境输出,具有正确的 prepend 顺序。 #17863
Fix:修复 VCVars vcvarsall.bat 生成,如果 OS 设置为 WindowsStore。 #17849
Bugfix:避免自依赖和循环,当 build profile 中的
[tool_requires]
通过版本范围依赖自身时。 #17931Bugfix:修复
conan graph build-order --reduce --order-by=recipe
未过滤所有 != “Build” 的包的问题。 #17909Bugfix:解决了当版本范围具有不同的 user 时,冲突未抛出的问题。 #17877
2.13.0 (2025年2月26日)¶
Feature:
CMakeDeps
生成的Findxxxx.cmake
文件现在可以为cmake_additional_variables_prefixes
定义{prefix}_FOUND
和{prefix}_VERSION
。 #17838Feature:使新的孵化中
CMakeConfigDeps
生成器在 conanfile 中可用,仍在孵化中的“conf”特性标志下。 #17831 。文档 在此Feature:如果对
local-recipes-index
remote 请求的修订版本与当前版本不同,则添加警告。 #17819Feature:将 repository 参数(具有相同的默认值)从 coordinates_to_conandata() 转发到 get_url_and_commit()。 #17722
Feature:为
gcc
MinGW 编译器 settings.yml 添加mcf
线程。 #17704Feature:改进
conanws.py
文件定义,遵循与ConanFile
相同的模式。 #17688 。文档 在此Feature:Workspace 新的
workspace install
命令,用于包含多个editables
的单体超级项目。 #17675 。文档 在此Feature:新的
conan new workspace
模板包含基于 CMake 的单体超级项目,可与conan workspace install
一起使用。 #17675 。文档 在此Feature:将 CMAKE_LIBRARY_PATH 添加到 conan_cmakedeps_paths.cmake(新的 CMakeDeps)。 #17668
Feature:将 CMAKE_INCLUDE_PATH 添加到 conan_cmakedeps_paths.cmake(新的 CMakeDeps)。 #17668
Feature:添加 extension_properties 访问权限给 conanfile 依赖项。 #17659 。文档 在此
Feature:在 Version 中引入 in_range 方法,允许与版本范围进行比较。 #17658 。文档 在此
Feature:将依赖项
urllib3
升级到2.0
。 #17655Feature:增强了
Premake
CLI 包装器,支持可配置的 Lua 文件路径和自定义命令行参数。 #17398 。文档 在此Fix:关于 CONAN_LOGIN 环境变量的
conan remote auth
的 Docstring。 #17834Fix:关于孵化中的 CMakeDeps 中关于 tool-requires 中的
target_link_libraries()
的更好消息。 #17821Fix:修复 _calculate_licenses SBOM 方法错误并添加了一个小型测试。 #17801
Fix:允许在
AutotoolsToolchain
中从conf
获取 build context 信息。 #17794Fix:允许 msys2 subsystem 路径继承环境变量。 #17781
Fix:改进组件定义错误和运行时冲突的错误消息。 #17771
Fix:更新客户端迁移消息。 #17751
Fix:改进 untar 性能。 #17708
Fix:保护对
cpp_info/components.required_components = xxx
的错误赋值,针对required_components
属性。现在会抛出适当的错误。 #17692Fix:新的
CMakeDeps
可传递链接共享库。 #17459Bugfix:修复自包含的
pyinstaller
可执行文件,使其包含新的conan.tools.sbom
工具。 #17809
2.12.2 (2025年2月12日)¶
2.12.1 (2025年1月28日)¶
2.12.0 (2025年1月27日)¶
Feature:公开文档记录(并实验性地)公开
--build=compatible:[pattern]
构建模式,允许在当前配置无效且二进制兼容性定义兼容二进制文件时,构建不同于当前配置的其他配置。 #17637 。文档 在此Feature:定义新的
tools.cmake.cmaketoolchain:user_presets
,用于自定义生成的CMakeUserPresets.json
的名称,并禁用其生成。也可以将其生成到子文件夹中。 #17613 。文档 在此Feature:在
--format=json
图谱输出中序列化原始需求版本范围,而不仅仅是解析后的版本。 #17603Feature:将 cycloneDX 添加为 Conan 工具并实现 conanfile 的子图。 #17559 。文档 在此
Feature:初步的
conan workspace build
命令,用于根据products
定义构建整个 workspace。 #17538 。文档 在此Feature:允许在“create”时从外部集中文件夹应用 patches,用于类似 conan-center-index 的布局。 #17520 。文档 在此
Feature:为大型 tarball 文件解包添加进度报告。 #17519
Feature:conan profile show 现在可以选择显示哪个 context 的 profile。 #17518
Feature:更好的日志记录,包括打印 repository 的用户名、成功的 auth 事件以及包含完整 URL 请求的 trace-level 消息。 #17517
Feature:添加 conan config clean 命令,该命令将删除 conan home 中的所有自定义 config,但不包括生成的包。 #17514 。文档 在此
Feature:为 ConanApi 添加 reinit 方法,该方法重新初始化所有 subapi。 #17514 。文档 在此
Feature:允许定义
--out-file=file.ext
代替--format=ext > file.ext
,直接写入文件并避免重定向问题。 #17507 。文档 在此Feature:在 API 调用之间缓存 HTTP 请求 session。 #17455
Feature:在
Remote
对象中实现RemoteManager
调用的缓存,在 Remote 对象的生命周期内节省对服务器的重复调用。 #17449 。文档 在此Fix:将 arch_flag 添加为 MesonToolchain 生成器的公共属性。 #17629
Fix:对于负载非常重的 CI 服务器,将 sqlite 超时从 10 秒增加到 20 秒。 #17616
Fix:使
remotes.json
保存具有事务性,以避免因强制终止进程而损坏。 #17588Fix:改进 conan create 在
test_package
缺少二进制文件时的错误消息。 #17581Fix:修复 Git is_dirty 对排除文件的路径检测。 #17571
Fix:允许最新的 bottle 0.13 版本
conan_server
与 Python 3.13 一起工作。 #17534Fix:GnuToolchain 的 make_args 正确处理空值。 #17532
Fix:修复
replace_in_file
中的不一致性,如果未找到模式(且 strict 为 off),则返回 False,否则返回 None。 #17531Fix:conan profile show 不会用信息标题污染 stdout。 #17518
Fix:当 languages 属性中使用未知语言时,抛出错误。 #17512
Fix:修复
Workspace
在使用workspace_api.load()
并在set_version()
内部使用self.run()
时的问题。 #17501Bugfix:conf_build 不存在于 cli 和 conanfile.txt contexts。 #17640
Bugfix:使 pattern 和 strip_root 可以同时用于 conan.tools.files.unzip()。 #17591
Bugfix:解决了孵化中的
CMakeDeps
与可传递[replace_requires]
相关的问题。 #17566Bugfix:解决了
PkgConfigDeps
与可传递[replace_requires]
相关的问题。 #17566
2.11.0 (2024年12月18日)¶
Feature:仅在启用时对 frozen conan v1 remote 发出警告。 #17482
Feature:AutotoolsToolchain 在 Android 交叉编译时首先使用用户的变量。 #17470 。文档 在此
Feature:AutotoolsToolchain 检查 Android 交叉编译路径是否存在。 #17470 。文档 在此
Feature:将 Conan cache 的“profiles”文件夹添加到 jinja2 搜索路径,以便 profiles 即使对于父文件夹和同级文件夹也可以通过 jinja 语法包含/导入。 #17432 。文档 在此
Feature:更新了 tools.env.virtualenv:powershell 配置,允许指定 PowerShell 可执行文件(例如,powershell.exe 或 pwsh)并传递附加参数。 #17416 。文档 在此
Feature:弃用 tools.env.virtualenv:powershell=True/False 的使用。 #17416 。文档 在此
Fix:如果值为 None,则不显示 powershell 弃用消息。 #17500
Fix:修复
LocalAPI
在调用editable_add
时对 editables 的定义。 #17498Fix:澄清 CMakeDeps 中的调试消息。 #17453
Fix:显式地为 BazelDeps 中的 glob() 函数添加了 allow_empty = True(与 bazel 8.x 兼容)。 #17444
Fix:修复由于未清理的正则表达式导致的 cpp_info.location 推导中断。 #17430
Fix:相信来自符号链接的真实路径是好的。 #17421
Fix:修复在 local-recipes-index 中搜索 patterns 时的 user/channel。 #17408
Fix:添加空版本范围警告。 #17405
Bugfix:修复组件属性的虚假重复。 #17503
Bugfix:修复在 powershell 中使用单引号运行命令的问题。 #17487
Bugfix:修复 unsetting 某些类型 conf 的问题。 #17445
2.10.3 (2024年12月18日)¶
Bugfix:集成了 Conan 2.9.3 中缺失的修复 https://github.com/conan-io/conan/pull/17338 #17496
2.10.2 (2024年12月10日)¶
Fix:解决了在大型图谱计算“skip”二进制文件时的性能问题。 #17436
2.10.1 (2024年12月4日)¶
Bugfix:修复针对同名引用的替换的 [replace_requires] 问题。 #17409
2.10.0 (2024年12月2日)¶
Feature:为 conan remote auth 添加 --force 选项,即使对于已启用匿名访问的 remote 也强制进行身份验证。 #17377 。文档 在此
Feature:为 conan new 命令添加 --output 选项。 #17359
Feature:让新的
CMakeDeps
始终定义组件并使用find_package( COMPONENTS)
进行检查,监听新的属性cmake_components
。 #17302Feature:允许
tools.microsoft.msbuild:max_cpu_count=0
使用/m
使用所有可用的核心。 #17301 。文档 在此Feature:改进了 auto deduce location 函数。 #17296
Feature:BazelDeps 使用新的 deduce_location 机制查找库。 #17296
Feature:初步的
conan workspace
初步提案,用于管理本地 editable 集。仅作为开发者/维护者功能引入,位于环境变量之后。 #17272 。文档 在此Feature:允许在
conan config install-pkg
中使用--settings
,以在不同的平台上创建和安装不同的配置。 #17217 。文档 在此Feature:为 Docker runners 添加 network 到 configfile。 #17069 。文档 在此
Fix:修复在子文件夹中使用 conan.tools.scm.Git.fetch_commit() 时发生的错误。 #17369
Fix:为选项冲突添加“风险”警告,以便用户可以设置为 warn-as-error,以便在发生冲突时抛出错误。 #17366
Fix:新的
CMakeDeps
生成器允许在包内文件中使用fooConfig.cmake
,除了foo-config.cmake
。 #17330Fix:在 cache 中构建时,为 editable dependencies 添加警告。 #17325
Fix:如果 source patch 不存在于 export_conandata_patches 中,则抛出 ConanException。 #17294
Fix:改进 CONAN_LOG_LEVEL 环境变量值不正确时的用户体验。 #17280
Fix:Meson 与其他构建系统对齐,将 x86_64->`x86` 视为交叉构建。 #17266
Fix:避免
colorama
错误导致大型输出崩溃。 #17259Bugfix:当
compiler=clang
和compiler_executables={"c": "clang-cl"}
时添加正确的标志,以避免从 Linux 交叉构建到 Windows 时注入不正确的标志。 #17387Bugfix:解决了
Choco().check()
错误,该错误使用遗留的choco search --local-only
,现已替换为choco list
。 #17382Bugfix:修复添加路径中包含空格的 tools.android:ndk_path。 #17379
Bugfix:解决了
&
模式对消费者包的误检测问题。 #17346Bugfix:修复 Safari 中的 conan graph info … -f=html。 #17335
Bugfix:允许同一个依赖项进行多个
[replace_requires]
。 #17326Bugfix:BazelDeps 未找到 OpenSSL 共享库。 #17296
Bugfix:解决了
CMake
未使用tools.microsoft.msbuild:max_cpu_count
的正确值的问题。 #17292Bugfix:修复
cpp_info
属性对于列表值属性的覆盖而非合并问题。对于cmake_build_modules
在editable
模式下工作是必要的。 #17214
2.9.3 (2024年11月21日)¶
Bugfix:修复影响组件检查的
is_test
计算。 #17338
2.9.2 (2024年11月7日)¶
2.9.1 (2024年10月30日)¶
2.9.0 (2024年10月29日)¶
Feature:在 settings.yml 中添加缺失的主要 OS/compiler 版本支持。 #17240 。文档 在此
Feature:conan new 学习了默认值
-d name=mypkg -d version=0.1
,以便提供更简单的用户体验。 #17186 。文档 在此Feature:在 patches 文件时发出警告,如果 recipe 设置了 no_copy_source = True,这可能导致不可预见的问题。 #17162
Feature:为 tool_requires 添加 self.generator_info,以便将生成器传播到其直接依赖项。 #17129 。文档 在此
Feature:新的
tools.graph:skip_build
配置,能够跳过tool_requires
的扩展。 #17117 。文档 在此Feature:新的
tools.graph:skip_test
配置,能够跳过test_requires
的扩展。 #17117 。文档 在此Feature:添加 ROSEnv 生成器集成,用于 ROS2 (Robot Operating System)。 #17110
Feature:为
conan graph build-order
添加 profile arguments 信息,以改进 CI 系统中的用户体验和使用。 #17102 。文档 在此Feature:为 gcc、clang 和 apple-clang 添加 C++26 支持。 #17092 。文档 在此
Feature:为 MSBuildDeps property sheets 添加 Configuration 和 Platform key。 #17076 。文档 在此
Feature:新的
CMakeDeps
生成器由tools.cmake.cmakedeps:new
配置激活,其值为will_break_next
用于评估。这个新的生成器会推导或使用cpp_info.location/link_location
来定义 STATIC; SHARED, INTERFACE 导入目标。它还会定义 IMPORTED_LOCATION, IMPORTED_CONFIGURATION 等。 #16964Feature:使用
cpp_info.languages
,默认使用 recipe 的languages
来将“link-language”需求传播给包的消费者。 #16964Feature:仅为新的
CMakeDeps
生成器定义cpp_info.default_components
。 #16964Feature:为可执行应用程序建模
cpp_info.exes
字段,仅由新的CMakeDeps
生成器使用,该生成器会为cpp_info.exes
在CMakeDeps
中生成 IMPORTED 可执行目标。 #16964Fix:在 Windows 上为 meson.configure() 使用有效的 prefix path,以避免在 Python 3.13 中失败。 #17206
Fix:为每个 Bazel 命令添加 startup options。 #17183
Fix:在登录提示中添加 remote 名称。 #17178
Fix:当过期 token 导致 AuthenticationException 时,获取凭据并重新验证。 #17127
Fix:将异常从遗留的
from conans.error
移动到已文档记录的from conan.error
。 #17126 。文档 在此Fix:Pacman 作为包管理器不应该用于
tools.microsoft.bash:subsystem=msys2
,而应该在目标平台实际是 msys2os.subsystem=msys2
时使用(作为设置)。 #17103Fix:在 MSBuildToolchain 中从 profile 中正确推导 RuntimeLibrary。 #17100
Fix:为 gcc >= 10 将 C++20 标志设置为 {gnu}c++20,而不是 c++2a,直到 gcc 12。 #17092 。文档 在此
Fix:为 gcc >= 11 将 C++23 标志设置为 {gnu}c++23,而不是 c++2b。 #17092 。文档 在此
Fix:当凭据来自环境变量或
credentials.json
文件时,避免重复登录服务器以处理 401,仅对用户交互式提示重复登录尝试。 #17083Fix:对齐 CMakeToolchain 和 AutotoolsToolchain,以便在
compiler=msvc
时自动定义cl
编译器,如果未定义(仅在必要时,例如在使用 CMake 中的 Ninja 生成器时)。 #16875 。文档 在此Fix:在 conan graph build-order -f=json 中引用 build_args,以避免带有空格的选项问题。 #16594
Bugfix:改进了 bazeldeps._get_libs() 机制。 #17233
Bugfix:改进 profile 加载时对不同编译器版本 cstd 的检查。 #17157
Bugfix:修复 cppstd/cstd variable_watch 在未定义时的问题。 #17156
Bugfix:修复当 recipe 不支持所需版本时 cstd 错误报告的问题。 #17156
Bugfix:取消
conan_server
中用户权限验证的旁路,这可能是一个潜在的安全问题。 #17132Bugfix:现在使用 semver 规则版本相同但表示方式不同(例如 1.0 和 1.0.0)的 recipe 列出时,会返回这两个引用。 #17121
Bugfix:Conan Server:在搜索时,不要返回同一 recipe 引用每个修订版本的重复引用。 #17121
Bugfix:空版本范围导致空的条件集。 #17116
Bugfix:为 deps 部分添加 # do not sort 注释。这是 Conan 1.61 以来的回归。 #17109
Bugfix:在使用 Commands API 时恢复 ConanOutput global state。 #17095
Bugfix:graph build-order 中的 build_args options 现在遵循引用的上下文。 #16594
2.8.1 (2024年10月17日)¶
Bugfix:避免对作为可传递
requires
也需要的test_requires
的 required components 抛出错误。 #17174
2.8.0 (2024年9月30日)¶
Feature:添加对 iOS 18、watchOS 11、tvOS 18、visionOS 2 和 macos 15 的支持。 #17012 。文档 在此
Feature:新的
auth_remote.py
插件,用于自定义用户对 Conan remotes 的身份验证。 #16942 。文档 在此Feature:新的
auth_source.py
插件,用于自定义用户对源代码通用下载的身份验证。 #16942 。文档 在此Feature:为 conan install 和 conan build 添加 --envs-generation={false},以禁用虚拟环境的生成(
conanbuildenv.sh|bat
和conanrunenv.sh|bat
)。 #16935 。文档 在此Feature:新的
tools.files.unzip:filter
配置,允许为 tgz 文件定义data
、tar
和fully_trusted
提取策略。 #16918 。文档 在此Feature:
source()
的get()
和unzip()
工具学会了一个新的extract_filter
参数,用于为 tgz 文件定义data
、tar
和fully_trusted
提取策略。 #16918 。文档 在此Feature:为大型上传(>100MB)每 10 秒添加进度更新。 #16913
Feature:实现
conan config install-pkg --url=<repo-url>
,用于在尚未定义 remote 时初步定义 remote URL。 #16876 。文档 在此Feature:允许构建仍然属于当前 profile 的兼容包。 #16871
Feature:允许引导(依赖自身的另一个变体),即使对于相同的版本。 #16870
Feature:允许
[replace_requires]
替换包名,并且self.dependencies
仍然可以使用旧名称。 #16443Fix:让
CMakeToolchain
定义CMAKE_SYSTEM_XXX
,即使定义了user_toolchain
,但如果 toolchain 确实定义了它们,则受到保护。 #17036 。文档 在此Fix:替换生成的 CMake 和 Environment 文件中的 | 字符。 #17024
修复:将
PkgConfig
的stderr
重定向到抛出的异常中。 #17020修复:在 Windows 子系统
bash
路径中始终使用正斜杠。 #16997修复:当
conan list --graph=<graph-json-file>
文件存在问题时,提供更详细的错误消息。 #16936Bugfix:PkgConfigDeps.set_property() 未正确设置所有可用属性。 #17051
Bugfix:BazelDeps 未找到 DLL 文件,因为 Conan 在 Windows 平台上未对它们进行建模。 #17045
Bugfix:如果某个包由于
tools.graph:skip_binaries=False
而不会被跳过,则不要跳过其依赖项。 #17033Bugfix:在菱形依赖结构中,允许
requires(..., package_id_mode)
特征始终使用 recipe 定义的模式,而忽略requires()
的顺序。 #16987Bugfix:将 include_prerelease 标志传播到 VersionRange 的交集。 #16986
Bugfix:如果传递给 conf.get(check_type=bool) 的值无效,则抛出错误。 #16976
2.7.1 (2024年9月11日)¶
2.7.0 (2024年8月28日)¶
Feature:添加了
Git.is_dirty(repository=False)
新参数 #16892Feature:在
conan_toolchain.cmake
中为CMAKE_{C,CXX}_STANDARD
添加 variable_watch。 #16879Feature:为 CMakeDeps 的 get_property 添加 check_type。 #16854 。文档 在此处
Feature:当 visible 特征为 True 时,在下游的“build”上下文中传播 run 特征的需求信息。 #16849 。文档 在此处
Feature:为 PkgConfigDeps 添加 set_property,用于从消费者 recipe 中设置需求属性。 #16789
Feature:在 CMakePresets.json 中定义 CMAKE_<LANG>_COMPILER 变量。 #16762
Feature:添加对 gcc 14.2 的支持。 #16760
Feature:重构 QbsProfile 以支持 Conan 2。 #16742
修复:将
repository
参数从Git.get_url_and_commit(repository=True)
传播到Git.is_dirty()
。 #16892修复:改进访问 cpp_info 快捷方法时的错误消息。 #16847
修复:改进 lockfile 锁定需求失败时的错误消息,明确指出其类型。 #16841
修复:更新 patch-ng 1.18.0 以避免 SyntaxWarning 警告刷屏。 #16766
Bugfix:避免在同时定义架构标志和
tools.build:linker_scripts
时CMakeToolchain
因缺少空格而出错。 #16883Bugfix:使用 Visual Studio 的 llvm-clang 时,在 MSBuildToolchain 中设置正确的平台工具集。 #16844
Bugfix:修复本地 recipe 索引中不存在 recipe 的 export_sources 问题。 #16776
2.6.0 (2024年8月1日)¶
Feature:添加
build_folder_vars=["const.myvalue"]
,为用户“myvalue”任意值创建预设。 #16633 。文档 在此处Feature:在 Bazel 新模板中添加了 outputRootDir 作为可选定义。 #16620
Feature:为 graph build-order 和 graph build-order-merge 添加 html 输出。 #16611 。文档 在此处
Feature:引入
core.scm:local_url=allow|block
,用于控制 conandatascm
中的本地文件夹 URL。 #16597 。文档 在此处Feature:将 XXX_FOR_BUILD 标志和额外的 Android 标志添加到 GnuToolchain 的 extra_env 属性中。 #16596
Feature:在
local-recipes-index
中支持python_requires
。 #16420 。文档 在此处修复:避免
runtime_deployer
部署具有run=False
特征的依赖项。 #16724修复:改进传递不正确文件夹参数
--deployer-folder=xxx
时的错误消息。 #16723修复:更改
requirements.txt
,使其也能在 FreeBSD 中安装distro
包。 #16700修复:加载不存在或损坏的“包列表”文件时,提供更详细的错误消息。 #16685
修复:从
tools.build:compiler_executables
中移除不受支持的 ld 和 ar 条目,它们在所有 Conan 集成中都没有效果。 #16647修复:确保直接工具需求冲突得到正确报告,而不是挂起。 #16619
修复:更新
runners
功能的docker
依赖版本。 #16610修复:尝试上传包含本地文件夹 URL 的包时,在
conandata
scm
中抛出错误。 #16597 。文档 在此处Bugfix:修复 profile
include()
在部分定义了每个包的[settings]
时出现的问题。 #16720Bugfix:当包包含组件时,
MakeDeps
生成器缺少一些聚合变量。 #16715Bugfix:避免在推导兼容性时 settings.update_values() 失败。 #16642
Bugfix:修复 Ninja Multi-Config CMake 中 tools.build:defines 的处理问题。 #16637
Bugfix:使 conan graph <subcommand> 成为真正的“install”空运行。返回相同的错误并给出相同的消息。 #16415
2.5.0 (2024年7月3日)¶
Feature:新的
tools.cmake.cmaketoolchain:enabled_blocks
配置,用于定义CMakeToolchain
的哪些块应该激活或不激活。 #16563 。文档 在此处Feature:允许
conan list
中的 –filter-options 使用 &: 范围来指代所有列出的包。 #16559Feature:在计算依赖图时,突出显示缺失或无效的需求。 #16520
Feature:新的
conan lock update
子命令,用于在同一命令中移除并添加引用。 #16511 。文档 在此处Feature:尊重 tools.android:ndk_path 配置。设置交叉编译 Android 所需的标志。 #16502 。文档 在此处
Feature:Qbs 助手现在自动调用 Conan provider。 #16486
Feature:为 tools.cmake.cmaketoolchain:extra_variables 添加了 force 选项。 #16481 。文档 在此处
Feature:如果在同一个 Conan profile 文件中存在重复的节,则抛出 ConanException。 #16454
Feature:为 Qbs 工具链添加了 resolve() 方法。 #16449
Feature:使使用 deployer 生成的
MSBuildDeps
文件可重定位。 #16441Feature:添加 QbsDeps 类,与 Qbs Conan 模块提供程序一起使用。 #16334
修复:修复 provides 冲突错误消息,当命名引用与 provider 匹配时未显示冲突的 provides。 #16562
修复:为 pytest 设置正确的 testpaths。 #16530
修复:允许
.conanrc
文件位于文件系统根目录。 #16514修复:在 conan runners 中添加对非默认 docker host 的支持。 #16477
修复:在备份上传中无法覆盖摘要文件时不要失败。 #16452
修复:使
source_credentials.json
不应用于 Conan server repos 协议。 #16425 。文档 在此处修复:允许包包含空文件夹。 #16424
Bugfix:修复
detect_api
中的detect_msvc_compiler()
,使其能够正确检测使用compiler.version=194
的 VS 17.10。 #16581Bugfix:修复当 recipe 执行 package_id() info 清除并用作兼容性候选项时出现的意外错误。 #16575
Bugfix:确保 msvc cppstd 兼容性回退不忽略 194 二进制文件。 #16573
Bugfix:如果使用了
--deployer-folder=xxxx
参数,XXXDeps 生成器未在其生成的文件中包含绝对路径。 #16552Bugfix:修复
conan list … --format=compact
对包修订的处理问题。 #16490Bugfix:修复仅设置 defines 时 XcodeToolchain 的问题。 #16429
2.4.1 (2024年6月10日)¶
2.4.0 (2024年6月5日)¶
Feature:为 AutotoolsToolchain 添加了 CC_FOR_BUILD 和 CXX_FOR_BUILD 环境变量。 #16391 。文档 在此处
Feature:为 MesonToolchain 添加了 extra_xxxx 标志,就像在 AutotoolsToolchain, CMakeToolchain 等其他工具链中所做的那样。 #16389
Feature:为 conan new 命令添加了新的
qbs_lib
模板。 #16382Feature:新的
detect_api.detect_sdk_version()
方法。 #16355 。文档 在此处Feature:为 tools.files.rm 添加 excludes 参数,以避免删除某些模式。 #16350 。文档 在此处
Feature:允许使用多个
--build=missing:~pattern1 --build=missing:~pattern2
模式。 #16327Feature:弃用在 ConanFile 中使用路径访问器。 #16247
Feature:添加了设置 tools.cmake.cmaketoolchain:extra_variables 的支持。 #16242 。文档 在此处
Feature:为 CMakeDeps 生成器添加了 cmake_additional_variables_prefixes 变量,允许为声明的 CMake 变量添加额外的名称。 #16231 。文档 在此处
Feature:也允许在
CMakeToolchain
中为本地conan install/build
流程定义 GNUInstallDirs。 #16214Feature:让
conan cache save
遵守core.gzip:compresslevel
配置。 #16211Feature:添加新的
revision_mode
,包含除了package_id
之外的所有内容,直到recipe-revision
。 #16195 。文档 在此处Feature:允许 recipe
requires(..., visible=False)
自身之前的版本,而不会引发循环错误。 #16132Feature:实现了
check_min_cstd
、check_max_cstd
、valid_max_cstd
、valid_min_cstd
、supported_cstd
工具。 #16028 。文档 在此处Feature:新的
languages = "C", "C++"
类属性,进一步自动化设置管理。 #16028 。文档 在此处Feature:将 CONAN_RUNTIME_LIB_DIRS 变量添加到
conan_toolchain.cmake
。 #15914 。文档 在此处修复:为默认
compatibility.py
插件实现了回迁到 <2.3 版本。 #16405修复:在 profile 的序列化/dump 中添加缺失的 [replace_requires] 和 [platform_requires]。 #16401
修复:修复
Qbs
助手处理路径中空格的问题。 #16382修复:使 cc 版本检测更健壮。 #16362
修复:允许
--build=missing:&
模式仅在消费者缺失时构建它,而不构建其他包。 #16344修复:允许“local-recipes-index”使用自定义
user/channel
列出包。 #16342修复:修复
cppstd
函数的文档字符串。 #16341修复:更改 CMAKE_SYSTEM_VERSION 的自动检测,使用 Darwin 版本。 #16335 。文档 在此处
修复:修复 graph build-order 输出中的 require 语法。 #16308
修复:通过添加双引号改进一些命令的帮助文档字符串。 #16292
修复:为不正确的版本范围定义提供更好的错误消息。 #16289
修复:仅在缓存的 recipe 修订版本确实较新时才打印相关信息。 #16275
修复:在使用没有模式范围的
options
时发出警告,以改善用户期望-o shared=True
应用于依赖项的用户体验。 #16233 。文档 在此处修复:修复 Conan 自定义命令未使用 CommandAPI 时的用法问题。 #16213
修复:避免在 Python 3.12 中调用
datetime
弃用方法。 #16095Bugfix:修复 VS 17.10 更新后,
LLVM/Clang
为最新的v14.4
工具集版本启用vcvars
的问题。 #16374 。文档 在此处Bugfix:修复使用
type=shared
的 docker runner 时出现的 profile 错误。 #16364Bugfix:除非定义了
tools.build:download_source
,否则conan graph info .. --build=pkg
不会下载pkg
源文件。 #16349Bugfix:解决了 CMakeToolchain 和 CMakeDeps 中路径相对化的问题。 #16316
Bugfix:避免在 MesonToolchain 中对 tools.build:compiler_executables 的值进行清理。 #16307
Bugfix:解决了使用
storage_path
自定义配置时,conan cache save/restore
tgz 文件中路径不正确导致崩溃的问题。 #16293Bugfix:修复
conan list
中不存在图文件时出现的堆栈跟踪问题。 #16291Bugfix:允许
CMakeDeps
生成器在xxxConfig.cmake
文件已存在时覆盖它。 #16279Bugfix:禁止在 source() 方法中访问 self.info。 #16272
2.3.2 (2024年5月28日)¶
Feature:新的
tools.microsoft:msvc_update
配置,即使未定义compiler.update
,也可用于定义 MSVC 编译器update
。当 VS2022 更新到 17.10 后(这将把默认编译器更改为compiler.version=194
),可使用此配置来使用compiler.version=193
。 #16332Bugfix:允许默认的
compatibility.py
插件从 MSVCcompiler.version=194
回退到193
以及其他cppstd
值。 #16346Bugfix:在本地 recipe 索引布局中跳过以点开头的文件夹。 #16345
Bugfix:删除生成的 conanvcvars.ps1 中多余的反斜杠。 #16322
2.3.1 (2024年5月16日)¶
Feature:允许选择退出
CMakeToolchain
默认使用绝对路径生成 CMakeUserPresets->CMakePreset 和 CMakePresets->toolchainFile 路径的行为。 #16244 。文档 在此处修复:修复 Docker runner 的 config container 名称。 #16243
Bugfix:使兼容性检查理解 update 标志模式。 #16252
Bugfix:解决了菱形依赖结构中
lockfiles
的overrides
bug。 #16235Bugfix:允许将
export-pkg --version=xxx
参数传递给具有python_requires
并继承基类set_version
的 recipe。 #16224
2.3.0 (2024年5月6日)¶
Feature:运行 conan upload 时显示 recipe 和包的大小。 #16103
Feature:扩展 conan version,报告当前的 python 和系统信息,以便进行故障排除。 #16102 。文档 在此处
Feature:为 gcc, msvc, clang 等主流编译器添加
detect_xxxx_compiler()
到公共detect_api
中。 #16092 。文档 在此处Feature:为 .conanignore 文件添加注释支持。 #16087
Feature:在 graph html 搜索栏中,现在可以接受逗号分隔的多个搜索模式。 #16083
Feature:在 graph html 中添加了“过滤包”栏,可以接受逗号分隔的多个搜索模式,并从图中隐藏它们。 #16083
Feature:为 Git 操作添加参数 hide_url,允许记录仓库 URL。默认情况下,URL 将保持 <hidden>,但用户可以选择退出此设置。 #16038
Feature:允许在 export() 和 export_sources() 方法中访问
.conf
(仅限于global.conf
信息,不包括 profile 信息)。 #16034 。文档 在此处Feature:避免在
copy()
中复制完全相同的现有文件。 #16031Feature:新的
conan pkglist find-remote
命令,用于在远端查找缓存中包列表的匹配项。 #16022 。文档 在此处Feature:在生成 CMakePresets 时,相对化路径。 #16015
Feature:为
conanfile.py
添加新的test_package_folder
属性,用于定义自定义位置和名称,而不是默认的test_package
。 #16013 。文档 在此处Feature:新的
conan create --test-missing
语法,仅在实际创建包时才可选地运行test_package
(与--build=missing
一起使用时很有用)。 #15999 。文档 在此处Feature:将 tools.gnu:build_triplet 添加到配置中。 #15965
Feature:为
conan profile detect
添加--exist-ok
参数,如果 profile 已存在则不失败,且不覆盖它。 #15933Feature:如果 native=True,MesonToolchain 可以生成 native 文件(仅在交叉编译时有意义)。 #15919 。文档 在此处
Feature:如果 native 和 cross 文件都存在,Meson 助手会注入它们。 #15919 。文档 在此处
修复:允许在
conan profile detect
自动检测时定义CC=/usr/bin/cc
(以及 CXX)。 #16187修复:解决了
pyinstaller.py
脚本中的问题,它将不再安装pip install pyinstaller
,安装它将是一个先决条件。 #16186修复:在
CMake
助手中为 CMakeLists.txt 文件夹使用反斜杠,修复了项目位于驱动器根目录(如X:
)时的问题。 #16180修复:即使路径已被删除,也允许使用
conan editable remove <path>
。 #16170修复:修复
conan new –help
格式问题。 #16155修复:改进图冲突时的错误消息。 #16137
修复:改进当某个 URL 不是有效的服务器但在 Conan“ping”API 调用下仍然返回 200-ok 时的错误消息。 #16126
修复:解决了 FreeBSD 中由于带双引号的查询导致的
sqlite3
问题。 #16123修复:为
conan cache restore <non-existing-file>
提供清晰的错误消息。 #16113修复:改进缓存中的 remotes 或 credentials 文件无效/为空时的用户体验和错误消息。 #16091
修复:在 Linux 系统中使用
cc
可执行文件进行编译器自动检测(conan profile detect
和detect_api
)。 #16074修复:通过为无效的
==, ~=, ^=
运算符提供更好的错误消息,改进版本范围定义的 UX。 #16069修复:改进
settings.yml
或settings_user.yml
不正确时的错误消息 UX。 #16065修复:为使用 Python 3.6(自 2021 年已终止支持)打印警告。 #16003
修复:移除
Autotools
助手重复打印命令行的问题。 #15991修复:在 FileDownloader 的 HTTP Status 401 错误中添加响应错误消息输出。 #15983
修复:将 gcc 14 添加到默认的
settings.yml
中。 #15958修复:使
VCVars
使用compiler.update
指定工具集。 #15947修复:为跨平台构建 Linux->Windows,将
rc
添加到AutotoolsToolchain
的compiler_executables
映射中。 #15946修复:将
Pop!_OS
添加到使用apt-get
作为系统包管理器的发行版列表中。 #15931修复:不对包含 - 字符的包名称发出警告。 #15920
修复:修复新的
--format=html
图输出的 html 转义问题,并传递图的序列化对象而不是字符串。 #15915Bugfix:使 MesonToolchain 遵循 tools.build:defines 配置变量。 #16172 。文档 在此处
Bugfix:禁止在 validate_build() 方法中访问 self.cpp_info。 #16135
Bugfix:当
.conanrc
的 conan_home 无效时,不显示跟踪信息。 #16134Bugfix:避免
tool_requires
的传递依赖项传播到生成器信息中,即使它们被标记为visible=True
。 #16077Bugfix:BazelDeps 现在使用 requirement.build 属性而不是 dependency.context 属性。 #16025
Bugfix:修复
conan cache restore
在恢复覆盖本地缓存中已有的包时出现的问题。 #15950
2.2.3 (2024年4月17日)¶
修复:修复使用 settings_user 中的架构时 to_apple_archs 方法的问题。 #16090
2.2.2 (2024年3月25日)¶
2.2.1 (2024年3月20日)¶
修复:添加 copytree_compat 方法,以兼容 Python>=3.12 (移除 distutils 后)。 #15906
2.2.0 (2024年3月20日)¶
Feature:如果使用 universal binary 语法,则对非 CMakeToolchain 的工具链抛出错误。 #15896
Feature:对位置错误的 requirement 函数调用发出警告。 #15888
Feature:打印由于不同分支的 recipe 定义了不同的 options 值而导致的图中的 options 冲突。 #15876 。文档 在此处
Feature:将 macOS 版本 14.2, 14.3, 14.4 添加到
settings.yml
中。 #15859 。文档 在此处Feature:新的 graph
html
:更多信息,test-requires,隐藏/显示不同的包(build, test)。 #15846 。文档 在此处Feature:为
conan cache clean
添加 –backup-sources 标志。 #15845Feature:添加 conan graph outdated 命令,列出在远端有新版本的依赖项。 #15838 。文档 在此处
Feature:在使用 Visual Studio 时,从 CMakeToolchain 设置 CMAKE_VS_DEBUGGER_ENVIRONMENT 指向所有二进制目录。这消除了从 Visual Studio IDE 启动可执行文件时复制 DLL 的需要(需要 CMake 3.27 或更高版本)。 #15830 。文档 在此处
Feature:为 trim_conandata 添加一个参数,以避免在 conandata.yml 文件不存在时抛出异常。 #15829 。文档 在此处
Feature:将 build_context_folder 添加到 PkgConfigDeps。 #15813 。文档 在此处
Feature:将 build.pkg_config_path 包含在 MesonToolchain 模板的内置选项部分中。 #15813 。文档 在此处
Feature:更新 _meson_cpu_family_map 以支持 arm64ec。 #15812
Feature:在 CMakeToolchain 中为 universal binaries 添加了基本支持。 #15775 。文档 在此处
Feature:新的
tools.cmake.cmake_layout:build_folder
配置,允许重新定义cmake_layout
的本地 build-folder。 #15767 。文档 在此处Feature:新的
tools.cmake.cmake_layout:test_folder
配置,允许重新定义cmake_layout
的test_package
输出 build 文件夹,包括$TMP
占位符,用于在系统tmp
中创建临时文件夹。 #15767 。文档 在此处Feature:(实验性) 添加
conan config install-pkg myconf/[*]
,将新的配置添加到 Conan 包中,使用新的package_type = "configuration"
。 #15748 。文档 在此处Feature:(实验性) 新的
core.package_id:config_mode
,允许配置包引用影响使用该配置构建的所有包的package_id
。 #15748 。文档 在此处Feature:使 cppstd_flag 公开,以便根据设置返回相应的 C++ 标准标志。 #15710 。文档 在此处
Feature:在 build_folder_vars 属性和配置中允许使用
self.name
和self.version
。 #15705 。文档 在此处Feature:添加
conan list --filter-xxx
参数,用于列出与设置+选项匹配的包二进制文件。 #15697 。文档 在此处Feature:将 detect_libc 添加到 detect_api,用于获取 C 库的名称和版本。 #15683 。文档 在此处
Feature:在 ConanAPI 中新增
CommandAPI
子 API,允许调用其他命令。 #15630 。文档 在此处修复:避免在使用
--build=missing
和重复的tool_requires
时不必要地构建tool_requires
。 #15885修复:修复 CMakeDeps set_property(... APPEND 参数顺序。 #15877
修复:当安装图中发现无限循环时(带有循环的畸形依赖图)抛出错误。 #15835
修复:确保 detect_default_compiler() 始终返回一个 3 元组。 #15832
修复:当某个修订版本没有二进制文件时,为
conan graph explain
打印清晰的消息。 #15823修复:为
conan new msbuild_lib
模板添加package_type="static-library"
。 #15807修复:避免通过
requires(.., options={})
传递显式选项时platform_requires
失败。 #15804修复:使
CMakeToolchain
以换行符结尾。 #15788修复:如果未提供二进制模式,则不允许
conan list
二进制过滤器或包查询。 #15781修复:避免在
CMakeToolchain.preprocessor_definition
定义中,当值为 PythonNone
时,生成字符串"None"
。 #15756修复:改进了使用
self.package_folder
时会导致崩溃的conan install <path> --deployer-package=*
情况。 #15737修复:修复大型依赖图的 conan graph info –format=html 问题。 #15724
修复:使所有 recipe 和 plugins python 文件将
print()
输出到stderr
,从而避免损坏stdout
的 json 输出。 #15704修复:修复获取 Linux x86 的 gnu triplet 问题。 #15699
Bugfix:解决了
global.conf
中conan_home_folder
在列表中作为字符串使用时反斜杠的问题。 #15870Bugfix:修复 CMakeDeps 在存在
build_type
条件依赖时多配置的问题。 #15853Bugfix:将 get_backup_sources() 方法从 UploadAPI 移动到预期的 CacheAPI。 #15845
Bugfix:避免 conandata.yml 中某个版本没有列出 patch 时出现 TypeError。 #15842
Bugfix:解决了
package_type=build-scripts
在 lockfiles 和 conan create 中出现的问题。 #15802Bugfix:如果 recipe 指定了 user 属性,则允许使用
--channel
命令行参数。 #15794Bugfix:修复使用 MesonToolchain 时,从 Windows 交叉编译到 Android 的问题。 #15790
Bugfix:修复定义了
compiler.update
时 CMakeToolchain GENERATOR_TOOLSET 的问题。 #15789Bugfix:解决了当 conf 项与 Python 模块匹配时评估的问题。 #15779
Bugfix:修复当 PkgConfigDeps 的
tool_requires
已在 build context 中时,为其生成 .pc 文件的问题。 #15763Bugfix:也将 VISIBILITY 标志添加到 CONAN_C_FLAGS 中。 #15762
Bugfix:修复带范围 conf 的 profile 在使用 conan profile show –format=json 时的问题。 #15747
Bugfix:修复 Conan API 中 update 参数的旧式用法。 #15743
Bugfix:解决了当字符串包含 Windows 反斜杠时 profile
[conf]
损坏的问题。 #15727Bugfix:修复 metadata 版本范围的版本优先级问题。 #15653
2.1.0 (2024年2月15日)¶
Feature:在
CMakeToolchain
中实现多配置tools.build:xxxx
标志。 #15654Feature:为 conan build 添加
--format=json
格式化器。 #15651Feature:添加 tools.build.cross_building:cross_build,无论内部 Conan 机制如何,都可以决定是否进行交叉构建。 #15616
Feature:为 conan cache path 添加
--format=json
选项。 #15613Feature:为 conan graph build-order 添加
--order-by
参数。 #15602 。文档 在此处Feature:提供新的
graph build-order --reduce
参数,将顺序仅限于需要从源代码构建的包。 #15573 。文档 在此处Feature:添加配置,用于在 CMakeToolchain 中为 Visual Studio CMake 生成器指定所需的 CUDA 工具包。 #15572 。文档 在此处
Feature:调用 deactivate_conanvcvars 时显示消息。 #15557
Feature:将
self.info
中package_id
的信息添加到图的序列化输出中,并将其转发到包列表。 #15553 。文档 在此处Feature:在 verbose 模式下运行时,记录 Git 工具命令。 #15514
Feature:为
conan.tools.files.copy()
调用添加详细调试信息(使用-vvv
)。 #15513Feature:为
python_requires
的显式test_package
定义python_requires = "tested_reference_str"
。 #15485 。文档 在此处Feature:添加 CMakeToolchain.presets_build/run_environment,用于在 generate() 方法中修改 CMakePresets 环境。 #15470 。文档 在此处
Feature:为 remotes 添加 –allowed-packges,限制远端可以提供的引用。 #15464 。文档 在此处
Feature:使
RemotesAPI
公开可用(实验性)的初步文档。 #15462Feature:添加在 powershell 中调用时使用 vcvars 环境变量的支持。 #15461 。文档 在此处
Feature:新的
Git(..., excluded=[])
功能,用于避免Git
助手中的“dirty”错误。 #15457 。文档 在此处Feature:新的
core.scm:excluded
功能,用于避免Git
助手和revision_mode = "scm"
中的“dirty”错误。 #15457 。文档 在此处Feature:为
python_requires
recipe 提供 recipepython_package_id_mode
,用于定义每个 recipe 对消费者package_id
的影响。 #15453 。文档 在此处Feature:将 cmakeExecutable 添加到 configure preset。 #15447 。文档 在此处
Feature:添加新的
--core-conf
命令行参数,允许通过 CLI 传递core.
配置。 #15441 。文档 在此处Feature:将 detect_api.detect_msvc_update(version) 助手添加到
detect_api
。 #15435 。文档 在此处Feature:
CMakeToolchain
在生成的CMakePresets.json
buildPresets 中定义 jobs。 #15422Feature:Helper
Git().coordinates_to_conandata()
和Git().checkout_from_conandata_coordinates()
,简化基于 scm 的流程。 #15377Feature:
AutotoolsToolchain
自动为 VS 注入-FS
。 #15375Feature:新的 conan upload
core.upload:parallel
,用于更快的并行上传。 #15360 。文档 在此处Feature:改进 Intel oneAPI 编译器检测。 #15358
Feature:为长时间运行的
conan list
命令显示进度。 #15354Feature:添加 extension_properties 属性,用于从 recipe 向扩展传递信息。 #15348 。文档 在此处
Feature:在 extension_properties 中为
compatibility.py
插件实现 compatibility_cppstd,禁用 recipe 回退到其他 cppstd。 #15348 。文档 在此处Feature:添加
Git.get_commit(..., repository=True)
,获取仓库提交而不是文件夹提交。 #15304Feature:确保
--build=editable
和--build=cascade
可以一起工作。 #15300 。文档 在此处Feature:新的
conan graph build-order --order=configuration
,以不同的顺序输出,按包二进制文件/配置排序,而不是按 recipe 修订版本分组。 #15270 。文档 在此处新特性: 允许将来自
--format=compact
的带有时间戳的配方修订复制粘贴到conan lock add
命令中。 #15262 。文档 在此修复: 保证 generators 属性的执行顺序。 #15678
修复: 解决构建 profile 和上下文中使用
[platform_tool_requires]
的问题。丢弃构建 profile 中的[platform_requires]
。 #15665修复: 修复 conda 环境中的 gcc 检测。 #15664
修复: 改进上传备份源时对 .dirty 下载文件的处理。 #15601
修复: 修复生成文件中的相对路径。 #15592
修复: 允许
CMakeToolchain.preprocessor_definitions
的值为None
,这将映射到没有值的定义。 #15545 。文档 在此修复: 修复 graph build-order --order=configuration 文本格式输出。 #15538
修复: 当远程服务器不可达且用户想在离线模式下工作时,抛出更友好的错误。 #15516
修复: 源文件备份不存在元数据时,避免文件丢失栈追踪。 #15501
修复: 移除
--lockfile-packages
参数,因为它未文档化,也非旨在供公众使用。 #15499 。文档 在此修复: 如果 check_type=int 而 conf 值设置为 bool 时则报错。 #15378
修复: 向 MesonToolchain 生成的机器文件添加 pkg-config 条目,因为 pkgconfig 条目自 Meson 1.3.0 起已废弃。 #15369
修复: 修复 graph explain 在某些依赖缺失时未显示差异的问题。 #15355
修复: 修复 tools.info.package_id:confs 在模式不匹配任何已定义的 conf 时的问题。 #15353
修复: 修复
upload_policy=skip
与--build=missing
相关的问题。 #15336修复: 接受
conan download/upload --list=.. --only-recipe
以仅下载配方。 #15312修复: 允许
cmake.build(build_type="Release")
用于使用多配置系统构建但未设置build_type
的配方。 #14780Bug 修复: 修复
MSBuildDeps
处理组件和跳过的依赖项时的问题。 #15626Bug 修复: 避免包自身
tool_requires
到自身以进行交叉构建时,provides
抛出错误。 #15575Bug 修复: 修复 tools.microsoft.visual.VCVars 中的构建范围操作系统检测。 #15568
Bug 修复: 修复当依赖项为仅头文件时,通过
visible=False
传播错误的问题。 #15564Bug 修复: 将临时缓存文件夹存储在
core.cache:storage_path
内,以便conan cache clean
也能正确找到并清理它们。 #15505Bug 修复:
conan export-pkg --format=json
输出现在返回recipe = "cache"
状态,因为执行该命令后配方位于缓存中。 #15504Bug 修复: conan export-pkg 命令存储锁文件时排除
test_package
,这与 conan create 的行为一致。 #15504Bug 修复: 避免 conan test 因
python_requires
test-package 失败。 #15485 。文档 在此Bug 修复: MesonToolchain 计算出有效的 apple_min_version_flag。 #15465
Bug 修复: 允许在
build_id()
和package_id()
方法中,通过子设置限制os
,compiler
和其他设置。 #15439Bug 修复: 修复获取环境变量 CONAN_LOGIN_USERNAME_REMOTE 的问题。 #15388
Bug 修复: tools.files.copy() 的 excludes 模式不考虑 . 文件夹。 #15349
Bug 修复: 禁用创建没有名称和版本的 editable 包。 #15337
Bug 修复: 修复 Git.get_url_and_commit 在某些 Git 配置下抛出错误的问题。 #15271
Bug 修复: 正在构建的包在其“host”上下文中的直接依赖项不应被跳过。这允许非 C/C++ 库构件(如镜像)在“host”上下文中使用作构建时资源。 #15128
2.0.17 (2024年1月10日)¶
修复: 如果
conan cache save --file=subfolder/file.tgz
指定的子文件夹不存在,则自动创建。 #15409Bug 修复: 解决
CMakeToolchain
生成器针对cmake_minimum_required(3.27)
的winsdk_version
错误。 #15373Bug 修复: 修复
build=True
特性的可见性传播问题。 #15357Bug 修复: 修复通过 tools.info.package_id:confs 包含 conf 值时,package_id 计算的问题。 #15356
Bug 修复: 对转储 conf 项进行排序,以便生成可重现的 package_id,且不受 conf 声明顺序的影响。 #15356
2.0.16 (2023年12月21日)¶
2.0.15 (2023年12月20日)¶
新特性: 新增
CMake.ctest()
辅助方法,用于直接启动ctest
,而不是通过cmake --target=RUN_TEST
。 #15282新特性: 添加
tools.microsoft:winsdk_version
conf,使VCVars
生成器使用给定的winsdk_version
。 #15272 。文档 在此新特性: 如果请求的文件夹不存在,conan cache path xxx --folder xxxx 会抛出错误。 #15257
新特性: 为 ConanFile 的 self.dependencies 添加 in 运算符支持。 #15221 。文档 在此
新特性: 使
CMakeDeps
生成器创建conandeps.cmake
文件,该文件以类似cmake
生成器风格聚合所有直接依赖项。 #15207 。文档 在此新特性: 为 CMake configure preset 添加构建环境信息,并为 CMake test preset 添加运行环境信息。 #15192 。文档 在此
新特性: 移除关于 conan 迁移潜在问题的警告,该警告会在每次构建失败时打印。 #15174
新特性: 允许从 ConfigAPI 访问 settings.yml(和 settings_user!)的内容。 #15151
新特性: 从 ConfigAPI 添加内置 conf 访问。 #15151
新特性: 为 CMake 集成方法添加 redirect_stdout 参数。 #15150
新特性: 添加 core:warnings_as_errors 配置选项,使 Conan 在遇到警告和错误时报错。 #15149 。文档 在此
新特性: 在 ftp_download 中使用 secure 参数添加 FTP_TLS 选项,用于安全通信。 #15137
新特性: Profile 中新增
[replace_requires]
和[replace_tool_requires]
,用于重新定义依赖项,这对于包替换(如zlibng/zlib
)、解决冲突以及用封装在其他 Conan 包配方中的系统替代方案替换某些依赖项非常有用。 #15136 。文档 在此新特性: 新增
[platform_requires]
profile 定义,以便将 Conan 依赖项替换为平台提供的依赖项。 #14871 。文档 在此新特性: 新命令
conan graph explain
,用于搜索、比较并解释缺失的二进制文件。 #14694 。文档 在此新特性: 全局
cpp_info
可用于初始化组件值。 #13994修复: 使 core:warnings_as_errors 接受列表 #15297
修复: 修复未提供分隔符时 user conf 的包范围限定问题 #15296
修复: 修复涉及范围的冲突报告中的范围转义问题。 #15222
修复: 允许强制执行
set_name()
和set_version()
来修改命令行中提供的名称和版本。 #15211 。文档 在此修复: 使 conan graph info --format=text 输出到 stdout。 #15170
修复: 避免因 CMAKE_POLICY_DEFAULT_CMP0091 未使用的变量而在 CMake 输出中出现警告。 #15127
修复: 废弃
[system_tools]
,优先使用[platform_tool_requires]
,以便与常规依赖项的[platform_requires]
对齐。将输出从“System tool”更改为“Platform”。 #14871 。文档 在此Bug 修复: 确保 user conf 至少包含 1 个 : 分隔符 #15296
Bug 修复:
Git.is_dirty()
将使用git status . -s
来确保仅处理当前路径,而不是整个仓库,这与其他Git
方法类似。 #15289Bug 修复: 使
self.info.clear()
和仅头文件包移除python_requires
和tool_requires
。 #15285 。文档 在此Bug 修复: 使
conan cache save/restore
在 Windows 和其他操作系统之间可移植。 #15253Bug 修复: 不对
deployers
中的绝对路径进行相对化。 #15244Bug 修复: 为
CMakePresets
添加architecture
,以避免 cmake 在使用预设时忽略工具链定义。 #15215Bug 修复: 修复 conan graph info --format=html 报告误导性冲突节点的问题。 #15196
Bug 修复: 修复 conan profile show --format=json 中 tool_requires 的序列化问题。 #15185
Bug 修复: 修复 NMakeDeps 引用问题。 #15140
Bug 修复: 修复 2.0.14 迁移问题,以便在定义
storage_path
conf 时将 LRU 数据添加到缓存。 #15135Bug 修复: 修复 **conan export-pkg** 命令的
package_metadata_folder
定义。 #15126Bug 修复: pyinstaller.py 在 Python 3.12 中因无用的 distutils 导入而损坏。 #15116
Bug 修复: 修复未设置 core.sources:download_cache 时的备份源错误。 #15109
2.0.14 (2023年11月14日)¶
新特性: 将
riscv64, riscv32
架构添加到默认的settings.yml
,并在 Meson 和 Autotools 中进行管理。 #15053新特性: 允许仅一个同时数据库连接。 #15029
新特性: 添加 conan cache backup-upload 命令,用于上传缓存中的所有备份源,无论它们来自哪个引用。 #15013 。文档 在此
新特性: 新命令
conan list --format=compact
,提供更好的用户体验。 #15011 。文档 在此新特性: **conan upload** 命令中更好的输出消息。 #14984
新特性: 计算版本范围交集,以避免兼容范围的图版本冲突。 #14912
新特性: CMake 助手可以在 target 参数中使用多个目标。 #14883
新特性: 添加监听 system_package_version 属性的 CMakeDeps 和 PkgConfigDeps 生成器。 #14808 。文档 在此
修复: 当未定义 layout 或 output-folder 时,避免
CMakeToolchain
覆盖用户CMakePresets.json
。 #15058修复: 在 SystemPackageManager 中添加使用
apt
的发行版astra
,elbrus
和altlinux
。 #15051修复: 使
Git()
在远程服务器上检查提交,即使对于 shallow clone 也是如此。 #15023修复: 向 settings.yml 添加新的 Apple OS 版本。 #15015
修复: 从
conan --version
输出中移除颜色。 #15002修复: 如果 sqlite3 版本不受支持(低于 2012 年的 3.7.11),则添加错误消息。 #14950
修复: 使缓存 DB 始终使用正斜杠作为路径,以在 Windows 和 Linux 上保持一致。 #14940
修复: 解决重新构建现有包修订(例如强制重新构建现有仅头文件包)的问题,此时先前的文件夹仍被其他项目使用。 #14938
修复: 通过
Apt.install()
或PkgConfig.fill_cpp_info
的系统包输出(例如xorg/system
)对 Conan 输出非常嘈杂,使其更安静。 #14924修复: 序列化
python_requires
的path
信息,这对于计算 buildinfo 是必需的。 #14886修复: 在 **conan source** 命令中定义远程服务器,以防配方具有需要从远程服务器下载的
python_requires
。 #14852修复: 修复 xros 和 xros-simulator 的最小目标标志。 #14776
Bug 修复:
--build=missing
会对不需要且可以跳过的包进行不必要的构建,尤其是在tool_requires
存在传递依赖的情况下。 #15082Bug 修复: 在 ‘conan export-pkg’ 命令的 format=json 输出中添加包修订。 #15042
Bug 修复:
tools.build:download_source=True
在存在 editable 包时不会失败。 #15004 。文档 在此Bug 修复: 传递依赖被错误添加到 conandeps.xcconfig。 #14898
Bug 修复: 修复未下载
export_source
时进行完整性检查(upload --check
或cache check-integrity
)的问题。 #14850Bug 修复: 正确锁定 python requires 的 release candidate。 #14846
2.0.13 (2023年9月28日)¶
Bug 修复: 修复 2.0.11 中引入的较新 apple-clang 版本错误的 cppstd 检测。 #14837
2.0.12 (2023年9月26日)¶
新特性: 在 package_manager 的 install() 方法中添加 host_tool 参数,指示包是 host tool 还是库。 #14752 。文档 在此
修复: 尝试对
python-require
包执行export-pkg
时提供更好的错误消息,并避免其被导出后失败。 #14819修复:
CMakeDeps
允许对所有属性使用set_property()
。 #14813修复: 未提供 <path> 参数时,**conan build** 命令提供更友好的错误消息。 #14787
Bug 修复: 修复
compatibility()
在settings_target
上导致其变为 None 的问题。 #14825Bug 修复: compatible 包首先在缓存中查找,仅当未找到时才查找服务器,以便在存在 compatible 包时允许离线安装。 #14800
Bug 修复: 在 ConanRequester 中重用会话以加快请求速度。 #14795
Bug 修复: 修复
editable
包在组件部分定义目录时的相对路径问题。 #14782
2.0.11 (2023年9月18日)¶
新特性: 为
conan profile show
命令添加--format=json
格式化程序。 #14743 。文档 在此新特性: 为 ‘conan build’ 命令添加新参数 --deployer --generators。 #14737 。文档 在此
新特性: 改进
CMakeToolchain
blocks 接口。添加了新的.blocks.select()
,.blocks.keys()
。 #14731 。文档 在此新特性: 从下载缓存复制大文件而不是从服务器下载时添加消息。 #14716
新特性: 添加了将 Meson 的 c、cpp 和/或 ld 二进制变量转换成列表的机制,如果它们被声明为空格分隔的字符串。 #14676
新特性: 将 nobara 发行版添加到 dnf 包管理器映射。 #14668
新特性: 确保 meson toolchain 使用 clang-cl 设置 b_vscrt。 #14664
新特性: 支持 conf tools.info.package_id:confs 的正则表达式模式。 #14621 。文档 在此
新特性: MakeDeps: 提供“require”信息,以及更多样式调整。 #14605
新特性: 允许在 compatibility 方法中访问 settings_target。 #14532
修复: 改进 ConanApi 初始化失败的错误消息。 #14735
修复: CMakeDeps: 移除关于重复别名的“Target name … already exists”警告。 #14644
Bug 修复: 修复在
win_bash=True
时Git.run()
的回归问题。 #14756Bug 修复: 将 conan.tools.system.package_manager.Apt 中的默认 check=False 更改为 True,与其他包管理器工具保持一致。 #14728 。文档 在此
Bug 修复: 解决了具有菱形依赖的
test_requires
的传递共享依赖项传播问题。 #14721Bug 修复: 解决 **conan export-pkg** 命令中
test_package
调用远程服务器时的崩溃问题。 #14712Bug 修复: 不对具有未跳过的传递依赖项的包进行二进制跳过,否则会破坏构建系统到这些传递依赖项的构建链,例如
CMakeDeps
生成的文件。 #14673Bug 修复: 修复在原生 ARM64 Windows 上运行
conan profile detect
时检测到的 CPU 架构。 #14667Bug 修复:
conan lock create --update
现在可以正确更新远程服务器的引用,如果比缓存中的新。 #14643Bug 修复: 修复命令 stdout 不必要地使用转义序列进行装饰的问题。 #14642
Bug 修复: tools.info.package_id:confs 不应影响仅头文件库。 #14622
2.0.10 (2023年8月29日)¶
新特性: 允许在
conandata.yml
定义中包含patch_user
,用于用户补丁,不受apply_conandata_patches()
处理。 #14576 。文档 在此新特性: 支持 Xcode 15, iOS 17, tvOS 17, watchOS 10, macOS 14。 #14538
新特性: 如果用户将错误的 ConanCenter web URL 添加为远程,则报错。 #14531
新特性: 使用
--format=json
对图进行序列化时,向python_requires
添加信息,以便conan list --graph
也能列出python_requires
。 #14529新特性: 为图 json 序列化添加
rrev
,rrev_timestamp
和prev_timestamp
。 #14526新特性: 允许
version-ranges
也解析到 editable 包。 #14510新特性: 添加对 Apple visionOS 的支持。 #14504
新特性: 对未知版本范围选项发出警告。 #14493
新特性: 添加 tools.graph:skip_binaries 以控制图中二进制文件的跳过。 #14466 。文档 在此
新特性: 新配置
tools.deployer:symlinks
,用于禁用 deployer 中的符号链接复制。 #14461 。文档 在此新特性: 允许远程自动解析 ‘editable add’ 中缺失的
python_requires
。 #14413 。文档 在此新特性: 新文件
credentials.json
,用于存储 Conan 远程服务器的凭据。 #14392 。文档 在此新特性: 在 Visual Studio 提示符下调用 conan profile detect 时,如果定义了指向 cl 编译器可执行文件的 CC 或 CXX,则可以检测 msvc 的版本。 #14364
新特性:
conan create --build-test=missing
新参数,用于控制哪些内容作为test_package
文件夹的依赖项被构建。 #14347 。文档 在此新特性: 提供新属性
default_build_options
,用于在配方中定义tool_requires
的选项。 #14340 。文档 在此修复: 允许在 **conan create** 命令中为 python-requires 使用
--format=json
。 #14594修复: 移除 Conan v2 ready 的 conan-center 链接。 #14593
修复: 允许版本预发布版本中出现额外的连字符。 #14561
修复: 如果定义了
tools.cmake.cmaketoolchain
的 confs,即使定义了tools.cmake.cmaketoolchain:user_toolchain
,也允许使用这些 confs。 #14556 。文档 在此修复: 在图的
--format=json
输出中,将 dependencies 的布尔值序列化为布尔类型,而非字符串。 #14530 。文档 在此修复: 避免在 **conan upload** 时出现错误,当
python_requires
不在缓存中需要下载时。 #14511修复: 改进 lock add 添加完整包引用而非配方引用的错误检查。 #14491
修复: 不将未捕获的栈追踪打印到
stdout
,而是打印到stderr
。 #14444修复: 在
--format=json
输出中序列化conf_info
。 #14442修复: MSBuildToolchain/MSBuildDeps: 避免将 C/C++ 编译器选项作为 ResourceCompile 的选项传递。 #14378
修复: 移除插件文件会产生更好的错误消息,而不是栈追踪。 #14376
修复: 修复 armv8/aarch64 上的 CMake 系统处理器名称。 #14362
修复: 使备份源
core.sources
conf 不强制要求末尾斜杠。 #14342修复: 正确传播配方
default_options
中定义的选项到test_requires
。 #14340 。文档 在此修复: 使用 conanfile.run() 调用 XCRun,以便注入环境。 #14326
修复: 使用
abspath
进行conan config install
,以避免符号链接问题。 #14183Bug 修复: 解决
build_id()
问题,当多个不同的package_ids
重用同一构建文件夹时。 #14555Bug 修复: 使用包列表时,避免未向 **conan download** 提供时间戳而导致数据库错误。 #14526
Bug 修复: 将异常栈追踪(设置 -vtrace 时)打印到 stderr 而不是 stdout。 #14522
Bug 修复: 在 **conan upload** 中仅打印交互确认的包。 #14512
Bug 修复: ‘conan remove’ 输出匹配过滤器的所有缓存条目,而不仅仅是用户确认的条目。 #14478
Bug 修复: 传递
--channel
未指定--user
时提供更好的错误消息。 #14443Bug 修复: 修复已在“build”上下文中的包的
tool_requires
的settings_target
计算。 #14441Bug 修复: 设置
core.download:parallel
时,避免出现DB is locked
错误。 #14410Bug 修复: 使用 deployer 时,使生成的 powershell 环境脚本相对化。 #14391
Bug 修复: 修复 profile [tool_requires] 使用被忽略的修订版本的问题。 #14337
2.0.9 (2023年7月19日)¶
新特性: 在 ConanFile 中添加 implements 属性,提供一些选项和设置的自动管理。 #14320 。文档 在此
新特性: 添加 apple-clang 15。 #14302
修复: 允许仓库在使用
revision_mode = “scm_folder”
时,在conanfile.py
文件夹外部处于 dirty 状态。 #14330修复: 改进 compatibility.py 和 profile.py 插件中的错误消息,并提供 Conan 追踪。 #14322
修复: 每次写入消息后
flush()
输出流。 #14310Bug 修复: 修复 Package signing plugin 不验证下载源文件的问题。 #14331 。文档 在此
Bug 修复: 修复
CMakeUserPresets
因拼写错误继承自 conan 生成的预设的问题。 #14325Bug 修复: 如果多个用户预设继承自相同的 conan 预设,ConanPresets.json 会包含重复的预设。 #14296
Bug 修复: Meson prefix 参数作为 UNIX 路径传递。 #14295
Bug 修复: 修复
CMake Error: Invalid level specified for --loglevel
当 tools.build:verbosity 设置为 quiet 时的问题。 #14289
2.0.8 (2023年7月13日)¶
新特性: 将 GCC 10.5 添加到默认 settings.yml。 #14252
新特性: 允许 pkg_config_custom_content 覆盖由 PkgConfigDeps 创建的默认
*.pc
变量。 #14233 。文档 在此新特性: 也允许 pkg_config_custom_content 是一个 dict-like 对象。 #14233 。文档 在此
新特性: fix_apple_shared_install_name 工具现在使用 xcrun 来解析 otool 和 install_name_tool 程序。 #14195
新特性: 为
CMakeDeps
生成器新增cpp_info.set_property("cmake_package_version_compat", "AnyNewerVersion")
。 #14176 。文档 在此新特性: 元数据改进。 #14152
修复: 使用 **conan test** 命令时,改进缺失二进制文件的错误消息。 #14272
修复: 使 **conan download** 命令不再需要加载 conanfile,不会因 1.X 配方或缺失
python_requires
而失败。 #14261修复: 使用 upload 命令带 --list 参数时,现在允许空配方列表。 #14254
修复: 保证
Options.rm_safe
永远不会抛出异常。 #14238修复: 允许 tools.gnu:make_program 影响每个 CMake 配置。 #14223
修复: 为 **conan new** lib templates 添加缺失的
package_type
。 #14215修复: 在
patch()
函数中启用现有的状态消息代码。 #14177修复: 在
XcodeDeps
中使用configuration
,而不是始终使用build_type
。 #14168修复: 尊重缓存位置的符号链接路径。 #14164
修复: PkgConfig 使用
conanfile.run()
而非内部运行器来获取 profile 和依赖项的完整 Conan 环境。 #13985Bug 修复: 修复
CMakeDeps
的CMAKE_FIND_LIBRARY_SUFFIXES
变量泄漏。 #14253Bug 修复: 修复检测到多个自定义全局生成器时,conan 无法按名称找到生成器的问题。 #14227
Bug 修复: 改进 conan graph info 在 html 格式中图冲突的显示。 #14190
Bug 修复: 修复
CMakeToolchain
从 Linux 交叉构建到 OSX 的问题。 #14187Bug 修复: 修复未选择包时,备份源中出现 KeyError 的问题。 #14185
2.0.7 (2023年6月21日)¶
新特性: 添加新的
arm64ec
架构,用于定义 CMAKE_GENERATOR_PLATFORM。 #14114 。文档 在此新特性: 使
CppInfo
成为一个公共、已文档化、可导入的工具,供需要聚合它们的生成器使用。 #14101 。文档 在此新特性:
conan remove --format
的输出同时支持 text(删除项摘要)和 json 格式。 #14082 。文档 在此新特性: 为备份源添加
core.sources:excluded_urls
。 #14020新特性: 允许在
conan list
(以及 download, upload, remove) 模式中使用pkg/[version-range]
表达式。 #14004 。文档 在此新特性: 添加
conan upload --dry-run
,等同于 1.X 的conan upload --skip-upload
。 #14002 。文档 在此新特性: 微小的用户体验改进,在下载大文件时打印一些信息。 #13989
新特性: 使用
PackagesList
作为conan upload --list=pkglist.json
的输入参数。 #13928 。文档 在此新特性: 使用
--graph
作为conan list
的输入,以创建可作为 **conan upload** 输入的PackagesList
。 #13928 。文档 在此新特性: 新增与配方和包关联的元数据文件,可在包存在后上传、下载和添加。 #13918
修复: 移除
conanfile.xxx_folder
中导致 msys2 等子系统故障的末尾.
。 #14061修复: 避免图中的某些中间包调用某个依赖上的
aggregated_components()
并使用--deployer
时出现缓存问题,生成器仍然指向 Conan 缓存而非部署的副本。 #14060修复: 允许内部
Cli
对象多次调用。 #14053修复: 对于 Python 3.10,强制要求
pyyaml>=6
,因为之前的版本会破坏功能。 #13990修复: 当 Conan 无法显示冲突的配方之一时,改进图冲突消息。 #13946
修复: 解决从服务器下载非最新修订版本的时间戳错误。 #14110
修复: 修复可编辑包中的双重基本路径设置。 #14109
修复: 如果
conan graph build-order
图有任何错误,则抛出异常,而不是悄无声息地不做任何事情并输出空 json。 #14106修复: 避免当文件夹有重叠匹配名称时,对
editable
包进行不正确的路径替换。 #14095修复: 将 clang 设置为 FreeBSD 检测到的默认编译器。 #14065
修复: 将 prefix 变量和任何自定义内容(通过 pkg_config_custom_content 属性)添加到通过 PkgConfigDeps 已经生成的 pkg-config 根 .pc 文件中。 #14051
修复: conan create 命令对于
--format=json
结果图始终返回相同的输出,与 test_package 是否存在无关。 #14011 。文档 此处修复: 修复定义
self.folders.root=".."
父目录时,editable
包出现的问题。 #13983修复: 移除 libdir1 和 includedir1 作为默认索引。现在,PkgConfigDeps 在 .pc 文件中默认创建 libdir 和 includedir 变量。 #13623 。文档 此处
2.0.6 (2023年5月26日)¶
功能: 添加 tools.cmake:cmake_program 配置项,允许指定所需 CMake 可执行文件的位置。 #13940 。文档 此处
修复: 修复图层中的自定义命令无法进行本地导入的问题。 #13944
修复: 改进下载 + 解压的输出。 #13937
修复: 在 conan config install 中添加 package_manager:mode 的缺失值。 #13929
修复: 确保 graph info、create、export-pkg 和 install 的 graph-info JSON 输出相同。 #13967 。文档 此处
修复:
test_requires
会像常规requires
一样影响消费者的package_id
,但它们不应该这样。 #13966修复: 在
-c tools.build:download_source=True
时,在 json 输出中正确定义source_folder
。 #13953修复: 修复并完成了 graph info xxxx –format json 输出,以便公开记录。 #13934 。文档 此处
修复: 修复 premakedeps 中的“双重”绝对路径问题。 #13926
修复: 修复 2.0.5 https://github.com/conan-io/conan/pull/13898 中出现的回归问题,其中包和组件规范的覆盖失败。 #13923
2.0.5 (2023年5月18日)¶
功能: -v 参数默认为 VERBOSE 级别。 #13839
功能: 避免显示不必要的跳过依赖。现在,如果存在跳过的二进制文件,它只显示引用名称列表。可以通过向当前命令添加 -v(详细模式)来完全列出它们。 #13836
功能: 允许使用
upload_policy="skip"
和build_policy="missing"
构建不可重定位的本地包。 #13833 。文档 此处功能: 计算
package-revision
时,不要移动缓存中的“build”文件夹,以便能够定位依赖的源代码进行步进调试。 #13810功能: 新增
settings.possible_values()
方法,用于查询设置可能值的范围。 #13796 。文档 此处功能: 当
upload_policy=skip
时,优化并避免访问服务器获取二进制文件。 #13771功能: 部分相对化生成的环境 .sh shell 脚本。 #13764
功能: 改进 settings.yml 错误消息。 #13748
功能: 自动创建空的
global.conf
,以改善在 home 目录中查找文件的用户体验。 #13746 。文档 此处功能: 新增全局自定义生成器,位于缓存的“extensions/generators”中,可通过名称使用。 #13718 。文档 此处
功能: 改进 conan inspect 输出,现在它能理解 set_name/set_version。 #13716 。文档 此处
功能: 定义新的
self.tool_requires("pkg/<host_version>")
,允许某些工具依赖项跟随并使用与“host”常规依赖项相同的版本。 #13712 。文档 此处功能: 在图节点序列化中添加 info_invalid。 #13688
功能: 计算和报告图中的
overrides
,以及在graph build-order
中。 #13680功能: 新增
revision_mode = "scm_folder"
,适用于希望使用scm
修订版本的单仓库项目。 #13562 。文档 此处修复: 修复 XcodeDeps 包含跳过的依赖项。 #13880
修复: 不允许在
pkg/version
引用字段中包含换行符。 #13870修复: 修复
AutotoolsToolchain
对 Windows 子系统的tools.build:compiler_executable
定义。 #13867修复: 加快 CMakeDeps 生成速度。 #13857
修复: 修复导入库配置后缀。 #13841
修复: 定义未知 conf 时失败。 #13832
修复: 修复在
conan install/create
命令中,当“跳过”的二进制文件被其他依赖项使用时,打印不正确的问题。 #13778修复: 将缓存中的“deploy”文件夹重命名为“deployers”并允许使用
-d, --deployer
命令行参数。(“deploy”文件夹仍可工作,但会显示弃用警告)。 #13740 。文档 此处修复: 在
CMakeDeps
中,对于 header-only 库省略-L
库路径。 #13704修复: 修复当
test_requires
也是常规的传递性“host”依赖项且消费者定义了组件时的问题。 #13898修复: 修复配方中定义的
*:shared=True
等选项的传播问题。 #13855修复: 修复 ‘graph build-order’ 和 ‘test’ 命令的
--lockfile-out
路径问题。 #13853修复: 确保在更多情况下上传备份源。 #13846
修复: 修复
settings.yml
对intel-cc
cppstd=03
的定义。 #13844修复: 修复针对仅导出配方使用备份源时的 conan upload 命令。 #13779
修复: 修复包含别名的锁定文件的
conan lock merge
命令。 #13763修复: 修复带有版本范围的传递性依赖项中的 python_requires 问题。 #13762
修复: 修复 baremetal 的 CMakeToolchain CMAKE_SYSTEM_NAME=Generic 问题。 #13739
修复: 修复环境脚本停用顺序不正确的问题。 #13707
修复: 解决当图中包含带有
override=True
的依赖项时,锁定文件失败的问题。 #13597
2.0.4 (2023年4月11日)¶
功能: 将
--build-require
扩展到更多命令(graph info, lock create, install)和情况。 #13669 。文档 此处功能: 使 CMakeDeps, CMakeToolchain 和 Environment (.bat, 仅限 Windows) 生成的文件具有相对路径。 #13607
功能: 添加了对 premake5 依赖项 (PremakeDeps) 的初步支持(未文档化,仅限开发)。 #13390
修复: 将旧的 conan user 引用更新为
conan remote login
。 #13671修复: 改进
requirements()
错误消息中更改的依赖项选项。 #13668修复: [system_tools] 没有报告正确的解析版本,仍然是原始范围。 #13667
修复: 改进 provides 冲突错误消息。 #13661
修复: 当服务器对配方/包中的一个文件下载返回 Forbidden 时,确保清除其他文件和数据库。 #13626
修复: 在 conan remove 命令中使用 –package-query 但未提供匹配包的模式时添加错误。 #13622
修复: 修复当模式不列出包修订版本时(例如:
conan list "*#*:*"
)的 html 输出。 #13605修复: 当包没有设置或选项时,
conan list -p <package-query>
失败。 #13662修复: python_requires 现在能正确加载远程依赖项。 #13657
修复: 修复当图的某个节点(也是菱形结构的闭合节点)中使用
override
时发生的崩溃问题。 #13631修复: 修复
--package-query
参数对options
的问题。 #13618修复: 为
full_deploy
部署器添加full_deploy
子文件夹,以避免与“build”文件夹冲突。 #13612 。文档 此处修复: 将 STATUS 设为默认日志级别。 #13610
修复: 修复 conan cache clean 中的双重删除错误。 #13601
2.0.3 (2023年4月3日)¶
功能:
conan cache clean
新增--all
和--temp
参数,用于清理所有内容(源代码、构建)以及临时文件夹。 #13581 。文档 此处功能: 支持 MacOS SDK 13.1 (Xcode 14.2 中可用)。 #13531
功能:
full_deploy
部署器与CMakeDeps
生成器一起,学会了创建相对路径部署,因此它们可以重定位。 #13526功能: 引入
conan remove *#!latest
命令(也适用于包修订版本),用于删除除最新修订版本外的所有修订版本。 #13505 。文档 此处功能: 新增
conan cache check-integrity
命令,用于替换 1.X 遗留的conan upload --skip-upload --check
。 #13502 。文档 此处功能: 在 conan list html 输出中添加选项和设置的过滤功能。 #13470
功能: 为第三方库提供自动服务器端源代码备份。 #13461
功能: 添加 tools.android:cmake_legacy_toolchain 配置,在为 Android 构建 CMake 项目时非常有用。如果定义了此配置,它将设置 ANDROID_USE_LEGACY_TOOLCHAIN_FILE 的值。如果通过 tools.build:cflags 或 tools.build:cxxflags 定义了编译器标志,将其设置为 False 可能会很有用,以防止 Android 的遗留 CMake 工具链覆盖这些值。 #13459 。文档 此处
功能: 将
tools.files.download:download_cache
默认设置为core.download:download_cache
,这样只需要定义一个。 #13458修复: 定义了一种在
python_requires_extend
扩展中更新default_options
的方式。 #13487 。文档 此处修复: 再次允许指定
self.options["mydep"].someoption=value
,等同于"mydep/*"
。 #13467修复: 对于使用 meson 与 VS2019 和 VS2022 构建 c++20 项目,生成 cpp_std=vc++20 而非 vc++latest。 #13450
修复: 修复
CMakeDeps
未在find_library()
中清除CONAN_SHARED_FOUND_LIBRARY
变量的问题。 #13596修复: 不允许添加多个具有相同远程名称的远程仓库。 #13574
修复: 避免因可编辑包的依赖项二进制文件被“跳过”而导致生成器出错。 #13544
修复: 修复父命令包含下划线时子命令名称错误的问题。 #13516
修复: 在运行 conan export-pkg 时,修复远程仓库中的
python-requires
问题。 #13496修复: 可编辑包现在也遵循
build_folder_vars
配置。 #13488修复: 修复
[system_tools]
配置文件的组合问题。 #13468
2.0.2 (2023年3月15日)¶
功能: 在 config install 中添加 –insecure 作为 –verify-ssl 的别名。 #13270 。文档 此处
功能: 为 conan config install 添加 .conanignore 支持。 #13269 。文档 此处
功能: 使异常的详细回溯在
-vv
和-vvv
时显示,而不是使用 1.X 中的自定义环境变量。 #13226功能: 创建缓存内容的摘要。 #13386
功能: 允许
global.conf
包含其他文件(通过 jinja2)。 #13336功能: 添加
conan export-pkg --skip-binaries
,允许导出时跳过依赖项的二进制文件。 #13324 。文档 此处功能: 添加 core.version_ranges:resolve_prereleases 配置,用于控制版本范围是否解析到预发布版本。 #13321
修复: 允许在 conan create 命令中自动处理
package_type = "build-scripts"
作为--build-require
。 #13433修复: 改进服务器端包损坏的检测和消息。 #13432
修复: 修复 conan download 帮助中的拼写错误。 #13430
修复: 修复 _detect_compiler_version 中的拼写错误。 #13396
修复: 修复
conan profile detect
在 OSX 上对clang
编译器的libc++
检测。 #13359修复: 允许内部
vswhere
调用也检测和使用 VS 预发布版本。 #13355修复: 当
settings_user.yml
定义了dict
时,允许将settings.yml
列表转换为dict
。 #13323修复: 修复使用 AutotoolsToolchain 从 macOS 交叉编译到非 Apple OS 时传递的标志问题。 #13230
修复: 修复
MSBuild
在自定义配置包含空格时的问题。 #13435修复: 解决
conan profile path <nonexisting>
命令崩溃的 bug。 #13434修复: 避免对格式错误的自定义命令抛出致命异常。 #13365
修复: 即使依赖项是 header-only,也不要省略其
system_libs
。 #13364修复: 修复实例化
MesonToolchain
时未创建VirtualBuildEnv
环境的问题。 #13346修复: 兼容性插件在自定义编译器方面提供更友好的错误提示。 #13328
修复: 添加 qcc cppstd 兼容性信息,以允许计算依赖图。 #13326
2.0.1 (2023年3月3日)¶
功能: 在 config install 中添加 –insecure 作为 –verify-ssl 的别名。 #13270 。文档 此处
功能: 为 conan config install 添加 .conanignore 支持。 #13269 。文档 此处
功能: 使异常的详细回溯在
-vv
和-vvv
时显示,而不是使用 1.X 中的自定义环境变量。 #13226修复: 对 conan install 和 2.0-readiness 错误消息进行微小改进。 #13299
修复: 移除
vcvars.bat
VS 遥测环境变量,以避免 Conan 挂起。 #13293修复: 移除对
CMakeUserPresets.json
的遗留CMakeToolchain
对CMakePresets
schema2 的支持。 #13288 。文档 此处修复: 如果
conan config list unexpected-arg
,则抛出参数错误。 #13282修复: 对于
msvc
,不自动检测compiler.runtime_type
,而是依赖配置文件插件。 #13277修复: 修复 conanfile.txt 选项解析错误消息。 #13266
修复: 改进选项中统一模式的错误消息。 #13264
修复: 允许
conan remote add --force
强制重新定义现有远程仓库名称。 #13249修复: 恢复构建命令打印配置文件。 #13214
修复: 更改 conan build 命令“path”参数的描述,以表明它仅适用于 conanfile.py,并明确说明它不适用于 conanfile.txt。 #13211 。文档 此处
修复: 改进在
requirements()
方法中定义依赖项options
时出现的错误消息。 #13207修复: 修复错误消息和 readme 中指向文档的断开链接。 #13186
修复: 确保 topics 始终序列化为列表。 #13298
修复: 确保 provides 始终序列化为列表。 #13298
修复: 修复了某些 visual c++ 安装的检测问题。 #13284
修复: 修复
msvc
编译器支持的cppstd
值问题。 #13278修复: CMakeDeps 为
tool_requires
生成文件时,使用与“host”上下文相同的build_type
。 #13267修复: 修复 configure() 中依赖项选项模式的定义。 #13263
修复: 修复输出文件夹位于不同 Windows 驱动器时 CMakeToolchain 错误。 #13248
修复: 如果组件的
.requires
未使用test_requires
,则不抛出错误。 #13191
2.0.0 (2023年2月22日)¶
2.0.0-beta10 (2023年2月16日)¶
功能: 为 conan list 命令添加基本的 html 输出。 #13135
功能: 允许
test_package
处理--build
参数(为主体图计算 --build=never,而不是 test_package 图)。 #13117功能: 为 remote add 添加 –force 参数。 #13112
功能: 验证输入配置是否存在,以避免拼写错误。 #13110
功能: 允许在配方
layout()
中定义self.folders.build_folder_vars
。 #13109功能: 阻止设置赋值。 #13099
功能: 改进 conan editable UI。 #13093
功能: 为用户提供扩展 Conan 生成的 CMakePresets 的能力。 #13090
功能: 添加错误消息以帮助将配方迁移到 2.0,包括 ConanCenter 和用户仓库中的配方。 #13074
功能: 在 conan new 模板中移除共享库的 option.fPIC。 #13066
功能: 添加
conan cache clean
子命令,用于清理构建和源代码文件夹。 #13050功能: 实现可定制的
CMakeToolchain.presets_prefix
,以便预设名称以此为前缀。 #13015功能: 在配置文件中添加 [system_tools] 部分,以使用您自己安装的工具,而不是 requires 中声明的包。 #10166
修复: Powershell 转义问题修复。 #13084
修复: 默认定义
CMakeToolchain.presets_prefix="conan"
,以避免与其他用户预设冲突。 #13015
2.0.0-beta9 (2023年1月31日)¶
功能: 在 Conan 缓存哈希路径中添加包名。 #13011
功能: 实现
tools.build:download_source
配置项,强制在 conan install 或conan graph info
中安装源代码。 #13003功能: 用户可以在 settings_user.yml 中定义自己的设置,这些设置将与 Conan 的 settings.yml 合并。 #12980
功能: 也列出禁用的远程仓库。 #12937
修复: PkgConfiDeps 使用了依赖项中错误的
dependencies.host
,而不是get_transitive_requires()
计算的结果。 #13013修复: 修复 CMakeDeps 中的传递性共享 Linux 库问题。 #13010
修复: 修复 test_package 输出文件夹的问题。 #12992
修复: 改进错误方法的错误消息。 #12962
修复: 修复由于数据库并发问题导致并行包下载失败。 #12930
修复: 启用针对已禁用远程仓库的认证。 #12913
修复: 改进 system_requirements。 #12912
修复: 将 tar 格式更改为 PAX,这是 Python3.8 的默认格式。 #12899
2.0.0-beta8 (2023年1月12日)¶
功能: 为 package_info 中需要与 Conan 1.x 兼容的配方添加 unix_path_package_info_legacy 函数。在 Conan 2 中,不应在 package_info 方法中执行路径转换。 #12886
功能: 为
conan list
命令添加新的序列化 json 和打印功能。 #12883功能: 为 conan new cmake_{lib,exe} 添加依赖项。 #12875
功能: 允许使用
--no-remotes
强制临时禁用远程仓库。 #12808功能: 为 conan new 命令添加 barebones 模板选项。 #12802
功能: 如果传递了 PkgID,避免请求包配置。 #12801
功能: 实现了 conan list *#latest 和 conan list *:*#latest。基本上,这个命令可以显示所有匹配引用(References)的最新 RREVs(Recipe Revisions)和 PREVs(Package Revisions)。 #12781
功能: 允许链接 self.output 的写方法。 #12780
修复: 使
graph info
过滤器也适用于 json 输出。 #12836修复: 修复在 Windows 上使用 AutotoolsToolchain 进行交叉构建时传递有效的 GNU triplet 的问题。 #12881
修复: 如果引用名称相同但版本不同,则进行排序。 #12801
2.0.0-beta7 (2022年12月22日)¶
2.0.0-beta6 (2022年12月2日)¶
功能: 使用
--confirm
而不是--force
在删除时不请求确认。 #12636功能: 简化搜索结果加载 conaninfo.txt 的过程。 #12616
功能: 将 ConanAPIV2 重命名为 ConanAPI。 #12615
功能: 重构 ConanAPI。 #12615
功能: 改进 conan cache path 命令。 #12554
功能: 改进 remove/upload/download 命令中的 #latest 和模式选择。 #12572
功能: 添加 build_modules 到提供的弃用警告中,以允许从 1.x 迁移。 #12578
功能: 锁定文件别名支持。 #12525
2.0.0-beta5 (2022年11月11日)¶
功能: 远程仓库管理和 API 的改进。 #12468
功能: 在 Conan 2.0 中将 env_info 和 user_info 实现为虚拟属性。 #12351
功能: 改进 settings.rm_safe()。 #12379
功能: 新的 RecipeReference 等价性检查。 #12506
功能: 简化 .tgz 文件的压缩和解压缩。 #12378
功能: conan source 命令不再需要默认配置文件。 #12475
功能: 创建了一个合适的 LockfileAPI,包含详细的方法(update, save 等),而不是几个分散的方法。 #12502
功能: conan export 命令也可以生成锁定文件,这对于执行两步(export + install–build)流程的用户是必需的。 #12502
功能: 删除 compat_app。 #12484
修复: 修复 transitive_headers=True 的传递性传播问题。 #12508
修复: 修复静态库 transitive_libs=False 的传递性传播问题。 #12508
修复: 修复 python_requires 的 test_package 问题。 #12508
2.0.0-beta4 (2022年10月11日)¶
功能: 使用 revision_mode=scm 时,不允许进行包含未提交更改的 conan create/export。 #12267
功能: 简化 conan inspect 命令,删除 path 子命令。 #12263
功能: 为 graph info 命令添加 –deploy 参数。 #12243
功能: 将 graph 对象传递给部署器,而不是 ConanFile。 #12243
功能: 向 conan.tools.scm.Git 添加 included_files 方法。 #12246
功能: 改进 clang libcxx 的检测。 #12251
功能: 废弃旧的配置文件变量系统,改用配置文件中的 Jinja2 语法。 #12152
修复: 更新命令以遵循 Conan 2.0 关于 CLI 输出的约定。 #12235
修复: 修复菱形结构中测试特性的聚合问题。 #12080
2.0.0-beta3 (2022年9月12日)¶
功能: 将 test_package 与 create 分离。 #12046
功能: 如果导出的引用包含特殊字符,则发出警告。 #12053
功能: MSBuildDeps 特性的改进。 #12032
功能: 添加对 CLICOLOR_FORCE 环境变量的支持,如果该变量已声明且值非零,则会激活输出颜色。 #12028
修复: 对所有配置只调用一次 source()。 #12050
修复: 修复部署器不创建 output_folder 的问题。 #11977
修复: 修复 build_id() 删除 requires 的问题。 #12019
修复: 如果 Conan 加载自定义命令失败,现在会提供有用的错误消息。 #11720
修复: 修复在 Windows 上构建配置文件中未指定“os”且配方想要运行命令时的 bug。 #11728
2.0.0-beta2 (2022年7月27日)¶
功能: 在 MSBuildDeps 中添加特性支持。 #11680
功能: 在 XcodeDeps 中添加特性支持。 #11615
功能: 允许依赖项定义 package_id 模式。 #
功能: 添加
conan.conanrc
文件来设置 conan 用户主目录。 #11675功能: 添加
core.cache:storage_path
,用于声明存放 Conan 包的绝对路径。 #11672功能: 添加用于检查最大 cppstd 版本的工具。 #11610
功能: 添加一个
post_build_fail
钩子,当构建失败时调用。 #11593功能: 添加
pre_generate
和post_generate
钩子,覆盖围绕generate()
方法调用的文件生成过程。 #11593功能: 恢复
conan config list
命令并改进其他配置。 #11575功能: 为所有命令添加了两个新参数:-v 用于控制输出的详细程度,–logger 用于将内容以 json 日志格式输出给日志处理器。 #11522
2.0.0-beta1 (2022年6月20日)¶
功能: 新的图模型,更好地支持 C 和 C++ 二进制文件的关系、编译和链接。
功能: 新的、有文档记录的公共 Python API,用于用户自动化。
功能: 新的构建系统集成,更灵活、更强大,并在可能的情况下提供透明集成,例如
CMakeDeps
和CMakeToolchain
。功能: 新的自定义用户命令,可以使用公共 PythonAPI 构建,并可以通过
conan config install
分享和安装。功能: 新的 CLI 接口,命令更清晰,输出更结构化。
功能: 新的部署器机制,用于将工件从缓存复制到用户文件夹,并在构建时使用这些副本。
功能: 改进的
package_id
计算,考虑了新的更详细的图模型。功能: 添加了
compatibility.py
扩展机制,允许用户全局定义二进制兼容性。功能: 更简单、更强大的
lockfiles
,提供随时间的可重现性。功能: 使用
[conf]
进行更好的配置,并使用新的conan.tools.env
工具进行更好的环境管理。功能: Conan 缓存现在可以同时存储多个修订版本。
功能: 新的扩展插件,用于实现配置文件检查、包签名和构建命令包装。
功能: 利用包的不可变性改进了更新、安装和上传流程。