版本控制策略#

从 vLLM 0.7.x 开始,vLLM Ascend 插件 (vllm-project/vllm-ascend) 项目遵循 PEP 440,以发布与 vLLM (vllm-project/vllm) 匹配的版本。

vLLM Ascend 插件版本#

每个 vLLM Ascend 版本都遵循 v[major].[minor].[micro][rcN][.postN] 的格式进行版本控制(例如 v0.7.3rc1v0.7.3v0.7.3.post1)。

  • 正式发布:通常每三个月发布一次,与 vLLM 上游发布周期和 Ascend 软件产品路线图仔细对齐。

  • 预发布:通常**按需**发布,使用 rcN 标识第 N 个候选版本。它们旨在在正式发布前支持用户的早期测试。

  • 发布后版本:通常**按需**发布,以解决正式版本中的小错误。与 PEP-440 的发布后版本说明约定不同,这些版本包含实际的错误修复,因为正式发布版本必须严格遵循 vLLM 的正式发布格式(v[major].[minor].[micro])。任何发布后版本都必须作为正式发布版本的补丁版本发布。

例如

  • v0.7.x:与 vLLM v0.7.x 版本匹配的第一个正式发布版本。

  • v0.7.3rc1:vLLM Ascend 的第一个预发布版本。

  • v0.7.3.post1:如果 v0.7.3 版本存在一些小错误,则为该版本发布的发布后版本。

发布兼容性矩阵#

下表是 vLLM Ascend 发布版本的兼容性矩阵。

vLLM Ascend

vLLM

Python

Stable CANN

PyTorch/torch_npu

v0.11.0

v0.11.0

>= 3.9 , < 3.12

8.3.RC2

2.7.1 / 2.7.1.post1

v0.12.0rc1

v0.12.0

>= 3.10, < 3.12

8.3.RC2

2.8.0 / 2.8.0

v0.11.0rc3

v0.11.0

>= 3.9, < 3.12

8.3.RC2

2.7.1 / 2.7.1.post1

v0.11.0rc2

v0.11.0

>= 3.9, < 3.12

8.3.RC2

2.7.1 / 2.7.1

v0.11.0rc1

v0.11.0

>= 3.9, < 3.12

8.3.RC1

2.7.1 / 2.7.1

v0.11.0rc0

v0.11.0rc3

>= 3.9, < 3.12

8.2.RC1

2.7.1 / 2.7.1.dev20250724

v0.10.2rc1

v0.10.2

>= 3.9, < 3.12

8.2.RC1

2.7.1 / 2.7.1.dev20250724

v0.10.1rc1

v0.10.1/v0.10.1.1

>= 3.9, < 3.12

8.2.RC1

2.7.1 / 2.7.1.dev20250724

v0.10.0rc1

v0.10.0

>= 3.9, < 3.12

8.2.RC1

2.7.1 / 2.7.1.dev20250724

v0.9.2rc1

v0.9.2

>= 3.9, < 3.12

8.1.RC1

2.5.1 / 2.5.1.post1.dev20250619

v0.9.1

v0.9.1

>= 3.9, < 3.12

8.2.RC1

2.5.1 / 2.5.1.post1

v0.9.1rc3

v0.9.1

>= 3.9, < 3.12

8.2.RC1

2.5.1 / 2.5.1.post1

v0.9.1rc2

v0.9.1

>= 3.9, < 3.12

8.2.RC1

2.5.1 / 2.5.1.post1

v0.9.1rc1

v0.9.1

>= 3.9, < 3.12

8.1.RC1

2.5.1 / 2.5.1.post1.dev20250528

v0.9.0rc2

v0.9.0

>= 3.9, < 3.12

8.1.RC1

2.5.1 / 2.5.1

v0.9.0rc1

v0.9.0

>= 3.9, < 3.12

8.1.RC1

2.5.1 / 2.5.1

v0.8.5rc1

v0.8.5.post1

>= 3.9, < 3.12

8.1.RC1

2.5.1 / 2.5.1

v0.8.4rc2

v0.8.4

>= 3.9, < 3.12

8.0.0

2.5.1 / 2.5.1

v0.7.3.post1

v0.7.3

>= 3.9, < 3.12

8.1.RC1

2.5.1 / 2.5.1

v0.7.3

v0.7.3

>= 3.9, < 3.12

8.1.RC1

2.5.1 / 2.5.1

注意

如果您正在使用 v0.7.3,请不要忘记同时安装 mindie-turbo

对于 vLLM Ascend 的主分支,我们通常使其与最新的 vLLM 版本以及 vLLM 的一个或两个较新提交哈希兼容。请注意,此表通常会更新,请定期查看。

vLLM Ascend

vLLM

Python

Stable CANN

PyTorch/torch_npu

main

v0.13.0 标签

>= 3.10, < 3.12

8.3.RC2

2.8.0 / 2.8.0

发布节奏#

发布窗口#

日期

事件

2025.12.16

v0.11.0 正式发布,v0.11.0

2025.12.13

候选版本,v0.12.0rc1

2025.12.03

候选版本,v0.11.0rc3

2025.11.21

候选版本,v0.11.0rc2

2025.11.10

候选版本,v0.11.0rc1

2025.09.30

候选版本,v0.11.0rc0

2025.09.16

候选版本,v0.10.2rc1

2025.09.04

候选版本,v0.10.1rc1

2025.09.03

v0.9.1 正式发布,v0.9.1

2025.08.22

候选版本,v0.9.1rc3

2025.08.07

候选版本,v0.10.0rc1

2025.08.04

候选版本,v0.9.1rc2

2025.07.11

候选版本,v0.9.2rc1

2025.06.22

候选版本,v0.9.1rc1

2025.06.10

候选版本,v0.9.0rc2

2025.06.09

候选版本,v0.9.0rc1

2025.05.29

v0.7.3 发布后版本,v0.7.3.post1

2025.05.08

v0.7.3 正式发布,v0.7.3

2025.05.06

候选版本,v0.8.5rc1

2025.04.28

候选版本,v0.8.4rc2

2025.04.18

候选版本,v0.8.4rc1

2025.03.28

候选版本,v0.7.3rc2

2025.03.14

候选版本,v0.7.3rc1

2025.02.19

候选版本,v0.7.1rc1

分支策略#

vLLM Ascend 包含两个分支:main 和 dev。

  • main:对应 vLLM 的 main 分支和最新的 1-2 个发布版本。它通过 Ascend CI 持续监控质量。

  • vX.Y.Z-dev:开发分支,使用 vLLM 的部分新版本创建。例如,v0.7.3-dev 是 vLLM v0.7.3 版本的开发分支。

提交通常应首先合并到 main 分支,然后再反向移植到 dev 分支,以尽可能降低维护成本。

维护分支和 EOL#

下表列出了分支状态。

分支

时间范围

摘要

维护中

大约 2-3 个小版本

接收错误修复;发布版本;CI 承诺

未维护

社区兴趣驱动

接收错误修复;不发布版本;无 CI 承诺

生命周期结束 (EOL)

不适用

分支不再接受更改

分支状态#

请注意,vLLM Ascend 将仅针对特定的 vLLM 发布版本进行发布,而不是针对每个版本。因此,您可能会注意到某些版本有对应的开发分支(例如 0.7.1-dev0.7.3-dev),而其他版本则没有(例如 0.7.2-dev)。

通常,vLLM 的每个小版本(例如 0.7)对应一个 vLLM Ascend 版本分支,并支持其最新版本(例如 0.7.3),如下所示:

分支

状态

注意

main

维护中

vLLM main 分支和 vLLM 0.12.0 标签的 CI 承诺

v0.11.0-dev

维护中

vLLM 0.11.0 版本的 CI 承诺

v0.9.1-dev

维护中

vLLM 0.9.1 版本的 CI 承诺

v0.7.3-dev

维护中

vLLM 0.7.3 版本的 CI 承诺

v0.7.1-dev

未维护

已被 v0.7.3-dev 替换

功能分支#

分支

状态

RFC 链接

计划合并时间

导师

rfc/long_seq_optimization

维护中

https://github.com/vllm-project/vllm/issues/22693

930

wangxiyuan

  • 分支:功能分支应以 rfc/ 为前缀,后跟功能名称,例如 rfc/feature-name

  • 状态:在合并到 main 分支或删除之前,功能分支的状态为 Maintained

  • RFC 链接:功能分支应创建带有相应 RFC 问题。创建功能分支需要 RFC 和至少两名维护者的批准。

  • 计划合并时间:功能分支的最终目标是合并到 main 分支。如果三个月以上未合并,导师维护者应评估是否删除该分支。

  • 导师:导师应该是 vLLM Ascend 的维护者,负责该功能分支。

向后兼容性#

对于 main 分支,vLLM Ascend 应与 vLLM main 分支和最新的 1-2 个发布版本一起工作。为确保向后兼容性,请执行以下操作:

  • Ascend E2E CI 会测试 main 分支和目标 vLLM 版本(例如 vLLM main 分支和 vLLM 0.8.4)。

  • 为确保代码更改与最新的 1-2 个 vLLM 版本兼容,vLLM Ascend 在代码中引入了版本检查机制。它首先检查已安装 vLLM 包的版本,然后决定使用哪种代码逻辑。如果用户遇到 InvalidVersion 错误,这可能表明他们安装了 vLLM 包的开发版或可编辑版。在这种情况下,我们提供环境变量 VLLM_VERSION,让用户指定要使用的 vLLM 包版本。

  • 文档更改应与最新的 1-2 个 vLLM 版本兼容。如果存在任何破坏性更改,应添加说明。

文档分支策略#

为降低维护成本,**所有分支的文档内容应保持一致,版本差异可以通过 docs/source/conf.py 中的变量来控制**。虽然这不是一项简单的任务,但这是我们应该努力遵循的原则。

版本

目的

代码分支

latest

最新开发分支的文档

vX.Y.Z-dev(在第一次正式发布后将变为 main

version

已发布历史版本的文档

Git 标签,如 vX.Y.Z[rcN]

stable(尚未发布)

最新正式发布分支的文档

在第一次正式发布后将变为 vX.Y.Z-dev

注意事项

  • latest 文档:匹配当前维护分支 vX.Y.Z-dev(在第一次正式发布后将变为 main)。它会持续更新以确保对最新版本的可用性。

  • version 文档:对应特定的已发布版本(例如 v0.7.3v0.7.3rc1)。发布后不再更新。

  • stable 文档(**尚未发布**):官方发布文档。发布后允许实时更新,通常基于 vX.Y.Z-dev。一旦提供了 stable 文档,非 stable 版本应显示一个标题警告: 正在 查看 最新 开发者 预览 文档。 点击 此处 查看 最新 稳定 版本的 文档。

软件依赖管理#

  • torch-npu:Ascend PyTorch 扩展 (torch-npu) 每 3 个月在 PyPi 上发布一个稳定版本,每月发布一个开发版本(又名 POC 版本),每天发布一个 nightly 版本。PyPi 稳定版本**可以**在 vLLM Ascend 正式版本中使用,每月开发版本**仅可以**在 vLLM Ascend RC 版本中使用以进行快速迭代,而 nightly 版本**不能**在 vLLM Ascend 的任何版本和分支中使用。