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
- 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()
plusreduceMotionChanged
toAccessibilityInfo
(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
andannouncementFinished
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 checksitem.id
anditem.key
(de0d7cf 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 (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
- 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
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 whenselectedValue
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 theInteractionManager
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
andreason
arguments being ignored when callingWebSocket.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)