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