更新日志

有关 Conan 2 相比 Conan 1.X 的主要更改的更详细说明,请阅读Conan 2 的新特性

2.16.1 (2025年4月29日)

  • 特性: 向 settings.yml 添加缺失的 GCC 15 键 #18193. 文档 这里

2.16.0 (2025年4月29日)

  • 特性: 增加对 GCC 15.1 的支持. #18175. 文档 这里

  • 特性: 允许 CMakeConfigDeps 支持带有 multilibs 的组件 (带有弃用警告). #18172

  • 特性: 为 include(module) 向 CMakeConfigDeps 添加 CMAKE_MODULE_PATH. #18162

  • 特性: 在 conan audit scan 命令中增加严重级别阈值. #18160. 文档 这里

  • 特性: GnuToolchain 包含来自 AutotoolsToolchain 的最新更改. #18159

  • 特性: 添加 CycloneDx 1.6 支持. #18108. 文档 这里

  • 特性: 引入新的 no_skip=True requirement trait,用于特殊情况,例如一个应用程序私下依赖于另一个应用程序,使用 requires 以避免它被跳过. #18101. 文档 这里

  • 特性: 如果 conf_info 被分配了原始的 settings/options 等,则提前抛出错误 #18083

  • 特性: 将功能从 Command 层移动到 ConanAPI 用于清除旧的私有导入 from conans. #18079

  • 特性: 公开记录 MSBuildDeps.platform 属性,允许为需要 x86 值的 wix 项目进行自定义。 #18078. 文档 这里

  • 特性: 添加缺失的 intel-cc 版本 #18054. 文档 这里

  • 特性: 添加有关每个包构建的配置的信息 #18019

  • 特性: 为图中每个依赖项的配置添加 -vv 信息 #18019

  • 修复: conan audit 报告的一些改进. #18171

  • 修复: 修复 audit html 输出中按严重性值排序的问题. #18161

  • 修复: 修复 audit html 输出中的列溢出. #18161

  • 修复: 使 audit_providers.json 仅可由所有者读取/写入. #18158

  • 修复: 删除一些 Apple OS 的虚假 SDK 版本. #18152. 文档 这里

  • 修复: 使 conan.cli 命令层完全独立于将要中断的旧 from conans 导入. #18127

  • 修复: 在 Git.checkout_from_conandata_coordinates() 中显式 git fetch commit,用于 Azure DevOps 创建的提交默认情况下未在 git clone 中获取的情况. #18110

  • 修复: 在 MSBuild 中添加 ARM64EC 平台,它缺失了. #18100. 文档 这里

  • 修复: 允许 conan graph build-order 为 “可编辑” 包输出 build_args#18097

  • 修复: 改进私有审计提供程序没有 curation 时的错误消息. #18094

  • 修复: 使一些 Command 格式化程序助手私有化 (只有 printers 中的那些才可用于重用),并使一些 ConanAPI 属性私有化. #18079

  • Bugfix: 如果 “本地 recipes index” user/channel 与请求的不匹配,则引发 not-found 错误. #18153

  • Bugfix: 修复了使用 MesonToolchainvisionOS 的错误. #18151

  • Bugfix: 将 IMPORTED_CONFIGURATIONS 添加到 CMakeConfigDeps 中的 INTERFACE 库 #18088

  • Bugfix: 将 Apple bitcodevisibilityarc conf 应用于 Autootools/Gnu/Meson Toolchains #18085

2.15.1 (2025年4月14日)

  • 特性: 更新 Apple 产品支持的版本. #18122. 文档 这里

2.15.0 (2025年3月31日)

  • 特性: 改进处理不正确的 JSON 输入文件格式时的错误消息. #18037

  • 特性: 为 conan list 命令添加了新的 –graph-context. #18015. 文档 这里

  • 特性: 添加以 [1.2.3.4.*] 定义的版本范围模式,其中 * 位于字符串的末尾. #18012. 文档 这里

  • 特性: 如果在 Apple OS 之间进行交叉编译,则在 MesonToolchain 中添加了 subsystem 字段. #17985

  • 特性: 添加了新的 kwarg build_context`to `is_apple_os 帮助函数. #17985

  • 特性: 在 tools.files 中集成 chmod 功能. #17800. 文档 这里

  • 修复: 在调用 conan cache clean 时,从未知 refs 中删除备份源. #18018

  • 修复: 修复 SBOM 作者字段. #18014

  • 修复: 如果符号链接路径与库名称匹配,则默认避免解析符号链接路径. #17964

  • 修复: 使来自 CLI 命令的一些 from conan.internalfrom conans 用法私有化,移动到 ConanAPI。 #17961

  • 修复: 添加对 recipes 中 deprecated 属性的警告. #17957. 文档 这里

  • 修复: 改进生成器中的相对路径,使其尽可能短. #17945

  • 修复: _Component() 没有 package_type 属性. #17943

  • Bugfix: 修复 global.conf 优先级高于 profiles [conf] 的问题,以及每个包模式 conf 的顺序变化。 #18028

  • Bugfix: 解决 update_policy=legacy 和使用锁文件的问题. #18009

  • Bugfix: 如果目录具有更严格的模式,则 untargz() 方法将失败. #17998

  • Bugfix: CppInfo.auto_deduce_location 方法给予完全匹配更高的优先级. #17975

  • Bugfix: 避免当 tool-requires 内的自定义生成器通过类而不是名称引用时,--format=json 序列化崩溃. #17954

  • BugFix: 在元数据中添加正确的信息 + 防止没有组件与 root_node 关联时崩溃. #17925

2.14.0 (2025年3月12日)

  • 特性: 添加 conan audit 命令,用于扫描 Conan 包的 CVE #17951. 文档 这里

  • 特性: 添加 clang 20 支持. #17920. 文档 这里

  • 特性: 允许部分 workspace install <path1> ... <pathN> 安装工作空间. #17887. 文档 这里

  • 特性: 添加验证方法的 hooks:pre_validatepost_validate. #17856. 文档 这里

  • 特性: 向 CMakeConfigDeps 添加了完整的 Apple Frameworks 管理. #17725. 文档 这里

  • 特性: 向 cpp_info 添加了新的 cpp_info.package_framework. #17725. 文档 这里

  • 特性: 修复了 docker runner 中的几个 bug,添加了新的配置选项并改进了日志系统 #17542. 文档 这里

  • 修复:改进了由于意外语法导致 jinja2 配置文件渲染失败时的错误消息。 #17940

  • 修复:对于精确的库匹配,不在自动推断位置发出警告。 #17923

  • 修复:cmake_set_interface_link_directories 属性在 CMakeDeps 中根本不是必需的,并且在 CMakeConfigDeps 中会失效,因为它需要完整的 package_info() 定义。 #17917。文档 这里

  • 修复:不要在 MSBuildDeps 生成器中将 \\ 转换为 /,因为某些 MSBuild 功能需要 Windows \\ 路径。 #17901

  • 修复:避免工作区错误地定义 “local-recipes-index” 辅助缓存。 #17883

  • 修复:改进了环境配置文件的转储输出,并具有正确的预置顺序。 #17863

  • 修复:如果 OS 设置为 WindowsStore,则修复 VCVars vcvarsall.bat 的生成。 #17849

  • 错误修复:避免当构建配置文件中的 [tool_requires] 依赖于自身的版本范围时,出现自依赖和循环。 #17931

  • 错误修复:修复了 conan graph build-order --reduce --order-by=recipe 未过滤所有 packages != “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() 转发到 get_url_and_commit()#17722

  • 特性:为 gcc MinGW 编译器 settings.yml 添加 mcf 线程。 #17704

  • 特性:按照与 ConanFile 相同的模式改进 conanws.py 文件定义。 #17688。文档 这里

  • 特性:工作区新的 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

  • 特性:添加对 conanfile 依赖项的 extension_properties 访问。 #17659。文档 这里

  • 特性:在 Version 中引入 in_range 方法,该方法允许针对版本范围进行比较。 #17658。文档 这里

  • 特性:将依赖项 urllib3 升级到 2.0#17655

  • 特性:新的 lock upgrade 命令,用于自动升级所需的依赖项,从而解决依赖关系图。 #17577。文档 这里

  • 特性:增强了 Premake CLI 包装器,具有可配置的 Lua 文件路径,并支持自定义命令行参数。 #17398。文档 这里

  • 修复:关于 CONAN_LOGIN env-var 的 conan remote auth 的文档字符串。 #17834

  • 修复:runtime_deploy 保留符号链接及其库。 #17824。文档 这里

  • 修复:关于来自 tool-requires 的 target_link_libraries(),对孵化中的 CMakeDeps 提供了更好的消息。 #17821

  • 修复:修复 _calculate_licenses SBOM 方法中的错误,并添加一个小测试。 #17801

  • 修复:允许来自 AutotoolsToolchainconf 的构建上下文信息。 #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日)

  • 修复:修复默认名称,并允许 cycloneDX 定义自定义名称。 #17760。文档 这里

  • 修复:添加 cycloneDX add_testsadd_build 参数。 #17760。文档 这里

  • 错误修复:修复 cycloneDX 工具参数。 #17760。文档 这里

2.12.1 (2025年1月28日)

  • 错误修复:修复 conan config clean 未重新生成每个必要文件的问题。 #17649

  • 错误修复:如果用户修改了任何文件,则避免 compatibility.py 迁移。 #17647

2.12.0 (2025年1月27日)

  • 特性:公开记录的(和实验性的)--build=compatible:[pattern] 构建模式,以允许在当前配置无效且二进制兼容性定义了兼容的二进制文件时,构建与当前配置不同的其他配置。 #17637。文档 这里

  • 特性:定义新的 tools.cmake.cmaketoolchain:user_presets 以自定义生成的 CMakeUserPresets.json 的名称,禁用其生成。也可以在子文件夹中生成它。 #17613。文档 这里

  • 特性:在 --format=json 图输出中序列化原始需求版本范围,而不仅仅是已解析的版本范围。 #17603

  • 特性:将 cycloneDX 作为 Conan 工具添加并实现 conanfile 的子图。 #17559。文档 这里

  • 功能: 基于 products 的定义,实现了初始化 conan workspace build 命令来构建整个工作空间。 #17538。 文档 这里

  • 功能: 允许从外部集中式文件夹为类似 conan-center-index 的布局在 “create” 时应用补丁。 #17520。 文档 这里

  • 功能: 添加了解压缩 tarball 文件时的报告进度。 #17519

  • 功能: conan profile show 现在可以选择要显示的上下文的 profile。 #17518

  • 功能: 更好的日志记录,打印了仓库的用户名、成功的身份验证事件和包括完整 URL 请求的 trace-level 消息。 #17517

  • 功能: 添加了 conan config clean 命令,该命令将从 conan home 中删除所有自定义配置,但不包括生成的软件包。 #17514。 文档 这里

  • 功能: 添加了 reinit 方法到 ConanApi,它重新初始化每个 subapi#17514。 文档 这里

  • 功能: 允许定义 --out-file=file.ext 而不是 --format=ext > file.ext 以直接写入文件,避免重定向问题。 #17507。 文档 这里

  • 功能: 在 API 调用之间缓存 HTTP 请求会话。 #17455

  • 功能: 在 Remote 对象中为 RemoteManager 调用实现缓存,从而在 Remote 对象的生命周期内节省对服务器的重复调用。 #17449。 文档 这里

  • 修复: 将 arch_flag 作为公共属性添加到 MesonToolchain 生成器。 #17629

  • 修复: 对于负载非常高的 CI 服务器,将 sqlite 超时从 10 秒增加到 20 秒。 #17616

  • 修复: 使 remotes.json 保存具有事务性,以避免硬杀死进程时的损坏。 #17588

  • 修复: 改进了当 test_package 缺少二进制文件时 conan create 的错误消息。 #17581

  • 修复: 修复 Git is_dirty 对具有路径的排除文件的检测。 #17571

  • 修复: 允许最新的 bottle 0.13 版本与 Python 3.13 一起使用 conan_server#17534

  • 修复: GnuToolchain 的 make_args 正确处理空值。 #17532

  • 修复: 修复了 replace_in_file 中的不一致,如果未找到该模式(关闭 strict),则返回 False,否则返回 None#17531

  • 修复: conan profile show 不会用信息标题污染 stdout。 #17518

  • 修复: 当在 languages 属性中使用未知语言时,报错。 #17512

  • 修复: 修复了在使用 workspace_api.load() 并在 set_version() 内部使用 self.run() 时的 Workspace#17501

  • Bugfix: conf_build 不存在于 cliconanfile.txt 上下文中。 #17640

  • Bugfix: 使 patternstrip_root 可以同时用于 conan.tools.files.unzip()#17591

  • Bugfix: 解决了使用传递性 [replace_requires] 时,孵化中的 CMakeDeps 问题。 #17566

  • Bugfix: 解决了使用传递性 [replace_requires] 时,PkgConfigDeps 的问题。 #17566

2.11.0 (2024-12-18)

  • 功能: 仅当启用时才警告冻结的 conan v1 remote。 #17482

  • 功能: AutotoolsToolchain 首先在 Android 交叉编译时使用用户的变量。 #17470。 文档 这里

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

  • 功能: 将 Conan 缓存“profiles”文件夹添加到 jinja2 搜索路径,因此即使对于父文件夹和同级文件夹,也可以从 jinja 语法中包含/导入 profiles。 #17432。 文档 这里

  • 功能: 更新了 tools.env.virtualenv:powershell conf 以允许指定 PowerShell 可执行文件(例如,powershell.exe 或 pwsh)并传递其他参数。 #17416。 文档 这里

  • 功能: 弃用使用 tools.env.virtualenv:powershell=True/False#17416。 文档 这里

  • 修复: 如果值为 None,则不显示 powershell 弃用消息。 #17500

  • 修复: 修复了调用 editable_addLocalAPI 对 editables 的定义。 #17498

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

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

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

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

  • 修复: 在本地 recipes 索引中搜索模式时,修复 user/channel。 #17408

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

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

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

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

2.10.3 (2024-12-18)

2.10.2 (2024-12-10)

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

2.10.1 (2024-12-04)

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

2.10.0 (2024-12-02)

  • 功能: 为 conan remote auth 添加 –force 选项,即使对于启用了匿名访问的 remote 也强制进行身份验证。 #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 。文档 here

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

  • 功能:为 Docker runner 将网络添加到配置文件。 #17069 。文档 here

  • 修复:修复 PowerShell conf 的帮助信息。 #17389 。文档 here

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

  • 修复:为选项冲突添加“风险”警告,以便用户可以在发生冲突时通过 warn-as-error 来引发错误。 #17366

  • 修复:新的 CMakeDeps 生成器允许包内文件使用 fooConfig.cmake,以及 foo-config.cmake#17330

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

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

  • 修复:改进 CONAN_LOG_LEVEL 环境变量不正确值时的用户体验。 #17280

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

  • 修复:避免 colorama 因大型输出而崩溃的错误。 #17259

  • 修复:修复 docker runner 测试的 arch。 #17069 。文档 here

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

  • Bugfix: 解决 Choco().check() 错误,该错误使用旧的 choco search --local-only,现已替换为 choco list#17382

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

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

  • 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 。文档 here

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

2.9.1 (2024年10月30日)

  • Bugfix: 当 scope=None 时,修复 deduce_subsystem,假设 scope 是 build#17251

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

2.9.0 (2024年10月29日)

  • 功能:在 settings.yml 中添加缺失的主要 OS/编译器版本支持。 #17240 。文档 here

  • 功能:conan new 学习了默认值 -d name=mypkg -d version=0.1,以简化用户体验。 #17186 。文档 here

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

  • 功能:为 tool_requires 添加 self.generator_info,以便将生成器传播到其直接依赖项。 #17129 。文档 here

  • 功能:添加对包含在 .conanignore 中忽略的路径的支持。 #17123 。文档 here

  • 功能:新的 tools.graph:skip_build conf,能够跳过 tool_requires 的扩展。 #17117 。文档 here

  • 功能:新的 tools.graph:skip_test conf,能够跳过 test_requires 的扩展。 #17117 。文档 here

  • 功能:为 ROS2 (Robot Operating System) 添加 ROSEnv 生成器集成。 #17110

  • 功能:将 profile 参数信息添加到 conan graph build-order,以改善用户体验和在 CI 系统中的使用。 #17102 。文档 here

  • 功能:为 gccclangapple-clang 添加 C++26 支持。 #17092 。文档 here

  • 功能:为 MSBuildDeps 属性表添加配置和平台键。 #17076 。文档 here

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

  • 功能:使用 cpp_info.languages,默认为 recipe languages,以将 “link-language” requirements 传播到包的消费者。 #16964

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

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

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

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

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

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

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

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

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

  • 修复:在 MSBuildToolchain 中正确地从 profile 推断 RuntimeLibrary。 #17100

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

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

  • 修复:避免在凭据来自环境变量或 credentials.json 文件时,对服务器进行重复的 401 登录尝试,仅对用户交互式提示重复登录尝试。 #17083

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

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

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

  • 缺陷修复:改进在 profile 加载时对不同编译器版本的 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 日)

  • 缺陷修复:避免为 transitive requires 也需要的 required 组件引发错误。 #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。文档此处

  • 特性:新的 auth_remote.py 插件,用于自定义用户对 Conan remotes 的身份验证。 #16942。文档此处

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

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

  • 特性:新的 tools.files.unzip:filter conf,允许为 tgz 文件定义 datatarfully_trusted 提取策略。 #16918。文档此处

  • 特性:source()get()unzip() 工具学习了一个新的 extract_filter 参数,以定义 tgz 文件的 datatarfully_trusted 提取策略。 #16918。文档此处

  • 特性:为每 10 秒的大型上传(>100Mbs)添加进度更新。 #16913

  • 特性:实现 conan config install-pkg --url=<repo-url>,用于在尚未定义 remotes 时初始定义 remote URL。 #16876。文档此处

  • 特性:允许构建仍然是当前 profile 的兼容包。 #16871

  • 特性:允许 bootstrapping(依赖于您自己的另一个变体),即使对于同一版本。 #16870

  • 特性:允许 [replace_requires] 替换包名称,并且 self.dependencies 仍然使用旧名称。 #16443

  • 修复:允许 CMakeToolchain 定义 CMAKE_SYSTEM_XXX,即使定义了 user_toolchain,但在 toolchain 真正定义它们的情况下受到保护。 #17036。文档此处

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

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

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

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

  • 缺陷修复:PkgConfigDeps.set_property() 没有正确设置所有可用的属性。 #17051

  • 缺陷修复:BazelDeps 没有找到 DLL 文件,因为 Conan 没有在 Windows 平台上对其进行建模。 #17045

  • 缺陷修复:如果由于 tools.graph:skip_binaries=False 而不跳过某个包,则不要跳过该包的依赖项。 #17033

  • 缺陷修复:在 diamonds 的情况下,允许 requires(..., package_id_mode) 特征始终使用配方定义的特征,而不管 requires() 的顺序如何。 #16987

  • 缺陷修复:将 include_prerelease 标志传播到 VersionRange 的交集。 #16986

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

  • 缺陷修复:允许 remote_login 接受模式。 #16942。文档此处

2.7.1 (2024 年 9 月 11 日)

  • 特性:增加对 apple-clang 16 的支持。 #16972

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

  • 缺陷修复:还原“Define compiler variables in 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。文档 here

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

  • 特性:在组件的 get_property 上添加 check_type#16848。文档 here

  • 特性:为 PkgConfigDeps 添加 set_property,以便为消费者 recipe 设置需求属性。 #16789

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

  • 特性:添加对 gcc 14.2 的支持。 #16760

  • 特性:重构 QbsProfile 以支持 Conan 2。 #16742

  • 特性:为 package 的本地缓存最终调整添加 finalize() 方法。 #16646。文档 here

  • 特性:添加 tricore 编译器架构支持。 #16317。文档 here

  • 特性:在此描述您的 pull request #16317。文档 here

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

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

  • 修复:改进 lockfile 无法锁定 requirement 时的错误信息,指定其类型。 #16841

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

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

  • Bugfix:使用 Visual Studio 的 llvm-clang 时,在 MSBuildToolchain 中设置正确的 Platform Toolset。 #16844

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

2.6.0 (2024年8月1日)

  • 特性:添加 build_folder_vars=["const.myvalue"] 来为用户“myvalue”任意值创建预设。 #16633。文档 here

  • 特性:添加 outputRootDir 作为 Bazel 新模板中的可选定义。 #16620

  • 特性:MakeDeps 生成器为依赖项及其组件生成 make 变量。 #16613。文档 here

  • 特性:为 graph build-order 和 graph build-order-merge 添加 html 输出 #16611。文档 here

  • 特性:引入 core.scm:local_url=allow|block 来控制 conandata scm 中的本地文件夹 URL。 #16597。文档 here

  • 特性:将 XXX_FOR_BUILD 标志和 Android 额外标志添加到 GnuToolchain 中的 extra_env 属性。 #16596

  • 特性:在 local-recipes-index 中支持 python_requires#16420。文档 here

  • 修复:避免 runtime_deployer 部署具有 run=False trait 的依赖项。 #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。文档 here

  • Bugfix:修复包含具有部分定义的每软件包 [settings] 的 profile include()#16720

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

  • Bugfix:避免推断兼容性时 settings.update_values() 失败。 #16642

  • Bugfix:修复 Ninja Multi-Config CMake 的 tools.build:defines 处理。 #16637

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

2.5.0 (2024年7月3日)

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

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

  • 特性:在计算依赖关系图时突出显示缺失或无效的需求。 #16520

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

  • 特性:添加对 GCC 12.4 的支持。 #16506。文档 here

  • 特性:遵循 tools.android:ndk_path conf。设置 Android 交叉编译所需的标志。 #16502。文档 here

  • 特性:为 Android 添加 os.ndk_version#16494。文档 here

  • 特性:Qbs 助手现在自动调用 Conan 提供程序。 #16486

  • 特性:为 tools.cmake.cmaketoolchain:extra_variables 添加 force 选项。 #16481。文档 here

  • 特性:如果在同一个 Conan profile 文件中复制了任何部分,则引发 ConanException。 #16454

  • 特性:将 resolve() 方法添加到 Qbs 工具链。 #16449

  • 特性:使具有 deployer 可重定位的 MSBuildDeps 生成。 #16441

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

  • 特性:添加内置的 runtime_deploy deployer。 #15382。文档 here

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

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

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

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

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

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

  • 修复:允许软件包包含空文件夹。#16424

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

  • 错误修复:修复当 recipe 执行 package_id() info 删除并用作兼容性候选时发生的意外错误。#16575

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

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

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

  • 错误修复:修复仅设置了定义时 XcodeToolchain 的问题。#16429

2.4.1 (2024年6月10日)

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

  • 修复:修复从全新安装恢复默认 compatibility.py 的迁移。#16417

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

  • 错误修复:修复了 CMakeToolchain 中使用 --deployer=full_deploy 创建错误转义的回归。#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。文档这里

  • 特性:向 tools.files.rm 添加了 excludes 参数以避免删除模式。#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。文档这里

  • 特性:允许 recipe 使用 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。文档这里

  • 修复:为默认 compatibility.py 插件实现了向 <2.3 的向后迁移。#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

  • 修复:仅在缓存的 recipe 修订版本确实更新时才打印相关信息。#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/Clangvcvars 的启用。#16374。文档这里

  • 错误修复:修复使用 type=shared 的 docker runner 时的配置文件错误。#16364

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

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

  • Bugfix: 避免清理 MesonToolchain 中的 tools.build:compiler_executables 值。 #16307

  • Bugfix: 解决了 conan cache save/restore tgz 文件中不正确的路径问题,这些路径在使用 storage_path 自定义配置时会导致崩溃。 #16293

  • Bugfix: 修复了 conan list 中不存在的 graph 文件导致的堆栈跟踪问题。 #16291

  • Bugfix: 允许 CMakeDeps 生成器覆盖已经存在的 xxxConfig.cmake 文件。 #16279

  • Bugfix: 禁止在 source() 方法中访问 self.info#16272

2.3.2 (2024年5月28日)

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

  • Bugfix: 允许默认 compatibility.py 插件从 MSVC compiler.version=194->193 和其他 cppstd 值回退。 #16346

  • Bugfix: 跳过本地 recipe 索引布局中的点文件夹。 #16345

  • Bugfix: 移除生成的 conanvcvars.ps1 中的额外反斜杠。 #16322

2.3.1 (2024年5月16日)

  • Feature: 添加 GCC 13.3 支持。 #16246 。文档 此处

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

  • Fix: 修复 Docker runner 的配置容器名称。 #16243

  • Bugfix: 使兼容性检查能够理解更新标志模式。 #16252

  • Bugfix: 解决了 diamond 结构中 lockfilesoverrides 的错误。 #16235

  • Bugfix: 允许将 export-pkg --version=xxx 传递给使用 python_requires 并从基类继承 set_version 的 recipes。 #16224

2.3.0 (2024年5月6日)

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

  • Feature: 在运行 conan upload 时显示 recipe 和 package 大小。 #16103

  • Feature: 扩展 conan version 以报告当前 Python 和系统以进行故障排除。 #16102 。文档 此处

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

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

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

  • Feature: 在 graph html 中添加了“过滤 packages”栏,该栏可以输入以逗号分隔的多个搜索模式,并从 graph 中隐藏它们。 #16083

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

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

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

  • Feature: 新的 conan pkglist merge 命令,用于合并多个 package 列表。 #16022 。文档 此处

  • Feature: 新的 conan pkglist find-remote 命令,用于在 remotes 中查找缓存中 package 列表的匹配项。 #16022 。文档 此处

  • Feature: 相对化 CMakePresets 生成中的路径。 #16015

  • Feature: 向 conanfile.py 添加新的 test_package_folder 属性,以定义与 test_package 默认值不同的自定义位置和名称。 #16013 。文档 此处

  • Feature: 新的 conan create --test-missing 语法,可以选择仅在实际创建 package 时运行 test_package(与 --build=missing 一起使用时很有用)。 #15999 。文档 此处

  • Feature: 将 tools.gnu:build_triplet 添加到 conf。 #15965

  • Feature: 为 conan profile detect 添加 --exist-ok 参数,如果 profile 已经存在,则不会失败,而不会覆盖它。 #15933

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

  • Feature: 如果 native 和 cross 文件都存在,Meson 助手会注入它们。 #15919 。文档 此处

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

  • Feature: 添加了对在 Docker 容器内透明运行 Conan 的支持。 #15856 。文档 此处

  • Fix: 允许为 conan profile detect 自动检测定义 CC=/usr/bin/cc(以及 CXX)。 #16187

  • Fix: 解决 pyinstaller.py 脚本中的问题,它将不再安装 pip install pyinstaller,安装它将是一个前提条件 #16186

  • Fix: 在 CMake 助手中使用反斜杠作为 CMakeLists.txt 文件夹,修复了项目位于驱动器根目录(如 X:)时的问题 #16180

  • Fix: 允许 conan editable remove <path> 即使路径已经被删除。 #16170

  • Fix: 修复 conan new –help 格式问题。 #16155

  • Fix: 改进了 graph 中存在冲突时的错误消息。 #16137

  • Fix: 改进了当一个 URL 不是有效的服务器但仍然在 Conan “ping” API 调用下返回 200-ok 时的错误消息。 #16126

  • Fix: 解决了由于带双引号的查询导致的 FreeBSD 中的 sqlite3 问题。 #16123

  • Fix: 清理 conan cache restore <non-existing-file> 的错误消息。 #16113

  • Fix: 改进了缓存中 remotes 或凭据文件无效/为空时的 UX 和错误消息。 #16091

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

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

  • 修复: 改进当 settings.ymlsettings_user.yml 不正确时的错误消息 UX。#16065

  • 修复: 针对自 2021 年起已 EOL 的 Python 3.6 用法打印警告。#16003

  • 修复: 移除 Autotools 辅助函数中重复打印的命令行。#15991

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

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

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

  • 修复: 将 rc 添加到 AutotoolsToolchaincompiler_executables 映射中,以用于跨平台构建 Linux->Windows。#15946

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

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

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

  • Bugfix: 使 MesonToolchain 监听 tools.build:defines 配置变量。#16172 。文档 here

  • Bugfix: 禁止在 validate_build() 方法中访问 self.cpp_info#16135

  • Bugfix: 当 .conanrcconan_home 无效时,不显示跟踪。#16134

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

  • Bugfix: BazelDeps 现在使用 requirement.build 属性,而不是 dependency.context 属性。#16025

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

2.2.3 (2024年4月17日)

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

2.2.2 (2024年3月25日)

  • 修复: 避免配方 print(..., file=fileobj) 的问题。#15934

  • 修复: 修复对 print(x, file=y) 的中断调用,其中包含重复的关键字参数。#15912

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

2.2.1 (2024年3月20日)

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

2.2.0 (2024年3月20日)

  • 特性: 如果使用通用二进制语法,则对 CMakeToolchain 以外的工具链引发异常。#15896

  • 特性: 警告位置错误的 requirement 函数调用 #15888

  • 特性: 打印由不同分支配方定义选项值引起的图形中的选项冲突。#15876 。文档 here

  • 特性: 将 macOS 版本 14.2、14.3、14.4 添加到 settings.yml#15859 。文档 here

  • 特性: 新的图形 html:更多信息,test-requires,隐藏/显示不同的包(构建,测试)。#15846 。文档 here

  • 特性: 将 –backup-sources 标志添加到 conan cache clean#15845

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

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

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

  • 特性: 添加了 build_context_folder ` 到 PkgConfigDeps。 `#15813 。文档 here

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

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

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

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

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

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

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

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

  • 特性: 使 cppstd_flag 公开,以根据设置返回相应的 C++ 标准标志。#15710 。文档 here

  • 特性: 允许在 build_folder_vars 属性和配置中使用 self.nameself.version#15705 。文档 here

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

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

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

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

  • 修复: 使所有 recipe 和插件 python 文件 print()stderr,以便 json 输出到 stdout 不会被破坏。 #15704

  • 修复: 修复获取 Linux x86 的 gnu triplet。 #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: 解决使用 lockfiles 和 conan create 时的 package_type=build-scripts 问题。 #15802

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

  • Bugfix: 修复从 Windows 交叉编译到 Android 时使用 MesonToolchain#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: 修复具有作用域 confs 的 profile 的 conan profile show –format=json#15747

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

  • Bugfix: 解决字符串包含 Windows 反斜杠时的损坏的 profile [conf]#15727

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

2.1.0 (2024 年 2 月 15 日)

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

  • 特性: 添加将模式传递给 –update 标志的能力。 #15652 。文档 在此

  • 特性: 添加 –format=json 格式化器到 conan build#15651

  • 特性: 添加了 tools.build.cross_building:cross_build,以决定是否进行交叉构建,而不管 Conan 内部机制如何。 #15616

  • 特性: 添加 –format=json 选项到 conan cache path#15613

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

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

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

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

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

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

  • 特性: 在 verbose 模式下运行时记录 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 以限制 remote 可以提供的引用。 #15464 。文档 在此

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

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

  • 新功能:新的 Git(..., excluded=[]) 功能,用于避免 Git 助手中的 “dirty” 错误。 #15457 。文档 此处

  • 新功能:新的 core.scm:excluded 功能,用于避免 Git 助手和 revision_mode = "scm" 中的 “dirty” 错误。 #15457 。文档 此处

  • 新功能:用于 python_requires recipe 的 Recipe python_package_id_mode,用于定义每个 recipe 对 consumer 的 package_id 的影响。 #15453 。文档 此处

  • 新功能:将 cmakeExecutable 添加到 configure preset。 #15447 。文档 此处

  • 新功能:添加新的 --core-conf 命令行参数,以允许通过 CLI 传递 core. confs。 #15441 。文档 此处

  • 新功能:向 detect_api 添加 detect_api.detect_msvc_update(version) 助手。 #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 属性,以将信息从 recipe 传递到扩展。 #15348 。文档 此处

  • 新功能:在 extension_properties 中实现 compatibility_cppstd,用于 compatibility.py 插件,以禁用 recipe 对其他 cppstd 的回退。 #15348 。文档 此处

  • 新功能:添加 Git.get_commit(..., repository=True) 以获取 repository commit,而不是文件夹 commit。 #15304

  • 新功能:确保 --build=editable--build=cascade 一起工作。 #15300 。文档 此处

  • 新功能:新的 conan graph build-order --order=configuration 用于输出不同的顺序,按 package 二进制文件/配置排序,而不是按 recipe 修订版本分组。 #15270 。文档 此处

  • 新功能:允许将带有时间戳的 recipe 修订版本从 --format=compact 复制&粘贴到 conan lock add 中。 #15262 。文档 此处

  • 修复:保证 generators 属性执行的顺序。 #15678

  • 修复:解决构建 profile 和 context 中 [platform_tool_requires] 的问题。 丢弃构建 profile 中的 [platform_requires]#15665

  • 修复:修复 conda 环境中的 gcc 检测。 #15664

  • 修复:改进上传备份源时对 .dirty 下载文件的处理。 #15601

  • 修复:修复生成文件中的相对化路径。 #15592

  • 修复:允许 CMakeToolchain.preprocessor_definitions 使用 None 值,这将映射到没有值的定义。 #15545 。文档 此处

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

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

  • 修复:当源备份不存在元数据时,避免缺少文件堆栈跟踪。 #15501

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

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

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

  • 修复:修复 graph explain 如果缺少某些需求,则不显示某些差异。 #15355

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

  • 修复:修复 upload_policy=skip--build=missing 问题。 #15336

  • 修复:接受 conan download/upload --list=.. --only-recipe 仅下载 recipe。 #15312

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

  • Bug修复:修复带有组件和跳过依赖项的 MSBuildDeps#15626

  • Bug修复:避免 provides 为 self tool_requires 到自身以进行交叉构建的包引发错误。 #15575

  • Bug修复:修复 tools.microsoft.visual.VCVars 中的构建范围 OS 检测。 #15568

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

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

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

  • Bug修复:conan export-pkg 命令存储 lockfile,排除 test_package,遵循与 conan create 相同的行为。 #15504

  • Bug修复:避免 conan testpython_requires test-package 失败。 #15485 。文档 此处

  • Bug修复:MesonToolchain 计算有效的 apple_min_version_flag#15465

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

  • Bug修复:修复获取环境变量 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日)

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

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

  • Bugfix: 解决了 CMakeToolchain 生成器中 winsdk_versioncmake_minimum_required(3.27) 情况下的错误。 #15373

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

  • Bugfix: 修复了通过 tools.info.package_id:confs 包含 conf 值时 package_id 的计算问题。 #15356

  • Bugfix: 排序 conf 项目以便在转储它们时允许可重现的 package_id,独立于 conf 的声明顺序。 #15356

2.0.16 (2023年12月21日)

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

2.0.15 (2023年12月20日)

  • Feature: 新增 conan lock remove 命令,用于从锁定文件中删除 require。 #15284 . 文档 here

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

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

  • Feature: 添加 tools.microsoft:winsdk_version conf,使 VCVars 生成器使用给定的 winsdk_version#15272 . 文档 here

  • Feature: 为 conan export 命令添加 pkglist 格式化器。 #15266 . 文档 here

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

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

  • Feature: 为 ConanFile 的 self.dependencies 添加 in 运算符支持。 #15221 . 文档 here

  • Feature: 使 CMakeDeps 生成器创建一个 conandeps.cmake,它以 cmake 类似生成器样式聚合所有直接依赖项。 #15207 . 文档 here

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

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

  • Feature: 引入了 recipe 中新的 deploy() 方法,用于显式地按 recipe 部署。 #15172 . 文档 here

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

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

  • Feature: 从 ConfigAPI 添加内置 conf 访问。 #15151

  • Feature: 为 CMake 集成方法添加 redirect_stdout#15150

  • Feature: 添加 core:warnings_as_errors 配置选项,使 Conan 在警告和错误时引发异常。 #15149 . 文档 here

  • Feature: 在 ftp_download 中使用 secure 参数添加 FTP_TLS 选项,以进行安全通信。 #15137

  • Feature: 在 profile 中新增 [replace_requires][replace_tool_requires],用于重新定义 requires,这对于包替换(如 zlibng/zlib)、解决冲突以及用封装在另一个 Conan 包 recipe 中的系统替代方案替换某些依赖项非常有用。 #15136 . 文档 here

  • Feature: 为 conanfile 的 run() 方法添加 stderr 捕获参数。 #15121 . 文档 here

  • Feature: 新增 [platform_requires] profile 定义,以便能够用平台提供的依赖项替换 Conan 依赖项。 #14871 . 文档 here

  • Feature: 新增 conan graph explain 命令,用于搜索、比较和解释丢失的二进制文件。 #14694 . 文档 here

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

  • Fix: 使 core:warnings_as_errors 接受列表 #15297

  • Fix: 修复了没有给出分隔符时 user conf 的包作用域问题 #15296

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

  • Fix: 允许硬 set_name()set_version() 改变命令行中提供的名称和版本。 #15211 . 文档 here

  • Fix: 使 conan graph info –format=text 打印到 stdout。 #15170

  • Fix: 避免 CMake 输出中由于 CMAKE_POLICY_DEFAULT_CMP0091 未使用变量引起的警告。 #15127

  • Fix: 弃用 [system_tools],转而使用 [platform_tool_requires],以便与常规依赖项的 [platform_requires] 对齐。 将输出从 “System tool” 更改为 “Platform”。 #14871 . 文档 here

  • Bugfix: 确保 user conf 至少有一个 : 分隔符 #15296

  • Bugfix: Git.is_dirty() 将使用 git status . -s 来确保它只处理当前路径,而不是整个 repo,类似于其他 Git 方法。 #15289

  • Bugfix: 使 self.info.clear() 和仅头文件包移除 python_requirestool_requires#15285。文档 here

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

  • Bugfix: 不要在 deployers 中相对化绝对路径。#15244

  • Bugfix: 添加 architectureCMakePresets 以避免 cmake 在使用预设时忽略工具链定义。#15215

  • Bugfix: 修复 conan graph info –format=html 报告误导性的冲突节点。#15196

  • Bugfix: 修复 conan profile show –format=json 中 tool_requires 的序列化。#15185

  • Bugfix: 修复 NMakeDeps 的引用问题。#15140

  • Bugfix: 修复 2.0.14 的迁移,以便在定义了 storage_path conf 时将 LRU 数据添加到缓存。#15135

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

  • Bugfix: 由于无用的 distutils 导入,pyinstaller.py 在 Python 3.12 中已损坏。#15116

  • Bugfix: 修复未设置 core.sources:download_cache 时的备份源错误。#15109

2.0.14 (2023-11-14)

  • Feature: 添加了 riscv64, riscv32 架构到默认的 settings.yml,并在 Meson 和 Autotools 中管理它们。#15053

  • Feature: 允许只有一个同时进行的数据库连接。#15029

  • Feature: 添加 conan cache backup-upload 以上传缓存中的所有备份源,无论它们来自哪个引用。#15013。文档 here

  • Feature: 新的 conan list --format=compact 以获得更好的用户体验。#15011。文档 here

  • Feature: 通过传递 –metadata=”” 忽略元数据上传 #15007。文档 here

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

  • Feature: 向 CMakeToolchain 添加额外的标志。#14966。文档 here

  • Feature: 实现从缓存加载/恢复包,用于 CI 工作流程并在气隙上移动包。#14923。文档 here

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

  • Feature: CMake helper 可以在目标参数中使用多个目标。#14883

  • Feature: 添加 Macos 13.6 到 settings.yml。#14858。文档 here

  • Feature: 添加 CMakeDeps 和 PkgConfigDeps 生成器,监听 system_package_version 属性。#14808。文档 here

  • Feature: 在 cli 中添加速记语法,以便在一个参数中指定 host 和 build #14727。文档 here

  • Feature: 实现缓存 LRU 控制,用于清理未使用的工件。#14054。文档 here

  • Fix: 避免 CMakeToolchain 覆盖用户 CMakePresets.json,当没有定义布局或 output-folder 时 #15058

  • Fix: 添加 astra, elbrusaltlinux 作为 SystemPackageManager 中使用 apt 的发行版 #15051

  • Fix: 在 Linux Mint 中默认为 apt-get 包管理器 #15026。文档 here

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

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

  • Fix: 修复 AutotoolsToolchain extraflags 优先级。#15005。文档 here

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

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

  • Fix: 使缓存 DB 始终使用正斜杠作为路径,以便在 Windows 和 Linux 上保持一致 #14940

  • Fix: 解决现有包修订版本的重新构建(例如强制重新构建现有的仅头文件包),而之前的文件夹仍被其他项目使用。#14938

  • Fix: 避免配方更改 conf 以影响其他配方。#14932。文档 here

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

  • Fix: 序列化 python_requirespath 信息,这对于计算 buildinfo 是必要的 #14886

  • Fix: 在 conan source 命令中定义 remotes,以防配方具有需要从 remotes 下载的 python_requires#14852

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

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

  • BugFix: 在 ‘conan export-pkg’ 命令中的 format=json 中添加软件包修订版本 #15042

  • Bugfix: 当存在可编辑的包时,tools.build:download_source=True 不会失败。#15004。文档 here

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

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

  • Bugfix: 正确锁定 python requires 的发布候选版本 #14846

  • BugFix: 以 - 结尾的版本范围不会自动激活整个范围内的预发布版本解析。#14814。文档 here

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

2.0.13 (2023-09-28)

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

2.0.12 (2023-09-26)

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

  • Feature: 为 conan remove 添加 –dry-run#14760。文档 here

  • 特性:在 package_managerinstall() 方法中添加 host_tool,以指示该软件包是主机工具还是库。#14752。文档在此

  • 修复:尝试 export-pkg 一个 python-require 包时,提供更好的错误消息,并避免导出后失败。#14819

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

  • 修复:添加 Apple clang 15.0 的次要版本。#14797。文档在此

  • 修复:未提供 <path> 参数时,conan build 命令的错误信息更加友好。#14787

  • Bugfix: 修复 compatibility() 覆盖 settings_target 使其为 None 的问题 #14825

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

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

  • Bugfix: 修复当 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

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

  • 特性:在默认 profile 插件中支持 clang-cl。#14682。文档在此

  • 特性:添加了一种机制,如果将 ccpp 和/或 ld 二进制变量声明为空格分隔的字符串,则将其从 Meson 转换为列表。#14676

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

  • 特性:确保 meson toolchain 使用 clang-cl 设置 b_vscrt#14664

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

  • 特性:MakeDeps:提供“require”信息,以及更多样式调整。#14605

  • 特性:新的 detect_api,可在 profiles jinja 模板中使用。#14578。文档在此

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

  • 修复:添加缺少的次要 macos 版本。#14740。文档在此

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

  • 修复: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: 解决了 conan export-pkgtest_package 中调用远程仓库时崩溃的问题。#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日)

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

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

  • 特性:如果用户添加了不正确的 ConanCenter Web URL 作为远程仓库,则引发错误。#14531

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

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

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

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

  • 特性:添加对 Apple visionOS 的支持。#14504

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

  • 特性:添加 tools.graph:skip_binaries 以控制图中的二进制跳过。#14466。文档在此

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

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

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

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

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

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

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

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

  • 功能:conan create --build-test=missing 新增参数,用于控制作为 test_package 文件夹依赖项构建的内容。 #14347. 文档 这里

  • 功能:为在 recipes 中定义 tool_requires 的选项,提供新的 default_build_options 属性。 #14340. 文档 这里

  • 功能:实现 ...@ 作为一种模式,用于指示与没有 user/channel 的软件包的匹配。 #14338. 文档 这里

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

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

  • 修复:移除 conan v2 ready conan-center 链接。 #14593

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

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

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

  • 修复:将 graphs 的 dependencies 中的布尔值序列化为布尔值,而不是字符串,当使用 --format=json 时。 #14530. 文档 这里

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

  • 修复:改进 lock add 的错误检查,添加完整的软件包引用而不是 recipe 引用。 #14491

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

  • 修复:不要将未捕获的堆栈跟踪打印到 stdout,而是打印到 stderr#14444

  • 修复:在 --format=json 输出中序列化 conf_info#14442

  • 修复:MSBuildToolchain/MSBuildDeps: 避免将 C/C++ 编译器选项作为 ResourceCompile 的选项传递。 #14378

  • 修复:删除插件文件会产生更好的错误消息,而不是堆栈跟踪。 #14376

  • 修复:修复 armv8/aarch64 上的 CMake 系统处理器名称。 #14362

  • 修复:使备份源 core.sources conf 不强制使用最后的斜杠。 #14342

  • 修复:正确地将 recipe default_options 中定义的选项传播到 test_requires#14340. 文档 这里

  • 修复:使用 conanfile.run() 调用 XCRun,以便注入环境。 #14326

  • 修复:使用 abspath 用于 conan config install 以避免符号链接问题。 #14183

  • Bugfix:解决 build_id() 问题,当多个不同的 package_ids 重用相同的构建文件夹时。 #14555

  • Bugfix:当使用软件包列表时,避免在 conan download 中未提供时间戳时出现 DB 错误。 #14526

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

  • Bugfix:仅在 conan upload 中打印以交互方式确认的软件包。 #14512

  • Bugfix:'conan remove' 输出缓存中与过滤器匹配的所有条目,而不仅仅是用户确认的条目。 #14478

  • Bugfix:当没有 --user 时,更好地处理传递 --channel 时的错误。 #14443

  • Bugfix:修复已经在“build”上下文中的软件包的 tool_requiressettings_target 计算。 #14441

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

  • Bugfix:在使用 deployers 时,使生成的 powershell 环境脚本相对。 #14391

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

2.0.9 (2023 年 7 月 19 日)

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

  • 功能:添加 apple-clang 15。 #14302

  • 修复:当使用 revision_mode = “scm_folder” 时,允许存储库在 conanfile.py 文件夹之外是 dirty 的。 #14330

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

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

  • Bugfix:修复软件包签名插件未验证下载的源文件的问题。 #14331. 文档 这里

  • Bugfix:修复 CMakeUserPresets 由于拼写错误而继承自 conan 生成的 presets。 #14325

  • Bugfix:如果多个用户预设继承自相同的 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 日)

  • 功能:将 GCC 10.5 添加到默认的 settings.yml。 #14252

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

  • 功能:允许 pkg_config_custom_content 也是一个类似 dict 的对象。 #14233. 文档 这里

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

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

  • 功能:自动管理 header-library 软件包类型的软件包 ID。 #14194. 文档 这里

  • 功能:CMakeDeps 生成器的新 cpp_info.set_property("cmake_package_version_compat" , "AnyNewerVersion")#14176. 文档 这里

  • 功能:元数据改进。 #14152

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

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

  • 修复:现在允许使用 --list 参数的 upload 命令处理空的 recipe 列表。 #14254

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

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

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

  • 修复:添加了关于查询包引用时显示的默认文件夹的说明。 #14199 . 文档 here

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

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

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

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

  • Bugfix: 修复 CMakeDeps CMAKE_FIND_LIBRARY_SUFFIXES 变量的泄漏。 #14253

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

  • Bugfix: 改进 conan graph info 在 html 格式中图冲突的显示。 #14190

  • Bugfix: 修复从 Linux 到 OSX 的 CMakeToolchain 交叉构建。 #14187

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

2.0.7 (2023 年 6 月 21 日)

  • Feature: 添加新的 arm64ec 架构,用于定义 CMAKE_GENERATOR_PLATFORM。 #14114 . 文档 here

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

  • Feature: 允许 conan remove --list=pkglist 删除包列表。 #14082 . 文档 here

  • Feature: conan remove --format 的输出,包括文本(已删除内容的摘要)和 json。 #14082 . 文档 here

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

  • Feature: conan test 命令学习了 --format=json 格式化程序。 #14011 . 文档 here

  • Feature: 允许在 conan list (和 download, upload, remove) 模式中使用 pkg/[version-range] 表达式。 #14004 . 文档 here

  • Feature: 添加 conan upload --dry-run,等效于 1.X 的 conan upload --skip-upload#14002 . 文档 here

  • Feature: 添加新命令 conan version 来格式化输出。 #13999 . 文档 here

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

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

  • Feature: 使用 --graph 输入 conan list 来创建一个 PackagesList,它可以作为 conan upload 的输入。 #13928 . 文档 here

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

  • Feature: 允许指定自定义部署器输出文件夹。 #13757 . 文档 here

  • Feature: 将构建和编译详细程度控制拆分为两个 confs。 #13729 . 文档 here

  • Feature: 在 PkgConfigDeps 中,将 bindir 添加到生成的 .pc 文件。 #13623 . 文档 here

  • Fix: 弃用 Conan 1.X 中遗留的 AutoPackage#14083 . 文档 here

  • Fix: 修复用于默认构建配置文件的 conf 条目的描述。 #14075 . 文档 here

  • Fix: 允许 Git 助手中的路径包含空格。 #14063 . 文档 here

  • Fix: 删除 conanfile.xxx_folder 中尾部的 .,它破坏了像 msys2 这样的子系统。 #14061

  • Fix: 避免缓存问题,当图中的一些中间包在某个依赖项上调用 aggregated_components() 并且使用 --deployer 时,生成器仍然指向 Conan 缓存而不是部署的副本。 #14060

  • Fix: 允许内部 Cli 对象被多次调用。 #14053

  • Fix: 强制 Python 3.10 使用 pyyaml>=6,因为之前的版本已损坏。 #13990

  • Fix: 改进当 Conan 无法显示其中一个冲突配方时的图冲突消息。 #13946

  • Bugfix: 解决从服务器下载非最新修订版的时间戳中的错误。 #14110

  • Bugfix: 修复可编辑包中的双重基本路径设置。 #14109

  • Bugfix: 如果 conan graph build-order 图有任何错误,则引发异常,而不是静默地什么都不做并输出空 json。 #14106

  • Bugfix: 当文件夹具有重叠的匹配名称时,避免对 editable 包进行不正确的路径替换。 #14095

  • Bugfix: 将 clang 设置为默认的 FreeBSD 检测到的编译器。 #14065

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

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

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

  • Bugfix: 删除 libdir1includedir1 作为默认索引。 现在,PkgConfigDeps 默认在 .pc 文件中创建 libdirincludedir 变量。 #13623 . 文档 here

2.0.6 (2023 年 5 月 26 日)

  • Feature: 添加一个 tools.cmake:cmake_program 配置项,以允许指定所需的 CMake 可执行文件的位置。 #13940 . 文档 here

  • Fix: 在 graph json 输出中将“id”属性输出为 str 而不是 int。 #13964 . 文档 here

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

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

  • Fix: 将缺失的值添加到 conan config install 中的 package_manager:mode#13929

  • Bugfix: 确保 graph infocreateexport-pkginstall 的 graph-info JSON 输出相同。 #13967 . 文档 here

  • Bugfix: test_requires 像常规 requires 一样影响消费者的 package_id,但它们不应该这样做。 #13966

  • Bugfix: 当 -c tools.build:download_source=True 时,在 json 输出中正确定义 source_folder#13953

  • Bugfix: 修复并完成了 graph info xxxx –format json 输出,以便公开发布文档。 #13934 . 文档 here

  • 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 (verbose mode) 添加到当前命令来完全列出它们。 #13836

  • Feature: 允许使用 --build 本地构建的包进行 step-into 依赖调试 #13833 。 文档 here

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

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

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

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

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

  • Feature: 改进 settings.yml 错误消息 #13748

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

  • Feature: 将配置文件名呈现为 profile_name #13721 。 文档 here

  • Feature: 缓存“extensions/generators”中的新全局自定义生成器,可以通过名称使用。 #13718 。 文档 here

  • Feature: 改进 conan inspect 输出,它现在理解 set_name/set_version#13716 。 文档 here

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

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

  • Feature: 将 info_invalid 添加到图节点序列化 #13688

  • Feature: 计算和报告图中的 overrides 以及 graph build-order 中的 overrides #13680

  • Feature: 新的 revision_mode = "scm_folder" 用于想要使用 scm 修订版本的 mono-repo 项目。 #13562 。 文档 here

  • Feature: 证明可以 tool_requires 同一个包的不同版本。 #13529 。 文档 here

  • Fix: build_scripts 现在默认将 run 特性设置为 True #13901 。 文档 here

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

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

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

  • Fix: 加速 CMakeDeps 的生成 #13857

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

  • Fix: 定义未知的 conf 时失败 #13832

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

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

  • Fix: 在仅包含标头的库的 CMakeDeps 中省略 -L libpaths。 #13704

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

  • Bugfix: 修复了在 recipes 中定义的 *:shared=True 等选项的传播 #13855

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

  • Bugfix: 确保在更多情况下上传备份源 #13846

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

  • Bugfix: 修复 conan upload 与仅导出的 recipes 的备份源 #13779

  • Bugfix: 修复包含别名的 lockfiles 的 conan lock merge #13763

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

  • Bugfix: 修复 baremetal 的 CMakeToolchain CMAKE_SYSTEM_NAME=Generic #13739

  • Bugfix: 修复不正确的环境脚本停用顺序 #13707

  • Bugfix: 解决图具有 override=True 的 requirements 时失败的 lockfiles #13597

2.0.4 (2023 年 4 月 11 日)

  • Feature: 将 --build-require 扩展到更多命令 (graph info, lock create, install) 和案例。 #13669 。 文档 here

  • Feature: 将 -d tool_requires 添加到 conan new#13608 。 文档 here

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

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

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

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

  • Fix: [system_tools] 没有报告正确的已解析版本,但仍然是原始范围。 #13667

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

  • Fix: 当服务器响应 Forbidden 以下载 recipe/package 中的 1 个文件时,请确保清理其他文件和数据库。 #13626

  • Fix: 在 conan remove 中添加错误,当使用 –package-query 而不提供与包匹配的模式时。 #13622

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

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

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

  • Bug修复:python_requires 现在可以正确加载远程需求。#13657

  • Bug修复:修复当 override 用于图中也是菱形闭合节点的节点时发生的崩溃。#13631

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

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

  • Bug修复:将 STATUS 设置为默认日志级别。#13610

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

2.0.3 (03-Apr-2023)

  • 特性:conan cache clean 学习了 --all--temp 来清理所有内容(sources, builds)以及临时文件夹。#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_cachecore.download:download_cache,因此只需要定义一个。#13458

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

  • 修复:定义一种在 python_requires_extend 扩展中更新 default_options 的方法。#13487。文档在此

  • 修复:再次允许指定 self.options["mydep"].someoption=value,等效于 "mydep/*"#13467

  • 修复:使用 VS2019 和 VS2022 的 meson 为 c++20 生成 cpp_std=vc++20,而不是 vc++latest#13450

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

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

  • Bug修复:cmd_wrapper 添加了缺少的参数 conanfile#13564。文档在此

  • Bug修复:避免由于可编辑包的依赖项二进制文件被“跳过”而导致的生成器错误。#13544

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

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

  • Bug修复:可编辑包现在也遵循 build_folder_vars 配置。#13488

  • Bug修复:修复 [system_tools] 配置文件组合。#13468

2.0.2 (15-Mar-2023)

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

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

  • 特性:将一个可选的“build_script_folder”参数添加到 Autotools 类的 autoreconf 方法。 它镜像了同一类 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 conf 以控制版本范围是否可以解析为预发布版本。#13321

  • 修复:允许在 conan create 中自动处理 package_type = "build-scripts" 作为 --build-require#13433

  • 修复:改进服务器端包损坏的检测和消息。#13432

  • 修复:修复 conan download 帮助中的错别字。#13430

  • 修复:从 conan profile path 中删除配置文件参数。#13423。文档在此

  • 修复:修复 _detect_compiler_version 中的错别字。#13396

  • 修复:修复 OSX 上 clang 编译器的 conan profile detectlibc++ 的检测。#13359

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

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

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

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

  • Bug修复:修复 MSBuild 中自定义配置包含空格时的问题。#13435

  • Bug修复:解决 conan profile path <nonexisting> 崩溃的错误。#13434

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

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

  • Bugfix: 即使 system_libs 只是头文件,也不要从依赖项中省略它们。 #13364

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

  • Bugfix: 兼容性插件中针对自定义编译器提供更友好的错误提示。 #13328

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

2.0.1 (03-Mar-2023)

  • Feature: 在配置安装中,为 --verify-ssl 添加 –insecure 别名。 #13270。文档请参考 这里

  • Feature: 为 conan config install 添加 .conanignore 支持。 #13269。文档请参考 这里

  • Feature: 使异常的详细回溯信息通过 -vv-vvv 显示,而不是 1.X 中使用的自定义环境变量。 #13226

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

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

  • Fix: 移除 CMakeToolchainCMakePresets schema2 和 CMakeUserPresets.json 的旧版支持。 #13288。文档请参考 这里

  • Fix: 移除 --logger json 日志和旧版跟踪。 #13287。文档请参考 这里

  • Fix: 修复 conan remote auth 帮助中的拼写错误。 #13285。文档请参考 这里

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

  • Fix: 不要自动检测 compiler.runtime_type 用于 msvc,依赖配置文件插件。 #13277

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

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

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

  • Fix: 恢复构建命令的配置文件的打印。 #13214

  • Fix: 更改 conan build 参数“path”的描述,以表明它仅适用于 conanfile.py,并明确说明它不适用于 conanfile.txt。 #13211。文档请参考 这里

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

  • Fix: 修复错误消息和自述文件中的文档链接。 #13186

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

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

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

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

  • Bugfix: CMakeDeps 为 tool_requires 生成文件,其 build_type 与 “host” 上下文相同。 #13267

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

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

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

2.0.0 (22-Feb-2023)

  • Feature: 将 apple-clang 的默认配置文件 cppstd 更改为 gnu17。 #13185

  • Feature: 新的 conan remote auth 命令强制远程身份验证 #13180

  • Fix: 允许在 test_requires(..., options={}) 中定义选项特征 #13178

  • Fix: 统一 Conan 命令帮助消息。 #13176

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

  • Feature: 改进的全局 Conan 输出消息(create、install、export 等) #12746

2.0.0-beta10 (16-Feb-2023)

  • Feature: 向 conan list 命令添加基本 html 输出。 #13135

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

  • Feature: 向 remote add 添加 –force 参数。 #13112

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

  • Feature: 允许在 recipe 的 layout() 中定义 self.folders.build_folder_vars#13109

  • Feature: 阻止 settings 分配。 #13099

  • Feature: 改进 conan editable ui。 #13093

  • Feature: 允许用户扩展 Conan 生成的 CMakePresets。 #13090

  • Feature: 添加错误消息以帮助将 recipe 迁移到 2.0,包括来自 ConanCenter 和用户存储库的 recipe。 #13074

  • Feature: 在 conan new 模板中移除 shared 的 option.fPIC。 #13066

  • Feature: 添加 conan cache clean 子命令以清除构建和源文件夹。 #13050

  • Feature: 实现可定制的 CMakeToolchain.presets_prefix,以便预设名称在其前面添加此前缀。 #13015

  • Feature: 将 [system_tools] 部分添加到配置文件,以使用您自己安装的工具,而不是在 requires 中声明的包。 #10166

  • Fix: 修复 powershell 转义。 #13084

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

2.0.0-beta9 (31-Jan-2023)

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

  • Feature: 实现 tools.build:download_source conf 以强制在 conan installconan graph info 中安装源。 #13003

  • Feature: 用户可以在 settings_user.yml 中定义自己的设置,这些设置将与 Conan 的 settings.yml 合并。 #12980

  • Feature: 也列出已禁用的远程仓库。 #12937

  • Fix: PkgConfiDeps 使用来自依赖项的错误的 dependencies.host,而不是 get_transitive_requires() 计算。 #13013

  • Fix: 修复 CMakeDeps 中传递共享的 linux 库。 #13010

  • Fix: 修复 test_package 输出文件夹的问题。 #12992

  • Fix: 改进错误方法的错误消息。 #12962

  • Fix: 修复由于数据库并发问题导致的并行包下载失败。 #12930

  • Fix: 启用针对已禁用远程仓库的身份验证。 #12913

  • Fix: 改进 system_requirements。 #12912

  • Fix: 将 tar 格式更改为 PAX,这是 Python3.8 的默认格式。 #12899

2.0.0-beta8 (12-Jan-2023)

  • Feature: 为那些在需要与 Conan 1.x 兼容的 recipe 的 package_info 中使用 unix_path_package_info_legacy 函数的情况添加了该函数。 在 Conan 2 中,路径转换不应在 package_info 方法中执行。 #12886

  • Feature: 用于 conan list 的新序列化 json 和打印。 #12883

  • Feature: 添加 requirements 到 conan new cmake_{lib,exe} #12875

  • Feature: 允许 --no-remotes 强制暂时禁用远程仓库 #12808

  • Feature: 向 conan new 添加简化的模板选项。 #12802

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

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

  • 特性:允许链式调用 self.output 的写入方法 #12780

  • 修复:使 graph info 过滤器也能在 JSON 输出上工作 #12836

  • Bug修复:修复了在使用 AutotoolsToolchain 并在 Windows 上进行交叉编译时传递有效的 GNU triplet 的错误。 #12881

  • Bug修复:修复了 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 缓存路径命令 #12554

  • 特性:改进从 remove/upload/download 选择 #latest 和 pattern 的方式 #12572

  • 特性:添加 build_modules 到提供的弃用警告,以便从 1.x 迁移 #12578

  • 特性:Lockfiles 别名支持 #12525

2.0.0-beta5 (2022年11月11日)

  • 特性:改进 remotes 管理和 API #12468

  • 特性:在 Conan 2.0 中将 env_info 和 user_info 实现为伪属性 #12351

  • 特性:改进 settings.rm_safe() #12379

  • 特性:新的 RecipeReference 相等性比较 #12506

  • 特性:简化 .tgz 文件的压缩和解压缩 #12378

  • 特性:conan source 命令不需要默认 profile #12475

  • 特性:创建了一个适当的 LockfileAPI,具有详细的方法(update、save 等),而不是几个松散的方法 #12502

  • 特性:conan export 也可以生成 lockfiles,对于执行 2 步过程(export + install–build)的用户来说是必要的 #12502

  • 特性:删除 compat_app #12484

  • 修复:修复 transitive_headers=True 的传递性传播 #12508

  • 修复:修复静态库的 transitive_libs=False 的传递性传播 #12508

  • 修复:修复 python_requires 的 test_package #12508

2.0.0-beta4 (2022年10月11日)

  • 特性:不允许使用 revision_mode=scm 对未提交的更改执行 conan create/export #12267

  • 特性:简化 conan inspect 命令,删除 path 子命令 #12263

  • 特性:向 graph info 命令添加 –deploy 参数 #12243

  • 特性:将 graph 对象传递给 deployers,而不是 ConanFile #12243

  • 特性:向 conan.tools.scm.Git 添加 included_files 方法 #12246

  • 特性:改进 clang libcxx 的检测 #12251

  • 特性:删除旧的 profile variables 系统,改用 profiles 中的 Jinja2 语法 #12152

  • 修复:Update 命令遵循关于 CLI 输出的 Conan 2.0 约定 #12235

  • 修复:修复钻石结构中测试特征的聚合 #12080

2.0.0-beta3 (2022年9月12日)

  • 特性:将 test_package 与 create 分离。 #12046

  • 特性:如果导出的 refs 中存在特殊字符,则发出警告。 #12053

  • 特性:改进 MSBuildDeps 特性。 #12032

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

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

  • 修复:修复 deployers 不创建 output_folder 的问题。 #11977

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

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

  • Bug修复:如果在构建 profile 和 recipe 中未指定“os”,并且 Windows 想要运行命令。 #11728

2.0.0-beta2 (2022年7月27日)

  • 特性:在 MSBuildDeps 中添加特性支持。 #11680

  • 特性:在 XcodeDeps 中添加特性支持。 #11615

  • 特性:让依赖项定义 package_id 模式。 #

  • 特性:添加 conan.conanrc 文件来设置 conan 用户主目录。 #11675

  • 特性:添加 core.cache:storage_path 来声明要存储 Conan 包的绝对路径。 #11672

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

  • 特性:添加一个在构建失败时调用的 post_build_fail hook。 #11593

  • 特性:添加 pre_generatepost_generate hook,涵盖围绕 generate() 方法调用生成文件的过程。 #11593

  • 特性:带回 conan config list 命令和其他 conf 改进。 #11575

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

2.0.0-beta1 (2022年6月20日)

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

  • 特性:新的、有文档记录的公共 Python API,用于用户自动化

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

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

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

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

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

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

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

  • 特性:更好的配置,使用 [conf],以及更好的环境管理,使用新的 conan.tools.env 工具。

  • 特性:Conan 缓存现在可以同时存储多个修订版本。

  • 特性:新的扩展插件,用于实现 profile 检查、包签名和构建命令包装。

  • 特性:使用包不变性来改进更新、安装和上传流程。