React Native v0.62.x released
v0.62.x on GitHub (npm)
Release blog post
Changelog
This major release includes Flipper support by default, improved dark mode support, moving Apple TV to react-native-tvos, and more. See the blog post for all of the highlights.
This release comes in the midst of a global pandemic. We’re releasing this version today to respect the work of hundreds of contributors who made this release possible and to prevent the release from falling too far behind master. Please be mindful of the reduced capacity of contributors to help with issues and prepare to delay upgrading if necessary.
If you're upgrading, manual intervention may be required for your app. Please see the upgrade-helper for a detailed breakdown of the changes required and see this issue for known issues.
One known issue with workaround is regarding Android builds and APK size increases.
Breaking
- React DevTools v4 integration (92a3c9da0a by @bvaughn)
- Remove
TextInput
'sonTextInput
prop (3f7e0a2c96 by @shergin) - Remove
TextInput
'sinputView
prop (1804e7cbea by @TheSavior) - Animated: Remove
defaultProps
Parameter (a70987cee2 by @yungsters) - Remove
TextInput
'sselectionState
prop (2becdfd404 by @yungsters) - Remove support for
framesToPop
(8bc02fdd52 cf4d45ec2b a483f802fd by @motiz88) - Remove
TimePickerAndroid
(dbf070c51e by @cpojer) - Remove
scrollWithoutAnimationTo
from ScrollView (c7e89909da by @TheSavior) - Bump CLI to ^4.2.x (be5088401f by @alloy) - for details on what v4 of the CLI improves on (like monorepo support), please refer to the dedicated blog post and the release notes
- Remove
accessibilityStates
property (7b35f427fd by @marcmulcahy)
Android specific
- Fix setting keyboardType from breaking autoCapitalize (233fdfc014 by @safaiyeh)
- Limit size of video uploaded from camera roll in android (< 100 MB) (d21f695edf)
- Remove "Reload on JS change" from RN Android (478df155e7 by @cpojer)
iOS specific
Added
- Add support for Flipper by default (multiple commits)
- Add
getNativeScrollRef
method to FlatList component (bde1d63c85 by @kacieb) - Add missing accessibility props on Touchables (8c0c860e38 by @xuelgong)
- Added missing
console
polyfills in release builds. (b7ab922bb3 by @yungsters) - Platform.select now supports native as an option. (a6fc0898de by @koke)
- Export the DevSettings module, add
addMenuItem
method (cc068b0551 by @janicduplessis) - Expose RCTNetworking as a public 'Networking' API (42ee5ec934 by @adamchel)
- Add
useColorScheme
hook (51681e80ab by @hramos) - Add
unstable_enableLogBox
(dd8e5f468a by @rickhanlonii) - Expose Hermes Sampling Profiler (15ecb60d6d by @axe-fb)
- Add
error-subclass-name
lint rule (6611c4b8f4 by @motiz88) - Add
HostComponent
to the public API of React Native (a446a38aaa by @TheSavior) - Add
RCTExceptionsManager.reportException
(9a57145f52 by @motiz88) - Add
accessibilityValue
property (7df3eea1a7 by @marcmulcahy) - Add
Appearance
module to expose the user's current Night theme preference (17862a78db 63fa3f21c5 by @hramos) - Add
onSlidingComplete
callbacks when sliders adjusted via a11y. (c7aa6dc827 by @marcmulcahy)
Android specific
- Implement
adjustsFontSizeToFit
on Android (2c1913f0b3 by @janicduplessis) - Allow overriding
EditText
construction inReactTextInputShadowNode
(a5b5d1a805 by @mchowning) - Add Android support for
fontVariant
prop (c2c4b43dfe by @mcuelenaere) - Custom entry file on android using
ENTRY_FILE
environment variable (a0d8740878) - Added
statusBarTranslucent
prop to Modal component (c35a419e5d by @pfulop) - Add
fadingEdgeLength
prop to FlatList and ScrollView (51aacd5241) - Support
removeClippedSubviews
for horizontal ScrollViews (42152a3fa3) - Introducing
ReactCallerContextFactory
interface (9713b63d9a by @mdvacca)
iOS specific
- Added web socket support for macOS (f21fa4ecb7 by @andymatuschak)
- Added Warning message Linking API with Phones in iOS Simulator (e1d89fbd9d by @espipj)
- Added missing deps for React-CoreModules (15b2353382 by @fkgozali)
- Expose the
isPackagerRunning
methods on RCTBundleURLProvider (fe9cba74fa by @afoxman) - Add
autoFocus
to TextInput (6adba409e6 by @janicduplessis)
Changed
- Upgrade metro version to 0.56.3 (4b487ba500 by @EssamEmad)
- Upgrade
eslint-plugin-relay
to 1.3.12 (f0bcfbe9be by @jstejada) - Upgrade to Flow v0.108.0 (d34bc5fa64 by @mvitousek)
- Upgrade metro babel preset (cef001713f by @alloy)
- TextInput now properly sends native the end selection location on change (dff490d140 by @TheSavior)
- TextInput now uses
forwardRef
allowing it to be used directly by new APIs requiring a host component. (bbc5c35a61 by @TheSavior) - TextInput no longer does an extra round trip to native on focus/blur (e9b4928311 by @TheSavior)
- Render collapsed JavaScript frames in RedBox (468d1a2d2e by @motiz88)
- Enable
no-useless-escape
lint rule (90977b0e00 by @motiz88) - Update
DevSettings.reload
to accept a reason (549cac63cb by @rickhanlonii) - Move
react-native-implementation.js
toindex.js
(e54ecf907e by @cpojer) - Delete Long Press Error in Touchable (9a3d722ccb by @yungsters)
- Add Intl to eslint globals. (f6a62f9ae2)
- Add WebSocket to eslint globals (af8ea06bb4 by @dr2009)
- Change default
accessibilityRole
of Switch component frombutton
toswitch
(36672c3851 by @alvinmatias69)
Android specific
- Upgraded to Hermes 0.4.0 (ab3c184555 by @willholen)
- Bump gradle-download-task to 4.0.2 (088be260b6 by @dulmandakh)
- Bump Gradle to 6.0.1 (701e66bde4 by @dulmandakh)
- Bump Gradle wrapper 5.6.4 (928f4434b9 by @friederbluemle)
- Bump Soloader to 0.8.0 (614039834b)
- Update Android Gradle plugin to 3.5.2 (b41b5ce8ae by @friederbluemle)
- Improve exception message when JSC loading fails (65d3167a80 by @mhorowitz)
- Expose
addCookies
method (cc845ccfb4 by @safaiyeh) - Migrated from libfb to libfbjni for JNI calls (9ad5e72b77 by @passy)
- Formatted cpp/h code with clang-format (d5ba113bb2 by @passy)
- Switch MainActivity launchMode to singleTask (7a42596438 by @dulmandakh)
- Changing method signatures for ImageLoaderModule to accept double for requestId (641e9657dd by @ejanzer)
- Use Node's module resolution algorithm to find JSC & Hermes (fc25f288fe by @ide)
- Add
ACCESS_BACKGROUND_LOCATION
to PermissionsAndroid (8c099b5f53 by @dulmandakh)
iOS specific
- Add
xcscheme
files for iOS template back in. (a715decd2d by @pvinis)
Deprecated
- Add deprecation warning to
AccessibilityInfo.fetch
(523ab83338 by @TheSavior) - Make setting
useNativeDriver
required. Add runtime warning if not specified (5876052615 by @TheSavior) - Refs on an Animated component are now the internal component. The
getNode
call has been deprecated. (66e72bb4e0 by @yungsters)
iOS specific
- Deprecate
[bridge reload]
, preferRCTReloadCommand
(ffe2306164 by @PeteTheHeat)
Android specific
- Deprecate
CallerContext
fromReactImageManager
(8accd77c45 by @mdvacca)
Removed
- Removing experimental
IncrementalPresenter
component (0ef0d3167e by @TheSavior) - TouchableWithoutFeedback no longer exports Props. Use React.ElementConfig, instead. (7bcae81299 by @yungsters)
- Remove
Sample
andCrashyCrash
Modules (8ec7e0966c by @RSNara) - Remove
propTypes
from Animated components. (86d90c03eb by @yungsters) - Remove
propTypes
from TouchableHighlight. (7c01172bef by @yungsters) - Remove
propTypes
from TouchableNativeFeedback. (2185dd298a by @yungsters) - Remove
propTypes
from TouchableOpacity. (88ae24f719 by @yungsters) - Remove
propTypes
from TouchableWithoutFeedback. (ebf7d75816 by @yungsters) - Remove
__skipSetNativeProps_FOR_TESTS_ONLY
from Animated components. (dcd63078bd by @yungsters) - Remove Apple TV Props (548aad4ff1 by @yungsters)
Android specific
- Remove
NativeRunnableDeprecated
(973253af8a by @passy) - Remove
com.facebook.react.modules.debug.NativeSourceCodeSpec
(4d9e5f8481 by @RSNara)
Fixed
- Fix
require
cycle warning in ScrollResponder. (674ac69cee by @Naturalclar) - Restore behavior for
underlayColor={null}
inTouchableHighlight
. (37d8440a8e by @yungsters) - Fix stack traces showing the wrong function name in some cases (60b4ba16c0 by @motiz88)
- Fix
requestAnimationFrame
when focusing input on mount (5798cf2aa9 by @janicduplessis) - Reduce overhead of setting up timers in DEV (75a154b449 by @motiz88)
- Fixed an issue where margin and padding were resolved incorrectly. (1d683faf1d by @SidharthGuglani)
- Fix using width for calculating margin top percent (0599af2282 by @SidharthGuglani)
- Don't restore default values in NativeAnimated when components unmount (686ab49107 by @janicduplessis)
- Fix eslint-config peer dependency warnings (1353da5a53 by @friederbluemle)
- Remove style rules from eslint config for prettier options (e4b62bb139 by @iRoachie)
- Fix separators displays in wrong places with the inverted list (dfb4f4af68 by @dy93)
- Fix issue where we attempt to connect to React devtools every 2 seconds (e7f6210d5d by @ejanzer)
- Fix so that early logs don't get dropped by Metro (4ed05ca241 by @gaearon)
- Fix to announce accessibility state changes happening in the background (baa66f63d8 by @xuelgong)
- Fix
JSBigString
not compiling on Windows due to Unix-specific headers (80857f295c by @empyrical) - Fix exception in
scrollResponderScrollNativeHandleToKeyboard
when ref is null (da8ae011bb by @TheSavior) - Fix excessive toggles on the Switch component (b782934f3f by @rurikoaraki)
- Fix bare hosts in
URL
. Add missing / between url (20ab946f34 by @jeswinsimon) - Fix the non-standard usage of
ATOMIC_VAR_INIT
macro from code with systrace enabled (75a7a52db4) - Fix
useWindowDimensions
hook firing continuously after dimensions change (3b3c95b017 by @dulmandakh) - Fix throttling in ScrollView (4159e20146 by @sammy-SC)
- Fix
TimingAnimation
rounding error issue (77b6e26538 by @MartinSherburn) - Fix recycling of Switch (a261e6dfb2 by @sammy-SC)
Android specific
- Fix to reset sMatrixDecompositionContext before applying transformations (bf01dfbc97 by @makovkastar)
- Fix animations in OSS debug builds by modifying
Platform.isTesting()
behavior (1fbc6a7c17 by @PeteTheHeat) - Fix Modal not disappearing when reloading (5ddf00ee1a by @sunnylqm)
- Fix to support nullable returns NativeModule methods returning Boxed Primitives (f57b0caaa4 by @RSNara)
- Fix crash in TextInput (6ebd3b046e by @MarcoPolo)
- Fix View.getGlobalVisibleRect() to clip result rect properly when overflow is 'hidden' (df9abf7983 by @davidbiedenbach)
- Fix throwing "Unknown array type" exception (4b9350061f by @petterh)
- Fix issue with refresh control not working properly on an inverted ScrollView (0a282c42b4 by @migbot)
- Fix to listen to NFC actions for linking url events (8d8c3d4e1e by @cimitan)
- Fix onPress prop for Touchable Components being called twice on AndroidTV. (21890e964d by @dbarr33)
- Fix
includeFontPadding
forTextInput
placeholder (211ea485cd by @janicduplessis) - Fix medium font weights for TextInput on Android (8b9f790069 by @janicduplessis)
- Fix close button issue in KeyboardAvoidingView (f1c6029e48 by @saxenanickk)
- Fix activity recreation on theme change (83a16b16c9 by @Esemesek)
- Fix ForwardingCookieHandler missing WebView exceptions. (314eba98b2 by @siddhantsoni)
- Fix ReactInstanceManagerBuilder.build crashing if SoLoader has not been explicitly initialized (60e00d9d96 by @petterh)
- Fix default accessibility hint not being read. (f8dff0bcb3)
- Fix JS bundle loading progress bar (7b9d6d19e2 by @makovkastar)
- Fix Android Q related NaN error - don't try to do math with NaN values (db5994980d)
- Fix throwing exceptions when the host activity is not FragmentActivity (7cfabf42b8 by @mganandraj)
- Fix crash when using
TextInput.FontVariant
prop in Android API level < 26 (e885ddedb9 by @mdvacca)
iOS specific
- Fix support for
onRequestClose
in Modal on iOS 13+ (8e5fac89bb by @koke) - Fix
Dimensions
module to update on initial split screen (7a72c35a20 by @sahrens) - Fix spinner visibility on
beginRefreshingProgrammatically
(e341489521 by @nnabinh) - Reconnect to debugger websocket after Metro is restarted. (13992f90e4 by @rickhanlonii)
- Fix Slider not disabling properly if the disabled prop is set. (fa9ff07017)
- Fix apps crashing on iOS 13.x when running timer in the background (e1d03b4cc0 by @radko93)
- Fix TextInput blur when tabbing in iOS simulator. (a7437710d2 by @fat)
- Fix promised returned by
Share.share(content, options)
not resolving if share dialog dismissed (7468a6c903 by @v-fernandez) - Fix maximum searching depth while measuring layout by removing it. (2f8328dbb0 by @draws)
- Fix SafeAreaInsets call to not crash on older versions of iOS (03acf57b76 by @mmmulani)
- Fix to retain
cropData
struct arg in ImageEditingManager.cropImage call (002d3c179d by @RSNara)) - Fix bug rendering nested text on iOS13 (06599b3e59 by @PeteTheHeat)
- Fix longstanding bug where RCTNullIfNil() can return nil (79b573511b by @PeteTheHeat)
- Fix crash in RCTScrollViewComponentView (e7ef9921d3 by @shergin)
- Fix how the amount of free memory is calculated to mimic the logic Apple uses. (b53d3d80f9)
- Fix animated gifs incorrectly looping (6f2e6f170e by @zhongwuzw)
- Fix
tintColor
in SegmentedControlIOS component (be89e4d928 by @sammy-SC)