$ the-wire · showcase
React Native 0.88.0-rc.0 is out with the Touchable root export removed
By RepoJournal · Filed · About Meta
React Native 0.88.0-rc.0 ships a breaking removal and a new TurboModules addition, while React and Android fixes land across both repositories.
React Native 0.88.0-rc.0 drops the undocumented `Touchable` root export; if you were extending `Touchable` as a type, switch to `ViewProps` [1]. The release also adds `RCTArrayBuffer`, the ObjC representation of a JS `ArrayBuffer` for TurboModules, with an explicit byte-ownership contract [1]. This is a breaking change: code that imported the `Touchable` root export will fail to compile until updated.
Android SurfaceMountingManager gets a fix that bumps `androidx.collection` to 1.4.4 to avoid `MutableIntObjectMap` corruption, which would drop mount instructions after remove-heavy sequences [2]. A codegen fix ensures `react-native.config.cjs` is read, so ESM projects configured with it are no longer silently skipped by codegen [3]. The react-private-interface now exposes `ReactNativeFeatureFlags`, removing the fallback to file-based resolution that Metro warned about when rendering virtualized lists [4].
In React, DevTools gains an independent npm publish workflow for `react-devtools-cdt-mcp`, hardening the release process with empty default permissions, OIDC trusted publishing, and no `NPM_TOKEN` [5]. The Rust compiler's `js_to_int32` now matches JS semantics for large numbers: `1e21 | 0` returns -559939584 instead of -1 [6]. A Flight fix keeps an element pending while a referenced row resolves, preventing handlers from completing with partially built objects [7].
Action items
- → Review code that extends the undocumented `Touchable` type and migrate to `ViewProps` before upgrading to React Native 0.88 facebook/react-native [plan]
- → Ensure your Android build resolves androidx.collection 1.4.4 or later to avoid the SurfaceMountingManager corruption facebook/react-native [immediate]
- → If you use react-native.config.cjs in an ESM project, test codegen with the fix once it lands in a release facebook/react-native [monitor]
References
- [1] 0.88.0-rc.0 ↗ facebook/react-native
- [2] fix(android): bump androidx.collection to 1.4.4 to avoid MutableIntObjectMap corruption in SurfaceMountingManager (#58389) ↗ facebook/react-native
- [3] fix(codegen): read react-native.config.cjs so ESM projects are not silently skipped (#58394) ↗ facebook/react-native
- [4] Expose ReactNativeFeatureFlags through react-private-interface (#57940) ↗ facebook/react-native
- [5] [DevTools] Add an independent npm publish workflow for react-devtools-cdt-mcp (#37498) ↗ facebook/react
- [6] [rust-compiler] Fix js_to_int32 to match js semantics ↗ facebook/react
- [7] [Flight] Keep an element pending while a referenced row is resolving (#37542) ↗ facebook/react