發布 React Native 0.67
祝大家新年快樂!今天我們要發布最新版本的 React Native 0.67.0,同時也會更新我們在過去幾個月中一直在進行的發布流程。
章節
0.67 的重點
如 Meta 的 2021 年下半年計畫中所述,React Native 正嘗試更頻繁地發布版本,以縮短新功能和修正 (例如全新架構) 進入社群的周轉時間。自然地,許多版本將著重於修正和改進。
以下是 0.67.0 中即將推出的一些值得注意的變更
- 精簡核心移除:DatePickerAndroid
- 將 Gradle 版本升級至 7.2,將 Kotlin 版本升級至 1.5.31 升級 Kotlin 和 Gradle 版本 (#32319)
- 一個值得注意的重點:0.67 繼續依賴 Hermes 0.9.0,與 0.66 相比沒有變更
您可以在此處找到完整變更日誌。
您可以在此討論中參與關於此版本狀態的對話 - 而且,一如既往,為了協助您升級到此版本,您可以使用升級助手 ⚛️
致謝
此版本包含379 次提交,由 74 位貢獻者完成!感謝所有貢獻者 (新舊皆然)!您可以在此處找到完整變更日誌。
我們也想感謝發布測試人員,他們協助我們確保 0.67.0 能夠在沒有任何大規模回歸的情況下到達您的程式碼庫。具體而言,我們要感謝
- 來自 Margelo 的 Marc Rousavy (@mrousavy),他發現了 Hermes 0.10 的回歸 (CI 測試永遠無法捕捉到),此問題將在 React Native 0.68 版本中的 Hermes 0.11 中修正。
- Reanimated 團隊在 0.67 RC 階段早期快速準備了其程式庫的 0.67 相容版本。
- 來自 Mattermost 的 Elias Nahum (@enahum)
- 與 Invertase 合作的 Mike Hardy (@mikeHardy)
我們也感謝 Rainbow、Comm 和 Ledger Live 也參與了「發布測試人員」計畫的試點 (更多詳細資訊如下)。
發布流程的改進
如前所述,React Native 一直在重組發布管道,以允許更頻繁的發布,以便更快地向社群推出新功能和修正。
在過去幾個月中,我們解決了一些延遲發布的問題。
協調與知識分享
我們投入了發布文件,以涵蓋如何執行發布、常見問題、發布問題的協調等 - 所有這些都可以在 react-native wiki 的此章節中找到。透過文件,發布不再受任何個人或部落知識的阻礙。
除了文件之外,我們還修訂了發布的協調,並將預發布狀態和修補程式的討論移至專門的討論群組:react-wg/react-native-releases。
責任釐清
隨著更多文件,發布工作可以擴展,如此一來,沒有任何一個人對於執行發布至關重要。
React Native 發布容易受到各種潛在故障點的影響,並且有很多依賴性和後續行動。考量到 React Native 的使用在社群中有所不同,因此讓利害關係人參與發布至關重要。我們定義了一組支援發布的角色和責任。
發布候選訊號
發布的另一個問題是取得良好的訊號,表明發布不會遭受建置回歸。這可以透過增加對測試建置變體等的投資來解決,但來自採用的訊號在一段時間內將繼續有用。
在 0.67 版本中,我們試點了「發布測試人員」計畫,讓從事開放原始碼應用程式的 React Native 開發人員承諾在其應用程式上測試發布候選版本。先前,沒有正式期望社群會測試發布候選版本以提出任何潛在問題。此計畫協助我們更快取得訊號,以確保發布的穩定性。
開放原始碼 React Native 應用程式特別有用,因為原始碼的可用性有助於偵錯任何回歸。透過此計畫,發布測試人員發現了 0.67 中的回歸,我們能夠解決此問題,而不會因錯誤的發布而困擾更廣大的社群。
有興趣協助 React Native 穩定新版本嗎?
協助我們捕捉回歸的一個好方法是將 React Native 預發布版本 react-native@next
或 react-native@nightly
整合到您的 CI。對於任何回歸,您可以提交發布問題並通知適當的討論。
如果您的應用程式或公司有興趣加入「發布測試人員」計畫,請前往 發布角色和責任 wiki 底部的專門章節以瞭解更多資訊。
最後,任何關於嘗試我們的發布候選版本或協助解除發布問題的協助,我們都非常感謝!