版本管理策略#

从 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 上游发布周期和昇腾软件产品路线图。

  • 预发布版本:通常按需发布,以 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

Triton Ascend

Mooncake

v0.18.0

v0.18.0

>= 3.10, < 3.12

8.5.1

2.9.0 / 2.9.0.post1+git4c901a4

3.2.0.dev20260322

3.9.0

v0.18.0rc1

v0.18.0

>= 3.10, < 3.12

8.5.1

2.9.0 / 2.9.0.post1+git4c901a4

3.2.0.dev20260322

3.8.9

v0.17.0rc1

v0.17.0

>= 3.10, < 3.12

8.5.1

2.9.0 / 2.9.0

3.2.0

v0.16.0rc1

v0.16.0

>= 3.10, < 3.12

8.5.1

2.9.0 / 2.9.0

3.2.0

v0.15.0rc1

v0.15.0

>= 3.10, < 3.12

8.5.0

2.9.0 / 2.9.0

3.2.0

v0.14.0rc1

v0.14.1

>= 3.10, < 3.12

8.5.0

2.9.0 / 2.9.0

3.2.0

v0.13.0

v0.13.0

>= 3.10, < 3.12

8.5.0

2.9.0 / 2.8.0.post2

3.2.0

v0.13.0rc2

v0.13.0

>= 3.10, < 3.12

8.5.0

2.8.0 / 2.8.0.post1

3.2.0

v0.13.0rc1

v0.13.0

>= 3.10, < 3.12

8.3.RC2

2.8.0 / 2.8.0

v0.12.0rc1

v0.12.0

>= 3.10, < 3.12

8.3.RC2

2.8.0 / 2.8.0

v0.11.0

v0.11.0

>= 3.9, < 3.12

8.3.RC2

2.7.1 / 2.7.1.post1

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 的 main 分支,我们通常会使其与最新的 vLLM 发布版本以及更新的 vLLM 提交哈希兼容。请注意,此表格会经常更新,请定期查看。

vLLM Ascend

vLLM

Python

Stable CANN

PyTorch/torch_npu

main

v0.18.0 标签

>= 3.10, < 3.12

8.5.0

2.9.0 / 2.9.0

发布节奏#

发布窗口#

日期

事件

2026.03.15

候选发布版本,v0.17.0rc1

2026.03.10

候选发布版本,v0.16.0rc1

2026.02.27

候选发布版本,v0.15.0rc1

2026.02.06

v0.13.0 正式版,v0.13.0

2026.01.26

候选发布版本,v0.14.0rc1

2026.01.24

候选发布版本,v0.13.0rc2

2025.12.27

候选发布版本,v0.13.0rc1

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 的主分支和最新的 1 或 2 个发布版本。该分支通过 Ascend CI 持续进行质量监控。

  • releases/vX.Y.Z:开发分支,随 vLLM 新版本的一部分创建。例如,releases/v0.13.0 是 vLLM v0.13.0 版本的开发分支。

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

维护分支与生命周期结束(EOL)#

下表列出了分支状态。

分支

时间范围

摘要

维护中

大约 2-3 个小版本

接收错误修复;生成发布版本;承诺持续集成(CI)

无人维护

社区兴趣驱动

接收错误修复;不生成发布版本;不承诺持续集成(CI)

生命周期结束(EOL)

不适用

该分支不再接受更改

分支状态#

请注意,vLLM Ascend 仅针对特定的 vLLM 发布版本进行发布,而非每个版本。因此,您可能会注意到某些版本有对应的开发分支(例如 releases/v0.13.0),而其他版本则没有(例如 releases/v0.12.0)。vLLM Ascend 的发布分支现在遵循 releases/vX.Y.Z 命名约定,取代了之前的 vX.Y.Z-dev 格式,以与 vLLM 的分支命名标准保持一致。

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

分支

状态

注释

main

维护中

对 vLLM 主分支和 vLLM 0.16.0 标签的 CI 承诺

releases/v0.13.0

维护中

对 vLLM 0.13.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

维护中

vllm-project/vllm#22693

930

wangxiyuan

  • 分支:特性分支应以 rfc/ 为前缀,后接特性名称创建,例如 rfc/feature-name

  • 状态:特性分支的状态为 Maintained,直至其被合并到主分支或删除。

  • RFC 链接:特性分支应随对应的 RFC 议题一同创建。创建特性分支需要 RFC 并获得至少两位维护者的批准。

  • 计划合并时间:特性分支的最终目标是合并到主分支。如果超过三个月仍未合并,导师维护者应评估是否删除该分支。

  • 导师:导师应为负责该特性分支的 vLLM Ascend 维护者。

向后兼容性#

对于主分支,vLLM Ascend 应与 vLLM 主分支及最新的 1 或 2 个发布版本兼容。为确保向后兼容性,请按以下步骤操作:

  • 主分支和目标 vLLM 发布版本(例如 vLLM 主分支和 vLLM 0.8.4)均通过 Ascend E2E CI 进行测试。

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

  • 文档更改应与最新的 1 或 2 个 vLLM 发布版本兼容。如有任何破坏性变更,应添加说明。

文档分支策略#

为降低维护成本,所有分支的文档内容应保持一致,版本差异可通过 docs/source/conf.py 中的变量进行控制。虽然这并非易事,但这是我们应努力遵循的原则。

版本

用途

代码分支

latest

主分支最新候选发布版本的文档

main 分支

rc version

候选发布版本的文档

vX.Y.ZrcN --> vX.Y.ZrcN 标签

version

历史发布版本的文档

vX.Y.Z --> releases/vX.Y.Z 分支

注释:

  • latest 文档:始终指向主分支的最新 rc 版本。

  • rc version 文档:发布后不再进行更新。

  • version 文档:持续更新 releases/vX.Y.Z 分支的文档以修复文档错误。

软件依赖管理#

  • torch-npu:Ascend Extension for PyTorch(torch-npu)每 3 个月在 PyPI 发布一个稳定版本,每月发布一个开发版本(亦称 POC 版本),每日发布一个 nightly 版本。PyPI 稳定版本可以用于 vLLM Ascend 正式版,月度开发版本仅能用于 vLLM Ascend RC 版本以进行快速迭代,nightly 版本不能用于 vLLM Ascend 的任何版本或分支。