更新日志

有关 Conan 2 相对于 Conan 1.X 的主要变化的更详细描述,请阅读 Conan 2 的新特性

2.11.0 (2024-12-18)

  • 特性:仅在启用时才警告冻结的 conan v1 远程仓库。#17482

  • 特性:AutotoolsToolchain 在首次进行 Android 交叉编译时使用用户的变量。#17470 。文档 这里

  • 特性:AutotoolsToolchain 检查 Android 交叉编译路径是否存在。#17470 。文档 这里

  • 特性:将 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_addLocalAPI 的可编辑项的定义。#17498

  • 修复:澄清 CMakeDeps 中的调试消息。#17453

  • 修复:在 BazelDeps 中的 glob() 函数中显式添加了 allow_empty = True(与 bazel 8.x 兼容)。#17444

  • 修复:修复由于未清理的正则表达式导致的 cpp_info.location 推理错误。#17430

  • 修复:信任来自符号链接的真实路径是一个好主意。#17421

  • 修复:修复在本地配方索引中搜索模式时的用户/频道。#17408

  • 修复:为空版本范围添加警告。#17405

  • Bugfix:修复组件属性的虚假重复 #17503

  • Bugfix:修复在 powershell 中使用单引号运行命令的问题。#17487

  • Bugfix:修复取消设置某些类型的配置的问题。#17445

2.10.3 (2024-12-18)

2.10.2 (2024-12-10)

  • 修复:解决计算“跳过”二进制文件的大型图中的性能问题。#17436

2.10.1 (2024-12-04)

  • Bugfix:修复相同引用名称的替换的 [replace_requires]#17409

2.10.0 (2024-12-02)

  • 特性:向 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 。文档 这里

  • 特性:如果没有为 conan list 指定参数,则将 * 定义为默认参数。#17300 。文档 这里

  • 特性:改进的自动推断位置函数。#17296

  • 特性:BazelDeps 使用新的 deduce_location 机制来查找库。#17296

  • 特性:conan workspace 的初始提案,用于管理本地的可编辑项集合。仅作为开发人员/维护人员功能引入,位于环境变量之后。#17272 。文档 这里

  • 特性:允许在 conan config install-pkg 中使用 --settings,以便在不同的平台上创建和安装不同的配置。#17217 。文档 这里

  • 特性:为 Docker 运行器将网络添加到配置文件。#17069 。文档 这里

  • 修复:修复 PowerShell 配置的帮助消息。#17389 。文档 这里

  • 修复:修复了在子文件夹中使用 conan.tools.scm.Git.fetch_commit() 时发生的错误。#17369

  • 修复:为选项冲突添加“风险”警告,以便用户可以在发生冲突时发出警告作为错误。#17366

  • 修复:新的 CMakeDeps 生成器允许在 foo-config.cmake 之外的包内文件中使用 fooConfig.cmake#17330

  • 修复:在缓存中构建时,为可编辑依赖项添加警告。#17325

  • 修复:如果源代码补丁在 export_conandata_patches 中不存在,则引发 ConanException。#17294

  • 修复:改进 CONAN_LOG_LEVEL 环境变量错误值的用户体验。#17280

  • 修复:Meson 与其他构建系统保持一致,将 x86_64->`x86` 视为交叉构建。#17266

  • 修复:避免 colorama 错误导致大型输出崩溃。#17259

  • 修复:修复 docker 运行器测试的体系结构。#17069 。文档 这里

  • Bugfix:当 compiler=clangcompiler_executables={"c": "clang-cl"} 时,添加正确的标志,以避免在从 Linux 交叉构建到 Windows 时注入不正确的标志。#17387

  • Bugfix:解决使用旧版 choco search --local-onlyChoco().check() 错误,替换为 choco list#17382

  • Bugfix:修复在路径中带有空格时添加 tools.android:ndk_path 的问题。#17379

  • BugFix:修复 Premake 集成。#17350 。文档 这里

  • Bugfix:解决 & 模式错误检测使用者包的问题。#17346

  • Bugfix:修复 Safari 中的 conan graph info … -f=html#17335

  • Bugfix:允许同一依赖项的多个 [replace_requires]#17326

  • Bugfix:BazelDeps 未能找到 OpenSSL 共享库。#17296

  • Bugfix:解决 CMake 未使用来自 tools.microsoft.msbuild:max_cpu_count 的正确值的问题。#17292

  • Bugfix:修复 cpp_info 属性覆盖而不是合并具有列表值的属性。对于 cmake_build_moduleseditable 模式下工作是必要的。#17214

2.9.3 (2024-11-21)

  • Bugfix:修复影响组件检查的 is_test 计算。#17338

2.9.2 (2024-11-07)

  • 特性:使用 center2.conan.io 作为新的默认远程仓库,并警告使用旧的远程仓库。#17284 。文档 这里

  • Bugfix:修复 CMAKE_TOOLCHAIN_FILE 变量的 ROSEnv 引号。#17270

2.9.1 (2024-10-30)

  • Bugfix:修复当 scope=Nonededuce_subsystem 假设范围为 build 的问题。#17251

  • Bugfix:修复了针对最新编译器版本对 c++26 的 profile.py 插件检查的误报。#17250

2.9.0 (2024年10月29日)

  • 特性:在 settings.yml 中添加缺失的主要操作系统/编译器版本支持。#17240。文档此处

  • 特性:conan new 命令学习了默认值 -d name=mypkg -d version=0.1,以简化用户体验。#17186。文档此处

  • 特性:当修补文件且配方具有 no_copy_source = True 时发出警告,这可能会导致无法预见的问题。#17162

  • 特性:为 tool_requires 添加 self.generator_info,以便将生成器传播到它们的直接依赖项。#17129。文档此处

  • 特性:添加对包括在 .conanignore 中忽略的路径的支持。#17123。文档此处

  • 特性:新的 tools.graph:skip_build 配置,能够跳过 tool_requires 的展开。#17117。文档此处

  • 特性:新的 tools.graph:skip_test 配置,能够跳过 test_requires 的展开。#17117。文档此处

  • 特性:为 ROS2(机器人操作系统)添加 ROSEnv 生成器集成。#17110

  • 特性:向 conan graph build-order 添加配置文件参数信息,以改进用户体验和在 CI 系统中的使用。#17102。文档此处

  • 特性:为 gccclangapple-clang 添加 C++26 支持。#17092。文档此处

  • 特性:为 MSBuildDeps 属性表添加配置和平台键。#17076。文档此处

  • 特性:新的 CMakeDeps 生成器,通过 tools.cmake.cmakedeps:new 配置激活,值为 will_break_next 用于评估。这个新的生成器推断或使用 cpp_info.location/link_location 来定义 STATIC、SHARED、INTERFACE 导入目标。它还将定义 IMPORTED_LOCATION、IMPORTED_CONFIGURATION 等。#16964

  • 特性:使用 cpp_info.languages,默认为配方的 languages,将“链接语言”要求传播到软件包的消费者。#16964

  • 特性:仅为新的 CMakeDeps 生成器定义 cpp_info.default_components#16964

  • 特性:为可执行应用程序建模 cpp_info.exes 字段,仅由新的 CMakeDeps 生成器使用,该生成器在 CMakeDeps 中为 cpp_info.exes 生成导入的可执行目标。#16964

  • 修复:在 Windows 上为 meson.configure() 使用有效的路径前缀,以避免在 Python 3.13 中出现故障。#17206

  • 修复:允许在 CMakeDeps 中设置 cmake_target_aliases#17200。文档此处

  • 修复:将启动选项添加到每个 Bazel 命令。#17183

  • 修复:将远程名称添加到登录提示。#17178

  • 修复:当过期的令牌给出 AuthenticationException 时,获取凭据并重新进行身份验证。#17127

  • 修复:将异常从旧的 from conans.error 移动到文档化的 from conan.error#17126。文档此处

  • 修复:不应将 Pacman 作为包管理器用于 tools.microsoft.bash:subsystem=msys2,而是当目标平台实际上是 msys2 os.subsystem=msys2(作为设置)时使用。#17103

  • 修复:在 MSBuildToolchain 中正确地从配置文件推断 RuntimeLibrary。#17100

  • 修复:对于 gcc >= 10,将 C++20 标志设置为 {gnu}c++20,而不是 c++2a,直到 gcc 12。#17092。文档此处

  • 修复:对于 gcc >= 11,将 C++23 标志设置为 {gnu}c++23,而不是 c++2b#17092。文档此处

  • 修复:避免当凭据来自 env-vars 或 credentials.json 文件时,重复登录服务器 401,仅重复用户交互提示的登录尝试。#17083

  • 修复:使 CMakeToolchain 和 AutotoolsToolchain 自动为 compiler=msvc 定义 cl 编译器(如果未定义)(仅在必要时,如在 CMake 中使用 Ninja 生成器时)。#16875。文档此处

  • 修复:在 conan graph build-order -f=json 中引用 build_args,以避免出现带空格的选项的问题。#16594

  • 缺陷修复:改进了 bazeldeps._get_libs() 机制。#17233

  • 缺陷修复:改进了在配置文件加载时对不同编译器版本的 cstd 检查。#17157

  • 缺陷修复:修复了当未定义 cppstd/cstd variable_watch 时的问题。#17156

  • 缺陷修复:修复了当配方不支持所需版本时 cstd 的错误报告。#17156

  • 缺陷修复:删除 conan_server 中的用户名权限验证绕过,这可能是一个潜在的安全问题。#17132

  • 缺陷修复:现在,列出在 semver 规则下版本相等但表示形式不同的配方(例如,1.01.0.0)会返回两个引用。#17121

  • 缺陷修复:Conan Server:在搜索时,不要为同一配方引用的每个修订版本返回重复的引用。#17121

  • 缺陷修复:空版本范围导致空条件集。#17116

  • 缺陷修复:将 # do not sort 注释添加到 deps 部分。自 Conan 1.61 以来的回归。#17109

  • 缺陷修复:在使用 Commands API 时恢复 ConanOutput 全局状态。#17095

  • 缺陷修复:graph build-order 中的 build_args 选项现在尊重引用的上下文。#16594

2.8.1 (2024年10月17日)

  • 缺陷修复:避免为作为传递 requires 也需要的必需组件引发错误。#17174

2.8.0 (2024年9月30日)

  • 特性:添加对 iOS 18、watchOS 11、tvOS 18、visionOS 2 和 macOS 15 的支持。#17012。文档此处

  • 特性:添加 Clang 19 支持。#17010。文档此处

  • 特性:conan config list <pattern> 用于过滤可用的配置。#17000。文档此处

  • 特性:用于自定义用户身份验证到 Conan 远程仓库的新 auth_remote.py 插件。#16942。文档此处

  • 特性:用于自定义用户身份验证以进行通用源下载的新 auth_source.py 插件。#16942。文档此处

  • 特性:将 –envs-generation={false} 添加到 conan installconan build,以禁用虚拟环境的生成(conanbuildenv.sh|batconanrunenv.sh|bat)。#16935。文档此处

  • 功能: 新增 tools.files.unzip:filter 配置,允许为 tgz 文件定义 datatarfully_trusted 解压缩策略。 #16918 。文档 在此

  • 功能: source() 中的 get()unzip() 工具新增了 extract_filter 参数,允许为 tgz 文件定义 datatarfully_trusted 解压缩策略。 #16918 。文档 在此

  • 功能: 增加大文件(>100MB)上传时每 10 秒的进度更新。 #16913

  • 功能: 实现 conan config install-pkg --url=<repo-url>,用于在尚未定义远程仓库时初始定义远程仓库 URL。 #16876 。文档 在此

  • 功能: 允许构建与当前配置文件兼容的包。 #16871

  • 功能: 允许自举(依赖于自身的另一个变体),即使是同一版本。 #16870

  • 功能: 允许 [replace_requires] 替换包名称,且 self.dependencies 仍然可以使用旧名称。 #16443

  • 修复: 允许 CMakeToolchain 定义 CMAKE_SYSTEM_XXX,即使定义了 user_toolchain,但如果工具链确实定义了它们,则会受到保护。 #17036 。文档 在此

  • 修复: 替换生成的 CMake 和 Environment 文件中的 | 字符。 #17024

  • 修复: 将 PkgConfigstderr 重定向到引发的异常。 #17020

  • 修复: 在 Windows 子系统 bash 路径中始终使用正斜杠。 #16997

  • 修复: 当 conan list --graph=<graph-json-file> 文件出现问题时,提供更好的错误消息。 #16936

  • Bugfix: PkgConfigDeps.set_property() 未正确设置所有可用属性。 #17051

  • Bugfix: BazelDeps 未找到 DLL 文件,因为 Conan 未在 Windows 平台中对其进行建模。 #17045

  • Bugfix: 如果包不因 tools.graph:skip_binaries=False 而被跳过,则不要跳过该包的依赖项。 #17033

  • Bugfix: 允许在出现菱形依赖的情况下,requires(..., package_id_mode) 特性始终使用配方定义的特性,而与 requires() 的顺序无关。 #16987

  • Bugfix: 将 include_prerelease 标志传播到 VersionRange 的交集。 #16986

  • Bugfix: 如果传递给 conf.get(check_type=bool) 的值无效,则引发错误。 #16976

  • Bugfix: 允许 remote_login 接受模式。 #16942 。文档 在此

2.7.1 (2024 年 9 月 11 日)

  • 功能: 增加对 apple-clang 16 的支持。 #16972

  • 修复: 为 #19960 增加测试。 #16974

  • Bugfix: 回滚“在 CMakePresets.json 中定义编译器变量”提交 60df72cf75254608ebe6a447106e60be4d8c05a4。 #16971

2.7.0 (2024 年 8 月 28 日)

  • 功能: 添加 Git.is_dirty(repository=False) 新参数 #16892

  • 功能: 在 conan_toolchain.cmake 中为 CMAKE_{C,CXX}_STANDARD 添加 variable_watch。 #16879

  • 功能: 为 CMakeDeps 的 get_property 添加 check_type#16854 。文档 在此

  • 功能: 当 visible 特性为 True 时,在“build”上下文下游传播 run 特性需求信息。 #16849 。文档 在此

  • 功能: 在组件 get_property 上添加 check_type#16848 。文档 在此

  • 功能: 为 PkgConfigDeps 添加 set_property,以便为来自使用者配方的需求设置属性。 #16789

  • 功能: 在 CMakePresets.json 中定义 CMAKE_<LANG>_COMPILER 变量。 #16762

  • 功能: 增加对 gcc 14.2 的支持。 #16760

  • 功能: 重构 QbsProfile 以支持 Conan 2。 #16742

  • 功能: 为包的本地缓存最终调整添加 finalize() 方法。 #16646 。文档 在此

  • 功能: 增加 tricore 编译器架构支持。 #16317 。文档 在此

  • 功能: 在此处描述你的拉取请求 #16317 。文档 在此

  • 修复: 将 repository 参数从 Git.get_url_and_commit(repository=True) 传播到 Git.is_dirty()#16892

  • 修复: 改进访问 cpp_info 简写方法时的错误。 #16847

  • 修复: 改进当锁定文件无法锁定需求时,指定其类型的错误消息。 #16841

  • 修复: 更新 patch-ng 1.18.0 以避免 SyntaxWarning 垃圾信息。 #16766

  • Bugfix: 避免当同时定义了架构标志和 tools.build:linker_scripts 时,因缺少空格而导致的 CMakeToolchain 错误。 #16883

  • Bugfix: 当使用 Visual Studio 的 llvm-clang 时,在 MSBuildToolchain 中设置正确的平台工具集。 #16844

  • Bugfix: 修复本地配方索引中不存在的配方的 export_sources#16776

2.6.0 (2024 年 8 月 1 日)

  • 功能: 添加 build_folder_vars=["const.myvalue"] 以创建用户“myvalue”任意值的预设。 #16633 。文档 在此

  • 功能: 在 Bazel 新模板中添加 outputRootDir 作为可选定义。 #16620

  • 功能: MakeDeps 生成器为依赖项及其组件生成 make 变量。 #16613 。文档 在此

  • 功能: 为图形构建顺序和图形构建顺序合并添加 html 输出 #16611 。文档 在此

  • 功能: 引入 core.scm:local_url=allow|block 以控制 conandata scm 中的本地文件夹 URL。 #16597 。文档 在此

  • 功能: 在 GnuToolchainextra_env 属性中添加 XXX_FOR_BUILD 标志和 Android 额外标志。 #16596

  • 功能: 在 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 中删除不受支持的 ldar 条目,它们在每个 Conan 集成中都没有效果。 #16647

  • 修复: 确保正确报告直接工具需求冲突,而不是挂起。 #16619

  • 修复:更新 runners 功能的 docker 依赖版本 #16610

  • 修复:当尝试上传在 conandata scm 中使用本地文件夹 URL 的包时,引发错误。#16597。文档 这里

  • 错误修复:修复使用带有部分定义的每个包的 [settings] 的配置文件 include()#16720

  • 错误修复:当包具有组件时, MakeDeps 生成器缺少一些聚合变量。#16715

  • 错误修复:避免在推断兼容性时 settings.update_values() 失败。#16642

  • 错误修复:修复 Ninja 多配置 CMake 的 tools.build:defines 的处理。#16637

  • 错误修复:使 conan graph <subcommand> 成为真正的“install” dry-run。返回相同的错误并给出相同的消息 #16415

2.5.0 (2024年7月3日)

  • 功能:新的 tools.cmake.cmaketoolchain:enabled_blocks 配置,用于定义 CMakeToolchain 的哪些块应处于活动状态。#16563。文档 这里

  • 功能:允许在 conan list 中使用 –filter-options 使用 &: 范围来引用正在列出的所有包。#16559

  • 功能:在计算依赖关系图时,突出显示缺失或无效的要求。#16520

  • 功能:新的 conan lock update 子命令,用于在同一命令中删除 + 添加引用。#16511。文档 这里

  • 功能:添加对 GCC 12.4 的支持。#16506。文档 这里

  • 功能:遵守 tools.android:ndk_path 配置。设置 Android 交叉构建所需的标志。#16502。文档 这里

  • 功能:为 Android 添加 os.ndk_version#16494。文档 这里

  • 功能:Qbs 助手现在会自动调用 Conan 提供程序。#16486

  • 功能:为 tools.cmake.cmaketoolchain:extra_variables 添加了 force 选项。#16481。文档 这里

  • 功能:如果同一 Conan 配置文件中存在任何重复的部分,则引发 ConanException。#16454

  • 功能:向 Qbs 工具链添加了 resolve() 方法。#16449

  • 功能:使使用部署器的 MSBuildDeps 生成可重定位。#16441

  • 功能:添加 QbsDeps 类以与 Qbs Conan 模块提供程序一起使用。#16334

  • 功能:添加内置的 runtime_deploy 部署器。#15382。文档 这里

  • 修复:修复当命名引用与提供程序匹配时,提供程序冲突错误消息不显示冲突提供程序的问题。#16562

  • 修复:为 pytest 设置正确的 testpaths#16530

  • 修复:允许文件系统的根目录中存在 .conanrc 文件。#16514

  • 修复:在 conan runners 中添加对非默认 docker 主机的支持 #16477

  • 修复:当无法覆盖备份上传中的摘要文件时,不要失败。#16452

  • 修复:使 source_credentials.json 不适用于 Conan 服务器存储库协议。#16425。文档 这里

  • 修复:允许包具有空文件夹。#16424

  • 错误修复:修复 detect_api 中的 detect_msvc_compiler() ,以使用 compiler.version=194 正确检测 VS 17.10。#16581

  • 错误修复:修复当配方执行 package_id() info 删除并用作兼容性候选者时出现的意外错误。#16575

  • 错误修复:确保 msvc cppstd 兼容性回退不会忽略 194 二进制文件。#16573

  • 错误修复:如果使用 –deployer-folder=xxxx 参数,XXXDeps 生成器不会在其生成的文件中包含绝对路径。#16552

  • 错误修复:修复软件包修订版本的 conan list … –format=compact#16490

  • 错误修复:修复仅设置 defines 时出现的 XcodeToolchain。#16429

2.4.1 (2024年6月10日)

  • 修复:避免 cmake_lib 模板生成的 test_package 上传递依赖项的 find_package#16451

  • 修复:修复全新安装中 default compatibility.py 的回退迁移。#16417

  • 错误修复:解决 setuptools(Python 中分发的 Conan 包)打包“test”文件夹的问题。#16446

  • 错误修复:修复了使用 --deployer=full_deploy 创建错误转义的 CMakeToolchain 中的回归。#16434

2.4.0 (2024年6月5日)

  • 功能:添加对 MacOS sdk_version 14.5 的支持 #16400。文档 这里

  • 功能:向 AutotoolsToolchain 添加了 CC_FOR_BUILDCXX_FOR_BUILD 环境变量。#16391。文档 这里

  • 功能:像 AutotoolsToolchain、CMakeToolchain 等其他工具链一样,向 MesonToolchain 添加了 extra_xxxx 标志。#16389

  • 功能:为 conan new 命令添加新的 qbs_lib 模板。#16382

  • 功能:新的 detect_api.detect_sdk_version() 方法 #16355。文档 这里

  • 功能:将 excludes 参数添加到 tools.files.rm 中,以避免删除模式。#16350。文档 这里

  • 功能:允许使用多个 --build=missing:~pattern1 --build=missing:~pattern2 模式。#16327

  • 功能:弃用在 ConanFile 中使用路径访问器。#16247

  • 功能:添加对设置 tools.cmake.cmaketoolchain:extra_variables 的支持 #16242。文档 这里

  • 功能:向 CMakeDeps 生成器添加 cmake_additional_variables_prefixes 变量,以允许为声明的 CMake 变量添加额外的名称。#16231。文档 这里

  • 功能:也允许在本地 conan install/build 流程中定义 CMakeToolchain 中的 GNUInstallDirs。#16214

  • 功能:让 conan cache save 侦听 core.gzip:compresslevel 配置。#16211

  • 功能:添加对 Bazel >= 7.1 的支持。#16196。文档 这里

  • 功能:添加新的 revision_mode,包括一直到 recipe-revision,但不包括 package_id#16195。文档 这里

  • 功能:允许配方 requires(..., visible=False) 它自己的先前版本,而不会引发循环错误。#16132

  • 功能:新的 vendor=True 包创建和构建隔离策略 #16073。文档 这里

  • 功能:C 标准的新 compiler.cstd 设置 #16028。文档 这里

  • 功能:为不同的 C 标准实现了 compatibility.py 默认兼容性 #16028。文档 这里

  • 功能:实现 check_min_cstdcheck_max_cstdvalid_max_cstdvalid_min_cstdsupported_cstd 工具 #16028。文档 在此

  • 功能:新增 languages = "C", "C++" 类属性,以进一步自动化设置管理 #16028。文档 在此

  • 功能:将 CONAN_RUNTIME_LIB_DIRS 变量添加到 conan_toolchain.cmake 中。 #15914。文档 在此

  • 修复:实现对 <2.3 版本默认 compatibility.py 插件的向后迁移。 #16405

  • 修复:将缺少的 [replace_requires][platform_requires] 添加到配置文件的序列化/转储中。 #16401

  • 修复:修复 Qbs 助手处理路径中空格的问题。 #16382

  • 修复:使 cc 版本检测更加健壮 #16362

  • 修复:允许 --build=missing:& 模式仅在缺少时构建消费者,而不构建其他项。 #16344

  • 修复:允许 “local-recipes-index” 使用自定义的 user/channel 通过 conan list 列出包。 #16342

  • 修复:修复 cppstd 函数的文档字符串。 #16341

  • 修复:更改 CMAKE_SYSTEM_VERSION 的自动检测以使用 Darwin 版本。 #16335。文档 在此

  • 修复:修复 graph build-order 输出中的 require 语法。 #16308

  • 修复:通过添加双引号改进一些命令的帮助文档字符串。 #16292

  • 修复:为不正确的版本范围定义提供更好的错误消息。 #16289

  • 修复:仅在缓存的配方修订版本真正较新时才打印相关信息。 #16275

  • 修复:当使用没有模式范围的 options 时发出警告,以改善期望 -o shared=True 应用于依赖项的用户的用户体验。 #16233。文档 在此

  • 修复:修复当不被 Conan 自定义命令使用时的 CommandAPI 用法。 #16213

  • 修复:避免 Python 3.12 中 datetime 的已弃用调用。 #16095

  • 修复:处理 Meson 工具链上的 tools.build:sysroot#16011。文档 在此

  • 缺陷修复:修复 VS 17.10 更新后最新的 v14.4 工具集版本对 LLVM/Clang 启用 vcvars 的问题 #16374。文档 在此

  • 缺陷修复:修复当使用 type=shared 的 Docker 运行器时出现的配置文件错误。 #16364

  • 缺陷修复:conan graph info .. --build=pkg 不会下载 pkg 源码,除非定义了 tools.build:download_source#16349

  • 缺陷修复:解决了 CMakeToolchain 和 CMakeDeps 中路径相对化的问题。 #16316

  • 缺陷修复:避免在 MesonToolchain 中清理 tools.build:compiler_executables 值。 #16307

  • 缺陷修复:解决使用 storage_path 自定义配置时,conan cache save/restore tgz 文件中不正确的路径导致崩溃的问题。 #16293

  • 缺陷修复:修复 conan list 中不存在图形文件时的堆栈跟踪。 #16291

  • 缺陷修复:允许 CMakeDeps 生成器在 xxxConfig.cmake 已经存在时覆盖它。 #16279

  • 缺陷修复:禁止在 source() 方法中访问 self.info#16272

2.3.2 (2024 年 5 月 28 日)

  • 功能:新的 tools.microsoft:msvc_update 配置,用于定义 MSVC 编译器 update,即使未定义 compiler.update 也是如此。可用于在 VS2022 更新到 17.10 后使用 compiler.version=193,该更新将默认编译器更改为 compiler.version=194#16332

  • 缺陷修复:允许默认的 compatibility.py 插件从 MSVC compiler.version=194->193 回退到其他 cppstd 值。 #16346

  • 缺陷修复:跳过本地配方索引布局中的点文件夹。 #16345

  • 缺陷修复:删除生成的 conanvcvars.ps1 中的额外反斜杠。 #16322

2.3.1 (2024 年 5 月 16 日)

  • 功能:添加 GCC 13.3 支持。 #16246。文档 在此

  • 功能:允许选择退出 CMakeToolchain 默认对 CMakeUserPresets->CMakePreset 和 CMakePresets->toolchainFile 路径使用绝对路径。 #16244。文档 在此

  • 修复:修复 Docker 运行器的配置容器名称。 #16243

  • 缺陷修复:使兼容性检查理解更新标志模式。 #16252

  • 缺陷修复:解决钻石结构中来自 lockfilesoverrides 的错误。 #16235

  • 缺陷修复:允许将 export-pkg --version=xxx 传递给从基类继承 set_versionpython_requires 配方。 #16224

2.3.0 (2024 年 5 月 6 日)

  • 功能:允许在 rm_safe 中使用 * 通配符作为子集。 #16105。文档 在此

  • 功能:在运行 conan upload 时显示配方和包大小。 #16103

  • 功能:扩展 conan version 以报告当前的 Python 和系统信息,用于故障排除。 #16102。文档 在此

  • 功能:将主流编译器(如 gcc、msvc、clang)的 detect_xxxx_compiler() 添加到公共 detect_api 中。 #16092。文档 在此

  • 功能:为 .conanignore 文件添加注释支持。 #16087

  • 功能:在图形 html 搜索栏中,现在可以输入以逗号分隔的多个搜索模式。 #16083

  • 功能:在图形 html 中添加了“过滤包”栏,该栏可以输入以逗号分隔的多个搜索模式,并隐藏图形中的过滤器。 #16083

  • 功能:为 Git 操作添加一个参数 hide_url,以允许记录仓库 URL。默认情况下,URL 将保持 <hidden>,但用户可以选择退出此设置。 #16038

  • 功能:允许在 export()export_sources() 方法中访问 .conf (仅限于 global.conf 信息,而不是配置文件信息)。 #16034。文档 在此

  • 功能:避免在 copy() 中复制相同的现有文件。 #16031

  • 新功能:新增 conan pkglist merge 命令,用于合并多个包列表。#16022。文档此处

  • 新功能:新增 conan pkglist find-remote 命令,用于在远程仓库中查找缓存中包列表的匹配项。#16022。文档此处

  • 新功能:在生成 CMakePresets 时使用相对路径。#16015

  • 新功能:向 conanfile.py 添加新的 test_package_folder 属性,用于定义不同的自定义位置和名称,而不是默认的 test_package#16013。文档此处

  • 新功能:新增 conan create --test-missing 语法,用于在实际创建包时才选择性地运行 test_package (与 --build=missing 结合使用时很有用)。#15999。文档此处

  • 新功能:向 conf 添加 tools.gnu:build_triplet#15965

  • 新功能:向 conan profile detect 添加 --exist-ok 参数,以便在配置文件已存在时不会失败,而不会覆盖它。#15933

  • 新功能:如果 native=True,则 MesonToolchain 可以生成一个 native 文件(仅在交叉编译时才有意义)。#15919。文档此处

  • 新功能:如果 native 和 cross 文件都存在,Meson 辅助工具会注入它们。#15919。文档此处

  • 新功能:添加对 meson 子项目的支持。#15916。文档此处

  • 新功能:添加了在 Docker 容器中透明运行 Conan 的支持。#15856。文档此处

  • 修复:允许为 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

  • 修复:改进当缓存中的远程仓库或凭据文件无效/为空时的 UX 和错误消息。#16091

  • 修复:在 Linux 系统中使用 cc 可执行文件进行自动检测编译器(conan profile detectdetect_api)。#16074

  • 修复:改进版本范围定义的用户体验,针对无效的 ==, ~=, ^= 运算符提供更好的错误消息。#16069

  • 修复:改进错误消息的用户体验,当 settings.ymlsettings_user.yml 不正确时。#16065

  • 修复:针对自 2021 年以来已停止维护的 Python 3.6 使用情况打印警告。#16003

  • 修复:删除 Autotools 辅助工具中重复打印的命令行。#15991

  • 修复:向 FileDownloader 中的 HTTP 状态 401 错误添加响应错误消息输出。#15983

  • 修复:向默认的 settings.yml 添加 gcc 14。#15958

  • 修复:使 VCVars 使用 compiler.update 来指定工具集。#15947

  • 修复:为交叉构建 Linux->Windows 向 AutotoolsToolchaincompiler_executables 映射添加 rc#15946

  • 修复:将 Pop!_OS 添加到使用 apt-get 作为系统包管理器的发行版中。#15931

  • 修复:不要警告包含 - 字符的包名称。#15920

  • 修复:修复新 --format=html 图形输出的 html 转义,并传递图形序列化对象而不是字符串。#15915

  • 缺陷修复:使 MesonToolchain 监听 tools.build:defines conf 变量。#16172。文档此处

  • 缺陷修复:禁止在 validate_build() 方法中访问 self.cpp_info#16135

  • 缺陷修复:当 .conanrcconan_home 无效时,不要显示跟踪信息。#16134

  • 缺陷修复:避免将 tool_requires 的传递依赖项传播到生成器信息,即使它们被标记为 visible=True#16077

  • 缺陷修复:BazelDeps 现在使用 requirement.build 属性而不是 dependency.context 属性。#16025

  • 缺陷修复:使 conan cache restore 在恢复到本地缓存中已存在的包时正常工作。#15950

2.2.3 (2024 年 4 月 17 日)

  • 修复:修复当使用 settings_user 中的架构时 to_apple_archs 方法的问题。#16090

2.2.2 (2024 年 3 月 25 日)

  • 修复:避免使用配方 print(..., file=fileobj) 时出现问题。#15934

  • 修复:修复对 print(x, file=y) 的错误调用,该调用具有重复的关键字参数。#15912

  • 缺陷修复:修复多配置 CMake 的 tools.build:defines 处理。#15924

2.2.1 (2024 年 3 月 20 日)

  • 修复:在 distutils 删除后,添加 copytree_compat 方法以兼容 Python>=3.12。#15906

2.2.0 (2024 年 3 月 20 日)

  • 新功能:如果使用通用二进制语法,则为不同于 CMakeToolchain 的工具链引发异常。#15896

  • 新功能:警告位置错误的 requirement 函数调用。#15888

  • 新功能:打印由定义选项值的不同分支配方引起的图表中的选项冲突。#15876。文档此处

  • 新功能:向 settings.yml 添加 macOS 版本 14.2、14.3、14.4。#15859。文档此处

  • 新功能:新的图形 html:更多信息、测试需求、隐藏/显示不同的包(构建、测试)。#15846。文档此处

  • 新功能:向 conan cache clean 添加 –backup-sources 标志。#15845

  • 新功能:添加 conan graph outdated 命令,该命令列出远程仓库中具有较新版本的依赖项。#15838。文档此处

  • 特性:在使用 Visual Studio 时,设置 CMAKE_VS_DEBUGGER_ENVIRONMENT 从 CMakeToolchain 指向所有二进制目录。 这消除了从 Visual Studio IDE 启动可执行文件时复制 DLL 的需要(需要 CMake 3.27 或更新版本)。#15830。文档 这里

  • 特性:向 trim_conandata 添加一个参数,以便在 conandata.yml 文件不存在时避免引发异常。#15829。文档 这里

  • 特性:向 PkgConfigDeps 添加了 build_context_folder#15813。文档 这里

  • 特性:在 MesonToolchain 模板的内置选项部分中包含了 build.pkg_config_path#15813。文档 这里

  • 特性:更新 _meson_cpu_family_map 以支持 arm64ec#15812

  • 特性:添加了对 Clang 18 的支持。#15806。文档 这里

  • 特性:在 CMakeToolchain 中为通用二进制文件添加了基本支持。#15775。文档 这里

  • 特性:新的 tools.cmake.cmake_layout:build_folder 配置允许重新定义 cmake_layout 本地构建文件夹。#15767。文档 这里

  • 特性:新的 tools.cmake.cmake_layout:test_folder 配置允许为 test_package 重新定义 cmake_layout 输出构建文件夹,包括一个 $TMP 占位符,用于在系统 tmp 中创建一个临时文件夹。#15767。文档 这里

  • 特性:(实验性)在 Conan 包中使用新的 package_type = "configuration" 添加 conan config install-pkg myconf/[*] 新配置。#15748。文档 这里

  • 特性:(实验性)新的 core.package_id:config_mode 允许配置包引用影响使用该配置构建的所有包的 package_id#15748。文档 这里

  • 特性:公开 cppstd_flag 以返回基于设置的相应 C++ 标准标志。#15710。文档 这里

  • 特性:允许在 build_folder_vars 属性和 conf 中使用 self.nameself.version#15705。文档 这里

  • 特性:添加 conan list --filter-xxx 参数以列出与设置+选项匹配的包二进制文件。#15697。文档 这里

  • 特性:将 detect_libc 添加到 detect_api 以获取 C 库的名称和版本。#15683。文档 这里

  • 特性: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

  • 修复:将 package_type="static-library" 添加到 conan new msbuild_lib 模板。#15807

  • 修复:当通过 requires(.., options={}) 传递显式选项时,避免 platform_requires 失败。#15804

  • 修复:使 CMakeToolchain 以换行符结尾。#15788

  • 修复:如果未提供二进制模式,则不允许 conan list 二进制过滤器或包查询。#15781

  • 修复:当 CMakeToolchain.preprocessor_definition 没有值时,避免将定义设置为 "None" 字面字符串(Python None)。#15756

  • 修复:改进了 conan install <path> --deployer-package=* 在使用 self.package_folder 时崩溃的情况。#15737

  • 修复:修复大型依赖关系图的 conan graph info –format=html#15724

  • 修复:使所有配方和插件 python 文件 print()stderr,这样就不会破坏 stdout 的 json 输出。#15704

  • 修复:修复获取 Linux x86 的 gnu 三元组。#15699

  • Bugfix:解决在列表内的字符串中使用时,global.confconan_home_folder 的反斜杠问题。#15870

  • Bugfix:修复在 build_type 上存在条件依赖关系时的 CMakeDeps 多配置。#15853

  • Bugfix:将 get_backup_sources() 方法从 UploadAPI 移动到预期的 CacheAPI#15845

  • Bugfix:避免在 conandata.yml 中的版本列表没有补丁时出现 TypeError。#15842

  • Bugfix:使用锁文件和 conan create 解决 package_type=build-scripts 问题。#15802

  • Bugfix:如果配方指定了 user 属性,则允许使用 --channel 命令行参数。#15794

  • Bugfix:修复使用 MesonToolchain 时从 Windows 交叉编译到 Android。#15790

  • Bugfix:当定义了 compiler.update 时,修复 CMakeToolchain GENERATOR_TOOLSET。#15789

  • Bugfix:解决当 conf 项与 Python 模块匹配时对其进行的评估。#15779

  • Bugfix:修复当 PkgConfigDeps 已经在构建上下文中时,为其 tool_requires 生成 .pc 文件。#15763

  • Bugfix:将 VISIBILITY 标志添加到 CONAN_C_FLAGS#15762

  • Bugfix:修复具有作用域配置文件的 conan profile show –format=json#15747

  • Bugfix:修复 Conan API 中 update 参数的旧用法。#15743

  • Bugfix:解决当字符串包含 Windows 反斜杠时,配置文件 [conf] 损坏的问题。#15727

  • Bugfix:修复元数据版本范围的版本优先级。#15653

2.1.0(2024 年 2 月 15 日)

  • 特性:在 CMakeToolchain 中实现多配置 tools.build:xxxx 标志。#15654

  • 特性:添加将模式传递给 –update 标志的功能。#15652。文档 这里

  • 特性:为 conan build 添加 –format=json 格式化程序。#15651

  • 特性:添加 tools.build.cross_building:cross_build,用于决定是否进行交叉编译,而无需考虑 Conan 内部机制。#15616

  • 特性:为 conan cache path 添加 --format=json 选项。#15613

  • 特性:为 conan graph build-order 添加 --order-by 参数。#15602。文档 在此

  • 特性:提供一个新的 graph build-order --reduce 参数,以将顺序专门减少到需要从源代码构建的包。#15573。文档 在此

  • 特性:为 Visual Studio CMake 生成器中的 CMakeToolchain 添加配置,以指定所需的 CUDA 工具包。#15572。文档 在此

  • 特性:新的“重要”选项值定义,比常规选项值定义具有更高的优先级。#15571。文档 在此

  • 特性:调用 deactivate_conanvcvars 时显示消息。#15557

  • 特性:将 package_idself.info 信息添加到图中的序列化输出,并将其转发到包列表。#15553。文档 在此

  • 特性:在详细模式下运行时记录 Git 工具命令。#15514

  • 特性:为 conan.tools.files.copy() 调用添加详细调试信息(使用 -vvv)。#15513

  • 特性:为 python_requires 的显式 test_package 定义 python_requires = "tested_reference_str"#15485。文档 在此

  • 特性:添加 CMakeToolchain.presets_build/run_environment 以在 generate() 方法中修改 CMakePresets 环境。#15470。文档 在此

  • 特性:为 remotes 添加 --allowed-packges,以限制远程可以提供的引用。#15464。文档 在此

  • 特性:初始文档,以使 RemotesAPI 公开可用(实验性)。#15462

  • 特性:添加从 powershell 调用时使用 vcvars 环境变量的支持。#15461。文档 在此

  • 特性:新的 Git(..., excluded=[]) 功能,以避免 Git 助手中的“脏”错误。#15457。文档 在此

  • 特性:新的 core.scm:excluded 功能,以避免 Git 助手和 revision_mode = "scm" 中的“脏”错误。#15457。文档 在此

  • 特性:用于 python_requires 配方的配方 python_package_id_mode,以定义每个配方对消费者 package_id 的影响。#15453。文档 在此

  • 特性:添加 cmakeExecutable 以配置预设。#15447。文档 在此

  • 特性:添加新的 --core-conf 命令行参数,以允许通过 CLI 传递 core. 配置。#15441。文档 在此

  • 特性:将 detect_api.detect_msvc_update(version) 助手添加到 detect_api#15435。文档 在此

  • 特性:CMakeToolchain 在生成的 CMakePresets.json buildPresets 中定义 jobs#15422

  • 特性:允许在 settings.yml 中嵌套“ANY”定义。#15415。文档 在此

  • 特性:助手 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 属性,以将信息从配方传递到扩展。#15348。文档 在此

  • 特性:在 extension_properties 中实现 compatibility_cppstd,用于 compatibility.py 插件,以禁用配方回退到其他 cppstd。#15348。文档 在此

  • 特性:添加 Git.get_commit(..., repository=True) 以获取存储库提交,而不是文件夹提交。#15304

  • 特性:确保 --build=editable--build=cascade 一起工作。#15300。文档 在此

  • 特性:新的 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_definitionsNone 值,这些值将映射到没有值的定义。#15545。文档 在此

  • 修复:修复 graph build-order –order=configuration 文本格式输出。#15538

  • 修复:如果用户想在离线模式下工作,则在远程不可访问时引发有用的错误。#15516

  • 修复:避免在源备份不存在元数据时出现缺少文件堆栈跟踪的问题。#15501

  • 修复:删除 --lockfile-packages 参数,该参数未记录,因为它不打算公开使用。#15499。文档 在此

  • 修复:如果 check_type=int 且 conf 值设置为 bool,则引发错误。#15378

  • 修复:由于自 Meson 1.3.0 起 pkgconfig 条目已弃用,因此将 pkg-config 条目添加到 MesonToolchain 生成的机器文件中。#15369

  • 修复:修复了 graph explain 在缺失某些需求时未能显示差异的问题。#15355

  • 修复:修复了当模式与任何已定义的配置都不匹配时,tools.info.package_id:confs 的问题。#15353

  • 修复:修复了 upload_policy=skip--build=missing 一起使用的问题。#15336

  • 修复:允许使用 conan download/upload --list=.. --only-recipe 来仅下载 recipe。#15312

  • 修复:允许在多配置系统构建但没有 build_type 设置的 recipe 中使用 cmake.build(build_type="Release")#14780

  • Bugfix:修复了带有组件和跳过依赖项的 MSBuildDeps 问题。#15626

  • Bugfix:避免 provides 对自身 tool_requires 的包引发错误以进行交叉构建。#15575

  • Bugfix:修复 tools.microsoft.visual.VCVars 中的构建作用域操作系统检测。#15568

  • Bugfix:修复当依赖项为仅头文件时,visible=False 上的错误传播。#15564

  • Bugfix:将临时缓存文件夹存储在 core.cache:storage_path 中,以便 conan cache clean 也能正确找到并清理它们。#15505

  • Bugfix:conan export-pkg --format=json 的输出现在返回 recipe = "cache" 状态,因为在命令执行后 recipe 位于缓存中。#15504

  • Bugfix:conan export-pkg 命令存储锁文件时排除 test_package,与 conan create 的行为一致。#15504

  • Bugfix:避免 conan testpython_requires 测试包而失败。#15485 . 文档 这里

  • Bugfix:MesonToolchain 计算有效的 apple_min_version_flag#15465

  • Bugfix:允许在 build_id()package_id() 方法中使用子设置限制 oscompiler 和其他设置。#15439

  • Bugfix:修复获取环境变量 CONAN_LOGIN_USERNAME_REMOTE 的问题。#15388

  • Bugfix:在 tools.files.copy()excludes 模式中,不再考虑 . 文件夹。#15349

  • Bugfix:禁用创建没有名称和版本的可编辑包。#15337

  • Bugfix:修复了 Git.get_url_and_commit 在某些 Git 配置下引发错误的问题。#15271

  • Bugfix:不应跳过正在构建的包的“host”上下文中的直接依赖项。这允许在“host”上下文中使用非 C/C++ 库工件(如图像)作为构建时资源。#15128

2.0.17 (2024年1月10日)

  • 修复:如果 conan cache save --file=subfolder/file.tgz 子文件夹不存在,则自动创建文件夹。#15409

  • Bugfix:修复使用 CC/CXX 环境变量时的 libcxx 检测。#15418 . 文档 这里

  • Bugfix:解决 cmake_minimum_required(3.27) 时,CMakeToolchain 生成器中的 winsdk_version 错误。#15373

  • Bugfix:修复 build=True 特性时的可见性特性传播。#15357

  • Bugfix:修复通过 tools.info.package_id:confs 包含配置值时的 package_id 计算。#15356

  • Bugfix:在转储 conf 项时对其进行排序,以允许生成可重现的 package_id,不受配置声明顺序的影响。#15356

2.0.16 (2023年12月21日)

  • Bugfix:恢复 source_buildenv 的默认值,使其默认为 False#15319 . 文档 这里

2.0.15 (2023年12月20日)

  • 功能:新的 conan lock remove 命令,用于从锁文件中删除依赖项。#15284 . 文档 这里

  • 功能:新的 CMake.ctest() 辅助方法,用于直接启动 ctest,而不是通过 cmake --target=RUN_TEST#15282

  • 功能:在 <host_version> 中为不同的引用添加跟踪语法。#15274 . 文档 这里

  • 功能:添加 tools.microsoft:winsdk_version 配置,使 VCVars 生成器使用给定的 winsdk_version#15272 . 文档 这里

  • 功能:为 conan export 命令添加 pkglist 格式化程序。#15266 . 文档 这里

  • 功能:定义 CONAN_LOG_LEVEL 环境变量,以便能够在全局级别更改详细程度。#15263 . 文档 这里

  • 功能:如果请求的文件夹不存在,conan cache path xxx –folder xxxx 会引发错误。#15257

  • 功能:为 ConanFile 的 self.dependencies 添加 in 运算符支持。#15221 . 文档 这里

  • 功能:使 CMakeDeps 生成器创建一个 conandeps.cmake 文件,以类似 cmake 的生成器样式聚合所有直接依赖项。#15207 . 文档 这里

  • 功能:将构建环境信息添加到 CMake 配置预设,并将运行环境信息添加到 CMake 测试预设。#15192 . 文档 这里

  • 功能:删除了一个关于 conan 迁移潜在问题的警告,该警告会在每次构建失败时打印出来。#15174

  • 功能:在 recipe 中添加了新的 deploy() 方法,用于显式的每个 recipe 部署。#15172 . 文档 这里

  • 功能:允许在 source() 方法中使用 tool-requires 来注入环境。#15153 . 文档 这里

  • 功能:允许从 ConfigAPI 访问 settings.yml(和 settings_user!)的内容。#15151

  • 功能:从 ConfigAPI 添加内置配置访问。#15151

  • 功能:将 redirect_stdout 添加到 CMake 集成方法。#15150

  • 功能:添加 core:warnings_as_errors 配置选项,使 Conan 在出现警告和错误时引发异常。#15149 . 文档 这里

  • 功能:在 ftp_download 中使用 secure 参数添加 FTP_TLS 选项,以实现安全通信。#15137

  • 功能:在配置文件中添加新的 [replace_requires][replace_tool_requires],用于重新定义依赖项,这对于诸如 zlibng/zlib 之类的包替换、解决冲突以及用另一个 Conan 包 recipe 包装的系统替代品替换某些依赖项非常有用。#15136 . 文档 这里

  • 功能:将 stderr 捕获参数添加到 conanfile 的 run() 方法。#15121 . 文档 这里

  • 功能:新的 [platform_requires] 配置文件定义,可以使用平台提供的依赖项替换 Conan 依赖项。#14871 . 文档 这里

  • 功能:新的 conan graph explain 命令,用于搜索、比较和解释缺失的二进制文件。#14694 . 文档 这里

  • 功能:全局 cpp_info 可以用于初始化组件值。 #13994

  • 修复:使 core:warnings_as_errors 接受列表 #15297

  • 修复:修复当未给出分隔符时 user 配置包的作用域问题 #15296

  • 修复:修复涉及范围的冲突报告中的范围转义问题。 #15222

  • 修复:允许硬 set_name()set_version() 修改命令行中提供的名称和版本。 #15211。文档 这里

  • 修复:使 conan graph info --format=text 输出到标准输出。 #15170

  • 修复:避免由于 CMAKE_POLICY_DEFAULT_CMP0091 未使用的变量导致 CMake 输出中的警告。 #15127

  • 修复:弃用 [system_tools],转而使用 [platform_tool_requires],以便与常规依赖项的 [platform_requires] 对齐。将输出从“系统工具”更改为“平台”。 #14871。文档 这里

  • 缺陷修复:确保 user 配置至少有 1 个 : 分隔符 #15296

  • 缺陷修复:Git.is_dirty() 将使用 git status . -s 来确保它仅处理当前路径,而不是整个仓库,与其他 Git 方法类似。 #15289

  • 缺陷修复:使 self.info.clear() 和仅头文件包删除 python_requirestool_requires#15285。文档 这里

  • 缺陷修复:使 conan cache save/restore 在 Windows 和其他操作系统之间可移植。 #15253

  • 缺陷修复:不要在 deployers 中相对化绝对路径。 #15244

  • 缺陷修复:将 architecture 添加到 CMakePresets,以避免在使用预设时 cmake 忽略工具链定义。 #15215

  • 缺陷修复:修复 conan graph info --format=html 报告误导性冲突节点的问题。 #15196

  • 缺陷修复:修复 conan profile show --format=json 中 tool_requires 的序列化问题。 #15185

  • 缺陷修复:修复 NMakeDeps 引号问题。 #15140

  • 缺陷修复:修复当定义了 storage_path 配置时,2.0.14 迁移向缓存添加 LRU 数据的问题。 #15135

  • 缺陷修复:修复 conan export-pkg 命令的 package_metadata_folder 定义。 #15126

  • 缺陷修复:由于无用的 distutils 导入,pyinstaller.py 在 Python 3.12 中被破坏。 #15116

  • 缺陷修复:修复未设置 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。文档 这里

  • 功能:通过传递 –metadata="" 来忽略元数据上传 #15007。文档 这里

  • 功能:conan upload 中更好的输出消息 #14984

  • 功能:向 CMakeToolchain 添加额外的标志。 #14966。文档 这里

  • 功能:实现从缓存加载/还原包,用于 CI 工作流程和在空中传输包。 #14923。文档 这里

  • 功能:计算版本范围的交集,以避免兼容范围的图版本冲突 #14912

  • 功能:CMake 助手可以在 target 参数中使用多个目标。 #14883

  • 功能:将 Macos 13.6 添加到 settings.yml。 #14858。文档 这里

  • 功能:添加监听 system_package_version 属性的 CMakeDeps 和 PkgConfigDeps 生成器。 #14808。文档 这里

  • 功能:在 cli 中添加简写语法,以在一个参数中指定主机和构建 #14727。文档 这里

  • 功能:实现缓存 LRU 控制,用于清除未使用的工件。 #14054。文档 这里

  • 修复:当未定义布局或输出文件夹时,避免 CMakeToolchain 覆盖用户 CMakePresets.json #15058

  • 修复:在 SystemPackageManager 中,将 astraelbrusaltlinux 添加为使用 apt 的发行版 #15051

  • 修复:在 Linux Mint 中默认为 apt-get 包管理器 #15026。文档 这里

  • 修复:使 Git() 即使对于浅克隆也检查远程服务器中的提交。 #15023

  • 修复:将新的 Apple OS 版本添加到 settings.yml #15015

  • 修复:修复 AutotoolsToolchain extraflags 优先级。 #15005。文档 这里

  • 修复:从 conan --version 输出中删除颜色 #15002

  • 修复:如果 sqlite3 版本不受支持(低于 2012 年的 3.7.11),则添加错误消息 #14950

  • 修复:使缓存数据库始终使用正斜杠作为路径,以在 Windows 和 Linux 上保持一致 #14940

  • 修复:解决现有包修订版的重建(例如强制重建现有仅头文件包),同时之前的文件夹仍被其他项目使用的问题。 #14938

  • 修复:避免一个配方改变 conf 以影响其他配方。 #14932。文档 这里

  • 修复:通过 Apt.install()PkgConfig.fill_cpp_info 输出的系统包(如 xorg/system)对 Conan 输出非常嘈杂,使其更安静 #14924

  • 修复:序列化 python_requirespath 信息,这对于计算构建信息是必需的 #14886

  • 修复:如果配方有需要从远程下载的 python_requires,则在 conan source 命令中定义远程。 #14852

  • 修复:修复 xros 和 xros-simulator 的最小目标标志。 #14776

  • 缺陷修复:在 tool_requires 具有传递依赖项的情况下,--build=missing 会对不需要且可以跳过的包进行不必要的构建。 #15082

  • 缺陷修复:在 ‘conan export-pkg’ 命令中,向 format=json 添加包修订版 #15042

  • 缺陷修复:当存在可编辑包时,tools.build:download_source=True 不会失败。 #15004。文档 这里

  • 缺陷修复:传递依赖项被错误地添加到 conandeps.xcconfig。 #14898

  • 缺陷修复:修复当 export_source 未下载时,完整性检查(upload --checkcache check-integrity)。 #14850

  • 缺陷修复:正确锁定 python requires 的候选版本 #14846

  • BugFix: 修复了版本范围以 - 结尾时,不会在整个范围内自动激活预发布版本解析的问题。#14814。文档在此

  • BugFix: 修复了版本范围,以便预发布版本可以正确地包含在下限中,并排除在上限之外。#14814。文档在此

2.0.13 (2023年9月28日)

  • Bugfix: 修复了 2.0.11 版本中引入的针对较新 apple-clang 版本的错误的 cppstd 检测。#14837

2.0.12 (2023年9月26日)

  • Feature: 添加了对 Clang 17 的支持。#14781。文档在此

  • Feature: 为 conan remove 添加了 --dry-run 选项。#14760。文档在此

  • Feature: 在 package_manager 中的 install() 方法中添加了 host_tool,以指示包是主机工具还是库。#14752。文档在此

  • Fix: 改进了尝试 export-pkg 一个 python-require 包时的错误消息,并避免导出后失败。#14819

  • Fix: CMakeDeps 允许在所有属性上使用 set_property()#14813

  • Fix: 为 Apple clang 15.0 添加了次版本号。#14797。文档在此

  • Fix: conan build 命令在未提供 <path> 参数时显示更友好的错误信息。#14787

  • Bugfix: 修复了 compatibility()settings_target 上使其变为 None 的问题。#14825

  • Bugfix: compatible 包优先在缓存中查找,只有在找不到时才去服务器查找,以便在存在兼容包时允许离线安装。#14800

  • BugFix: 在 ConanRequester 中重用会话以加快请求速度。#14795

  • Bugfix: 修复了当 editable 包的部分组件定义了目录时,其相对路径的问题。#14782

2.0.11 (2023年9月18日)

  • Feature: 为 conan profile show 命令添加了 --format=json 格式化器。#14743。文档在此

  • Feature: 为 'conan build' 命令添加了新的 --deployer --generators 参数。#14737。文档在此

  • Feature: 改进了 CMakeToolchain 的块接口。添加了新的 .blocks.select(), .blocks.keys()#14731。文档在此

  • Feature: 添加了从下载缓存复制大型文件而不是从服务器下载时的消息。#14716

  • Feature: 如果直接使用了任何选项,MesonToolchain 会显示警告消息。#14692。文档在此

  • Feature: 在默认配置文件插件中支持 clang-cl。#14682。文档在此

  • Feature: 添加了将 Meson 中的 ccpp 和/或 ld 二进制变量(如果声明为空格分隔的字符串)转换为列表的机制。#14676

  • Feature: 将 nobara 发行版添加到 dnf 包管理器映射中。#14668

  • Feature: 确保 meson 工具链使用 clang-cl 设置 b_vscrt#14664

  • Feature: 支持 conf tools.info.package_id:confs 的正则表达式模式。#14621。文档在此

  • Feature: MakeDeps:提供“require”信息,并进行更多样式调整。#14605

  • Feature: 新的 detect_api 可在配置文件 jinja 模板中使用。#14578。文档在此

  • Feature: 允许在 compatibility 方法中访问 settings_target#14532

  • Fix: 添加了缺失的 macOS 次版本。#14740。文档在此

  • Fix: 改进了 ConanApi 初始化失败时的错误消息。#14735

  • Fix: CMakeDeps:删除了关于重复别名的 “Target name … already exists” 警告。#14644

  • Bugfix: 修复了 win_bash=TrueGit.run() 中的回归问题。#14756

  • Bugfix: 将 conan.tools.system.package_manager.Apt 中的默认 check=False 更改为 True,与其他包管理器工具一致。#14728。文档在此

  • Bugfix: 解决了具有菱形结构的 test_requires 的传递共享依赖项的传播问题。#14721

  • Bugfix: 解决了使用 test_package 进行远程调用的 conan export-pkg 导致的崩溃问题。#14712

  • Bugfix: 不要跳过具有未跳过的传递依赖项的包的二进制文件,否则将破坏到这些传递依赖项的构建系统的构建链,例如 CMakeDeps 生成的文件。#14673

  • Bugfix: 修复了在原生 ARM64 Windows 上运行 conan profile detect 时检测到的 CPU 架构的问题。#14667

  • Bugfix: 如果 conan lock create --update 中的引用比缓存中的更新,现在会正确地从服务器更新引用。#14643

  • Bugfix: 修复了不必要地使用转义序列装饰命令 stdout 的问题。#14642

  • Bugfix: tools.info.package_id:confs 不应影响仅头文件的库。#14622

2.0.10 (2023年8月29日)

  • Feature: 允许在 conandata.yml 定义中为用户补丁使用 patch_user,这些补丁不由 apply_conandata_patches() 处理。#14576。文档在此

  • Feature: 支持 Xcode 15、iOS 17、tvOS 17、watchOS 10、macOS 14。#14538

  • Feature: 如果用户添加了不正确的 ConanCenter Web URL 作为远程地址,则会引发错误。#14531

  • Feature: 使用 --format=json 序列化图会向 python_requires 添加信息,以便 conan list --graph 也可以列出 python_requires#14529

  • Feature: 将 rrevrrev_timestampprev_timestamp 添加到图 json 序列化中。#14526

  • Feature: 允许 version-ranges 也解析为可编辑的包。#14510

  • Feature: 添加 tools.files.download:verify#14508。文档在此

  • Feature: 添加了对 Apple visionOS 的支持。#14504

  • Feature: 警告未知的版本范围选项。#14493

  • Feature: 添加了 tools.graph:skip_binaries 来控制图中二进制文件的跳过。#14466。文档在此

  • Feature: 新的 tools.deployer:symlinks 配置,用于禁用部署器中的符号链接复制。#14461。文档在此

  • Feature: 允许远程在 ‘editable add’ 中自动解析缺少的 python_requires#14413。文档在此

  • Feature: 为 CMake.install() 添加了 cli_args 参数。#14397。文档在此

  • Feature: 允许 test_requires(..., force=True)#14394。文档在此

  • Feature: 新的 credentials.json 文件,用于存储 Conan 远程的凭据。#14392。文档在此

  • Feature: 添加了对 apk 包管理器和 Alpine Linux 的支持。#14382。文档在此

  • 特性:当在 Visual Studio 提示符中调用 conan profile detect,且 CCCXX 已定义并指向 cl 编译器可执行文件时,该命令现在可以检测 msvc 的版本 #14364

  • 特性:正确记录 --build=editable 构建模式。#14358。文档 这里

  • 特性:conan create --build-test=missing 新增参数,用于控制 test_package 文件夹的依赖项的构建方式。#14347。文档 这里

  • 特性:为配方中的 tool_requires 提供新的 default_build_options 属性,用于定义选项。#14340。文档 这里

  • 特性:实现 ...@ 作为一种模式,用于指示匹配不包含用户/渠道信息的包。#14338。文档 这里

  • 特性:通过新的 MakeDeps 生成器添加对 Makefile 的支持 #14133。文档 这里

  • 修复:允许 conan create 中使用 –format=json 处理 python-requires #14594

  • 修复:删除 conan v2 就绪的 conan-center 链接。#14593

  • 修复:使 conan inspect 默认使用所有远程仓库。#14572。文档 这里

  • 修复:允许在版本预发布中使用额外的连字符。#14561

  • 修复:允许使用为 tools.cmake.cmaketoolchain 定义的 confs,即使定义了 tools.cmake.cmaketoolchain:user_toolchain#14556。文档 这里

  • 修复:将图的 dependencies 中的布尔值序列化为布尔值,而不是字符串,以便在 --format=json 中正确显示。#14530。文档 这里

  • 修复:避免在 conan upload 中,当 python_requires 不在缓存中且需要下载时出现错误。#14511

  • 修复:改进 lock add 的错误检查,当添加的是完整的包引用而不是配方引用时,能够给出更好的错误信息。#14491

  • 修复:当内置部署器无法复制文件时,提供更好的错误消息。#14461。文档 这里

  • 修复:不要将未捕获的堆栈跟踪打印到 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,以避免符号链接问题。#14183

  • 错误修复:解决当多个不同的 package_ids 复用同一构建文件夹时 build_id() 的问题。#14555

  • 错误修复:当使用包列表时,避免在 conan download 中由于未提供时间戳而导致的数据库错误。#14526

  • 错误修复:将异常堆栈跟踪(当设置 -vtrace 时)打印到 stderr 而不是 stdout #14522

  • 错误修复:仅在 conan upload 中打印交互确认的包。#14512

  • 错误修复:'conan remove' 命令会输出缓存中所有匹配过滤器的条目,而不仅仅是用户确认删除的条目。#14478

  • 错误修复:当在不使用 –user 的情况下传递 –channel 时,提供更好的错误信息。#14443

  • 错误修复:修复已在“构建”上下文中的包的 tool_requiressettings_target 计算。#14441

  • 错误修复:避免在定义 core.download:parallel 时出现 DB is locked 错误。#14410

  • 错误修复:当使用部署器时,使生成的 powershell 环境变量脚本相对化。#14391

  • 错误修复:修复 profile [tool_requires] 使用被忽略的修订版本的问题。#14337

2.0.9 (2023 年 7 月 19 日)

  • 特性:在 ConanFile 中添加 implements 属性,以提供对某些选项和设置的自动管理。#14320。文档 这里

  • 特性:添加 apple-clang 15。#14302

  • 修复:当使用 revision_mode = “scm_folder” 时,允许仓库在 conanfile.py 文件夹之外处于脏状态。#14330

  • 修复:改进 compatibility.pyprofile.py 插件中出现错误时的错误消息,并提供 Conan 跟踪信息。#14322

  • 修复:在每次消息写入后 flush() 输出流。#14310

  • 错误修复:修复包签名插件不验证下载源的问题。#14331。文档 这里

  • 错误修复:修复由于错别字导致 CMakeUserPresets 从 conan 生成的预设继承的问题。#14325

  • 错误修复:如果多个用户预设从同一个 conan 预设继承,则 ConanPresets.json 包含重复的预设。#14296

  • 错误修复:Meson prefix 参数作为 UNIX 路径传递。#14295

  • 错误修复:修复当 tools.build:verbosity 设置为 quiet 时,出现 CMake Error: Invalid level specified for –loglevel 的问题。#14289

2.0.8 (2023 年 7 月 13 日)

  • 特性:将 GCC 10.5 添加到默认 settings.yml 中。#14252

  • 特性:允许 pkg_config_custom_content 覆盖 PkgConfigDeps 创建的默认 *.pc 变量。#14233。文档 这里

  • 特性:允许 pkg_config_custom_content 也作为类字典对象使用。#14233。文档 这里

  • 特性:fix_apple_shared_install_name 工具现在使用 xcrun 来解析 otoolinstall_name_tool 程序。#14195

  • 特性:自动管理 shared、fPIC 和 header_only 选项。#14194。文档 这里

  • 特性:自动管理头文件库包类型的包 ID。#14194。文档 这里

  • 特性:为 CMakeDeps 生成器提供新的 cpp_info.set_property("cmake_package_version_compat" , "AnyNewerVersion")#14176。文档 这里

  • 特性:元数据改进。#14152

  • 修复:改进使用 conan test 命令时缺少二进制文件的错误消息。#14272

  • 修复:使 conan download 命令不再需要加载 conanfile,不会因为 1.X 配方或缺少 python_requires 而失败。#14261

  • 修复:使用 –list 参数的 upload 命令现在允许空配方列表。#14254

  • 修复:保证 Options.rm_safe 永远不会引发异常。#14238

  • 修复:允许 tools.gnu:make_program 影响每个 CMake 配置。#14223

  • 修复:为 conan new lib 模板添加缺失的 package_type#14215

  • 修复:为查询包引用时显示的默认文件夹添加说明。#14199。文档此处

  • 修复:在 patch() 函数中启用现有的状态消息代码。#14177

  • 修复:在 XcodeDeps 中使用 configuration,而不是始终使用 build_type#14168

  • 修复:尊重缓存位置的符号链接路径。#14164

  • 修复:PkgConfig 使用 conanfile.run() 而不是内部运行器,从配置文件和依赖项中获取完整的 Conan 环境。#13985

  • 缺陷修复:修复 CMakeDeps CMAKE_FIND_LIBRARY_SUFFIXES 变量泄露的问题。#14253

  • 缺陷修复:修复当检测到多个自定义全局生成器时,conan 无法按名称查找生成器的问题。#14227

  • 缺陷修复:改进 conan graph info 以 HTML 格式显示图冲突的方式。#14190

  • 缺陷修复:修复 CMakeToolchain 从 Linux 交叉构建到 OSX 的问题。#14187

  • 缺陷修复:修复未选择任何包时备份源中的 KeyError。#14185

2.0.7 (2023 年 6 月 21 日)

  • 功能:添加新的 arm64ec 架构,用于定义 CMAKE_GENERATOR_PLATFORM。#14114。文档此处

  • 功能:使 CppInfo 成为一个公共的、有文档的、可导入的工具,供需要聚合它们的生成器使用。#14101。文档此处

  • 功能:允许使用 conan remove --list=pkglist 删除包列表。#14082。文档此处

  • 功能:conan remove --format 的输出支持文本(已删除项的摘要)和 json 格式。#14082。文档此处

  • 功能:添加 core.sources:excluded_urls 以备份源。#14020

  • 功能:conan test 命令学习了 --format=json 格式化程序。#14011。文档此处

  • 功能:允许在 conan list(以及 download、upload、remove)模式中使用 pkg/[version-range] 表达式。#14004。文档此处

  • 功能:添加等效于 1.X conan upload --skip-uploadconan upload --dry-run#14002。文档此处

  • 功能:添加新的 conan version 命令以格式化输出。#13999。文档此处

  • 功能:小型 UX 改进,在下载大型文件时打印一些信息。#13989

  • 功能:使用 PackagesList 作为 conan upload --list=pkglist.json 的输入参数。#13928。文档此处

  • 功能:使用 --graph 输入 conan list 以创建可作为 conan upload 输入的 PackagesList#13928。文档此处

  • 功能:与配方和包关联的新元数据文件,可以在包存在后上传、下载和添加。#13918

  • 功能:允许指定自定义部署器输出文件夹。#13757。文档此处

  • 功能:将构建和编译详细程度控制拆分为两个配置。#13729。文档此处

  • 功能:在 PkgConfigDeps 中生成的 .pc 文件中添加了 bindir#13623。文档此处

  • 修复:弃用 Conan 1.X 中遗留的 AutoPackage#14083。文档此处

  • 修复:修复用于默认构建配置文件的配置条目的描述。#14075。文档此处

  • 修复:允许 Git 助手中的路径包含空格。#14063。文档此处

  • 修复:删除 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

  • 缺陷修复:将前缀变量和任何自定义内容(通过 pkg_config_custom_content 属性)添加到 PkgConfigDeps 已生成的 pkg-config 根 .pc 文件中。#14051

  • 缺陷修复:conan create 命令始终为 --format=json 结果图返回相同的输出,而不管 test_package 是否存在。#14011。文档此处

  • 缺陷修复:修复定义 self.folders.root=".." 父目录时 editable 包的问题。#13983

  • 缺陷修复:删除 libdir1includedir1 作为默认索引。现在,PkgConfigDeps 默认在 .pc 文件中创建 libdirincludedir 变量。#13623。文档此处

2.0.6 (2023 年 5 月 26 日)

  • 功能:添加 tools.cmake:cmake_program 配置项,以允许指定所需的 CMake 可执行文件的位置。#13940。文档此处

  • 修复:在图 json 输出中将 “id” 属性输出为 str 而不是 int。#13964。文档此处

  • 修复:修复层中的自定义命令无法执行本地导入的问题。#13944

  • 修复:改进下载 + 解压缩的输出。#13937

  • 修复:在 conan config install 中为 package_manager:mode 添加缺失的值。#13929

  • 错误修复:确保 graph infocreateexport-pkginstall 的 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

  • 功能:允许使用 --build 本地构建的包进行依赖项调试。#13833。文档 此处

  • 功能:允许使用 upload_policy="skip"build_policy="missing" 的不可重定位的本地构建包。#13833。文档 此处

  • 功能:当计算 package-revision 时,不要在缓存中移动 “build” 文件夹,以便允许使用 step-into 定位依赖项的来源以进行调试。#13810

  • 功能:新的 settings.possible_values() 方法用于查询设置的可能值范围。#13796。文档 此处

  • 功能:当 upload_policy=skip 时,优化并避免访问服务器获取二进制文件。#13771

  • 功能:部分相对化生成的环境 .sh shell 脚本。#13764

  • 功能:改进 settings.yml 错误消息。#13748

  • 功能:自动创建空的 global.conf 以改善在 home 中查找文件的用户体验。#13746。文档 此处

  • 功能:将配置文件名呈现为 profile_name。#13721。文档 此处

  • 功能:缓存中新的全局自定义生成器 “extensions/generators” 可以按名称使用。#13718。文档 此处

  • 功能:改进 conan inspect 输出,现在它可以理解 set_name/set_version#13716。文档 此处

  • 功能:定义新的 self.tool_requires("pkg/<host_version>"),以允许某些 tool-requires 遵循并使用与 “host” 常规 requires 相同的版本。#13712。文档 此处

  • 功能:引入新的 core:skip_warns 配置,以便能够静默输出中的某些警告。#13706。文档 此处

  • 功能:将 info_invalid 添加到图形节点序列化中。#13688

  • 功能:计算并报告图形中的 overrides 以及 graph build-order 中的 overrides。#13680

  • 功能:新的 revision_mode = "scm_folder",用于想要使用 scm 修订版本的单存储库项目。#13562。文档 此处

  • 功能:演示可以 tool_requires 同一个包的不同版本。#13529。文档 此处

  • 修复:build_scripts 现在默认将 run 特性设置为 True#13901。文档 此处

  • 修复:修复 XcodeDeps 包含跳过的依赖项。#13880

  • 修复:不允许在 pkg/version 引用字段中出现换行符。#13870

  • 修复:修复 Windows 子系统的 AutotoolsToolchaintools.build:compiler_executable 定义。#13867

  • 修复:加速 CMakeDeps 的生成。#13857

  • 修复:修复导入的库配置后缀。#13841

  • 修复:当定义未知的 conf 时失败。#13832

  • 修复:修复当 conan install/create 命令被其他一些依赖项使用时,错误地打印 “skipped” 二进制文件。#13778

  • 修复:将缓存 “deploy” 文件夹重命名为 “deployers”,并允许 -d, --deployer cli 参数。(“deploy” 文件夹不会中断,但会发出已弃用的警告)。#13740。文档 此处

  • 修复:对于仅头文件的库,省略 CMakeDeps 中的 -L libpaths。#13704

  • 错误修复:修复当 test_requires 也是常规传递 “host” requires 且消费者定义组件时出现的问题。#13898

  • 错误修复:修复在 recipes 中定义的选项(如 *:shared=True)的传播。#13855

  • 错误修复:修复 ‘graph build-order’ 和 ‘test’ 命令的 --lockfile-out 路径。#13853

  • 错误修复:确保在更多情况下上传备份源。#13846

  • 错误修复:修复 settings.ymlintel-cc cppstd=03 的定义。#13844

  • 错误修复:修复仅导出配方的备份源的 conan upload#13779

  • 错误修复:修复包含别名的锁定文件的 conan lock merge#13763

  • 错误修复:修复具有版本范围的传递依赖项中的 python_requires。#13762

  • 错误修复:修复 baremetal 的 CMakeToolchain CMAKE_SYSTEM_NAME=Generic。#13739

  • 错误修复:修复不正确的环境脚本取消激活顺序。#13707

  • 错误修复:解决当图形具有 override=True 的 requirements 时失败的锁定文件。#13597

2.0.4 (2023 年 4 月 11 日)

  • 功能:将 --build-require 扩展到更多命令(graph infolock createinstall)和案例。#13669。文档 此处

  • 功能:向 conan new 添加 -d tool_requires#13608。文档 此处

  • 功能:使 CMakeDeps、CMakeToolchain 和 Environment(.bat,仅限 Windows)生成的文件具有相对路径。#13607

  • 功能:为 premake5 deps (PremakeDeps) 添加初步的(未记录的,仅限开发人员)支持。#13390

  • 修复:将旧的 conan user 引用更新为 conan remote login#13671

  • 修复:改进 requirements() 错误消息中更改的依赖项选项。#13668

  • 修复:[system_tools] 未报告正确的解析版本,而是原始范围。#13667

  • 修复:改进 provides 冲突消息错误。#13661

  • 修复:当服务器响应禁止下载 recipe/package 中的 1 个文件时,确保其他文件和数据库被清理。#13626

  • 修复:当使用 –package-query 但未提供匹配软件包的模式时,在 conan remove 中添加错误。#13622

  • 修复:为 direct_deploy 部署器添加 direct_deploy 子文件夹。#13612。文档此处

  • 修复:修复当模式未列出软件包修订版本时的 html 输出,例如:conan list "*#*:*"#13605

  • Bugfix:当软件包没有设置或选项时,conan list -p <package-query> 失败。#13662

  • Bugfix:python_requires 现在正确加载远程依赖项。#13657

  • Bugfix:修复当 override 在图形中也是菱形闭合节点的节点中使用时崩溃的问题。#13631

  • Bugfix:修复 options--package-query 参数。#13618

  • Bugfix:为 full_deploy 部署器添加 full_deploy 子文件夹,以避免与“build”文件夹冲突。#13612。文档此处

  • Bugfix:使 STATUS 成为默认日志级别。#13610

  • Bugfix:修复 conan cache clean 中的双重删除错误。#13601

2.0.3 (2023 年 4 月 3 日)

  • 特性:conan cache clean 学习了 --all--temp 来清理所有内容(源、构建)以及临时文件夹。#13581。文档此处

  • 特性:引入带有 *= 运算符的 conf 字典更新语义。#13571。文档此处

  • 特性:支持 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:cflagstools.build:cxxflags 定义了编译器标志,则将其设置为 False 可能很有用,以防止 Android 的旧版 CMake 工具链覆盖这些值。#13459。文档此处

  • 特性:将 tools.files.download:download_cache 默认设置为 core.download:download_cache,因此只需要定义一个。#13458

  • 特性:tools.files.download() 的身份验证。#13421。文档此处

  • 修复:定义一种在 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

  • Bugfix:修复 CMakeDeps 未清除 find_library() 中的 CONAN_SHARED_FOUND_LIBRARY 变量的问题。#13596

  • Bugfix:不允许添加多个具有相同远程名称的远程。#13574

  • Bugfix:cmd_wrapper 添加了缺少的参数 conanfile#13564。文档此处

  • Bugfix:避免由于可编辑软件包的依赖项二进制文件为“skip”而导致的生成器错误。#13544

  • Bugfix:修复父命令带有下划线时的子命令名称。#13516

  • Bugfix:修复运行 conan export-pkg 时远程中的 python-requires#13496

  • Bugfix:可编辑软件包现在也遵循 build_folder_vars 配置。#13488

  • Bugfix:修复 [system_tools] 配置文件组成。#13468

2.0.2 (2023 年 3 月 15 日)

  • 特性:允许在 global.conf 中使用 Conan 主文件夹的相对路径。#13415。文档此处

  • 特性:conan list 命令中 html 格式化程序的一些改进。#13409。文档此处

  • 特性:向 Autotools 类的 autoreconf 方法添加一个可选的 “build_script_folder” 参数。它镜像了同一类的 configure 方法的相同参数和行为。也就是说,它允许覆盖运行工具的位置(默认情况下它在 source_folder 中运行)。#13403

  • 特性:创建缓存内容的摘要。#13386

  • 特性:添加 conan config show <conf> 命令。#13354。文档此处

  • 特性:允许 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

  • 修复:从 conan profile path 中移除 profile 参数。#13423 。文档 此处

  • 修复:修复 _detect_compiler_version 中的拼写错误。#13396

  • 修复:修复 conan profile detect 在 OSX 上针对 clang 编译器检测 libc++ 的问题。#13359

  • 修复:允许内部 vswhere 调用也检测并使用 VS 预发布版本。#13355

  • 修复:允许 conan export-pkg 使用远程仓库安装缓存中缺失的依赖项。#13324。文档 此处

  • 修复:允许当 settings_user.yml 定义一个 dict 时,将 settings.yml 列表转换为 dict#13323

  • 修复:修复当从 macOS 交叉编译到非 Apple 操作系统时 AutotoolsToolchain 传递的标志。#13230

  • BugFix:修复 MSBuild 中自定义配置包含空格时的错误。#13435

  • Bugfix:解决 conan profile path <不存在的> 导致崩溃的错误。#13434

  • Bugfix:添加全局详细级别配置 tools.build:verbosity,而不是单独的配置。#13428。文档 此处

  • Bugfix:避免为格式错误的自定义命令引发致命异常。#13365

  • Bugfix:即使依赖项仅包含头文件,也不要省略依赖项中的 system_libs#13364

  • Bugfix:修复实例化 MesonToolchain 时未创建 VirtualBuildEnv 环境的问题。#13346

  • Bugfix:使用自定义编译器时,兼容性插件中显示更友好的错误信息。#13328

  • Bugfix:添加 qcc cppstd 兼容性信息,以允许计算依赖关系图。#13326

2.0.1 (2023年3月3日)

  • 功能:在配置安装中为 –verify-ssl 添加 –insecure 别名。#13270。文档 此处

  • 功能:为 conan config install 添加 .conanignore 支持。#13269。文档 此处

  • 功能:对于 -vv-vvv,显示详细的异常回溯,而不是 1.X 中使用的自定义环境变量。#13226

  • 修复:对 conan install 和 2.0 准备就绪的错误消息进行小的改进。#13299

  • 修复:移除 vcvars.bat VS 遥测环境变量,以避免 Conan 挂起。#13293

  • 修复:移除对 CMakeUserPresets.jsonCMakePresets schema2 的旧版 CMakeToolchain 支持。#13288。文档 此处

  • 修复:移除 --logger json 日志记录和旧版跟踪。#13287。文档 此处

  • 修复:修复 conan remote auth 帮助中的拼写错误。#13285。文档 此处

  • 修复:如果 conan config list unexpected-arg,则引发参数错误。#13282

  • 修复:不要自动检测 msvccompiler.runtime_type,依赖于 profile 插件。#13277

  • 修复:修复 conanfile.txt 选项解析错误消息。#13266

  • 修复:改进选项中统一模式的错误消息。#13264

  • 修复:允许 conan remote add --force 强制重新定义现有远程名称。#13249

  • 修复:恢复打印构建命令的 profiles。#13214

  • 修复:更改 conan build 参数中“path”的描述,以指示它仅适用于 conanfile.py,并明确说明它不适用于 conanfile.txt。#13211。文档 此处

  • 修复:当依赖项 optionsrequirements() 方法中定义时,提供更好的错误消息。#13207

  • 修复:修复错误消息和 readme 中指向文档的断开链接。#13186

  • Bugfix:确保 topics 始终序列化为列表。#13298

  • Bugfix:确保 provides 始终序列化为列表。#13298

  • Bugfix:修复了对某些 visual c++ 安装的检测。#13284

  • Bugfix:修复 msvc 编译器支持的 cppstd 值。#13278

  • Bugfix:CMakeDeps 为具有与“主机”上下文相同 build_typetool_requires 生成文件。#13267

  • Bugfix:修复 configure() 中依赖项选项的模式定义。#13263

  • Bugfix:修复当输出文件夹位于不同的 Win 驱动器中时 CMakeToolchain 的错误。#13248

  • Bugfix:如果组件 .requires 未使用 test_requires,则不要引发错误。#13191

2.0.0 (2023年2月22日)

  • 功能:将 apple-clang 的默认 profile cppstd 更改为 gnu17。#13185

  • 功能:新的 conan remote auth 命令,用于强制在远程仓库中进行身份验证。#13180

  • 修复:允许在 test_requires(..., options={}) 中定义选项特性。#13178

  • 修复:统一 Conan 命令的帮助消息。#13176

  • Bugfix:修复 MesonToolchain 在 apple-clang 中错误的 cppstd。#13172

  • 功能:改进了全局 Conan 输出消息(create、install、export 等)。#12746

2.0.0-beta10 (2023年2月16日)

  • 功能:为 conan list 命令添加基本的 html 输出。#13135

  • 功能:允许 test_package 处理 --build 参数(为主的、非 test_package 图计算 –build=never)。#13117

  • 功能:为 remote add 添加 –force 参数。#13112

  • 功能:验证输入配置是否存在,以避免拼写错误。#13110

  • 功能:允许在配方的 layout() 中定义 self.folders.build_folder_vars#13109

  • 功能:阻止设置赋值。#13099

  • 功能:改进 conan editable UI。#13093

  • 功能:为用户提供扩展 Conan 生成的 CMakePresets 的能力。#13090

  • 功能:添加错误消息,以帮助将配方从 ConanCenter 和用户存储库迁移到 2.0。#13074

  • 功能:移除 conan new 模板中共享的 option.fPIC。#13066

  • 功能:添加 conan cache clean 子命令,以清理构建和源文件夹。#13050

  • 功能:实现可自定义的 CMakeToolchain.presets_prefix,使预设名称以此作为前缀。#13015

  • 功能:向 profiles 添加 [system_tools] 部分,以使用您自己安装的工具,而不是在 requires 中声明的软件包。#10166

  • 修复:修复 powershell 转义中的问题。#13084

  • 修复:默认定义 CMakeToolchain.presets_prefix="conan",以避免与其他用户预设冲突。#13015

2.0.0-beta9 (2023-01-31)

  • 功能:在 Conan 缓存哈希路径中添加包名称。#13011

  • 功能:实现 tools.build:download_source 配置,强制在 conan installconan 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-01-12)

  • 功能:添加 unix_path_package_info_legacy 函数,用于需要在与 Conan 1.x 兼容的配方中的 package_info 中使用的情况。在 Conan 2 中,不应在 package_info 方法中执行路径转换。#12886

  • 功能:为 conan list 添加新的序列化 json 和打印。#12883

  • 功能:向 conan new cmake_{lib,exe} 添加 requirements。#12875

  • 功能:允许 --no-remotes 强制临时禁用远程仓库。#12808

  • 功能:向 conan new 添加 barebones 模板选项。#12802

  • 功能:如果传递了 PkgID,则避免请求包配置。#12801

  • 功能:实现 conan list *#latestconan list *:*#latest。基本上,此命令可以显示所有匹配引用的最新 RREV 和 PREV。#12781

  • 功能:允许 self.output write 方法的链式调用。#12780

  • 修复:使 graph info 过滤器也适用于 json 输出。#12836

  • 缺陷修复:修复在 Windows 上使用 AutotoolsToolchain 和交叉构建时传递有效的 GNU 三元组的错误。#12881

  • 缺陷修复:如果 ref.name 相同但版本不同,则进行排序。#12801

2.0.0-beta7 (2022-12-22)

  • 功能:当生成器在 generators 属性中定义并在 generate() 方法中实例化时,引发错误。#12722

  • 功能:test_requires 改进,包括允许在 conanfile.txt 中使用。#12699

  • 功能:改进当 required_conan_version 在运算符和版本之间有空格时的错误。#12695

  • 功能:ConanAPI 清理和组织。#12666

2.0.0-beta6 (2022-12-02)

  • 功能:使用 --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

  • 功能:Lockfiles 别名支持。#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 也可以生成 lockfiles,这对于执行 2 步(导出 + 安装-构建)流程的用户是必需的。#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

  • 修复:更新命令以遵循有关 CLI 输出的 Conan 2.0 约定。#12235

  • 修复:修复菱形图中测试特征的聚合。#12080

2.0.0-beta3 (2022-09-12)

  • 功能:将 test_package 与 create 分离。#12046

  • 功能:如果导出的引用中有特殊字符,则发出警告。#12053

  • 功能:MSBuildDeps 特性的改进。#12032

  • 功能:添加了对 CLICOLOR_FORCE 环境变量的支持,如果该值被声明并且不等于 0,则将激活输出中的颜色。#12028

  • 修复:对于所有配置,仅调用 source() 一次。#12050

  • 修复:修复部署器不创建 output_folder 的问题。#11977

  • 修复:修复 build_id() 删除 require 的问题。#12019

  • 修复:如果 Conan 无法加载自定义命令,则现在会显示有用的错误消息。#11720

  • 缺陷修复:如果在构建配置文件中未指定“os”,并且 Windows 中的配方想要运行命令。#11728

2.0.0-beta2 (2022-07-27)

  • 功能:在 MSBuildDeps 中添加 traits 支持。#11680

  • 功能:在 XcodeDeps 中添加 traits 支持。#11615

  • 功能:让依赖项定义 package_id 模式。#

  • 功能:添加 conan.conanrc 文件以设置 conan 用户主目录。#11675

  • 功能:添加 core.cache:storage_path 以声明要存储 Conan 包的绝对路径。#11672

  • 功能:添加用于检查最大 cppstd 版本的工具。#11610

  • 功能:添加一个 post_build_fail 钩子,该钩子在构建失败时调用。#11593

  • 特性:添加 pre_generatepost_generate 钩子,涵盖 generate() 方法调用前后生成文件的过程。#11593

  • 特性:恢复了 conan config list 命令以及其他配置改进。#11575

  • 特性:为所有命令添加了两个新参数:-v 用于控制输出的详细程度,以及 --logger 用于以 json 日志格式输出内容,以便进行日志处理。#11522

2.0.0-beta1 (2022 年 6 月 20 日)

  • 特性:新的图模型,更好地支持 C 和 C++ 二进制文件关系、编译和链接。

  • 特性:新的文档化公共 Python API,用于用户自动化。

  • 特性:新的构建系统集成,更加灵活和强大,并在可能的情况下提供透明集成,例如 CMakeDepsCMakeToolchain

  • 特性:新的自定义用户命令,可以使用公共 Python API 构建,并可以使用 conan config install 进行共享和安装。

  • 特性:新的 CLI 界面,具有更简洁的命令和更结构化的输出。

  • 特性:新的部署器机制,用于将工件从缓存复制到用户文件夹,并在构建时使用这些副本。

  • 特性:改进了 package_id 的计算,考虑了新的更详细的图模型。

  • 特性:添加了 compatibility.py 扩展机制,允许用户全局定义二进制兼容性。

  • 特性:更简单和更强大的 lockfiles,以提供随时间推移的可重复性。

  • 特性:通过 [conf] 进行更好的配置,以及通过新的 conan.tools.env 工具进行更好的环境管理。

  • 特性:Conan 缓存现在可以同时存储多个修订版本。

  • 特性:新的扩展插件,用于实现配置文件检查、软件包签名和构建命令包装。

  • 特性:使用软件包的不可变性来改进更新、安装和上传流程。