React Native v0.60.x released

v0.60.0 on GitHub (npm)


Release blog post


Changelog


This feature release of React Native includes many milestone changes for the platform. Please refer to the blog post for selected details. For upgrading users, some of the progress comes with breaking changes; manual intervention may be required for your app. We're also aware that existing CocoaPods integrations using use_frameworks are not out-of-the-box compatible with this version, but please consider various workarounds while we prepare a long-term solution for a future release. If you're interested in helping evaluate our next release (0.61), subscribe to the dedicated issue here.

Have you ever considered contributing to React Native itself? Be sure to check out Contributing to React Native.

Added

Android specific

iOS specific

  • Add announceForAccessibility and announcementFinished APIs for making screen reader announcemenets (cfe0032 by @rigdern)
  • Ability to force network requests to use WiFi using the allowsCellularAccess property. This can ensure that network requests are sent over WiFi if communicating with a local hardware device and is accomplished by setting a flag. Default behavior of allowing network connections over cellular networks when available is unchanged. (01c70f2 and 916186a by @bondparkerbondand @zhongwuzw)
  • $RN_CACHE_DIR can now be used to manually specify the iOS build cache directory (845eee4 by @hramos)

Changed

  • BREAKING Migrated to AndroidX; please see this thread for more details on this change
  • Cleanup RedBox message and stack output; it's now far easier to understand (49d26eb by @thymikee)
  • Add default scrollEventThrottle value to Animated.FlatList and Animated.SectionList; this now behaves consistently with Animated.ScrollView (933e65e by @janicduplessis)
  • Remove invariant on nested sibling VirtualizedLists without unique listKey props; they now trigger a RedBox (af5633b)
  • FlatList and VirtualizedList's default keyExtractor now checks item.id and item.key (de0d7cf by @sahrens)
  • SectionList's scrollToLocation on iOS now counts itemIndex like Android; both platforms are now consistent, and the itemIndex value 0 now represents scrolling to the first heading (248a108 by @vonovak)
  • Slightly speedup core initialization by moving native version check to DEV only (5bb2277 by @mmmulani)
  • react is now at v16.8.6 (53cec2d, ee681b7, and 6001acb by @kelset, @mdvacca, @gaearon)
  • react-native-community/cli is now at v2.0.0 (by @thymikee)
  • flow is now at v0.98 (0e1dfd4 by @nmote)
  • prettier is now at v1.17.0 (ff9f8f3)
  • metro packages are now at v0.54.1 (7ff3874, 343f0a1 by @motiz88)
  • Replace patched fetch polyfill with whatwg-fetch@3.0 (5447196 by @janicduplessis)

Android specific

iOS specific

  • BREAKING: Split React.podspec into separate podspecs for each Xcode project; your libraries will need to update for this change as well to avoid CocoaPods build errors (2321b3f by @fson)
  • Improve handling of native module exceptions; they are now propagated to crash reporting tools with the context and callstack (629708b by @pvinis)
  • Switch Slider onSlidingComplete event to a non-bubbling event on iOS to match Android (7927437 by @rickhanlonii)

Deprecated

  • StatusBar is no longer deprecated; thank you for the feedback (a203ebe by @cpojer)

Removed

Fixed

Android specific

  • Fix duplicate resource error in Android build (962437f and eb534bc by @mikehardy and @Dbroqua)
  • Reorder operations of native view hierarchy (5f027ec by @lunaleaps)
  • Fix performance regression from new custom fonts implementation (fd6386a by @dulmandakh)
  • Fix internal test case around disabled state of buttons (70e2ab2)
  • Fix extra call of PickerAndroid's onValueChange on initialization; now it is only called when selectedValue changes (82148da by @a-c-sreedhar-reddy)
  • Fix PickerAndroid will reset selected value during items update (310cc38 by @Kudo)
  • Fix unexpected PARTIAL_WAKE_LOCK when no headless tasks registered. (bdb1d43 by @timwangdev)
  • Fix calling TextInput's onKeyPress method when the user types an emoji (a5c57b4)
  • Fix value of TextInput's onSelectionChange start and end arguments by normalizing them (2ad3bb2 by @uqmessias)
  • In Linking.getInitialURL method, use the InteractionManager to wait for the current activity to finish initializing (c802d0b by @mu29)
  • Disable delta bundles on the first app run (e4aff42 by @wojteg1337)
  • In DatePickerAndroid, work around Android Nougat bug displaying the wrong the spinner mode (bb060d6 by @luancurti)
  • Fix crash in Animated Interpolation when inputMin === inputMax (7abfd23 by @olegbl)
  • Fix symbolication for RedBox and YellowBox when using delta bundling (a05e9f8 by @motiz88)
  • Fix CameraRoll crash on mime type guessing (ebeb893 by @Sroka)

iOS specific