v0.78.0
Breaking Changes📦 react-nativeView on GitHub →
⚠ 9 breaking✨ 12 features🐛 2 fixes🔧 14 symbols
Summary
This release introduces breaking changes to Android and iOS APIs, including the removal of several Android classes and a change in iOS Image event units. Key additions include improved console.table support, system font support on iOS, and enhanced Codegen capabilities.
⚠️ Breaking Changes
- Codegen: Component array types and command array types are now separated.
- React Native devTools: The FuseboxClient.setClientMetadata CDP method is removed. Use ReactNativeApplication.enable instead.
- Android: FrescoBasedReactTextInlineImageViewManager visibility changed to internal.
- Android: pointerEvents API migration breaks compatibility for Kotlin usages where it was accessed as a val.
- Android: RootView converted to Kotlin, which may affect inheritance or access in native code.
- Android: GuardedResultAsyncTask abstract class has been deleted.
- Android: FabricViewStateManager class has been deleted.
- Android: ComponentNameResolver removed from the public API.
- iOS: Image load event size info changed from logical size to pixel size.
Migration Steps
- Replace FuseboxClient.setClientMetadata calls with ReactNativeApplication.enable in devTools integrations.
- Update Kotlin implementations using pointerEvents to accommodate API changes from val to the new structure.
- Update iOS Image event handlers to account for dimensions being returned in pixels instead of logical points.
- If using FabricViewStateManager or GuardedResultAsyncTask on Android, switch to modern alternatives as these classes are removed.
✨ New Features
- C++: Added RawValue(Runtime*, jsi::Value&) constructor.
- Codegen: Include cxx modules in codegen schema.
- Logging: Added support for the second parameter of console.table to specify columns.
- Logging: Added 'jsEngine: hermes' to JS runtime Error prototype.
- Metro: Added --client-logs flag to opt in for legacy Metro log streaming.
- Text: Added pointerEvents to TextProps type.
- Android: ActivityIndicator now sets resource-id from the testID prop.
- Android: Configurable JitPack repository addition in Gradle.
- Android: Added getState method for StateWrapperImpl.
- iOS: Added source parameter to generate-codegen-artifacts to filter generated files.
- iOS: Support for system font families (system-ui, ui-sans-serif, etc.).
- iOS: Added disableKeyboardShortcuts property to TextInput for iPads.
🐛 Bug Fixes
- Android: Fixed schema types for component command params of Arrays in Codegen.
- Android: Added logging in ReactInstanceManager.onHostPause for null activity cases.
🔧 Affected Symbols
FuseboxClient.setClientMetadataReactNativeApplication.enableFrescoBasedReactTextInlineImageViewManagerpointerEventsRootViewGuardedResultAsyncTaskFabricViewStateManagerComponentNameResolverRawValueconsole.tableTextPropsStateWrapperImpl.getStateTextInput.disableKeyboardShortcutsNativeIntersectionObserverEntry