Javascript React Native

React Native v0.60.x released6 min read

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

CLI autolinking support (5954880, da7d3df by @zhongwuzw and @hramos)
New Intro screen (6b393b2, 233fddb, fe88e9e, aa926e3, a9e8a71, ad4a5d9, and 0245fd7 by @cpojer, @eliperkins, @lucasbento, and @orta)
Add enhanced accessibility actions support (14b4668 by @xuelgong)
Add additional accessibility roles and states (1aeac1c)
Add isReduceMotionEnabled() plus reduceMotionChanged to AccessibilityInfo (0090ab3 by @estevaolucas])
Add support for cancelling fetch requests with AbortController (h5e36b0c by @janicduplessis)

Android specific

Enable views to be nested within Text; this brings feature parity to Android, but be aware that it has some limitations (a2285b1 by @rigdern)
Add a touchSoundDisabled prop to Button, Touchable, and TouchableWithoutFeedback (45e77c8 by @yurykorzun)

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 [email protected] (5447196 by @janicduplessis)

Android specific

Use class canonical name for PARTIAL_WAKE_LOCK tag (88dbb45 by @timwangdev)

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

NetInfo has been removed; its replacement is now available via the react-native-community/netinfo package (5a30c2a by @cpojer)
WebView has been removed; its replacement is now available via the react-native-community/webview package (, 1ca9a95, and 954f715 by @cpojer and @thorbenprimke)
Geolocation has been removed; its replacement is now available via the react-native-community/geolocation package (17dbf98 and 9834c58 by @cpojer and @mmmulani)

Fixed

Fix Animated.Value value after animation if component was re-mounted (b3f7d53 by @michalchudziak)
Consistent reporting native module name on crash on native side (d6c33f9 and b79d7db by @DimitryDushkin)
Handle null filenames in symbolicated stack trace gracefully in ExceptionsManager (2e8d39b by @motiz88)
Fix HasteImpl platform name regex (28e0de0 by @CaptainNic)
Fix a JS memory leak in Blob handling; this resolves multiple leaks around fetch (c5c79e5 and 9ef5107 by @janicduplessis)
SectionList‘s scrollToLocation now scrolls to the top of the sticky header as expected (d376a44 by @danilobuerger)

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 PARTIALWAKELOCK 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

Call designated initializer for SurfaceHostingProxyRootView (3c125e8 by @zhongwuzw)
Fix RedBox JS symbolication when adding JS engine tag to the message (920632c by @motiz88)
Fix TextInput‘s onSelectionChange behavior in single line text inputs (fc8008e by @zhongwuzw)
Fix accesibility problem with TextInput Clear Button (4e37d37 by @shergin)
Fix renderingMode not applied to GIF Images (75380aa by @zhongwuzw)
Fix ScrollView centerContent not work in some cases (2cdf969 by @zhongwuzw)
Fix crash on performance logger (5d3d398 by @zhigang1992)
Do not run packager in Release mode (4ea6204 by @lucasbento)
Fix code and reason arguments being ignored when calling WebSocket.close (0ac2171 by @jeanregisser)
Fix return value of Linking.openURL() (4a5d0bd by @thib92)
When an accessibilityLabel can’t be discerned, return nil instead of @”” (d4ff5ed by @sammy-SC)
Fix Xcode build when the project’s path contains whitespace (f0770b6)
Move accessibility props to UIView+React (9261035 by @janicduplessis)React Admin Templates and Themes

Pin It on Pinterest

Generated by Feedzy