React Native v0.60.0 Release Notes
Release Date: 2019-07-03 // almost 5 years ago-
๐ 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 (5954880875, da7d3dfc7d by @zhongwuzw and @hramos)
- ๐ New Intro screen (6b393b27e1, 233fddbe01, fe88e9e48c, aa926e349b, a9e8a71e53, ad4a5d9a3e, and 0245fd713e by @cpojer, @eliperkins, @lucasbento, @orta, @adamshurson, @karanpratapsingh and @glauberfc)
- โ Add enhanced accessibility actions support (7fb02bd908 by @xuelgong)
- โ Add additional accessibility roles and states (1aeac1c625)
- โ Add
isReduceMotionEnabled()
plusreduceMotionChanged
toAccessibilityInfo
(0090ab32c2 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 (5c399a9f74 by @rigdern)
- Add a
touchSoundDisabled
prop to Button, Touchable, and TouchableWithoutFeedback (45e77c8324 by @yurykorzun)
iOS specific
- โ Add
announceForAccessibility
andannouncementFinished
APIs for making screen reader announcements (cfe003238a by @rigdern) - 0๏ธโฃ 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. (01c70f2fb9 and 916186a7e6 by @bondparkerbondand @zhongwuzw) $RN_CACHE_DIR
can now be used to manually specify the iOS build cache directory (845eee403e 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 (49d26eb0c4 by @thymikee)
- Add default
scrollEventThrottle
value to Animated.FlatList and Animated.SectionList; this now behaves consistently with Animated.ScrollView (933e65e245 by @janicduplessis) - Remove invariant on nested sibling VirtualizedLists without unique listKey props; they now trigger a RedBox (af5633bcba)
- FlatList and VirtualizedList's default
keyExtractor
now checksitem.id
anditem.key
(de0d7cfb79 by @sahrens) - SectionList's
scrollToLocation
on iOS now countsitemIndex
like Android; both platforms are now consistent, and theitemIndex
value 0 now represents scrolling to the first heading (248a108abf by @vonovak) - Slightly speedup core initialization by moving native version check to DEV only (5bb2277245 by @mmmulani)
react
is now at v16.8.6 (53cec2dc1f, ee681b72ce, and 6001acb319 by @kelset, @mdvacca, @gaearon)react-native-community/cli
is now at v2.0.0 (by @thymikee)flow
is now at v0.98 (0e1dfd4369 by @nmote)prettier
is now at v1.17.0 (ff9f8f347d)- ๐ฆ
metro
packages are now at v0.54.1 (7ff3874ec0, 343f0a1d50 by @motiz88) - Replace patched fetch polyfill with
[email protected]
(bccc92dfdd by @janicduplessis)
Android specific
- Use class canonical name for
PARTIAL_WAKE_LOCK
tag (88dbb4558c 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 (2321b3fd7f by @fson)
- ๐ Improve handling of native module exceptions; they are now propagated to crash reporting tools with the context and callstack (629708beda by @pvinis)
- Switch Slider
onSlidingComplete
event to a non-bubbling event on iOS to match Android (7927437a6d by @rickhanlonii)
๐ Deprecated
- StatusBar is no longer deprecated; thank you for the feedback (a203ebe206 by @cpojer)
โ Removed
- NetInfo has been removed; its replacement is now available via the react-native-community/netinfo package (5a30c2a205 by @cpojer)
- WebView has been removed; its replacement is now available via the react-native-community/webview package (, 1ca9a95537, and 954f715b25 by @cpojer and @thorbenprimke)
- Geolocation has been removed; its replacement is now available via the react-native-community/geolocation package (17dbf98884 and 9834c580af by @cpojer and @mmmulani)
๐ Fixed
- ๐ Fix
Animated.Value
value after animation if component was re-mounted (b3f7d53b87 by @michalchudziak) - Consistent reporting native module name on crash on native side (fdd8fadea8 and b79d7db9db by @DimitryDushkin)
- Handle null filenames in symbolicated stack trace gracefully in ExceptionsManager (2e8d39bed7 by @motiz88)
- ๐ Fix HasteImpl platform name regex (28e0de070d by @CaptainNic)
- ๐ Fix a JS memory leak in Blob handling; this resolves multiple leaks around
fetch
(05baf62721 and 9ef5107d04 by @janicduplessis) - SectionList's
scrollToLocation
now scrolls to the top of the sticky header as expected (d376a444e3 by @danilobuerger)
Android specific
- ๐ Fix duplicate resource error in Android build (962437fafd and eb534bca58 by @mikehardy and @Dbroqua)
- Reorder operations of native view hierarchy (5f027ec64d by @lunaleaps)
- ๐ Fix performance regression from new custom fonts implementation (fd6386a07e by @dulmandakh)
- ๐ Fix internal test case around disabled state of buttons (70e2ab2ec9)
- Fix extra call of PickerAndroid's
onValueChange
on initialization; now it is only called whenselectedValue
changes (82148da667 by @a-c-sreedhar-reddy) - Fix PickerAndroid will reset selected value during items update (310cc38a5a by @Kudo)
- Fix unexpected PARTIAL_WAKE_LOCK when no headless tasks registered. (bdb1d4377e by @timwangdev)
- Fix calling TextInput's
onKeyPress
method when the user types an emoji (a5c57b4ed4) - Fix value of TextInput's
onSelectionChange
start and end arguments by normalizing them (2ad3bb2e2d by @uqmessias) - In
Linking.getInitialURL
method, use theInteractionManager
to wait for the current activity to finish initializing (c802d0b757 by @mu29) - Disable delta bundles on the first app run (e4aff423ac by @wojteg1337)
- In DatePickerAndroid, work around Android Nougat bug displaying the wrong the spinner mode (bb060d6cf8 by @luancurti)
- ๐ Fix crash in Animated Interpolation when inputMin === inputMax (7abfd23b90 by @olegbl)
- Fix symbolication for RedBox and YellowBox when using delta bundling (a05e9f8e09 by @motiz88)
- Fix CameraRoll crash on mime type guessing (ebeb893b50 by @Sroka)
iOS specific
- Call designated initializer for SurfaceHostingProxyRootView (3c125e867f by @zhongwuzw)
- Fix RedBox JS symbolication when adding JS engine tag to the message (920632cadb by @motiz88)
- Fix TextInput's
onSelectionChange
behavior in single line text inputs (0c11d8d9b4 by @zhongwuzw) - Fix accessibility problem with TextInput Clear Button (4e37d37cbf by @shergin)
- Fix
renderingMode
not applied to GIF Images (75380aa329 by @zhongwuzw) - Fix ScrollView
centerContent
not work in some cases (2cdf9694b5 by @zhongwuzw) - ๐ Fix crash on performance logger (5d3d3987d8 by @zhigang1992)
- ๐ Do not run packager in Release mode (4ea6204111 by @lucasbento)
- ๐ Fix
code
andreason
arguments being ignored when callingWebSocket.close
(0ac2171c54 by @jeanregisser) - ๐ Fix return value of
Linking.openURL()
(4a5d0bdbd7 by @thib92) - When an accessibilityLabel can't be discerned, return
nil
instead of@""
(d4ff5ed258 by @sammy-SC) - ๐ Fix Xcode build when the project's path contains whitespace (f0770b6b37)
- ๐ Move accessibility props to UIView+React (9261035c2b by @janicduplessis)