跳至內容

版本發布

Vite 的版本發布遵循語義化版本。您可以在 Vite npm 套件頁面中查看 Vite 的最新穩定版本。

過去版本發布的完整更新日誌可在GitHub 上找到

發布週期

Vite 沒有固定的發布週期。

  • 修補 (Patch) 版本會根據需要發布(通常每週一次)。
  • 次要 (Minor) 版本總是包含新功能,並根據需要發布。次要版本總是有 beta 預發布階段(通常每兩個月一次)。
  • 主要 (Major) 版本通常與 Node.js EOL 時間表一致,並會提前公告。這些版本將會與生態系統進行長期討論,並具有 alpha 和 beta 預發布階段(通常每年一次)。

Vite 團隊支援的 Vite 版本範圍會自動根據以下條件決定:

  • 目前的次要版本 會定期獲得修復。
  • 前一個主要版本(僅限其最新的次要版本)和前一個次要版本會收到重要的修復和安全性修補程式。
  • 倒數第二個主要版本(僅限其最新的次要版本)和倒數第二個次要版本會收到安全性修補程式。
  • 在此之前的所有版本都不再受支援。

例如,如果 Vite 最新版本為 5.3.10:

  • 會針對 vite@5.3 發布定期修補程式。
  • 重要的修復和安全性修補程式會向後移植到 vite@4vite@5.2
  • 安全性修補程式也會向後移植到 vite@3vite@5.1
  • vite@2vite@5.0 不再受支援。使用者應升級以接收更新。

我們建議定期更新 Vite。當您更新到每個主要版本時,請查看遷移指南。Vite 團隊與生態系統中的主要專案密切合作,以確保新版本的品質。我們在通過 vite-ecosystem-ci 專案發布新版本之前會先測試它們。大多數使用 Vite 的專案應該都能夠在發布後立即提供支援或遷移到新版本。

語義化版本邊緣案例

TypeScript 定義

我們可能會在次要版本之間對 TypeScript 定義進行不相容的變更。這是因為:

  • 有時候 TypeScript 本身會在次要版本之間發布不相容的變更,我們可能必須調整類型以支援較新版本的 TypeScript。
  • 有時候我們可能需要採用僅在較新版本的 TypeScript 中才可用的功能,從而提高 TypeScript 的最低要求版本。
  • 如果您正在使用 TypeScript,您可以使用鎖定目前次要版本的 semver 範圍,並在發布新版本的 Vite 次要版本時手動升級。

esbuild

esbuild 是 1.0.0 之前的版本,有時候它會有一些重大變更,我們可能需要包含這些變更才能存取較新的功能和效能改進。我們可能會在 Vite 次要版本中提高 esbuild 的版本。

Node.js 非 LTS 版本

非 LTS Node.js 版本(奇數編號)不會作為 Vite CI 的一部分進行測試,但它們應該在其 EOL 之前仍然可以運作。

預發布版本

次要版本通常會經歷不固定數量的 beta 版本。主要版本將經歷 alpha 階段和 beta 階段。

預發布版本允許早期採用者和生態系統的維護人員進行整合和穩定性測試,並提供回饋。請勿在生產環境中使用預發布版本。所有預發布版本都被視為不穩定,並且可能在版本之間發布重大變更。使用預發布版本時,請務必釘選到確切的版本。

棄用

我們會定期棄用在次要版本中已被更好的替代方案取代的功能。棄用的功能將繼續運作,並帶有類型或記錄的警告。它們將在進入棄用狀態後的下一個主要版本中移除。每個主要版本的遷移指南將列出這些移除並記錄它們的升級路徑。

實驗性功能

某些功能在 Vite 的穩定版本中發布時會被標記為實驗性功能。實驗性功能允許我們收集真實世界的經驗,以影響其最終設計。目標是讓使用者通過在生產環境中測試它們來提供回饋。實驗性功能本身被視為不穩定,應僅在受控制的方式下使用。這些功能可能會在次要版本之間發生變化,因此使用者在依賴它們時必須釘選他們的 Vite 版本。我們將為每個實驗性功能建立GitHub 討論

根據 MIT 授權發布。 (ccee3d7c)