Asciidoctor.js 版本和生命周期政策

2.0.0 及更高版本政策

Asciidoctor 将遵循 语义化版本 控制规则,从 Asciidoctor.js 2.0.0 版本开始。每个 Asciidoctor.js 版本将按 major.minor.patch 的格式进行版本控制。

  • 主版本(Major) 主版本更新发生在功能发生重大变化或新功能破坏了向后兼容性时。同一主版本号内的版本将保持 API 兼容性。

  • 次版本(Minor) 次版本更新添加新特性、改进现有功能以及修复不破坏向后兼容性的 bug。只有最新的主版本会接收新特性。

  • 修补版本(Patch) 修补版本修复 bug 并保持向后兼容性。只有最新的次版本和两个最新主版本中的次版本会接收修补更新。修补版本会根据修复的紧急性进行发布。

  • 预发布版本(Pre-release) 主版本和次版本可能包含预发布版本(major.minor.patch-alpha.n | -beta.n | -rc.n)。一旦候选版本(rc)经过充分测试,稳定版本将发布。

2.0.0 及更高版本生命周期政策

Asciidoctor.js 只会支持最近两个主要版本。当一个新的主要版本进入正式发布(GA)阶段时,前一个主要版本将进入维护阶段。

生命周期阶段

  • 正式发布(General Availability, GA) 软件在发布初始的主要版本并可供下载时进入正式发布阶段。

  • 活跃支持(Active Support, AS) 当一个主要版本进入正式发布时,活跃支持阶段开始。进入活跃支持阶段的版本会主动维护,包括新特性和 bug 修复。任何时候只能有一个主要版本处于活跃支持状态。换句话说,当新版本进入正式发布时,活跃支持将结束。

  • 维护支持(Maintenance Support, MS) 当新版本进入活跃支持阶段时,维护支持阶段开始。进入维护支持阶段的版本只会接收 bug 修复。任何时候只能有一个主要版本处于维护支持状态。换句话说,维护支持将在活跃支持版本进入维护支持时结束。

  • 生命周期结束(End of Life, EOL) 生命周期结束后的软件将不再接收维护更新。

JavaScript 平台支持

  • Node.js 支持将提供给最新的活跃 LTS(长期支持)版本。请查看 Node.js 发布计划以了解最新的活跃 LTS 版本。

  • 浏览器 支持将提供给所有现代浏览器的最新版本,并且这些浏览器在 caniuse.com 提供的使用表中至少有 1% 的使用率。请注意,Asciidoctor.js 可能在旧版本浏览器上也能工作(使用 Polyfill 或不使用),但不能保证。

  • Nashorn Nashorn 不再积极维护,应该将精力集中在 GraalVM 上。有关详细信息,请参考 JDK 提案(JEP)以弃用 Nashorn JavaScript 引擎。

  • GraalVM 支持 支持将提供给最新稳定版本的 GraalVM。