Javascript React Native

React Native v0.65.x released10 min read

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 version 0.0.7 is now needed as a devDependency in the package.json.

Breaking Changes

iOS specific

Replace flipper_post_install with react_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 both unstable_RootTagContext and RootTagContext (9d489354ae by @nadiia)
Implement sendAccessibilityEvent in the React(Fabric/non-Fabric) renderer (99b7052248 by @JoshuaGross)
Re-added localeIdentifier to I18nManager 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 to TouchableHighlight and TouchableOpacity (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 to renderApplication 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 and onBlur for Pressable on Android. (cab4da7288)
Introduce API to allow applications to register TurboModuleManagerDelegates with ReactInstanceManager (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 or removeListeners is passed to NativeEventEmitter (114be1d217 by @rubennorte)
Disable accessibilityState when the TouchableWithoutFeedback is disabled. (697164077c by @carloscuesta)
Upgraded react-devtools-core dependency to 4.12.0 (5a2693d78f by @bvaughn)
Set disabled accessibilityState when TouchableHighlight 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 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)
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 an EventSubscription. (305b4253c2 by @yungsters)
Dimensions.addEventListener now returns an EventSubscription. (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 to hasActiveReactInstance (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 of RefreshControl and VirtualizedList 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, call remove() on the subscription returned by Linking.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() for NativeModule.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, use isScreenReaderEnabled 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 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)
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 from Networking (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 and getInnerViewRef 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 and onMomentum methods (46be292f67 by @kacieb)
Fix race condition in Debug Inspector shutdown (d021000b9e by @MartinSherburn)
Fixes layout of nodes with YGDisplayNone and YGPositionTypeAbsolute (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 with backgroundColor: 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 on Text. (1433ed6333 by @yungsters)
Display the testID as the resource-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)

Pin It on Pinterest

Generated by Feedzy