Change8

v0.78.1

Breaking Changes
📦 react-nativeView on GitHub →
1 breaking2 features🐛 6 fixes🔧 6 symbols

Summary

React Native 0.78.1 addresses critical bugs including Android Image runtime errors, iOS TextInput crashes on Apple Silicon, and DevTools stability, while providing a workaround for a Metro configuration incompatibility.

⚠️ Breaking Changes

  • Incompatibility between resolver.unstable_enablePackageExports and @react-native/metro-config defaults causing 'interopRequireDefault is not a function' error. Fix by setting resolver.unstable_conditionNames = ['react-native'] in Metro config.

Migration Steps

  1. If using unstable_enablePackageExports, update your Metro configuration to include resolver.unstable_conditionNames = ['react-native'] to avoid interop errors.

✨ New Features

  • iOS: Added custom load JS block in bridge mode.
  • iOS: Call extraModulesForBridge callback in the New Architecture.

🐛 Bug Fixes

  • Deps: Resolved cli-server-api via peer dependency on cli in community-cli-plugin.
  • DevTools: Fixed disconnections occurring under significant network strain.
  • Android: Fixed Image defaultSource runtime error.
  • Android: Fixed elevation rendering when border-radius is set.
  • iOS: Fixed TextInput crashes when entering text on Apple Silicon Macs running iOS apps.
  • iOS Interop Layer: Properly pass nil for nullable parameters instead of NSNull for legacy modules.

🔧 Affected Symbols

resolver.unstable_enablePackageExportsresolver.unstable_conditionNamesextraModulesForBridgeImageTextInputcli-server-api