React Native v0.65.x released
v0.65.x on GitHub (npm)
Release blog post
Changelog
v0.65.0
Highlights
- Hermes 0.8.1. Please see the highlighted changes from its 0.8.0 and 0.8.1 release notes.
react-native-codegen
version0.0.7
is now needed as adevDependency
in thepackage.json
.
Breaking Changes
iOS specific
- Replace
flipper_post_install
withreact_native_post_install
hook. Will automatically detect if Flipper is enabled. (42dde12aac by @grabbou)
Added
- Add
onPressIn
&onPressOut
props to Text (1d924549ca by @adrienharnay) - Stabilize
RootTagContext
. And temporarily export bothunstable_RootTagContext
andRootTagContext
(9d489354ae by @nadiia) - Implement
sendAccessibilityEvent
in the React(Fabric/non-Fabric) renderer (99b7052248 by @JoshuaGross) - Re-added
localeIdentifier
toI18nManager
constants (6b91ae73cd by @acoates-ms) - Add PressabilityPerformanceEventEmitter (c4c0065b00 by @JoshuaGross)
- Added
displayName
to some RN contexts to make them more easy to differentiate when debugging. (68a476103a by @bvaughn) - Add
displayName
toTouchableHighlight
andTouchableOpacity
(c4e40b81c0 by @brunohkbx) - Added context to URL's error messages when the feature is not implemented (452240bafa by @Crash--)
- Add a
stickyHeaderHiddenOnScroll
option to keep the sticky header hidden during scrolling down, and only slide in when scrolling up (ffba25c648) - Added
debugName
parameter torenderApplication
to use as the display name for the React root tree (eeb36f4709 by @rubennorte) - Adding support for
cancelOnBackground
for UserFlow (0d4985900b by @dmitry-voronkevich) - Introducing RuntimeScheduler module (eb13baf2a6 by @sammy-SC)
- Roll out TurboModule Promise Async Dispatch (5c4f145e33 by @RSNara)
Android specific
- Add
getRecommendedTimeoutMillis
to AccessibilityInfo (d29a7e7a89 by @grgr-dkrk) - TalkBack now announces "unselected" when changing
accessibilityState.selected
to false. (73bc96ecf9 by @yungsters) - Fbjni version bump to 0.0.3 (24f9f75bf6 by @IvanKobzarev)
- Add
onFocus
andonBlur
for Pressable on Android. (cab4da7288) - Introduce API to allow applications to register
TurboModuleManagerDelegates
withReactInstanceManager
(eb7e89e286 by @RSNara) - Added convenience methods to simplify native Event classes and ease migrations (72d0ddc16f by @JoshuaGross)
iOS specific
- High contrast dynamic color options for dark and light mode. (4b9d9dda27 by @birkir)
- Adds an ability to retrieve the notifications authorization status from JavaScript side. (b86e52a9ec)
- Added reset method to
RCTFabricSurface
to help with reloads (53858ceaa3 by @PeteTheHeat) - Allow
RCTRootView
to be initialized with a frame (00bc09c8f7 by @appden) - Allow for configuring the
NSURLSessionConfiguration
(58444c74f5 by @hakonk) - Use react-native-codegen in iOS app template (e99b8bbb40 by @hramos)
Changed
- Bump Flipper + Bump hermes (#31872 by @Titozzz)
- Show warning when native module without
addListener
orremoveListeners
is passed toNativeEventEmitter
(114be1d217 by @rubennorte) - Disable
accessibilityState
when theTouchableWithoutFeedback
isdisabled
. (697164077c by @carloscuesta) - Upgraded
react-devtools-core dependency
to 4.12.0 (5a2693d78f by @bvaughn) - Set disabled
accessibilityState
whenTouchableHighlight
is disabled (f69e096bb4 by @Naturalclar) - Add checks and logs to for better error handling (ea1f9531f0)
- CreateAnimatedComponent: removed deprecated lifecycles usage (ba61267015 by @nadiia)
- Hide caret in the
TextInput
during test runs. (397bfa6ad7 by @nadiia) - Use
usePressability
hook in TextInput (c4aa411ee3 by @nadiia) Keyboard
no longer inherits fromNativeEventEmitter
, so it no longer implementsremoveAllListeners
, andremoveSubscription
. (1049835b50 by @yungsters)AppState
no longer inherits fromNativeEventEmitter
, so it no longer implementsaddListener
,removeAllListeners
, andremoveSubscription
. (6f22989e92 by @yungsters)DevSettings
no longer inherits fromNativeEventEmitter
(70cd569e7e by @yungsters)- LogBox will not initially collapse stack frames if every frame would be collapsed. (88a41f180c by @yungsters)
- Update package name warning of deprecated modules (34e1b0ef98 by @Naturalclar)
- Update react-native-codegen to 0.0.7 (cd6c9f3273 by @Naturalclar)
- Update template devDependencies (652e3953f4 by @Bardiamist)
- Don't minify JS bundle by default when using hermes (1a67dda668 by @janicduplessis)
- Migrate warnings in index.js to point to new lean core repos (4421a64ac1 by @Naturalclar)
- Update Flipper to 0.93.0 (06c33e9abe by @mweststrate)
- Update Flipper to 0.91.1, fixed iOS build support for i386,
use_flipper!()
will no longer need custom overrides to build with XCode 12.5 (4246c75d0d by @mweststrate) - Find node on m1 via homebrew node managers (4d40b53c12 by @danilobuerger)
- Clean up EventObjectPropertyType (0e46080847 by @RSNara)
Appearance.addChangeListener
now returns anEventSubscription
. (305b4253c2 by @yungsters)Dimensions.addEventListener
now returns anEventSubscription
. (c47a03563d by @yungsters)- Updated react-native-community/cli to v6 (hence updating metro to 0.66) (0d32aef3aa by @Titozzz)
- Reflect Hermes release version from HermesBadge (c54aeccf1a by @Huxpro)
Android specific
- Modified
NativeEventEmitter
to also use the passed native module to report subscriptions on Android (f5502fbda9 by @rubennorte) - RefreshControl.size prop changed its type to string, the valid values are: 'default' and 'large' (dd60414578, 65975dd28d by @mdvacca)
- TouchableNativeFeedback: sync disabled prop with accessibilityState (88f2356eed by @kyamashiro)
- Rename
hasActiveCatalystInstance
tohasActiveReactInstance
(dfa8eb0558) - Record latest error type in dev support (423453e105)
- Passing accessibility state in button so it can announce disabled in talkback (5889cbebe3 by @huzaifaaak)
- Fixed issue that causes HorizontalScrollView to shift to the right when a TextInput is selected and keyboard pops up (b9b23e1ab1 by @JoshuaGross)
- Fixed jumpy RTL horizontal ScrollViews. If you have Android-specific JS hacks for handling RTL in ScrollViews, you probably can/probably want to remove them, because they should be reliable now and require fewer hacks. (fc032cd8d8 by @JoshuaGross)
- Add a new check to avoid calling this method (2b708560fc)
- Clipping subviews has been temporarily disabled in HorizontalScrollView in RTL mode. Minor/negligible perf impact. (da8ed6b625 by @JoshuaGross)
- Change StatusBar style handling strategy (7324b92dc4)
- Clean listeners during destroy of
ReactContext
(d79212120b by @mdvacca) - Bump buildToolsVersion to 30.0.2, (5d01110b53 by @dulmandakh)
- Initial replacement of jcenter with mavenCentral. (704dd2812f by @ShikaSD)
- Remove developer tool guard for android (c7d28bca30)
- Bump Android compileSdkVersion and targetSdkVersion from 29 to 30 (55c8833817, c7efd5b369 by @mdvacca)
- Upgrade jsc-android to 250230.2.1 (341f061ce3 by @Kudo)
- Bump Gradle to 6.9, Android Gradle Plugin to 4.2.1 (547b4c92e4 by @dulmandakh)
- Bump gradle wrapper to 6.8.3 (7258afeea3 by @dulmandakh)
- Bumping OkHttp from 4.9.0 to 4.9.1. (6caec9d91f by @gedeagas)
- Bumping OkHttp from v3 to v4. (8207e97f91 by @arazabishov)
- Update Okhttp to version 3.14.19 (6bfd89d277 by @LukasFPV)
- Bump Fresco to 2.5.0 (8fa8934011 by @dulmandakh)
- Bump Fresco to 2.3.0 (280f524b49 by @dulmandakh)
iOS specific
- Give RCTNetworking handler provider block RCTModuleRegistry (4c5182c1cc by @RSNara)
- Give RCTImageURLLoader's loader/decoder provider blocks RCTModuleRegistry (af6bcfa3ab by @RSNara)
- Make RCTTurboModule
getTurboModule
: required (e0b8f5080f by @RSNara) - Update React.podspec to require cocoapods >= 1.10.1 (b50b7e3a19 by @sunnylqm)
- Fix glog pod install with Xcode 12 (8a5fd8ea95 by @dulmandakh)
- Only show Dev Menu on shake if RN view is visible (7186c4de4f by @PeteTheHeat)
progressViewOffset
prop ofRefreshControl
andVirtualizedList
now works on iOS (310a6bcf4b by @davidbiedenbach)- Roll out TurboModule block copy (5275895af5 by @RSNara)
- Add instructions to template/ios/Podfile for enabling hermes (a326a30e32 by @SConaway)
Deprecated
EventEmitter#removeSubscription
is now deprecated. (cb6cbd12f8 by @yungsters)- It is now deprecated to pass a constructor argument to
EventEmitter(...)
. (14f7a2b707 by @yungsters) - Deprecate
AccessibilityInfo.removeEventListener
. (003d63d6e5 by @yungsters) - Deprecate
Linking.removeEventListener
. Instead, callremove()
on the subscription returned byLinking.addEventListener
. (6d1aca806c, 035718ba97 by @yungsters) - Old Native method to create ScrollEvent has been deprecated and will be removed at some point in the (distant) future (62f0dee235 by @JoshuaGross)
Android specific
- Deprecate
NativeModule.onCatalystInstanceDestroy()
forNativeModule.invalidate()
(18c8417290 by @RSNara) - Mark
hasActiveCatalystInstance()
as Deprecated (1b50722a7e)
Removed
- Stabilize
RootTagContext
(9b98edcd01 by @nadiia) - Removed
getNode()
from animated component refs. (b914153286 by @yungsters) - Remove legacy context API usage in AppContainer (17be3a0032 by @nadiia)
- Removed
AccessibilityInfo.fetch
, useisScreenReaderEnabled
instead. (d831134d51 by @yungsters) - Remove unused VR-only props (95f7c791c5 by @Simek)
- Removed
RCTDeviceEventEmitter.sharedSubscribers
. (3af0c84aa5 by @yungsters) - Moved
ScrollResponder.Mixin
methods into ScrollView to Remove ScrollResponder.js (099f67cf8a by @kacieb) NativeEventEmitter
no longer inherits fromEventEmitter
, so it no longer implementsremoveListener
andremoveSubscription
. Instead, use theremove()
method on the subscription object returned byaddListener
. (d39643b9de by @yungsters)RCTDeviceEventEmitter
no longer throws forStatusBar
,Keyboard
, andAppState
events. However, you are still recommended to use the more appropriate modules for listening to these events. (c8c975f0d7 by @yungsters)- Removed second optional argument of
NativeEventEmitter
constructor (f5f47879b8 by @yungsters) - Removed warning on Android for
setTimeout
with delays greater than 1 minute. (480dabd665 by @yungsters) - Removed
Touchable.TOUCH_TARGET_DEBUG
property. (ef765d423c by @yungsters)
Android specific
- Remove okhttp3 proguard rules (b4c9f13fe7 by @doniwinata0309)
- Remove filter pills (5cf4ab8dd2 by @suminkimm)
- Remove
ReactFragmentActivity
class. (2798e7172b by @dulmandakh) - Remove jcenter (70da640946 by @dulmandakh)
iOS specific
- Removed event methods except
addListener
fromNetworking
(a81b7d18fa by @yungsters) - Delete deprecated "live reloading" setting (b512beb0c4 by @PeteTheHeat)
- Remove iOS10/tvOS10 support (f2c6279ca4, a1d626739d by @PeteTheHeat)
- Remove iOS10/tvOS10 support from remaining podfiles (f0faa7843c by @PeteTheHeat)
- Delete RCTTurboModuleManagerDelegate
getTurboModule:initParams
(c4c34a1237 by @RSNara)
Fixed
- Don't disconnect DevTools WebSocket connection on Cmd+D (60a18c138c by @bvaughn)
- For native components that accept color arrays, invalid elements will now fallback to transparent with a console error. (bb6cd56fae by @yungsters)
- Fixes usage of std::thread in runtime executor (75d9ba733f by @asklar)
- Fix sticky header not sticking on first render in ScrollView (921c9ff165 by @kacieb)
- Fix ScrollView
getInnerViewNode
andgetInnerViewRef
ref methods (6e36d046a3 by @vshab) - Fix stalling UI due to a bug in KeyboardAvoidingView (67309277fe by @sammy-SC)
- Avoid eating clicks/taps into ScrollView when using physical keyboard (6d2a527984 by @NickGerleman)
- Fix nested FlatList not firing
onScrollDragEnd
andonMomentum
methods (46be292f67 by @kacieb) - Fix race condition in Debug Inspector shutdown (d021000b9e by @MartinSherburn)
- Fixes layout of nodes with
YGDisplayNone
andYGPositionTypeAbsolute
(b15f8a30e7 by @rozele) - Fix changes of View visibilities (4076293aa1 by @mdvacca)
- Fix: save connection url as class variable (8facc865ab by @sirpy)
- Fix Hermes build on folly version 2021.04.26.00 (8eceee744e by @PeteTheHeat)
- Fix disabled handling for Text (33ff4445dc by @lunaleaps)
- Fix disabled prop not disabling onPress for voice assistant (1c7d9c8046 by @kacieb)
- Fix unsafe cast and detect overflow in MapBuffer. (e69f1c9f50)
- Fix(deps): bump metro to 0.66.2 + dedup (e40f58272d by @Titozzz)
Android specific
- Fixed crash when using style
borderRadius: any
withbackgroundColor: null
(42b6e6682c) - Fix font weight numeric values (3827ca6171 by @fabriziobertoglio1987)
- Fix wrong ripple color on Switch component (1b0683533a by @rnike)
- Fix Selected State does not announce when TextInput Component selected on Android (7ee2acc6c8 by @fabriziobertoglio1987)
- Fix layout bug in ReactTextView. (dec1b6ba15)
- Fix source build on Windows machines vol. 2 (c37d49492b)
- Make NativeModules immediately initializable (2bf866e401 by @RSNara)
- Restore
android_hyphenationFrequency
onText
. (1433ed6333 by @yungsters) - Display the
testID
as theresource-id
for black-box testing frameworks (381fb395ad by @jdeff) - Fix support for blobs larger than 64 KB (f00e348ca7 by @tomekzaw)
- Fix building React Android on Windows. (5dc15222b2)
- Fix race-condition on the initialization of ReactRootViews (74a756846f by @mdvacca)
iOS specific
- Animated images without loop no longer animate twice (17aa1e320e by @comvenger-brandon)
- Allow PlatformColor to work with border colors (c974cbff04 by @danilobuerger)
- RCTSurfaceHostingView default background color is now consistent with RCTRootView (f31497354b by @fkgozali)
- Invalidate TurboModules with infra-generated method queues on their method queues (497eb578ab by @RSNara)
- Fix RefreshControl layout when removed from window (e67811e7a6 by @janicduplessis)
- Tab Accessibility Role had incorrect localization string (80a10953f9 by @adkenyon)
- Incorrect ScrollView offset on update (a4526bcc3f by @rnike)
- Modal's
onDismiss
prop will now be called successfully. (d85d5d2e19 by @kkoudev) - Fix DatePicker sizing issue (84d55868e8 by @sammy-SC)
- First press not working after pull to refresh (c4950610e4 by @rnike)
- Fix Codegen silently failing when Yarn is not installed, or when Yarn v2 is active. (07e4953514 by @ivanmoskalev)
- Make codegen more reliable on iOS (12fccdeea3 by @janicduplessis)
- Fix crash in RCTCoreModulesClassProvider during quit (2f62c2892d by @appden)
- Fix an issue calling stopSurface in bridgeless mode before surface is started (81096901a8)
- Move hermes to a separate podspec (0959ff36d1 by @janicduplessis)
- Fix cli bundle platform for Mac Catalyst in
react-native-xcode.sh
(b496a531e0 by @robertying) - Fix
prefetchImageWithMetadata
redbox(f27e305056 by @p-sun) - Roll out RCTNetworking extraneous NativeModule call removal (0e0d2e84f5 by @RSNara)
- Fix Hermes + no Flipper build on Xcode 12.5 (b9243e00e3 by @PeteTheHeat)
- Fix(hermes): fixed hermes build on iOS (59abb5f378 by @Titozzz)
- Fix builds on Xcode 12.5 (36b58a824e by @PeteTheHeat)
- Fix running React Native project with Xcode 12 in Release on iPhone Simulator (fdcacd7f76 by @grabbou)