React Native 0.68 リリースのお知らせ
皆さんこんにちは!本日は、新React Nativeアーキテクチャへのオプトイン、バグ修正などを含む、React Native 0.68.0 リリースを発表いたします。
セクション
0.68 のハイライト
Andrei Calazans は、0.68 がもたらす最も関連性の高い変更の選定に協力してくれました。
破壊的変更とバージョンアップ
このバージョンにはいくつかの破壊的変更が含まれています。
- React Native は最新の LTS である Node 16 に更新されました。CI では LTS と以前の LTS の両方をテストしているため、この変更により、ユーザーは Node >= 14 のバージョンを使用する必要があります。
- Android Gradle Plugin は 7.0.1 に更新され、Android ビルドに JDK 11 が適用されるようになりました。そのため、構成をアップグレードしてください(Intel と M1 Mac の両方で `zulu11` JDK を使用することをお勧めします)。
- iOS の `RCTBundleURLProvider` API から `fallbackResource` が削除されました。このパラメーターは、置き換えずにメソッド呼び出しから安全に削除できます。
ツールも更新されました - 主要な更新点は次のとおりです。
- @react-native-community/cli を 7.0.3 に
- Metro を 0.67 に
- react-devtools-core の依存関係を 4.23.0 に
- Flipper を 0.125.0 に
- react-native-codegen を 0.0.9 に
- Kotlin を 1.6.10 に
- Soloader を 0.10.3 に
- Gradle を 7.3 に
- Android コンパイルおよびターゲット SDK を 31 に
また、このコミット ( Nicola Corti による) により、Android Gradle Plugin は NDK のデフォルトバージョンを自動的にダウンロードするため、個別に指定してインストールする必要がなくなりました。
その他の改善点
このリリースには他にも多くの変更と修正が含まれていますが、その中からいくつか興味深いものを紹介します。
- Gijs Weterings は RCTModalHostView への Forwarding testID を修正 し、モーダルの E2E ターゲティングを容易にしました。
- Liam Jones は 問題を修正 し、`console.error` を呼び出すと LogBox と共に RedBox が表示されるのを防ぎました。
- Sam Kline は Android の開発モードで BundleDownloader エラーが発生した後、空の空白画面が表示される問題を修正 しました。
- Jeffrey Hyer は 問題を修正 し、`onLayout` プロップを使用して KeyboardAvoidingView が期待通りに動作しない問題を解決しました。
変更点の完全なリストについては、こちらのリンクの変更ログ をご覧ください。
謝辞
このリリースには、68人のコントリビューターによる614個のコミットが含まれています!皆さんに感謝いたします!
安定版 0.68.0 リリースの前に回帰を検出するのに役立ったリリーステスターとサポーターにも感謝申し上げます。皆さんの貢献はこのリリースの成功に非常に貴重です!
あなた、あなたのアプリ、またはあなたの会社が「リリーステスター」プログラムへの参加に関心がある場合は、こちらから登録できます。
新アーキテクチャへのオプトイン
上記で簡単に説明したように、React Native 0.68 は Fabric レンダラーと TurboModule システムをオプトインでサポートする最初のバージョンです。これは、新しい React Native アーキテクチャのロールアウトにとって重要なマイルストーンとなります。変更点について理解を深めるために、新しいシステムの内部に関する詳細なガイドを掲載したアーキテクチャセクションをウェブサイトに追加しました。
同時に、ドキュメントに移行ガイドを追加し、ニューアーキテクチャ専用のワーキンググループを立ち上げました。オプトイン方法を含む詳細情報は、以前のブログ投稿をご覧ください。
ニューアーキテクチャはまだ微調整が必要です。依存しているサードパーティライブラリの一部はまだ移行されていない可能性があり、まだ発見されていない問題が発生する可能性があります。そのような問題が発生した場合は、ニューアーキテクチャワーキンググループにご報告ください。
React 18について:React 18の新しいレンダリングエンジンは、React Native 0.68ではサポートされていません。これは将来のバージョンで対応される予定です。これは、React 18がReact 18発表ブログ投稿で紹介されている新機能を活用するために、ニューアーキテクチャに依存しているためです。詳細については、React Conf基調講演をご覧ください。
ウェブサイトの更新
メインコードベースの改善に加え、Simek、Megatron4537、slorberの協力を得て、ウェブサイトにも多くの改善が加えられました!特に、トップツールバーの新しいセクションから、React Nativeへの貢献方法を学ぶことができるようになりました。「Contributing」セクションと新しい「Architecture」セクションは、バージョン管理されなくなりました。つまり、各React Nativeバージョンごとに1つずつではなく、これらのセクションは1つだけになりました。