跳到内容

版本发布

Vite 的版本发布遵循 语义化版本。你可以在 Vite npm 包页面查看 Vite 最新的稳定版本。

完整的历史版本更新日志可以在 GitHub 上查看

发布周期

Vite 没有固定的发布周期。

  • Patch 版本会根据需要发布(通常每周一次)。
  • Minor 版本总是包含新功能,会根据需要发布。Minor 版本总会有一个 beta 预发布阶段(通常每两个月一次)。
  • Major 版本通常与 Node.js EOL 时间表一致,并且会提前公布。这些版本的发布会经过与生态系统的长期讨论,并有 alpha 和 beta 预发布阶段(通常每年一次)。

Vite 团队支持的 Vite 版本范围由以下因素自动决定

  • 当前 Minor 版本会定期修复。
  • 前一个 Major 版本(仅限其最新的 minor 版本)和前一个 Minor 版本会收到重要的修复和安全补丁。
  • 倒数第二个 Major 版本(仅限其最新的 minor 版本)和倒数第二个 Minor 版本会收到安全补丁。
  • 这些版本之前的所有版本都不再支持。

例如,如果 Vite 最新版本是 5.3.10

  • 会为 vite@5.3 发布常规补丁。
  • 重要的修复和安全补丁会向后移植到 vite@4vite@5.2
  • 安全补丁也会向后移植到 vite@3vite@5.1
  • vite@2vite@5.0 不再支持。用户应该升级以获取更新。

我们建议定期更新 Vite。当您更新到每个 Major 版本时,请查看迁移指南。Vite 团队与生态系统中的主要项目紧密合作,以确保新版本的质量。我们在通过vite-ecosystem-ci 项目发布新的 Vite 版本之前对其进行测试。大多数使用 Vite 的项目应该能够快速提供支持或迁移到新版本。

语义化版本边缘情况

TypeScript 定义

我们可能会在 minor 版本之间发布与 TypeScript 定义不兼容的更改。这是因为

  • 有时 TypeScript 本身会在 minor 版本之间发布不兼容的更改,我们可能需要调整类型以支持较新版本的 TypeScript。
  • 有时我们可能需要采用仅在新版本 TypeScript 中可用的功能,从而提高所需的最低 TypeScript 版本。
  • 如果您正在使用 TypeScript,则可以使用 semver 范围锁定当前的 minor 版本,并在发布新的 Vite minor 版本时手动升级。

esbuild

esbuild 是 1.0.0 之前的版本,有时它会有破坏性更改,我们可能需要包含这些更改才能访问较新的功能和性能改进。我们可能会在 Vite Minor 版本中提升 esbuild 的版本。

Node.js 非 LTS 版本

非 LTS Node.js 版本(奇数编号)没有作为 Vite CI 的一部分进行测试,但它们应该仍然可以在其EOL之前工作。

预发布版本

Minor 版本通常会经历数量不固定的 beta 版本。Major 版本将经历 alpha 阶段和 beta 阶段。

预发布版本允许早期采用者和生态系统中的维护人员进行集成和稳定性测试,并提供反馈。不要在生产环境中使用预发布版本。所有预发布版本都被认为是未稳定的,并且可能在彼此之间发布破坏性更改。使用预发布版本时,请始终锁定到确切版本。

弃用

我们会定期弃用已被 Minor 版本中更好的替代方案取代的功能。已弃用的功能将继续工作,并带有类型或记录的警告。它们将在进入弃用状态后的下一个 major 版本中删除。每个 major 版本的迁移指南将列出这些删除并记录它们的升级路径。

实验性功能

某些功能在 Vite 的稳定版本中发布时被标记为实验性功能。实验性功能允许我们收集真实世界的经验来影响其最终设计。目的是让用户通过在生产环境中对其进行测试来提供反馈。实验性功能本身被认为是未稳定的,只应以受控方式使用。这些功能可能会在 Minor 版本之间发生变化,因此用户必须在依赖这些功能时锁定其 Vite 版本。我们将为每个实验性功能创建一个 GitHub 讨论

在 MIT 许可下发布。(083ff36d)