React Native v0.68.0 Release Notes
-
๐ฅ Breaking Changes
- ๐ CI moved to Node 16. (f1488db109 by @kelset). This change enforces Node >= 14 for React Native builds.
- โฌ๏ธ Bump Android Gradle Plugin to 7.0.1. (272cfe5d13 by @dulmandakh) This version of Android Gradle plugin enforces JDK 11 for Android builds. Do not upgrade to AGP 7.1 as it is not supported by this version of react-native.
- โ Removed
fallbackResource
fromRCTBundleURLProvider
API (0912ee179c) by @philIip
๐ New Architecture
๐ If you are interested in enabling the new architecture, please refer to the dedicated documentation.
- Do not include Facebook license on users codegen'd code (450967938a by @cortinico)
Android specific
- Setup a
newArchEnabled
property to Opt-in the New Architecture in the template (8d652fba4c by @cortinico)
iOS specific
- โ Add fabric option to the default app template. (2e9a376c84 by @sota000)
- โ Add turbo module support in the default app template. (8ec0e6919c by @sota000)
- ๐ Rename the new architecture flag to RCT_NEW_ARCH_ENABLED. (c0c5439959e by @sota000)
โ Added
- ๐ฆ Create @fb-tools-support/yarn package (7db294d6d5 by @motiz88)
- ๐ Support string color values in Animated.Color (d3a0c4129d)
- ๐ New Animated.Color node (ea90a76efe)
- โ Added linter warning config for unstable nested components (988fefc44d by @javache)
- Option to supply
platformConfig
to NativeAnimated (4a227ce2ab by @rozele) - Animated.event can be used to extract values with numeric keys from native events (b2105711a0 by @javache)
- โ Adds a setSelection imperative method to TextInput (771ca921b5 by @lyahdav)
- โก๏ธ Native-only prop to optimize text hit testing on some RN platforms (f3bf2e4f51 by @rozele)
Android specific
- โ Added DoNotStripAny proguard rules (48318b1542 by @ShikaSD)
- โ Add new API in ScrollView and HorizontalScrollView to process pointerEvents prop. (48f6967ae8 by @ryancat)
- โ Add
accessibilityLabelledBy
props (36037fa81b by @grgr-dkrk) - โ Added missing constructor to WritableNativeArray (c68c47d2ba by @piaskowyk)
- โ Add new API for custom fling animator to provide predicted travel distance for its fling animation. (fe6277a30d by @ryancat)
- โ Adding new API
onChildEndedNativeGesture
to the RootView interface to let its implementations notify the JS side that a child gesture is ended. (9b33c31ee0 by @ryancat) - ๐ Make the
reactNativeArchitectures
property more discoverable (0f39a1076d by @cortinico) - โ Added
isAccessibilityServiceEnabled
to get if accessibility services are enabled (c8b83d4e0b by @grgr-dkrk) - โ Add bundleForVariant option (d2c10da5d5 by @grit96)
- Add ACCEPT_HANDOVER, ACTIVITY_RECOGNITION, ANSWER_PHONE_CALLS, READ_PHONE_NUMBERS & UWB_RANGING to PermissionsAndroid (4b25a0aaa0 by @iBotPeaches)
iOS specific
- โ Add new argument to announceForAccessibility to allow queueing on iOS (4d1357918a by @peterc1731)
- โ Add volta support to find-node.sh (765844055b by @liamjones)
- ๐ Support fnm when detecting node binary (c9e4d34885 by @MoOx)
- Find-node.sh now respects .nvmrc (35bcf934b1 by @igrayson)
- โ Add macros to be able to stub C functions in tests (749a9207b6 by @philIip)
๐ Changed
- โฌ๏ธ Bump RN CLI to v7.0.3, and Metro to 67 (848ba6fb1d by @kelset) and (df2e934a69 by @kelset)
- โฌ๏ธ Upgraded react-devtools-core dependency to 4.23.0 (1cc217d5ef by @bvaughn)
- โฌ๏ธ Bump Flipper to 0.125.0 (50057158ca by @cortinico)
- Export Flow type for deceleration rate for use in other files to keep deceleration rate prop values consistently typed (9b0ed920ef)
- โฌ๏ธ Upgrade deprecated-react-native-prop-types dependency (badd30885f by @chiaramooney)
- ๐ Improved error message in react.gradle (7366a866b3 by @vonovak)
- โฌ๏ธ Upgraded packages to the latest versions for ESLint v7. (cf763cdf81 by @yungsters)
- โก๏ธ Updated the links for the discussions and changelog (daf37a1fce by @MikeyAlmighty)
- XMLHttpRequest.getAllResponseHeaders() now returns headers with names lowercased and sorted in ascending order, as per specification (b2415c4866 by @ascherkus)
- โฌ๏ธ Bump react-native-codegen to 0.0.9 (e3a71b019f by @cortinico)
- ๐ Accessing
Image.propTypes
,Text.propTypes
,TextInput.propTypes
,ColorPropType
,EdgeInsetsPropType
,PointPropType
, orViewPropTypes
now emits a deprecation warning. (3f629049ba by @yungsters) - โฌ๏ธ Bump
core-workflow-apply-version-label
version (e973b3afc2 by @lucasbento) - โ Add
vendor/bundle
into .gitignore template (2f67f5d68b by @MoOx)
Android specific
- โ Add allowsEdgeAntialiasing on views with rotations or skew transforms (e6a3410afe)
- โฌ๏ธ Bump Kotlin version to 1.6.10 (d0f0234656 by @AKB48)
- โฌ๏ธ Bump Soloader to 0.10.3 (f45889ef95 by @osartun)
- โฌ๏ธ Bump Gradle to 7.3 (c180627ac7 by @dulmandakh)
- โฌ๏ธ Bump Android compile and target SDK to 31 (00ac034353 by @ShikaSD)
- ๐ Use side-by-side NDK for Android (bd7caa64f5 by @cortinico)
- ๐ Leverage Gradle implicit dependency substitution for Gradle Plugin (0fccbd53af by @cortinico)
- โ Remove unused import of JMessageQueueThread.h (705236e363 by @sshic)
- Made
MessageQueueThread#runOnQueue
return a boolean. MadeMessageQueueThreadImpl#runOnQueue
return false when the runnable is not submitted. (89faf0c9a8) - ๐ฆ Assume *.ktx assets are packaged as Android drawables (cb610ddca7 by @motiz88)
- โ Add ViewConfigs to support onEnter/onExit/onMove events (44143b50fd by @mdvacca)
- Let react_native_assert really abort the app (2ae06df58f by @cortinico)
- ๐ Bugfix for multiple shadow threads rendered at the same time, small probability crash. (9d71b166a6 by @chenmo187)
- RootView's onChildStartedNativeGesture now takes the child view as its first argument (03e513de41 by @javache)
- โ Add ReactInstanceEventListenerV2 for migration (ce74aa4ed3 by @sshic)
- ๐ Improved logic of findTargetPathAndCoordinatesForTouch (dfe42d6b75 by @javache)
- Set a resolution strategy for com.facebook.react:react-native when on New Architecture (e695bc0bb5 by @cortinico)
- ๐ Make hermes-executor-common a static lib (b2cf24f41c by @janicduplessis)
- Static link for hermes-inspector (20b0eba581 by @janicduplessis)
iOS specific
- Don't capitalize the first letter of a word that is starting by a number (8b5a5d4645 by @MaeIg)
- โก๏ธ updated
jsBundleURLForBundleRoot:fallbackResource
tojsBundleURLForBundleRoot:
(aef843bfe6 by @philIip) - โ Remove iOS 11 availability check (9b059b6709 by @ken0nek)
- ๐ Refactor: Assign string label to each case in RCTPLTag enum for startup performance logging (60e60a9b3d by @p-sun)
- โก๏ธ IOS Ruby Updates (1e6add1a43 by @barbieri)
- โก๏ธ Update Flipper pods to support re-enable macCatalyst (2a5265dff7 by @mikehardy)
- ๐ Apple Silicon builds of glog & Flipper-Glog (274c617f5b by @rayzr522)
๐ Fixed
- ๐ Fix error "mockModal is not a function" (507b05f4c0 by @AntoineDoubovetzky)
- ๐ Fixes execution of animation when a toValue of AnimatedValue is used. (8858c21124)
- ๐ Fix RN version syntax to match new nightly build structure. (3d1d4ee457 by @chiaramooney)
- ๐ Fix typo in _updateBottomIfNecessary function on KeyboardAvoidingView component (0cc80b4d0c by @gabrieldonadel)
- ๐ Fix: Removes interface only check from third party components GenerateThirdPartyFabricComponentsProvider (3e6902244a by @Ubax)
- Set CxxModules' Instance before retrieving their Method vector. (1d45b20b6c by @JunielKatarn)
- AnimatedValue.__detach should store getValue result with offset deducted (fe53cae954 by @rozele)
- AnimatedValue.stopAnimation callback with correct value for NativeAnimated (8ba771c3dd by @rozele)
- ๐ ESLint no-undef rule clashing with TypeScript compiler for TS files (ae67c5ac45 by @fiznool)
- ๐ ESLint
no-shadow
rule returning false positive for TypeScript enums (722a0ff6f8 by @fiznool) - ๐ Fix support for custom port (b399c2e3d1 by @enniel)
onLayout
prop is handled correctly in<KeyboardAvoidingView>
(9c5e177a79)- โ Modal accepts a testID but didn't forward it to RCTModalHostView, therefore not making it show up for e2e tests depending on viewhierarchy. (5050e7eaa1 by @GijsWeterings)
- โ Remove unused and incorrect type declarations in WebSocketInterceptor (91728e2266 by @mischnic)
- Complete missing Flow declarations in URL (98abf1b02f by @mischnic)
- Pressable not passing hover props and event handlers to PressabilityConfig (1b30dd074b by @Saadnajmi)
- โ Composite animations will now be ran immediately when the app is in testing mode (b03e824c52 by @javache)
- โ Remove duplicate class members (c0e489b729 by @bradzacher)
- ๐ Fix: Use same implementation for
performance.now()
on iOS and Android (1721efb54f by @mrousavy)
Android specific
- Enable cliPath to have an absolute path value (5d560ca99f by @Krisztiaan)
- ๐ง Make sure configureNdkBuild* tasks are depending on preBuild (2fdbf6a10f by @cortinico)
- โ Added a null check to native.value in Switch to fix https://github.com/facebook/react-native/issues/32594 (8d50bf1133 by @jonathanmos)
- ๐ Fix overflowInset calculation by using transform values (8aa87814f6 by @ryancat)
- โ Add missing sources jar into published android artifacts (384e1a0c7b by @Kudo)
- ๐ Fix math for detecting if children views are in parent's overflowInset area. (45244ebce2 by @ryancat)
- ๐ Fixed empty screen after retrying a BundleDownloader failure in dev mode (c8d823b9bd by @samkline)
- ๐ Fix crash from ScrollView that occurs while reporting an error from JS (2151d11527 by @JoshuaGross)
- Enable hitSlop to be set using a single number. (589b129581 by @javache)
- ๐ Fix fling and snap with recycler viewgroup where fling to the end of scrollable distance when it goes over current rendered children views. (ead7b97944 by @ryancat)
- ๐ Fixed edge case for quick small scrolls causing unexpected scrolling behaviors. (f70018b375 by @ryancat)
- ๐ Fix crash on ReactEditText with AppCompat 1.4.0 (e21f8ec349 by @cortinico)
- Do not .lowerCase the library name when codegenerating TurboModule Specs (28aeb7b865 by @cortinico)
- Enable hitSlop to be set using a single number. (a96bdb7154 by @javache)
- โก๏ธ Updated TextInput prop types to accomodate for new autoComplete values (9eb0881c8f by @TheWirv)
- Don't reconstruct app components https://github.com/facebook/react-native/issues/25040 (fc962c9b6c by @Somena1)
- Do NOT skip the first child view in the scroll view group when measuring the lower and upper bounds for snapping. (61e1b6f86c by @ryancat)
- ๐ Fix crash when a Switch is initialised with both backgroundColor and thumbColor. (456cf3db14 by @smarki)
- ๐ Fix devDisabledIn not working with multiple productFlavors (055ea9c7b7 by @grit96)
- โช Revert
ReactScrollView
to useContext
instead ofReactContext
in the constructor to be less restrictive. (7b77cc637e by @ryancat) - ๐ Fix onPress event for nested Text in RN Android (e494e4beb6 by @mdvacca)
- ๐ Fix enableVmCleanup not working for apps with product flavors (a2b5e4cd82 by @cortinico)
- Prevent NPE on ThemedReactContext (f1b5fe1d3e by @sshic)
- ๐ fix: jvm 11 error message from ReactPlugin.kt and react.gradle (4e947ecb2d by @nomi9995)
iOS specific
- ScrollView: Respect
contentInset
when animating new items withautoscrollToTopThreshold
, makeautomaticallyAdjustKeyboardInsets
work withautoscrollToTopThreshold
(includes vertical, vertical-inverted, horizontal and horizontal-inverted ScrollViews) (49a1460a37 by @mrousavy) - Prevent RCTConvert error for allowed null blob types (e1b698c5f2 by @habovh)
- Migrate ScreenshotManager from NativeModule to TurboModule (b13e41d98e by @p-sun)
- ๐ Fix usage of cocoapods with --project-directory flag and new arch (9e7d91f2fc by @danilobuerger)
- Post RCTContentDidAppearNotification with new arch (75105e692c by @danilobuerger)
- โ Remove absolute paths from pods project (42b01a32a1 by @danilobuerger)
- 0๏ธโฃ Respect RCTSetDefaultFontHandler chosen font (89efa1a0c1 by @danilobuerger)
- ๐ Fixed duplicated UUIDs problem during pod install phase. (f595a4e681)
- ๐ Fix
Time.h
patch not being applied when runningpod install --project-directory=ios
(60cef850bd by @tido64) - ๐ Fix WebSocket control frames having payloads longer than 125 bytes (86db62b7a8 by @asmeikal)
- Stop RedBox from appearing for LogBox handled errors (9d2df5b8ae by @liamjones)
- Enable hitSlop to be set using a single number. (3addafa525 by @javache)
- Fix
__apply_Xcode_12_5_M1_post_install_workaround
failing when one of the Pods has no IPHONEOS_DEPLOYMENT_TARGET set (9cd4092336 by @Yonom) - ๐ This is a quick speculative fix since we know
CFRunLoopPerformBlock
does not push/pop an autorelease pool. (3fff164dfa by @christophpurrer) - ๐ Fixed RCTImageLoaderTests (1542f83527 by @philIip)
- ๐ Fix Rosetta2 CocoaPods warning on Apple Silicon (e918362be3 by @oblador)
- ๐ Fix
pod install --project-directory=ios
failing due to wrong path toReact-Codegen
(ebb26cf2e4 by @tido64)
๐ Deprecated
Android specific
- ๐ Gradle: Deprecate
reactRoot
in favor ofroot
andreactNativeDir
(8bc324fd34 by @cortinico)
โ Removed
- ๐ DeprecatedPropTypes (deep-link) modules removed from React Native. (23717c6381 by @yungsters)
accessibilityStates
no longer passed through to RCTView. (1121ed94ab by @luism3861)
iOS specific
- โ Remove RCTUIManagerObserver from RCTNativeAnimatedTurboModule (e9ed115bab by @p-sun)