CHANGELOG-0.6x.md
This file contains all changelogs for releases in the 0.60-0.69 range. Please check out the other CHANGELOG-*.md files for newer and older versions.
Content-Location header in bundle response as JS source URL (#37501) (367fc7ad52 by @robhogan)promise from 8.0.3 to 8.2.0, enabling Promise.allSettled (951538c080 by @retyui).d.ts files (0f0d52067c by @tido64)console.disableYellowBox has been droppedremoveListener, deprecated since RN0.65, was removed from AppearanceSegmentedComponentIOS, you will now need to move to the segmented-control library (235f168574)Nullable for optional objects and arrays in module codegen. (ffaa5d69bc)hotkeysEnabled property is added to RCTDevMenu which allows enabling/disabling hotkeys that triggers developer menu popup (1a1a304ed2)accessibilityLanguage prop to all the available components. The prop is available for any platform but it will work only on iOS. (7b05b091fd by @dgopsq)eslint-config: add support for ESLint 8 (864a8c11b2 by @wcandillon)eslint-config: add support for TypeScript 4.5+ (199ac680c7 by @rnike)MapBuffer interface for ReadableMapBuffer (81e4249315)hermes-engine from the react-native NPM package. (4d91f40fbd by @cortinico)com/react/facebook/uimanager/interfaces files into com/react/facebook/uimanager to enable Kotlin build (b1a779392d)react-native-gradle-plugin as a dependency from template's package.json (cd79317672 by @cortinico).xcode.env file is missing, actually using the old find-node-for-xcode.sh script (705c6f57d6 by @cipolleschi)find-node.sh scripts and replaces it with an .xcode.env file that is sourced by the script phases that needs it. The .xcode.env file is versioned: to customize a local environment, an unversioned .xcode.local.env can be used. (0480f56c5b by @cipolleschi)PushNotificationIOS.checkPermissions to include iOS 10+ notification settings. (17ecd2fb5b)'Debug' (b5343a6b0d by @cipolleschi)hermes-engine CocoaPod. (12ad1fffe8 by @hramos)react-native/jest/preprocessor.js by external projects (c1e9aa9a27 by @motiz88)DynamicColorIOS to only two properties (13b0b06522)codegenNativeComponent when on 'Paper' (494b73cb33 by @tido64)focus() on TextInput to respect its editable state (8a5460ce80 by @vonovak)using namespace being used as part of header (009d80bf5a by @arhelmus)TimingModule related functions for headless JS tasks, eg. setTimeout (dac56ce077 by @marcesengel)rootProject directly in Gradle scripts (b2bc5aa5c9 by @cortinico)RCTLocalizationProvider Fall back to input when no localization is available (18196512db by @robhogan)pod install when RCT-Folly version has been updated. (b2517c3bdc by @fortmarek)pod install --project-directory=ios failing when Hermes is enabled (1b22e8a039, (eb7cc85a91 by @tido64)promise from 8.0.3 to 8.2.0, enabling Promise.allSettled (951538c080 by @retyui).d.ts files (0f0d52067c by @tido64)fallbackResource from RCTBundleURLProvider API (0912ee179c) by @philIipIf you are interested in enabling the new architecture, please refer to the dedicated documentation.
newArchEnabled property to Opt-in the New Architecture in the template (8d652fba4c by @cortinico)platformConfig to NativeAnimated (4a227ce2ab by @rozele)accessibilityLabelledBy props (36037fa81b by @grgr-dkrk)onChildEndedNativeGesture to the RootView interface to let its implementations notify the JS side that a child gesture is ended. (9b33c31ee0 by @ryancat)reactNativeArchitectures property more discoverable (0f39a1076d by @cortinico)isAccessibilityServiceEnabled to get if accessibility services are enabled (c8b83d4e0b by @grgr-dkrk)Image.propTypes, Text.propTypes, TextInput.propTypes, ColorPropType, EdgeInsetsPropType, PointPropType, or ViewPropTypes now emits a deprecation warning. (3f629049ba by @yungsters)core-workflow-apply-version-label version (e973b3afc2 by @lucasbento)vendor/bundle into .gitignore template (2f67f5d68b by @MoOx)MessageQueueThread#runOnQueue return a boolean. Made MessageQueueThreadImpl#runOnQueue return false when the runnable is not submitted. (89faf0c9a8)jsBundleURLForBundleRoot:fallbackResource to jsBundleURLForBundleRoot: (aef843bfe6 by @philIip)no-shadow rule returning false positive for TypeScript enums (722a0ff6f8 by @fiznool)onLayout prop is handled correctly in <KeyboardAvoidingView> (9c5e177a79)performance.now() on iOS and Android (1721efb54f by @mrousavy)ReactScrollView to use Context instead of ReactContext in the constructor to be less restrictive. (7b77cc637e by @ryancat)contentInset when animating new items with autoscrollToTopThreshold, make automaticallyAdjustKeyboardInsets work with autoscrollToTopThreshold (includes vertical, vertical-inverted, horizontal and horizontal-inverted ScrollViews) (49a1460a37 by @mrousavy)Time.h patch not being applied when running pod install --project-directory=ios (60cef850bd by @tido64)__apply_Xcode_12_5_M1_post_install_workaround failing when one of the Pods has no IPHONEOS_DEPLOYMENT_TARGET set (9cd4092336 by @Yonom)CFRunLoopPerformBlock does not push/pop an autorelease pool. (3fff164dfa by @christophpurrer)pod install --project-directory=ios failing due to wrong path to React-Codegen (ebb26cf2e4 by @tido64)reactRoot in favor of root and reactNativeDir (8bc324fd34 by @cortinico)accessibilityStates no longer passed through to RCTView. (1121ed94ab by @luism3861)🚨 IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
Time.h patch not being applied when running pod install --project-directory=ios (60cef850bd by @tido64)hide. (a46a99e120 by @asafkorem)ACCESS_MEDIA_LOCATION permission to PermisionsAndroid library. (79db483568 by @Skrilltrax)SnapToAlignment in ReactScrollView (e774c037bc), ReactScrollViewManager (c6e5640e87), ReactHorizontalScrollView (b12256394e), ReactHorizontalScrollViewManager (deec1db9fd) and update ScrollView.js (a54cfb9e57) and reach parity with iOS (04184ef851) by @mdvaccacancelButtonTintColor prop for ActionSheetIOS to change only the text color of the cancel button (01856633a1 by @nomi9995)LSApplicationQueriesSchemes in info.plist with entries tel, telprompt, http, fb, geo (b26f277262 by @utkarsh-dixit)UIAccessibilityTraitUpdatesFrequently to progressBar role (1a42bd6e97 by @jimmy623)asdf-vm support in find-node.sh (3e7c310b1d by @pastleo)ImageBackground now respects imageStyle width and height (dbd5c3d8e5 by @Naturalclar)Keyboard.removeEventListener to Keyboard.removeListener. (8880c09076 by @yungsters)Modal's mock to not render its children when it is not visible (ec614c16b3 by @AntoineDoubovetzky)react-devtools-core dependency to 4.19.1 (356236471a by @jstejada)overflow: scroll in View component style will clip the children in the View container (93beb83abe by @ryancat)Animated.View (w/ JavaScript-driven animations) will no longer be flattened; this should be a transparent change. (4fdbc44ab5 by @yungsters)react.gradle detectCliPath function logic for cliPath case (ce51b62494 by @vitalyiegorov)"high" and "balanced" as values for android_hyphenationFrequency on Text (a0d30b848a)GLOBAL. (a101fc768c by @rubennorte)StaticContainer.react.js, ensurePositiveDelayProps.js, InteractionMixin.js, queryLayoutByID.js (64aa1e5ffe by @ecreeth)DatePickerAndroid from react-native. (7a770526c6 by @andresantonioriveros)blockList (7923804c28 by @rh389)Animated.ValueXY when validating Animated.event. (27dd2ecb70 by @javache)getIgnorePatterns in LogBoxData.js for tests or other usecases. (a950634424)onPress does not work with last character (132d1d00f8 by @fabriziobertoglio1987)textBreakStrategy default to be 'highQuality' (3b2d541989)hermesFlags not working with multiple variants (91adb761cf by @grit96)ScrollTo API in ScrollView will check the actual scroll position before setting the scroll state (1a9e2d5d55 by @ryancat)keyboardDidShow height calculation API 28+ (8bef3b1f11 by @fabriziobertoglio1987)currentActivity being null when launching Redbox (f4fdf4b55e)"FLAG_ACTIVITY_NEW_TASK" flag (required by OS). (04fe3ed80d by @Krizzu)keyboardDismissMode="on-drag" on Android (7edf9274cf by @janicduplessis)alignItems: baseline for <Text> elements on Android (1acf334614)OnKeyPress event not fired with numeric keys (ee3e71f536 by @fabriziobertoglio1987)defaultSource not showing on iOS (900210cacc by @cristianoccazinsp)pod install with --project-directory=ios (ef5ff3e055 by @sonicdoe)🚨 IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
apply_Xcode_12_5_M1_post_install_workaround causing pods targetting iOS 12 and above to fail (a4a3e67554 by @Yonom)Keyboard.removeEventListener to Keyboard.removeListener. (8880c09076 by @yungsters)getIgnorePatterns in LogBoxData.js for tests or other usecases. (a950634424)find-node.sh in react-native-xcode.sh script (cc59a7cbde by @garethknowles)overflow: visible (e35a963bfb by @hsource)autoCompleteType prop of TextInput to autoComplete (27fec9569e by @jeswinsimon)global.queueMicrotask (be189cd819 by @Huxpro)markerPoint to allow callers to add additional arbitrary string data to logged points (aa98978302)accessibilityRole (da899c0cc4 by @kacieb)MEDIA_STOP, MEDIA_NEXT, and MEDIA_PREVIOUS event support to Android TV (3e2bb331fc by @havlasme)ReactScrollView (0ef5beee85 by @JoshuaGross)TextInputProps (8434177722)PlatformColor to return user-defined named asset color (36c0a7dec1 by @oblador)UIAccessibilityTraitsTabBar (11f8d9c7cd by @jimmy623)RCTInitializing to allow NativeModules to initialize themselves (9b45df1fce by @RSNara)RCTCallableJSModules API for NativeModules (ece373d244 by @RSNara)RCTBundleManager to NativeModules (329f58ee46 by @RSNara)type === 'warn'. (883e0d5752 by @yungsters)accessibilityState.disabled is set (ea609defe8 by @chakrihacker)react-devtools-core from ~4.6.0 to ^4.13.0 (9e020ef476 by @bvaughn)PermissionsAndroid (2bcc6fac38 by @iBotPeaches)AndroidTextInput.AndroidTextInput.color prop to use SharedColor instead of int (bc57056cc3 by @mdvacca)infer-annotation to 0.18.0. (b5c94e316c by @yungsters)StyleSheet.create will no longer do DEV-time validation. (2e8c0bd7ea by @yungsters)window not existing in jest setup (bc1c533833 by @timomeh)numberOfLines in <Text> component (3bc883c6c6 by @ShikaSD)jest/create-cache-key-function dep root package.json (9a43eac7a3 by @janicduplessis)type is "warn". (e4a4c4d6d7 by @yungsters)accessibilityAction props into object instead of string (faaeb778df by @ShikaSD)console.error when passed warning-like objects. (0dba0aff18 by @yungsters)overflow: visible (e35a963bfb by @hsource)<Text adjustsFontSizeToFit={true}> on Android (59021521e7)borderRadius is 0 (3e5998e651 by @IjzerenHein)mHybridData thread safe (7929551623)NullPointerException caused by race condition in ReactInstanceManager.getViewManagerNames method (fb386fccdd by @mdvacca)ViewProps.isLayoutOnly (e6b9508f12 by @javache)snapToOffsets to a null value (ba387b91d3 by @maxoumime)setAccessible to ReactImageManager to allow screenreader announce Image accessibilityState of "disabled" (333b46c4b0 by @fabriziobertoglio1987)RCTi18nUtil (fcead14b0e by @Saadnajmi)actionName in accessibility event callback (fed6ad5bad by @ShikaSD)🚨 IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
react-test-renderer to 17.0.2 in the template (d272880 by @@rickhanlonii)NODE_BINARY after finding the right path to node (d75683 by @santiagofm)ColorProps with value null should be defaultColor instead of transparent (842bcb902e by @hank121314)react-native-codegen version 0.0.7 is now needed as a devDependency in the package.json.flipper_post_install with react_native_post_install hook. Will automatically detect if Flipper is enabled. (42dde12aac by @grabbou)onPressIn & onPressOut props to Text (1d924549ca by @adrienharnay)RootTagContext. And temporarily export both unstable_RootTagContext and RootTagContext (9d489354ae by @nadiia)sendAccessibilityEvent in the React(Fabric/non-Fabric) renderer (99b7052248 by @JoshuaGross)localeIdentifier to I18nManager constants (6b91ae73cd by @acoates-ms)displayName to some RN contexts to make them more easy to differentiate when debugging. (68a476103a by @bvaughn)displayName to TouchableHighlight and TouchableOpacity (c4e40b81c0 by @brunohkbx)stickyHeaderHiddenOnScroll option to keep the sticky header hidden during scrolling down, and only slide in when scrolling up (ffba25c648)debugName parameter to renderApplication to use as the display name for the React root tree (eeb36f4709 by @rubennorte)cancelOnBackground for UserFlow (0d4985900b by @dmitry-voronkevich)getRecommendedTimeoutMillis to AccessibilityInfo (d29a7e7a89 by @grgr-dkrk)accessibilityState.selected to false. (73bc96ecf9 by @yungsters)onFocus and onBlur for Pressable on Android. (cab4da7288)TurboModuleManagerDelegates with ReactInstanceManager (eb7e89e286 by @RSNara)RCTFabricSurface to help with reloads (53858ceaa3 by @PeteTheHeat)RCTRootView to be initialized with a frame (00bc09c8f7 by @appden)NSURLSessionConfiguration (58444c74f5 by @hakonk)addListener or removeListeners is passed to NativeEventEmitter (114be1d217 by @rubennorte)accessibilityState when the TouchableWithoutFeedback is disabled. (697164077c by @carloscuesta)react-devtools-core dependency to 4.12.0 (5a2693d78f by @bvaughn)accessibilityState when TouchableHighlight is disabled (f69e096bb4 by @Naturalclar)TextInput during test runs. (397bfa6ad7 by @nadiia)usePressability hook in TextInput (c4aa411ee3 by @nadiia)Keyboard no longer inherits from NativeEventEmitter, so it no longer implements removeAllListeners, and removeSubscription. (1049835b50 by @yungsters)AppState no longer inherits from NativeEventEmitter, so it no longer implements addListener, removeAllListeners, and removeSubscription. (6f22989e92 by @yungsters)DevSettings no longer inherits from NativeEventEmitter (70cd569e7e by @yungsters)use_flipper!() will no longer need custom overrides to build with XCode 12.5 (4246c75d0d by @mweststrate)Appearance.addChangeListener now returns an EventSubscription. (305b4253c2 by @yungsters)Dimensions.addEventListener now returns an EventSubscription. (c47a03563d by @yungsters)NativeEventEmitter to also use the passed native module to report subscriptions on Android (f5502fbda9 by @rubennorte)hasActiveCatalystInstance to hasActiveReactInstance (dfa8eb0558)ReactContext (d79212120b by @mdvacca)getTurboModule: required (e0b8f5080f by @RSNara)progressViewOffset prop of RefreshControl and VirtualizedList now works on iOS (310a6bcf4b by @davidbiedenbach)EventEmitter#removeSubscription is now deprecated. (cb6cbd12f8 by @yungsters)EventEmitter(...). (14f7a2b707 by @yungsters)AccessibilityInfo.removeEventListener. (003d63d6e5 by @yungsters)Linking.removeEventListener. Instead, call remove() on the subscription returned by Linking.addEventListener. (6d1aca806c, 035718ba97 by @yungsters)NativeModule.onCatalystInstanceDestroy() for NativeModule.invalidate() (18c8417290 by @RSNara)hasActiveCatalystInstance() as Deprecated (1b50722a7e)RootTagContext (9b98edcd01 by @nadiia)getNode() from animated component refs. (b914153286 by @yungsters)AccessibilityInfo.fetch, use isScreenReaderEnabled instead. (d831134d51 by @yungsters)RCTDeviceEventEmitter.sharedSubscribers. (3af0c84aa5 by @yungsters)ScrollResponder.Mixin methods into ScrollView to Remove ScrollResponder.js (099f67cf8a by @kacieb)NativeEventEmitter no longer inherits from EventEmitter, so it no longer implements removeListener and removeSubscription. Instead, use the remove() method on the subscription object returned by addListener. (d39643b9de by @yungsters)RCTDeviceEventEmitter no longer throws for StatusBar, Keyboard, and AppState events. However, you are still recommended to use the more appropriate modules for listening to these events. (c8c975f0d7 by @yungsters)NativeEventEmitter constructor (f5f47879b8 by @yungsters)setTimeout with delays greater than 1 minute. (480dabd665 by @yungsters)Touchable.TOUCH_TARGET_DEBUG property. (ef765d423c by @yungsters)ReactFragmentActivity class. (2798e7172b by @dulmandakh)addListener from Networking (a81b7d18fa by @yungsters)getTurboModule:initParams (c4c34a1237 by @RSNara)getInnerViewNode and getInnerViewRef ref methods (6e36d046a3 by @vshab)onScrollDragEnd and onMomentum methods (46be292f67 by @kacieb)YGDisplayNone and YGPositionTypeAbsolute (b15f8a30e7 by @rozele)borderRadius: any with backgroundColor: null (42b6e6682c)android_hyphenationFrequency on Text. (1433ed6333 by @yungsters)testID as the resource-id for black-box testing frameworks (381fb395ad by @jdeff)onDismiss prop will now be called successfully. (d85d5d2e19 by @kkoudev)react-native-xcode.sh (b496a531e0 by @robertying)prefetchImageWithMetadata redbox(f27e305056 by @p-sun)🚨 IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
inlineRequires by default in new projects' metro.config.js. Gives a performance benefit but slightly different JS execution order (959365a902 by @GantMan)CameraRoll API (deprecated in 0.61) (824d3a9770 by @seanyusa)CheckBox component (deprecated in 0.60) (dff17effe5 by @poteto)DEPRECATED_sendUpdatedChildFrames prop from ScrollView component (deprecated in 0.47) (345d0c1abb by @ZHUANGPP)Image, onLoad event objects' source.url is now renamed to source.uri. (74ab8f6e5a by @yungsters)Image, onLoad and onError event objects will no longer have an extra uri property. (74ab8f6e5a by @yungsters)calculateChildFrames from RCTScrollView (62aa84a325 by @PeteTheHeat)UIManagerModule.getUIImplementation. This method will not be part of the new architecture of React Native. (fe79abb32c by @mdvacca)onPressIn and onPressOut. (b7b0e23202 by @yungsters)DevSettings to jest preset (a50f736bb6 by @MarcoScabbiolo)titlePlaceholder in template configuration. (8ffa180d80 by @Esemesek)renderApplication to forward initialProps to WrapperComponent (4f5a092bf6 by @rubennorte)VirtualizedList when incorrectly using nested Lists or custom scroll components (7f2515ece8 by @kacieb)listenerCount() to DeviceEventEmitter and NativeEventEmitter. (b11d6ecbb8 by @yungsters)shadowColor on API level >= 28 (cfa4260598 by @IjzerenHein)android_hyphenationFrequency prop to Text component (0fda91ffff and 7d8aeb4955 by @fabriziobertoglio1987)accessibilityHint to TouchableNativeFeedback (72285d808d by @CMDadabo)onProgress event on Image (fa0e6f8051 by @yungsters)contentOffset (ed29ba13f9 by @JoshuaGross)getFlex method as part of ReactShadowNode API (6570f7887b by @mdvacca)\*.hprof files to gitignore (69ce9c21d4 by @enesozturk)DevSettingsActivity from main to debug (d8e6c45782 by @invalid-email-address)PlatformColor: add missing clearColor (b7167c23fc by @Simek)importantForAccessibility to AccessibilityProps (fd660fd0c5 by @ZHUANGPP)disableButtonsIndices option to ActionSheetIOS component (a7c1c5aff2 by @lukewalczak)showSoftInputOnFocus to TextInput (d54113d8c4 by @gurs1kh)PlatformColor strings to be ObjC or Swift UIColor selectors (25793eab56 by @tom-un)RCTDevSplitBundleLoader native module (ad879e50bc by @cpojer)Text component. (a911efaecd by @yungsters)fbjs dependency from react-native. (54e19a6b7f by @yungsters)ImageSource Flow type for array-variant and headers. (a0dc252dc8 by @yungsters)console.warn without the "Warning:" prefix. (982272932c by @yungsters)VirtualizedList's onEndReachedThreshold default value when null is provided (10b4b9505a by @fatalsun)initialScrollIndex if contentOffset is provided to the same VirtualizedList (3346ac7f96 by @markv)VirtualizedList legacy context implementation to React.Context. (7bd694fc6f by @yungsters)BackHandler to be more specific. (a903d1b86a by @Naturalclar)kind-of to 6.0.3 to resolve vulnerability (abde0154ba by @TheSavior)React.Children.count for counting children of TextInput (92160f3144 by @vonovak)blurRadius now more closely matches other platforms. (64860972be by @yungsters)TextInput: Set caretHidden default value to true on Xiaomi devices to fix the crash (b5b4a70410)NSAllowsArbitraryLoads to false by default in template (7b61a968fd by @wddwycc)Text.viewConfig is no longer exported. (06ce643565 by @yungsters)once() and removeCurrentListener() from DeviceEventEmitter and NativeEventEmitter. (87a2e29f59 by @yungsters)ActionSheetManager invariant message (9c353b5ab0 by @sweatherall)TouchableHighlight now correctly fires onPress when pressed for >500ms, when onLongPress is not supplied. (bdf3c79110 by @yungsters)Pressability now consistently fires onPressIn and onPressOut, even without an onPress. (0c392bc405 by @yungsters)onResponderGrant Flow type on Text. (49015b0f5b by @yungsters)ScrollView From Stealing Responder Capture When Using Physical Keyboard (93e7a7a70d by @NickGerleman)performanceNow() function. (db474a47b7 by @zerkella)displayName more often. (4b935ae95f by @rickhanlonii)LogBox is not included in production bundles (d3b937f990 by @janicduplessis)force as an optional property of the PressEvent object (ad2f98df8f by @Simek)event objects from onPressOut in certain cases (2c600b7c5a by @yungsters)initialProps correctly in renderApplication (26c120c632 by @rubennorte)any (de7f69a58e by @draperunner)scrollToIndex (78d2b3c813 by @sasurau4)KeyboardAvoidingView (b08fff6f86 by @sammy-SC)ScrollView snapToOffsets array is empty (d238da71aa by @makovkastar)TextInput not being selectable in removeClippedSubviews FlatLists (12a50c0a44 by @hsource)Text components accessible as links (b352e2da81 by @ejanzer)NoSuchMethodException when calling DisplayMetricsHolder.initDisplayMetrics in Android API level <= 16 (though those Android versions are no longer supported) (35128f45d1 by @mdvacca)DebugCorePackage.getModule (a71f37b951 by @TheWirv)null contentOffset prop (9e85b7ad88 by @vonovak)skewX transform decomposition (797367c089 by @wcandillon)Pressable: ripple should be applied even when borderless == false (44ec762e41 by @vonovak)ReadableNativeMap.getNullableValue to match signature and return null instead of throwing (1015194ba1 by @dulmandakh)Picker: set color filter so that the arrow matches the text color (bb8d0f5732 by @ejanzer)Modal: fix crash when updating props after the activity disappeared (7abcaafd66 by @mdvacca)TextInput onSubmitEditing behavior: don't call onSubmitEditing when blurOnSubmit=false (521b16730d by @tido64)refreshControl messes up navigationBar largeTitles (1b0fb9bead by @yogevbd)TextInput crash when inserting/removing lots of text (15dda0ab5a by @tido64)RCTUtilsUIOverride.h (b7e8f66795 by @Fanghao)RCTUIImageViewAnimated (12f8b2598f)frameInterval to preferredFramesPerSecond, fixing Xcode warnings (335f3aabe2 by @safaiyeh)🚨 IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
contentOffset (ed29ba13f9 by @JoshuaGross)null contentOffset prop (9e85b7ad88 by @vonovak)KeyboardDidHide wrong screenY coordinates with windowTranslucentStatus=true (45954ac5dc by @fabriziobertoglio1987)RCTImageLoader not using decoders provided. (663b5a878b by @sjchmiela)Image.getSizeWithHeaders. (0bcc686c1c by @PaitoAnderson)@react-native-community/cli by bumping version (001eb7cbd6 by @alexbrazier)minPressDuration to Pressable. (4aaf629982 by @yungsters)target field of events is now a native component, not a react tag (3b813cade1 by @TheSavior)animated prop (deprecated in 0.26) (1e9db7bd6d by @TheSavior)Alert.prompt (deprecated in 0.59) (a26d622d04 by @TheSavior)thumbTintColor, tintColor, onTintColor props (deprecated in 0.57) (26912bd979 by @TheSavior)TextInputState. Use native component refs instead of react tags (6286270e4c by @TheSavior)Clipboard, SegmentedControlIOS, ProgressViewIOS, ProgressBarAndroid. These modules have been moved to react-native-community libraries. (f295d7f608 by @Naturalclar)console.disableYellowBox in favor of LogBox.ignoreAllLogs. (87f1e22434 by @rickhanlonii)UIManagerModule.resolveRootTagFromReactTag, this will not be supported in the next version of RN (acbf9e18ea by @mdvacca)ToolbarAndroid which has been removed from the core since 0.61. (6249d14a61 by @Naturalclar)nativePerformanceNow and performance.now() (232517a574 by @emilisb)PerformanceLogger stopTimespan updates (08c338eebf by @sahrens)PlatformColor implementations for iOS and Android (f4de45800f by @tom-un)<Pressable> Component to make it easier to create touchable elements (3212f7dfe8 by @TheSavior, bd3868643d by @vonovak)LogBox module (799bf56f6f by @rickhanlonii)LayoutAnimationConfig flow type (f0dafd34fe by @sahrens)react-native-community/eslint-plugin as a dependency for react-native-community/eslint-config (2c2e35c634 by @Naturalclar)DEBUG_NETWORK_SEND_DELAY can be used to simulate slow network. (4aac019176 by @sahrens)accessibilityLabel prop to the Picker component (0a525b6d9d by @KevinGVargas)zIndex to useNativeDriver (6a4e06faa8 by @mackenziemance)Picker (22eb711c84)TouchableNativeFeedback (7f2a79f40b by @vonovak)resizeMode prop support on TextInlineView (6871416328 by @mdvacca)TimingModule (22764e6cdc by @ejanzer)UIScene support for RCTImageView (f332fac163 by @tido64)RCTRootViewController and set UIViewControllerBasedStatusBarAppearance=YES (80e6d672f3 by @radex)userInterfaceStyle for ActionSheetIOS and Share to override user interface style on IOS 13 (0a9cc34dd8 by @Arjan-Zuidema)ReactCore pod (aebf54aee4 by @xuelgong)PushNotificationIOS.requestPermissions (edfdafc7a1 by @p-sun)Flipper to template app (52cd9cd6fe by @safaiyeh)textColor and backgroundColor props to SegmentedControl for iOS >=13 (e8f577e541 by @Naturalclar)RCTOverrideAppearancePreference to the iOS Appearance module (fa65b156d4)xib to storyboard (33b3a1a145 by @jeswinsimon)react-native-community/eslint-config to 1.1.0, adding the new color rule (780f06cd47 by @TheSavior)eslint-config and metro-preset in project template (ad86a18305 by @Naturalclar)DynamicColorIOS()and ColorAndroid() (602070f44b by @tom-un)ScrollView use forwardRef (d2f314af75 by @kacieb)RefreshControl's onRefresh flow typing (884c86ae02 by @vonovak)Animated (bdafc55f50 by @javache)eslint-plugin-relay to 1.6.0 (0483404d82 by @kassens)disableIntervalMomentum to work with both horizontal and vertical ScrollViews (6237cfb325 by @Shaninnik)JSCRuntime::createValue faster (24e0bad8be by @radex)XMLHttpRequest (71b8ececf9 by @sahrens)console.error calls, and uncaught exceptions are now displayed in the Metro logs as well (ffb82cb2f0 by @mweststrate)ImageEditor. (79efa43428 by @kitttn)ReactRootView if they've changed (cc3e27d484 by @ejanzer)ReactEditText extends AppCompatEditText (aaa2765a92 by @dulmandakh)ReactApplicationContext nullable as the constructor argument of ReactContextBaseJavaModule (f8d5c5bfd7 by @RSNara)Debug configuration (619d5d60df by @alloy)xcshareddata from .gitignore (7980615d37 by @pvinis)complete_nullability = True to compatible libraries (796a4ea7e3):configuration (7bb1c4e1b8 by @alloy)ImageProp (fbd09b1797 by @Naturalclar)Incremental component (e99800267b by @venits)lazilyLoadViewManagers (3963f34980 by @JoshuaGross)PickFirst options for RNTester and template (4bb0b4f205 by @passy)RCTConvert CoreLocation Libraries (bcf2a716fb by @maschad)textColor, font and textAlignment from RCTBackedTextInputViewProtocol, unifying the usage into defaultTextAttributes. (aff6bad27c by @jimmy623)<View> with no fixed size nested within a <Text> (dbb7eacb42 by @mdvacca)<Text><View><Image> would crash. (66601e755f by @TheSavior)setTextCursorDrawable API for Android 10 (e7a14b803f by @sturmen)Animated.Value initialized with undefined in ScrollView (cf02bd9b76 by @janicduplessis).js in Library imports (161b910494 by @NickGerleman)Pressability to properly fire onLongPress. (5ca1d8f260 by @yungsters)inly to only inside Modal.js library code. (686d8a57f8 by @Darking360)VirtualizedLists inside of a parent list's FooterComponent (074a2fab74 by @logandaniels)TextInput transitions (0a17a4fe56)shouldAnimate (3498b3b96b by @axe-fb)AccessibilityInfo.isScreenReaderEnabled mock in Jest setup (ec3327b61a by @rubennorte)YGValue.h compile with Clang on Windows (014bc95135 by @christophpurrer)Function::callWithThis method to accurately reflect how this is handled. (399bda5284 by @Kronopath)Blobs (9a8c06b502 by @RSNara)AnimatedEvent (19362f6116 by @javache)NativeJSCHeapCapture (7e3a43c23d by @RSNara)AnimationInterpolation as possible type for toValue (26e8870fbf by @nabati)StyleSheet.create (4e71a30969 by @jbrown215)CFBundleIdentifier to use PRODUCT_BUNDLE_IDENTIFIER (98ebc1ea25 by @MoOx)Error global is not callable when building an error, jsi will throw a JS exception back to JS code. #158 (a195447539 by @mhorowitz)onEndReached called on load when not needed (8ddf231306 by @sahrens)NativeJSDevSupport.onSuccess (b42371da5a by @RSNara)URLSearchParams and Headers to eslint globals (7a13a1a88f by @sonnyp)URL to eslint globals. (ff9def41ff by @sonnyp)LogBox - Fix dependency cycle (6ba2aeefa8 by @rickhanlonii)TextInput responds to requestFocus to fix a11y focus issue (d4a498aba2 by @ejanzer)TextInputTestCase (8c493804f3 by @ejanzer)TextInput autoFocus on Android (055a41b081 by @janicduplessis)Origin headers for Websockets (aeaf286c77 by @brunobar79)JSDevSupport from DebugCorePackage (c20963e11c by @RSNara)ServerHost is optional in NativePlatformConstants.js (048f88a33a by @RSNara)AppStateModule.sendEvent if CatalystInstance is not available (c4806fada6 by @JoshuaGross)Picker - fix types in AndroidDialogPickerManagerInterface (56b0f5cb6b)RCTDevLoadingView jank (faff19a7c6 by @RSNara)RCTBlobManager cleanup crash (91c5ff4a12 by @RSNara)NativeModule mutable (5290047d09 by @maschad)RCTCxxBridge.executeApplicationScript (0c2db3256f by @ahimberg)RCTDevLoadingView RedBox on reload (fe5ac2c3f9 by @RSNara)Image component crashing when uri is null (06b8b15b0a by @mlazari)RCTDevLoadingView not showing up with UIScene (74b667dbc2 by @tido64)requiresMainQueueSetup in RCTDevSettings.mm (adf87dd7ed by @logandaniels)React-RCTText Xcode warning (04fed6508b by @safaiyeh)React-cxxreact. (dc6c57ce0d by @safaiyeh)RCTReconnectingWebSocket is reconnecting infinitely when stopped before getting connected (0d4b0e9417)passwordRules in TextInput (3f5c42f357 by @Naturalclar)jsi::Functions when jsi::Runtime is deleted (9ae95582e7 by @RSNara)RCTImageLoader C++ requirement opt-in (25571ec452 by @alloy)RCTTextView layout issue that happens on some font with leading attribute not equal to zero, which causes wrong base-alignment layout (5d08aab526)<TextInput>'s selectOnFocus prop (e020576b34 by @shergin)RCTRedBox doesn't appear in apps implementing UISceneDelegate (d0a32c2011 by @tido64)InputAccessoryView.backgroundColor prop’s typing to use ColorValue. (a43fd60e18 by @alloy)Animated image crash when CADisplayLink target in RCTWeakProxy is nil (e5a6655e71 by @p-sun)Modal’s onDismiss prop. (27a3248a3b by @grabbou)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.
TextInput's onTextInput prop (3f7e0a2c96 by @shergin)TextInput's inputView prop (1804e7cbea by @TheSavior)defaultProps Parameter (a70987cee2 by @yungsters)TextInput's selectionState prop (2becdfd404 by @yungsters)framesToPop (8bc02fdd52 cf4d45ec2b a483f802fd by @motiz88)TimePickerAndroid (dbf070c51e by @cpojer)scrollWithoutAnimationTo from ScrollView (c7e89909da by @TheSavior)accessibilityStates property (7b35f427fd by @marcmulcahy)proguard-rules.pro: -keep class com.facebook.jni.** { *; } (ab3c184555 by @willholen)getNativeScrollRef method to FlatList component (bde1d63c85 by @kacieb)console polyfills in release builds. (b7ab922bb3 by @yungsters)addMenuItem method (cc068b0551 by @janicduplessis)useColorScheme hook (51681e80ab by @hramos)unstable_enableLogBox (dd8e5f468a by @rickhanlonii)error-subclass-name lint rule (6611c4b8f4 by @motiz88)HostComponent to the public API of React Native (a446a38aaa by @TheSavior)RCTExceptionsManager.reportException (9a57145f52 by @motiz88)accessibilityValue property (7df3eea1a7 by @marcmulcahy)Appearance module to expose the user's current Night theme preference (17862a78db 63fa3f21c5 by @hramos)onSlidingComplete callbacks when sliders adjusted via a11y. (c7aa6dc827 by @marcmulcahy)adjustsFontSizeToFit on Android (2c1913f0b3 by @janicduplessis)EditText construction in ReactTextInputShadowNode (a5b5d1a805 by @mchowning)fontVariant prop (c2c4b43dfe by @mcuelenaere)ENTRY_FILE environment variable (a0d8740878)statusBarTranslucent prop to Modal component (c35a419e5d by @pfulop)fadingEdgeLength prop to FlatList and ScrollView (51aacd5241)removeClippedSubviews for horizontal ScrollViews (42152a3fa3)ReactCallerContextFactory interface (9713b63d9a by @mdvacca)isPackagerRunning methods on RCTBundleURLProvider (fe9cba74fa by @afoxman)autoFocus to TextInput (6adba409e6 by @janicduplessis)eslint-plugin-relay to 1.3.12 (f0bcfbe9be by @jstejada)forwardRef allowing it to be used directly by new APIs requiring a host component. (bbc5c35a61 by @TheSavior)no-useless-escape lint rule (90977b0e00 by @motiz88)DevSettings.reload to accept a reason (549cac63cb by @rickhanlonii)react-native-implementation.js to index.js (e54ecf907e by @cpojer)accessibilityRole of Switch component from button to switch (36672c3851 by @alvinmatias69)addCookies method (cc845ccfb4 by @safaiyeh)ACCESS_BACKGROUND_LOCATION to PermissionsAndroid (8c099b5f53 by @dulmandakh)xcscheme files for iOS template back in. (a715decd2d by @pvinis)AccessibilityInfo.fetch (523ab83338 by @TheSavior)useNativeDriver required. Add runtime warning if not specified (5876052615 by @TheSavior)getNode call has been deprecated. (66e72bb4e0 by @yungsters)[bridge reload], prefer RCTReloadCommand (ffe2306164 by @PeteTheHeat)CallerContext from ReactImageManager (8accd77c45 by @mdvacca)IncrementalPresenter component (0ef0d3167e by @TheSavior)Sample and CrashyCrash Modules (8ec7e0966c by @RSNara)propTypes from Animated components. (86d90c03eb by @yungsters)propTypes from TouchableHighlight. (7c01172bef by @yungsters)propTypes from TouchableNativeFeedback. (2185dd298a by @yungsters)propTypes from TouchableOpacity. (88ae24f719 by @yungsters)propTypes from TouchableWithoutFeedback. (ebf7d75816 by @yungsters)__skipSetNativeProps_FOR_TESTS_ONLY from Animated components. (dcd63078bd by @yungsters)NativeRunnableDeprecated (973253af8a by @passy)com.facebook.react.modules.debug.NativeSourceCodeSpec (4d9e5f8481 by @RSNara)require cycle warning in ScrollResponder. (674ac69cee by @Naturalclar)underlayColor={null} in TouchableHighlight. (37d8440a8e by @yungsters)requestAnimationFrame when focusing input on mount (5798cf2aa9 by @janicduplessis)JSBigString not compiling on Windows due to Unix-specific headers (80857f295c by @empyrical)scrollResponderScrollNativeHandleToKeyboard when ref is null (da8ae011bb by @TheSavior)URL. Add missing / between url (20ab946f34 by @jeswinsimon)ATOMIC_VAR_INIT macro from code with systrace enabled (75a7a52db4)useWindowDimensions hook firing continuously after dimensions change (3b3c95b017 by @dulmandakh)TimingAnimation rounding error issue (77b6e26538 by @MartinSherburn)Platform.isTesting() behavior (1fbc6a7c17 by @PeteTheHeat)includeFontPadding for TextInput placeholder (211ea485cd by @janicduplessis)TextInput.FontVariant prop in Android API level < 26 (e885ddedb9 by @mdvacca)onRequestClose in Modal on iOS 13+ (8e5fac89bb by @koke)Dimensions module to update on initial split screen (7a72c35a20 by @sahrens)beginRefreshingProgrammatically (e341489521 by @nnabinh)Share.share(content, options) not resolving if share dialog dismissed (7468a6c903 by @v-fernandez)cropData struct arg in ImageEditingManager.cropImage call (002d3c179d by @RSNara))tintColor in SegmentedControlIOS component (be89e4d928 by @sammy-SC)This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.61 release. Thanks to everyone who contributed!
set-cookie not aggregated correctly in response headers (1df8bd4932 by Vincent Cheung)This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.61 release. Thanks to everyone who contributed!
This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.61 release. Thanks to everyone who contributed!
This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.61 release. Thanks to everyone who contributed!
warnOnce for excessive number of callbacks error (0cafa0f5d1 by @janicduplessis)StatusBar API (796b3a1f88 by @gaodeng)This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.60 release. Thanks to everyone who contributed!
This is a major release that includes the new reloading experience Fast Refresh. It also removes the React .xcodeproj, fixes use_frameworks! for CocoaPods support, adds a useWindowDimensions hook, and upgrades to React 16.9.
useWindowDimensions hook to replace most Dimensions usage (103ec2f770 by @sahrens)debug.keystore to the android template. (d55025694b by @bondehagen)module.name_mapper in template .flowconfig (e6b2cf0418 by @MoOx)JSON.stringify in console.log if Symbol is unavailable (179889704b by @cpojer)This is a small patch release with a commit to fix the build break in MSVC to help the users of react-native-windows. (9833ee7bc1 by @acoates-ms)
This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.60 release. Thanks to everyone who contributed!
ClassNotFound exception in Android during Release builds (ffdf3f22c6 by @thecodrr)You can participate to the conversation for the next patch release in the dedicated issue.
This is a patch release that contains two more Hermes related fixes, thanks to the contributors for helping improving the support!
You can participate to the conversation for the next patch release in the dedicated issue.
This is a patch release that fixes the binary path to Hermes package, thanks to @zoontek) for creating the PR!
You can participate to the conversation for the next patch release in the dedicated issue.
This is a patch release that fixes the path to Hermes package.
You can participate to the conversation for the next patch release in the dedicated issue.
This is a patch release that includes the Hermes JavaScript Engine announced at Chain React Conf 2019.
Check out the documentation to opt-in and give Hermes a try.
You can participate to the conversation for the next patch release in the dedicated issue.
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.
isReduceMotionEnabled() plus reduceMotionChanged to AccessibilityInfo (0090ab32c2 by @estevaolucas])AbortController (h5e36b0c by @janicduplessis)touchSoundDisabled prop to Button, Touchable, and TouchableWithoutFeedback (45e77c8324 by @yurykorzun)announceForAccessibility and announcementFinished APIs for making screen reader announcements (cfe003238a by @rigdern)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)scrollEventThrottle value to Animated.FlatList and Animated.SectionList; this now behaves consistently with Animated.ScrollView (933e65e245 by @janicduplessis)keyExtractor now checks item.id and item.key (de0d7cfb79 by @sahrens)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 (248a108abf by @vonovak)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)[email protected] (bccc92dfdd by @janicduplessis)PARTIAL_WAKE_LOCK tag (88dbb4558c by @timwangdev)onSlidingComplete event to a non-bubbling event on iOS to match Android (7927437a6d by @rickhanlonii)Animated.Value value after animation if component was re-mounted (b3f7d53b87 by @michalchudziak)fetch (05baf62721 and 9ef5107d04 by @janicduplessis)scrollToLocation now scrolls to the top of the sticky header as expected (d376a444e3 by @danilobuerger)onValueChange on initialization; now it is only called when selectedValue changes (82148da667 by @a-c-sreedhar-reddy)onKeyPress method when the user types an emoji (a5c57b4ed4)onSelectionChange start and end arguments by normalizing them (2ad3bb2e2d by @uqmessias)Linking.getInitialURL method, use the InteractionManager to wait for the current activity to finish initializing (c802d0b757 by @mu29)onSelectionChange behavior in single line text inputs (0c11d8d9b4 by @zhongwuzw)renderingMode not applied to GIF Images (75380aa329 by @zhongwuzw)centerContent not work in some cases (2cdf9694b5 by @zhongwuzw)code and reason arguments being ignored when calling WebSocket.close (0ac2171c54 by @jeanregisser)Linking.openURL() (4a5d0bdbd7 by @thib92)nil instead of @"" (d4ff5ed258 by @sammy-SC)