mirror of
https://github.com/facebook/react-native.git
synced 2024-11-22 06:29:46 +00:00
5846be0e83
Summary: This PR adds the changelog for 0.69.12 and 0.70.12 ## Changelog: [Internal] [Changed] - Add changelog for 0.69.12 and 0.70.12 Pull Request resolved: https://github.com/facebook/react-native/pull/38185 Test Plan: N/A Reviewed By: Andjeliko Differential Revision: D47214106 Pulled By: cipolleschi fbshipit-source-id: 8a623761754f46c34664b5f91208bdb5aad9d989
206 KiB
206 KiB
Changelog
This file contains all changelogs for latest releases, from 0.70.0 onward. Please check out the other CHANGELOG-*.md
files for previous versions.
v0.72.1
Added
iOS specific
- Add warning to help users migrate away from the interop layer. (a702d0515f by @cipolleschi)
- Allow to lookup for ViewManager without the RCT prefix in the Interop Layer (a28881a3d7 by @cipolleschi)
Changed
react-native/metro-config
now includes all base config values frommetro-config
(bbcedd385b by @huntie)- Bump CLI to 11.3.3 (da84901f78 by @kelset)
- Bumped
@react-native/metro-config
to0.72.7
,@react-native/gradle-plugin
to0.72.11
,@react-native/virtualized-lists
to0.72.6
(95db9f98f2 by @kelset)
Fixed
react-native/virtualized-lists
does not needreact-test-renderer
at runtime (7a2a3278d0 by @tido64)
Android specific
- Exclude trailing whitespace from newline character on measuring text line width (83d7a48a46 by @bernhardoj)
- Set kotlin.jvm.target.validation.mode=warning on user projects (10beefbbfa by @cortinico)
iOS specific
- Bump SocketRocket to 6.1.0 (8ce471e2fa by @cipolleschi)
- fix
pod install --project-directory=ios
failing (0b96bdcf32 by @tido64)
v0.72.0
Breaking
- Bump version of Node used to 18 (f75b92a by @leotm), and minimum Node JS version to 16 (afc91de79a by @robhogan)
- Constrain data type in
getItemLayout
callback (febf6b7f33 by @NickGerleman) - Fix react-native/eslint-config linting of jsx files (59ee573527 by @NickGerleman)
iOS specific
- Generates RNCore components inside the ReactCommon folder and create a new pod for platform-specific ImageManager classes (5d175c6775 by @cipolleschi)
- Moved the RCTAppSetupUtils to the AppDelegate library to break a dependency cycle (36a64dc2bd by @cipolleschi)
- Split the
ReactCommon/react/nativemodule/core/platform/ios
andReactCommon/react/nativemodule/samples
in two separate pods to break circular dependencies. (21d530208f by @cipolleschi)
Added
- Improve handling of invalid DimensionValue usage (02e29abead by @NickGerleman)
- Add new JS performance API to support getting RN app startup timings (c1023c73b0)
- Add performance memory API with native memory Info (70fb2dce45)
- Added Web-compatible
DOMRect
andDOMRectReadOnly
classes to the global scope. (673c7617bc by @rubennorte) - Add onStartReached and onStartReachedThreshold to VirtualizedList (7683713264 by @janicduplessis)
- Added
setColorScheme
toAppearance
module (c18566ffdb, (0a4dcb0309 by @birkir) - Add logical border block color properties (597a1ff60b by @gabrieldonadel)
- Add logical border-radius implementation (4ae4984094 by @gabrieldonadel)
- Added CSS logical properties. (3681df2878 by @necolas)
- Concurrent rendering safe implementation of Animated (5cdf3cf726, (5e863fc42c by @sammy-SC)
- Create explicit error message for TypeScript functions used as props in Codegen components, redirecting devs to the supported function types
BubblingEventHandler
andDirectEventHandler
. (dc2cbed07c by @gtomitsuka) - Generate enum types that would be allowed to be used as well as string/number in c++ turbo modules generators (ceb1d0dea6 by @vzaidman)
- Add enum example to Android/iOS rn-tester TurboModule (7c82a3fa11 by @christophpurrer)
- Allow the use of "Partial" in Turbo Module specs. (97e707d897 by @vzaidman)
- Added newline to UTFSequence (9cf35bfcc4)
- Added "coverage" folder generated from
jest --coverage
to .gitignore (7324c22ff9 by @Adnan-Bacic) - Add support for getting/setting reload-and-profile-related settings in iOS + Android (96d6680e00)
- For supporting Dev Loading View across platforms, adding the DevLoadingViewController without an activity/context. (662b51fad2)
- Pass DevTools Settings Manager to connectToDevTools (a9bed8e75d)
- React-native-code-gen Add Union Type support for Java/ObjC TurboModules (2eccd59d7c by @christophpurrer)
- Making Dev Loading View cross platform by abstracting out the activity/context logic from the controller in a polymorph class. (1a4fa92b25)
- Added CSS logical properties by mapping layout props. (cf3747957a by @mayank-96)
- Add, but don't use, DevTools Settings Manager. (6152763398)
Android specific
- Adding pager, scrollview, viewgroup, webview, drawer accessibility roles (55c0df43b9 by @fabriziobertoglio1987)
- Add TYPE_VIEW_HOVER_ENTER to AccessibilityNodeInfo sendAccessibilityEvent (a0adf57e50 by @fabriziobertoglio1987)
- Add maintainVisibleContentPosition support on Android (c19548728c by @janicduplessis)
- For supporting Dev Loading View across multiple platforms, changing the Loading View of Android to rely on the native implementation instead of Toast while keeping backwards comptability. (9f6b532bdb)
- For supporting Dev Loading View across multiple platforms, adding native implementation for showMessage() & hide() of Dev Loading Module (4923a0997b)
- For supporting Dev Loading View across multiple platforms, altering the javascript implementation of Loading view of android to also rely on native implementation as iOS instead of Toast, thereby unifying both platforms (068a20842d)
- Added possibility to mark Fresco image pipeline as already initialized (605a52fe3e by @oprisnik)
- Support generating
getName
in react-native-codegen for Java TurboModules (90538909f9 by @javache) - Override default Talkback automatic content grouping and generate a custom contentDescription (759056b499 by @fabriziobertoglio1987)
- Enable AnimatedInterpolation to interpolate arbitrary color types. (e7dbfb2dbd by @javache)
- Added getter for line height in CustomLineHeightSpan (2d2f9da80b)
- Add POST_NOTIFICATIONS permission to AndroidManifest of RNTester (c84cc4b46c by @makovkastar)
iOS specific
- Added examples of direct manipulation (a44d8a0f8a by @cipolleschi)
- Support workspace and isolated setups with
pod install
(0eff8d66c9 by @robhogan) - Add example in the Interop Layer to use constants (a5866ca3aa by @cipolleschi)
- Add example in the Interop Layer to use events (c005830958 by @cipolleschi)
- Add invoking dev menu on iOS by pressing
d
in terminal. (f72f8daeaf by @szymonrybczak) - Add comments for specifying the path to React Native (3876368f0c by @sottar)
- Add explicit support for M2 iPad Apple Pencil hovering in the Pointer Events implementation (0c150b2289 by @vincentriemer)
- Add message with instructions about what to do if the cleanup of the build folder fails. (1b7127bb05)
- Enable AnimatedInterpolation to interpolate arbitrary color types. (56b10a8351 by @javache)
- Allow for custom project dir in react-native-xcode script (436da18fce by @itxch)
- Enable AnimatedInterpolation to interpolate arbitrary color types. (6003e70e84 by @javache)
Changed
- Default condition set for experimental Package Exports is now
['require', 'react-native']
(308838c0ff by @huntie) - Run commit hooks before layout calculation (8d0b5af1fc by @tomekzaw)
- Support mixed props for components in codegen (0ae5e50e37 by @genkikondo)
- Switch from
types/jest
tojest/globals
for new react-native projects (9af3c9654a by @UNIDY2002) - Move virtualized lists to react-native/virtualized-lists package (2e3dbe9c2f by @gabrieldonadel)
- Add minimum necessary .d.ts files to react-native-codegen (ac5aec3f5c, (be3845adec by @ZihanChen-MSFT)
- Change PerformanceApiExample to use ModulePathing (6a395cb2d7 by @TatianaKapos)
- Re-organize the parameters of TurboModuleBinding::install() (cbdbb47467)
EventEmitter#addListener
now throws if the 2nd argument is not a function. (2780ba38ff by @yungsters)- When a ScrollView's
ref
orinnnerViewRef
changes, the old ref will now be invoked withnull
and the new ref with the active instance. (Previously, changingref
orinnerViewRef
on aScrollView
would be treated as though the ref had not changed at all.) (7cf4cf3afb by @yungsters) - Turbo Module supports intersection type for TypeScript (bbed15d4ae by @ZihanChen-MSFT)
- Find node binary when using asdf as the node version manager with custom
$ASDF_DIR
(f6a4e4f20f by @MuhmdRaouf) - Turbo module codegen support interface with inheritance in module (bf34810c5c by @ZihanChen-MSFT)
- Use number literals in TypeScript types for
FileReader
andXMLHttpRequest
states (8568b93733 by @eps1lon) - Moved jest config from package.json to dedicated jest.config.js file (473eb1dd87 by @Adnan-Bacic)
- Removed iOS flag from
scrollEventThrottle
docs (8ea1cba06a by @robwalkerco) - Renamed App-test.tsx to App.test.tsx to unify naming convention with create-react-app (3c03aef151 by @Adnan-Bacic)
- Turbo module codegen support interface like alias in module (8befb740d6 by @ZihanChen-MSFT)
- Append RCTRedBoxGetEnabled() in RCTExceptionsManager.mm (2217ea4136 by @nxdm)
- ActivityIndicator and remove .flow (9c57a7f209 by @lunaleaps)
- Mark methods on JSI references as const. (03b17d9af7 by @neildhar)
- Fix codegen output for object with indexer (f07490b1f1 by @ZihanChen-MSFT)
- Fix codegen to add
T
ofPromise<T>
in CodegenSchema.js (8a38e03e0f by @ZihanChen-MSFT) - Renamed react-native/polyfills -> react-native/js-polyfills and align with other packages versions (0.72.0) as a part of migration to monorepo (71399d0891 by @hoxyq)
- Rename normalize-color to normalize-colors as part of https://github.com/react-native-community/discussions-and-proposals/pull/480 (dc3355920d by @Titozzz)
- Renamed react-native-codegen package to react-native/codegen and updated references (b7a85b59b5 by @shivenmian)
- Rename assets to assets-registry (3c5a8290ae by @fortmarek)
- Rename polyfills to js-polyfills as part of https://github.com/react-native-community/discussions-and-proposals/pull/480 (ca1ae5c44f by @Titozzz)
- Rename react-native-gradle-plugin to react-native/gradle-plugin (6f11b10a88 by @hoxyq)
- Renamed
react-native-community/eslint-plugin
toreact-native/eslint-plugin
v0.72.0 to align with other packages (5aead70e80 by @afoxman) - Untrack Test Reports generated by test libraries (reporters E.g.
jest-junit
) (0ba1127c15 by @Pranav-yadav) - Add
TSMethodSignature
to react-native-codegen (ae1d54bc5a by @ZihanChen-MSFT) - Any
ref
set onTextInput
will now be updated less frequently (when the underlyingref
has not changed). (666f56bff3 by @yungsters) - Add intersection types in react-native-codegen for TypeScript (813fd04118 by @ZihanChen-MSFT)
- Update TextInput inputMode to map "none" to showSoftInputOnFocus (b6869be1ac by @gabrieldonadel)
- LogBox now makes URL links tappable. (d9ade19b71 by @sammy-SC)
- Upgrade to deprecated-react-native-prop-types@4.1.0 (f84256a924 by @yungsters)
- Flipper to 0.182.0 (8fae37eaea by @cortinico)
- Bump metro to 0.76.5 and CLI to 11.3.1 (7c5dc1d9bc)
- Bump tsconfig/react-native to 3.0.0 (5c4649af27 by @NickGerleman)
- Brew overwrites system Python 3. (ed8a3e08e2 by @blakef)
- Change the way types for New Architecture/experimental APIs are exposed. (f9bf14d09d by @lunaleaps)
- Backporting babel bumps to 0.72 (97986561f6 by @hoxyq)
Android specific
- Migrate packages to not eager initialize view managers (d7eb3bfcb3)
- Do not explicitely depend on androidx.swiperefreshlayout:swiperefreshlayout (179d5ab8ee by @cortinico)
- Remove the enableSeparateBuildPerCPUArchitecture from the template entirely (dadf74fb68 by @cortinico)
- Convert Bridge-only calls to overridable functions (1058bb8096)
- Use ThemedReactContext explicitly to reduce confusion (9f78517d64)
- Add notes to
aria-labelledby
from Text props (72d3da19ce by @gabrieldonadel) - Add POST_NOTIFICATION runtime permission to RNTester (63a4539e4d by @makovkastar)
- Removing code for Android API level < 21 (22ba1e45c5 by @mdvacca)
- Align creation of FabricUIManager with bridge (6d45e49dc7)
- For supporting Dev Loading View across multiple platforms, changed the Loading View of Android to rely on the native implementation instead of Toast. Getting rid of the JS changes relying on Toast for Dev Loading View now that the native module is released. (208f559505)
- Remove unnecessary repositories{} block from top level build.gradle (51a48d2e2c by @cortinico)
- Include the inspector in all build modes, and only turn it off/on at runtime. (8284303ec8)
- Bump Soloader to 0.10.5 (92a705b0e0 by @simpleton)
- Bump AGP to 7.4.x (4c5eb8dd2a, (5647d79dc9 by @cortinico)
- Bump Gradle to 8.x (81dd3afe0b, (10a8f186eb by @cortinico)
- Kotlin to 1.7.22 for Gradle (270584ac79 by @cortinico)
iOS specific
- Fixed URL to New Arch info (6714b99289 by @frankcalise)
- Prefer
Content-Location
header in bundle response as JS source URL (671ea383fe by @robhogan) - Add support to enable the Hermes Sampling Profiler (dce9d8d5de by @cipolleschi)
- Enable layout animations on iOS in OSS (0a30aa3612 by @sammy-SC)
- Update how the
react-native.config.js
is consumed to add elements in the interop layer. (a055e07c3e by @cipolleschi) - Use contents of sdks/.hermesversion to let cocoapods recognize Hermes updates. (9f496e2be5 by @dmytrorykun)
- Rename "Debug Menu" title to "Dev Menu" (6971540c90 by @huntie)
- Give precedence to
textContentType
property for backwards compat as mentioned in https://github.com/facebook/react-native/issues/36229#issuecomment-1470468374 (c0abff11b6 by @lunaleaps) - Use SocketRocket for web socket library (9ee0e1c78e)
- Pull out CGContext early in UIImage+Diff (7f2dd1d49c by @Saadnajmi)
- Remove assumptions on super's description (a5bc6f0574 by @Saadnajmi)
- Automatically update Search Path on pods (ad686b0ce1 by @cipolleschi)
- Install the -DNDEBUG flag on Release configurations, without requiring PRODUCTION=1 flag (93fdcbaed0 by @cipolleschi)
- Create a new compile time flag to enable remote sample profiling. (de28f9b8ea)
- Bumbed version of Cocoapods to support Ruby 3.2.0 (0f56cee8e1 by @cipolleschi)
- Automatically install the RuntimeScheduler (3e88fd01ce by @cipolleschi)
- Generate RCTFabric framework's headers in the React folder (e7becb06c1 by @cipolleschi)
- Properly install dependencies with
use_frameworks!
(6d34952420 by @cipolleschi) - Moved the files from
.../textlayoutmanager/platform/ios
to.../textlayoutmanager/platform/ios/react/renderer/textlayoutmanager
(0e09d6f8a6 by @cipolleschi) - Moved the files from
.../imagemanager/platform/ios
to.../imagemanager/platform/ios/react/renderer/imagemanager
(931a4c5e23 by @cipolleschi) - Moved the files from
.../textinput/iostextinput
to.../textinput/iostextinput/react/renderer/components/iostextinput
(5588e0fe0b by @cipolleschi) - Moved the files from
.../nativemodule/xxx/platform/ios
to.../nativemodule/xxx/platform/ios/ReactCommon
(d1e500c3b1 by @cipolleschi) - Moved the files from
.../platform/ios
to.../platform/ios/react/renderer/graphics
(b5e4fea86e by @cipolleschi) - Build hermesc in Xcode run script phase. (a5c77115ae by @dmytrorykun)
- Do not add "Copy Hermes Framework" script phase to hermes-engine target. (af6c9e2183 by @dmytrorykun)
- Refactor RCTEventEmitter initialization (25a00520d8 by @cipolleschi)
Deprecated
iOS specific
- Deprecate the
ReactCommon/react/renderer/graphics/conversions.h
in favor ofReactCommon/react/core/graphicsConversions.h
(d72697ca95 by @cipolleschi)
Removed
- Remove inline props from experimental (8c4694f708)
- Refactor(react-native-github): internalized Slider JS files (05968d16e1 by @hoxyq)
- Remove
.node_version
from app template. (a80578afc4 by @robhogan) - Clean up unnecessary lambda function for preallocate after D40403682 (0569f6500e)
- Remove unused type imports 1/1 (58a6cf840a by @alunyov)
- Remove force_static from ReactCommon/react/renderer/core (e088f81375 by @javache)
Android specific
- Deprecate LazyReactPackage.getReactModuleInfoProviderViaReflection() (11570e71a2)
- UIManager.preInitializeViewManagers (848ac0c3be by @javache)
- Removed android sources of Slider module (4c40014d43 by @hoxyq)
- Remove the react.gradle file as it's unused (d4a9bdc40e by @cortinico)
- Remove .mk prebuilt file and .mk file generation from codegen (7933dd78da by @cortinico)
- Remove deprecated POST_NOTIFICATION from
PermissionsAndroid
(deb6b380b2 by @cortinico)
iOS specific
- Removed unused RCTWeakProxy helper (2fbefff178 by @javache)
- Removed Slider module (465e937533 by @hoxyq)
- Removed DatePickerIOS module (0ff7b7fac2 by @hoxyq)
- Removed iOS sources of Slider module (fee9510b2d by @hoxyq)
- Removed native iOS sources of ProgressViewIOS (1453ef1a88 by @hoxyq)
- Remove conformance to RCTComponentViewFactoryComponentProvider which does not exists in 0.72 (ee177cab75)
Fixed
- Improved support for AnimatedInterpolation of color props. (b589123a3d by @javache)
- Improved handling of native colors in Animated.Colors (dccb57fb50 by @javache)
- Patch AnimatedStyle to avoid discarding the initial style info (c06323f463 by @gabrieldonadel)
- Gracefully handle out-of-bounds initialScrollIndex (aab9df3710 by @NickGerleman)
- Fix VirtualizedList onViewableItemsChanged won't trigger if first item in data is null (011ea3306f by @gauravroy1995)
- Fix VirtualizedList
onViewableItemsChanged
won't trigger if first item in data evaluate to false (1f0c2c2895 by @samchan0221) - Calculate VirtualizedList render mask for focused cell during batched state updates (cab865be79 by @NickGerleman)
- Bail on realizing region around last focused cell if we don't know where it is (776fe7a292 by @NickGerleman)
- Avoid VirtualizedList viewability updates during state updates (62a0640e4a by @NickGerleman)
- Add
lineBreakStrategyIOS
prop type for Text and TextInput (0c5c07fc9b by @jeongshin) - Fix negative value rounding issue for nodes across an axis (37171ec78f)
- Reduce use of assertions when parsing accessibility props passed from JS (a064de151f by @motiz88)
- Fixes crash when using togglebutton accessibilityRole with Text (dcc5dbe562 by @fabriziobertoglio1987)
- Fixes an issue with the EventEmitter type definition file (4acef8e4a4 by @helenaford)
- Fix animated components ref type inferred
any
(419b41f06d by @jeongshin) - Allow out-of-range initialScrollIndex after first scroll (d595fbcc5a by @NickGerleman)
- Delete refs to unmounted CellRenderers (c376e78224 by @NickGerleman)
- Enforce compatibility with
exactOptionalPropertyTypes
(7858a2147f by @NickGerleman) - Fix touch handling so that hitSlop can extend beyond parent view bounds. (96659f8e83 by @genkikondo)
- Export EmitterSubscription TypeScript Type (eb83356cee by @NickGerleman)
- Fix: remove gap if its last element in line (fix flex gap extra spacing when children determine parents main axis size) (d867ec0abb by @intergalacticspacehighway)
- Fixes JSDoc in Clipboard setString (0ecb4e64f0 by @mikemikhaylov)
- Fix typing for TS AnimatableStringValue (eb2f86a46a by @rshest)
- Fix types + documentation for CellRendererComponent (2d41e6642e by @NickGerleman)
- Fixed error during native DAG creation when there are multiple AnimatedValue props (c72c592ecd by @genkikondo)
- Fix YogaLayoutableShadowNode handling of non-layoutable children (024a8dc8ff by @NickGerleman)
- Fix type definition for
unstable_batchedUpdates
(71157f6ba6 by @k-yle) - Add missing SectionList types for Animated SectionList (ed39d639ea by @jeongshin)
- Add objectFit to the ImageStyle interface located in the StyleSheetTypes.d.ts file (32d03c250c by @alvessteve)
- Add src, srcSet, referrerPolicy, tintColor to Image.d.ts declaration file (74cb6073f3 by @alvessteve)
- Fix missing
height
,width
,crossOrigin
props on Typescript Image.d.ts file (bcf493f346 by @alvessteve) - Fixed typo in the initialNumToRenderOrDefault description's comment (ba7f9b40a6 by @ellouzeskandercs)
- Fixed string key calculation in constexpr from Performance C++ native module. (6faddc3870)
- Fix computation of relative layout to return empty layout for nodes with display: none and children. (6018c19991 by @rubennorte)
- Fix edge case when layout animation caused delete and create mutations in the same batch (d9f2491a71)
- Fix edge case when delete is queued with conflict layout animation (cf9c7d51ef)
- VirtualizedList scrollToEnd with no data (98009ad94b by @Andarius)
- Fixed a typo in interface.js (7fedd7577a by @rj1)
- Add
borderCurve
andpointerEvents
toViewStyle
(a0800ffc7a by @eps1lon) - Fix whitespace and newline at EOF in template (efe5f62f91 by @friederbluemle)
- Jest mocked requestAnimationFrame callbacks now receive a timestamp parameter (b44fe4deee by @kmagiera)
- Removes duplicate DoubleTypeAnnotation label (1bab3e24b8 by @mikemikhaylov)
- Filter out Hermes internal bytecode frames (Promise implementation) from error stack traces (4c911a2dec by @motiz88)
- Add missing AccessibilityInfo Types to TS Typings (76a14454d7 by @NickGerleman)
- Fix Errors with TypeScript Tests (c4862a2322 by @NickGerleman)
- Add missing VirtualizedList Imperative Types (621969b8d8 by @NickGerleman)
- Add missing types for AppRegistry (8d6e2f86f5 by @NickGerleman)
- Add type for RootTagContext (4e5421fd9a by @NickGerleman)
- Add missing types to PushNotificationIOS (079312895b by @NickGerleman)
- Fix types for deprecated scrollTo fields (0d091318ed by @NickGerleman)
- Fix Vibration.vibrate() allowing null params (2c2cb09c00 by @NickGerleman)
- Mark scrollToEnd animated as optional (e1af6302fc by @NickGerleman)
- Fix type for
StyleSheet.compose()
(1752fdc0f5 by @NickGerleman) - Add missing type for AnimatedValue.resetAnimation() and AnimatedValue.animate() (25a25ea234 by @NickGerleman)
- Fixed a backwards compatibility issue with AnimatedInterpolation (9b280ad1c5 by @motiz88)
- Explicitly set parser for jsx in ESLint config (cdb88a2427 by @NickGerleman)
- Move flex gap props to the correct type (ff984ac9b5 by @NickGerleman)
- Remove constexpr from RectangleEdges.h (879d303fc7 by @TatianaKapos)
- Move certain list prop TS types from SectionList, FlatList to VirtualizedList(6c33fd1c48 by @aliakbarazizi)
- Limit diagnostics width output by
hermesc
(260bcf7f1b by @tido64) - Fix autoComplete type for TextInput (94356e14ec by @iRoachie)
- Fix performance issues in Hermes when Debug (60a452b485)
- Fix hermesc for linux (32327cc177 by @cipolleschi)
Android specific
- Read GROUP name in gradle-plugin dependency code (615d9aefc4 by @douglowder)
- Fix letters duplication when using autoCapitalize https://github.com/facebook/react-native/issues/29070" (cbe934bcff by @fabriziobertoglio1987)
- Reset accessibility value when it gets a null value (aacf28778e)
- Fix check of "reduce motion" setting on android (790df10fa9 by @baranga)
- Fixed text measurement issue related to hyphenation frequency (01e7ff5513 by @javache)
- Fix layout width calculation in onTextLayout (ccbbcaab9c by @reepush)
- Fix a bug that returns a random number from callback argument
timeRemaining
ofidleCallbacks
registered byrequestIdleCallbacks
. (d9ab5e81cf by @mir597) - Fix android emulator detection for packager host (64ff077a66 by @deecewan)
- Invalid prop values no longer trigger Java exceptions in the legacy renderer (e328fc2e24 by @motiz88)
- Fixed crash occurring in certain native views when handling keyboard events. (f7e35d4ef7 by @aleqsio)
- Fixed ScrollView momentum not stopping when calling scrollTo programmatically (681b35daab by @tomekzaw)
- Fix memory leak in Android (bc766ec7f8)
- Address New Architecture performance regressions by properly setting NDEBUG (8486e191a1 by @cortinico)
- LoadingView of Android to use the Toast till the native implementation is functional (8ccb861231)
- Linking.getInitialUrl should not wait for InteractionManager (3921f05f59 by @javache)
- Using AccessibilityNodeInfo#addAction to announce Expandable/Collapsible State (082a033fbb by @fabriziobertoglio1987)
- Corrected Nullable annotations for parameters and return values in TurboModules codegen (6db3995175 by @javache)
- Fix measurement of uncontrolled TextInput after edit (8a0fe30591 by @NickGerleman)
- Mimimize EditText Spans 9/9: Remove
addSpansForMeasurement()
(92b8981499 by @NickGerleman) - Minimize EditText Spans 8/N: CustomStyleSpan (b384bb613b by @NickGerleman)
- Minimize EditText Spans 6/N: letterSpacing (5791cf1f7b by @NickGerleman)
- Minimize Spans 5/N: Strikethrough and Underline (0869ea29db by @NickGerleman)
- Minimize Spans 4/N: ReactForegroundColorSpan (8c9c8ba5ad by @NickGerleman)
- Minimize Spans 3/N: ReactBackgroundColorSpan (cc0ba57ea4 by @NickGerleman)
- Minimize Spans 1/N: Fix precedence (1743dd7ab4 by @NickGerleman)
- Fix the setup to allow the build-from-source on host projects (fec5658a32 by @cortinico)
- Fix a crash new app template when
createRootView
is invoked with null bundle (990971186f by @cortinico) - Resolved bug with Text components in New Architecture losing text alignment state. (31a8e92cad by @javache)
- Fix border rendering issue when bottom borders has no width (1d51032278 by @BeeMargarida)
- Fix possible
ConcurrentModificationException
inUIManagerModuleConstantsHelper::createConstants
(805b88c7a4 by @j-piasecki) - Fixed incorrect logging of
isCatalystInstanceAlive
in exception handler (daeee2a661 by @jonnycaley) - Make sure the Native RuntimeScheduler is initialized on Old Arch (133ccdcc67 by @cortinico)
- RNGP dependency substitutions for fork with different Maven group (012e4bd654 by @douglowder)
- Make sure the -DANDROID compilation flag is always included (3a321ae2bb by @cortinico)
- Remove license header from android/app/build.gradle (5e847c4309 by @cortinico)
- Make sure Java Toolchain and source/target level is applied to all projects (52d2065910 by @cortinico)
- Fix copy / paste menu and simplify controlled text selection on Android (dfc64d5bcc by @janicduplessis)
- Fixed random styling for text nodes with many children (73f4a788f1 by @cubuspl42)
- Fix Android border clip check (2d15f50912 by @gabrieldonadel)
- Revert "fix: border width top/bottom not matching the border radius" (0817eaa301 by @gabrieldonadel)
iOS specific
- Fix Flipper by moving podfile modification of preprocessor def
FB_SONARKIT_ENABLED
from React-Core to React-RCTAppDelegate where it is now used. (34d5212f5c) - Invalid prop values no longer trigger redbox in the legacy renderer (cb28a2c46e by @motiz88)
- Fix issue where keyboard does not open when
TextInput
showSoftInputOnFocus
changes fromfalse
totrue
(7425c24cbe by @christianwen) - Fix ScrollView
automaticallyAdjustKeyboardInsets
not resetting when Prefer Cross-Fade Transitions is enabled and keyboard hides (b8f1bb50f7 by @grgmo) - Unrecognized fontFamily values no longer trigger a redbox (d6e9891577 by @motiz88)
- Do not send extra onChangeText even wnen instantianting multiline TextView (a804c0f22b by @dmytrorykun)
- Support 120 FPS or more in
RCTFPSGraph
(987dd6a358 by @mrousavy) - Fix duplicate [RCTConvert UIUserInterfaceStyle:] (d8b4737ca6 by @NickGerleman)
- Blob data is no longer prematurely deallocated when using blob.slice (36cc71ab36 by @awinograd)
- Unbreak cocoapods build (419025df22 by @javache)
- Don't download hermes nightly tarball if it exists (d2dd79f3c5 by @janicduplessis)
- Fix nullability warnings (346b028227 by @tido64)
- Use NSCAssert() in react_native_assert instead of C assert() (c5bc3f1373 by @NickGerleman)
- Honour background color customisation in RCTAppDelegate (5d6f21d744 by @cipolleschi)
- Turn on NDEBUG when pods are installed for production. (421df9ffd5 by @cipolleschi)
- Fix a crash when reloading JS bundle (60f381a8b9 by @sammy-SC)
- Fix missing node error message not printed correctly when deprecated
find-node-for-xcode.sh
is used. (0d82b402aa by @uloco) - Build codegen package while using old architecture (90327d9fba by @Saadnajmi)
- Fix cocoapods warning about merging user_target_xcconfig (2bfb53c2fb by @yhkaplan)
-[RCTUITextField textView:shouldChangeTextInRange:replacementString:]
no longer crashes when we pass in anil
replacement string (d5e6d9cecd by @Saadnajmi)- Remove UIKit import from RCTDevLoadingView.h (e7dcad2ba1 by @christophpurrer)
- Pod install with --project-directory (efd39eea6f by @dcangulo)
- Fixed Mac Catalyst availability checks (70d9b56d71 by @Saadnajmi)
- Fix path issue to properly run the codegen cleanup step (e71b094b24 by @cipolleschi)
- Make sure to add the New Arch flag to libraries (ef11e15ca3 by @cipolleschi)
- Fix dataContentType may be [NSNull null] issue (c0834b884b by @malacca)
- Properly support static libraries and static frameworks (be895c870c)
- Use the right logic to decide when we have to build from source (67d02640ba)
- Fix application of _progressViewOffset in RCTRefreshControl to not occur by default (when value is unset) (0062b10b56 by @objectivecosta)
- Unexpected useEffects flushing semantics (7211ef1962 by @sammy-SC)
- Add support for building with Xcode 15 (8ed2cfded5 by @AlexanderEggers)
Security
- Update and Fixed Prototype Pollution in JSON5 via Parse Method (4ac4a5c27d by @imhunterand)
iOS specific
- Enable Address and Undefined Behavior Sanitizers on RNTester (65e61f3c88 by @Saadnajmi)
v0.71.12
Fixed
- Prevent LogBox from crashing on very long messages (cd56347dca by @motiz88)
Android specific
- Added CSS logical properties by mapping layout props (2b06a75631 by @NickGerleman and @AlexanderEggers) to fix view flattening on Android.
iOS specific
- fix
pod install --project-directory=ios
failing (fc1abe1d69 by @tido64)
v0.71.11
Changed
- Bump CLI to 10.2.4 and Metro to 0.73.10 (69804c70cb by @kelset)
iOS specific
- Prefer
Content-Location
header in bundle response as JS source URL (671ea383fe by @robhogan)
Fixed
Android specific
- Fixed crash occurring in certain native views when handling keyboard events. (f7e35d4ef7 by @aleqsio)
- Prevent crash on OnePlus/Oppo devices in runAnimationStep (f2c05142 by @hsource)
- Revert "fix: border width top/bottom not matching the border radius" to fix border styling issues (fd8a19d by @kelset)
iOS specific
- Make 0.71 compatible with Xcode 15 (thanks to @AlexanderEggers for the commit in main) (5bd1a4256e by @kelset)
v0.71.10
Fixed
Android specific
- Bump RNGP to 0.71.19 (3be3a7d1a2 by @kelset)
- contains: RNGP dependency substitutions for fork with different Maven group (012e4bd654 by @douglowder)
v0.71.9
Fixed
- VirtualizedList scrollToEnd with no data (98009ad94b by @Andarius)
- Allow string
transform
style in TypeScript (2558c3d4f5 by @NickGerleman) - Fix autoComplete type for TextInput (94356e14ec by @iRoachie)
v0.71.8
Fixed
Android specific
- Read GROUP name in gradle-plugin dependency code (615d9aefc4 by @douglowder)
- Bump RNGP to 0.71.18 (4bf4c470fe by @kelset)
iOS specific
- Do not send extra onChangeText even wnen instantianting multiline TextView (a804c0f22b by @dmytrorykun)
v0.71.7
Fixed
iOS specific
- Address Hermes performance regression (9be2959 by @dmytrorykun)
Android specific
- Resolved bug with Text components in new arch losing text alignment state. (31a8e92cad by @javache)
- Mimimize EditText Spans 9/9: Remove
addSpansForMeasurement()
(92b8981499 by @NickGerleman) - Minimize EditText Spans 8/N: CustomStyleSpan (b384bb613b by @NickGerleman)
- Minimize EditText Spans 6/N: letterSpacing (5791cf1f7b by @NickGerleman)
- Minimize Spans 5/N: Strikethrough and Underline (0869ea29db by @NickGerleman)
- Minimize Spans 4/N: ReactForegroundColorSpan (8c9c8ba5ad by @NickGerleman)
- Minimize Spans 3/N: ReactBackgroundColorSpan (cc0ba57ea4 by @NickGerleman)
- Minimize Spans 1/N: Fix precedence (1743dd7ab4 by @NickGerleman)
- Fix measurement of uncontrolled TextInput after edit (8a0fe30591 by @NickGerleman)
v0.71.6
Fixed
iOS specific
- Fix React Codegen podspec to build on Xcode 14.3 (0010c3807d by @kelset)
v0.71.5
Changed
- Bump CLI to 10.2.2 and Metro to 0.73.9 (4c3bc24893 by @kelset), contains:
- CLI fix: correctly list ios devices and simulators (relevant PR)
- Metro fix: fix watching contents of new directories in NodeWatcher (ab86982 by @robhogan)
Android specific
- Bump RNGP to 0.71.17 (bf490d379f by @kelset), contains:
- Fix patch for codegen for 0.71 (ec3681143e by @kelset)
iOS specific
- Remove ruby-version from 0.71 (1d22e29146 by @cipolleschi)
Fixed
Android specific
iOS specific
- Give precedence to
textContentType
property for backwards compat as mentioned in https://github.com/facebook/react-native/issues/36229#issuecomment-1470468374 (c0abff11b6 by @lunaleaps) - Blob data is no longer prematurely deallocated when using blob.slice (36cc71ab36 by @awinograd)
v0.71.4
Changed
- Make FlatList permissive of ArrayLike data (c03de97fb4 by @NickGerleman)
- Bumping RNGP to
^0.71.16
(3df4a79c3d by @kelset) - Update CLI to 10.2.0, Metro to 0.73.8 (20a6fbd373 by @robhogan) - contains:
- fix: Source maps may have invalid entries when using Terser minification. ((
metro/#928
)[https://github.com/facebook/metro/pull/928]) - fix: Mitigate potential source map mismatches with concurrent transformations due to terser#1341. ((
metro/#929
)[https://github.com/facebook/metro/pull/929])
- fix: Source maps may have invalid entries when using Terser minification. ((
- Bump Hermes Version (291cc0af10) - contains:
Android specific
- Expose
rrc_root
via prefab. (3418f65d88 by @tomekzaw)
Fixed
- Fix touchable hitSlop type (23607aea68 by @bigcupcoffee)
- Fix TouchableOpacity componentDidUpdate causing an excessive number of pending callbacks (8b1f6e09c1 by @gabrieldonadel)
Android specific
- ENTRY_FILE should resolve relative paths from root (6dde1dc7cb by @cortinico)
- Better Monorepo support for New Architecture (0487108461 by @cortinico)
v0.71.3
Changed
- Bump package versions (4b84888a90 by @cipolleschi), (60f0a71060 by @cipolleschi), (a3f205a27b by @cipolleschi):
react-native-codegen
to0.71.5
react-native-gradle-plugin
to0.71.15
Fixed
Android specific
- Fixed jscexecutor crash on Android which is caused from NDK incompatibility (a232decbb1 by @Kudo)
- Used relative paths for gradle commands (bb02ccf13f by @shivenmian)
iOS specific
- fix
pod install --project-directory=...
(ad1ddc241a by @tido64)
v0.71.2
Added
- Added AlertOptions argument to the type definition for Alert.prompt to bring it into parity with the js code. (305ca337c0 by @paulmand3l)
- Added missing
accessibilityLabelledBy
TypeScript type (e162b07982 by @DimitarNestorov) - Added missing
accessibilityLanguage
TypeScript type (71c4f57baf by @DimitarNestorov)
Changed
- Bump
react-native-gradle-plugin
to^0.71.14
in core,@react-native-community/eslint-config
to^3.2.0
in starting template (785bc8d97b by @kelset)
Fixed
- Add
TextInput
'sinputMode
TypeScript types (fac7859863 by @eps1lon) - Fix crash by conditional value of aspectRatio style value (a8166bd75b by @mym0404)
- Fix TurboModuleRegistry TS type (c289442848 by @janicduplessis)
- Fix invariant violation when nesting VirtualizedList inside ListEmptyComponent (1fef376812 by @NickGerleman)
Android specific
- [RNGP] Properly set the
jsRootDir
default value (c0004092f9 by @cortinico) - Do not use WindowInsetsCompat for Keyboard Events (32f54877ff by @NickGerleman)
- Mitigation for Samsung TextInput Hangs (4650ef3 by @NickGerleman)
iOS specific
- Add Back dynamic framework support for the Old Architecture with Hermes (b3040ec624 by @cipolleschi)
- Add Back dynamic framework support for the old architecture (da270d038c by @cipolleschi)
v0.71.1
Added
Android specific
- Add
jsinspector
to the prefab target (a80cf96fc8 by @Kudo)
iOS specific
- Add
initialProps
property toRCTAppDelegate
(b314e6f147 by @jblarriviere)
Changed
- Bump CLI to 10.1.3 (b868970037 by @kelset)
- Bump RNGP to 0.71.13 (416463c406 by @cipolleschi)
Fixed
- Fix(cli,metro,babel): bump cli and metro and babel to fix Windows+Metro issue (df7c92ff4c by @kelset)
Android specific
- Fix ReactRootView crash when root view window insets are null (4cdc2c48e8 by @enahum)
- Fix for resources not correctly bundlded on release appbundles (60b9d8c2b9 by @cortinico)
- RNGP - Honor the --active-arch-only when configuring the NDK (470f79b617 by @cortinico)
- Fixed typo in template build.gradle (38e35df47c by @Titozzz)
iOS specific
- Exclude
react-native-flipper
whenNO_FLIPPER=1
to prevent iOS build fail (f47b5b8b5d by @retyui) - Fix RCTAlertController not showing when using SceneDelegate on iOS 13.0+. (0c53420a7a)
- Handle Null Exception to Validate input in RCTAlertController and in RCTDevLoadingView (79e603c5ab by @admirsaheta)
- Fixed the potential race condition when dismissing and presentating modal (e948c79bda by @wood1986)
- Fix build errors when inheriting RCTAppDelegate in Swift modules (5eb25d2186 by @Kudo)
- OnSelectionChange() is fired before onChange() on multiline TextInput (64475aeb3b by @s77rt)
- Build: remove deprecated File.exists() method from Hermes podspec. (38e5fa6a96 by @kelset)
v0.71.0
Read the announcement blogpost here.
⚠️ Git Bash users on Windows might experience "Unable to resolve" red boxes, because of an issue with Metro (silently fails without discovering any files). It will be fixed in 0.71.1 next week, in the meantime you can set resolver.useWatchman: false
in metro.config.js
.
Breaking Changes
- Changes to Console Logging:
LogBox.ignoreLog
no longer filters console logs. This means you will start seeing logs in the console that you have silenced in LogBox. See this comment for more details. - Removed AsyncStorage and MaskedViewIOS: These components have been deprecated since version 0.59, so it’s time we remove them entirely. For alternatives, please check React Native Directory for community packages that cover those use cases.
- JSCRuntime moved to react-jsc: react-jsi is now split into react-jsc and react-jsi. If you use JSCRuntime, you will need to add react-jsc as a dependency (facebook/react-native@6b129d8).
Added
- Add flex yoga bindings of
gap
,column-gap
androw-gap
(9f3a3e13cc by @intergalacticspacehighway) - Add back deprecated PropTypes (b966d29724 by @rickhanlonii)
- Make the
prepare_package_for_release
fail if there is already a git tag with that version (850f855eb6 by @cipolleschi) - Add a C++ only TurboModule example (for Android/iOS/macOS/Windows) (d07575b1c6 by @christophpurrer)
- Enable platform-specific Codegen Specs (ab7b4d4cd8 by @cipolleschi)
- Add "option" to available role values (e3e635ef84 by @gabrieldonadel)
- Added support
Promise.any
(475310dbba by @retyui) - Log Abnormal Closes to Metro Websocket (3982a2c6bd by @NickGerleman)
BlobModule
toRCTCoreModulesClassProvider
(279cfec55f by @andrestone)- Added
mixed
value foraria-checked
. (7a19af7fb6 by @ankit-tailor) - Concurrent rendering safe implementation of ScrollViewStickyHeader (925e81ab86 by @sammy-SC)
- Add DevToolsSettingsManager (0fac9817df by @rbalicki2)
- Add enum example to Android/iOS rn-tester TurboModule (02e4fcd825 by @christophpurrer)
- React-native-codegen: add Enum Type support for iOS/Android TurboModules (745f3ee8c5 by @christophpurrer)
- Parser interface to divide parser logic. (5940d25cc1 by @cipolleschi)
- Add role prop to Text component (20718e6b8c by @gabrieldonadel)
- Introduce
useAnimatedValue
hook to make it easier working withAnimated.Value
s in function components. (e22217fe8b by @fabriziocucci) - Highlight elements on hover while mouse down for React DevTools element inspection. (94429fb037)
- Implement method bindings for gap/row-gap/column-gap (803a2978e5 by @NickGerleman)
- Implement gap/row-gap/column-gap (within the C ABI) (1373a7057b by @NickGerleman and @jacobp100)
- Add destructuredArrayIgnorePattern to eslint config (0c5ef573fe by @fwcd)
- Add aria-modal prop to basic component (f353119113 by @dakshbhardwaj)
- Add support for ImageSource and ImageRequest in the State. (d7c41361dd by @cipolleschi)
- Generate custom Native State (7490ad4a21 by @cipolleschi)
- Add support for platform-specific specs (7680bdeb4f by @cipolleschi)
- Added suppression for warnings about unused parameters in 'publish()' func (c1363984f1 by @inobelar)
- Export YGInteropSetLogger method (d9a5c66baa by @KimDaeWook)
- Add instructions about how to add tests in the OSS (75b688fba8 by @cipolleschi)
- Add YGGutter Enum (87e7912b95 by @NickGerleman)
- Add string support for aspectRatio (14c91cdf59 by @gabrieldonadel)
- Add alt prop to Image component (71fda5e0c2 by @gabrieldonadel)
- Include
this.state.bottom
when calculating new keyboard height to fix android keyboard switching (f85e2ecc40 by @pfulop) - Implement custom Native State parsing in TypeScript (bbb2fb212d by @cipolleschi)
- Implement custom Native State parsing in Flow (925b15351f by @cipolleschi)
- Add string support to the transform property (34db2d4e93 by @gabrieldonadel)
- Add
types
folder to house TypeScript types. (6b2a511cbb) - Add additional Systrace support (9cb716ff76 by @christophpurrer)
- Add space-separated string support for fontVariant (09d420707f by @gabrieldonadel)
- Add aria-modal prop to basic component (095f19a681 by @dakshbhardwaj)
- Added support for number values in fontWeight. (f1c1f8116b by @ankit-tailor)
- Add
aria-label
prop toButton
,View
,Pressable
component (720cdbc658 by @Viraj-10) - Add
aria-valuemax
,aria-valuemin
,aria-valuenow
,aria-valuetext
as alias prop toTouchableOpacity
,View
,Pressable
TouchableHighlight
TouchableBounce
TouchableWithoutFeedback
TouchableOpacity
components (e8739e962d by @dakshbhardwaj) - Add support for objectFit style of Image. (b2452ab216 by @gedeagas)
- Added aria-live alias for accessibilityLiveRegion. (7ea54a4087 by @mayank-96)
- Add aria-disabled, aria-busy, aria-checked, aria-expanded and aria-selected prop to core components (98d84e571d by @ankit-tailor)
- Add support for
userSelect
style (fc42d5bbb9 by @dakshbhardwaj) - Added a check to if
scrollEnabled
is not false, if so then fire theVirtualizedList
error (62f83a9fad) - Add proper support for fractional scrollIndex in VirtualizedList (f44dfef923 by @NickGerleman)
- Add expanded support for CSS Colors (ac1fe3b7eb by @gabrieldonadel)
- Add aria-hidden prop to Pressable, View and Touchables components (ebdb23c6e0 by @gabrieldonadel)
- Added role alias for accessibilityRole. (a50e6fb341 by @madhav23bansal)
- Added pointerEvents style equivalent to pointerEvents prop (5c109b37a4 by @cyrus25)
- Added an overlay similar to Inspector.js that allows directly selecting elements on RN from React DevTools (c52df02f84 by @tyao1)
- Add tintColor prop to Image component (7a6f0e44b2 by @gabrieldonadel)
- Make babel-plugin-codegen work for TypeScript Spec files (df0b6900ec by @RSNara)
- Add inputMode prop to TextInput component (9fac88574e by @gabrieldonadel)
- React-native-codegen: Add Enum Type support for C++ TurboModules (b444f0e44e by @christophpurrer)
- Add enterKeyHint prop to TextInput component (8c882b4f3d by @dakshbhardwaj)
- React-native-codegen: Add Union Type support for C++ TurboModules (355feafff6 by @christophpurrer)
- Add readOnly prop to TextInput component (de75a7a22e by @gabrieldonadel)
- Added ability to construct ArrayBuffers from existing memory buffers. (3bae268782 by @neildhar)
- Add ability to store and retrieve a list of MapBuffer (fc065151ce by @sshic)
- SyncCallback/AsyncCallback/AsyncPromise bridging types in C++ now allow wrapping JSI types. (610bb7f688 by @nlutsenko)
- Add types for onFocusCapture/onBlurCapture (aabb5df7ec by @NickGerleman)
- Add
returnKeyAction
prop toTextInput
component and remove usages ofblurOnSubmit
in native code and convertblurOnSubmit
toreturnKeyAction
in the JavaScript conversion layer (1e3cb91707) - Re-add support for using Yoga without exceptions (793ebf6812 by @Yannic)
Android specific
- Added Flavor Support to React Native Gradle Plugin (RNGP) (8ad86c70b6 by @cortinico)
- Add ComponentWithState in Android (b24f60f729 by @cipolleschi)
- Add support for verticalAlign style (32b6f319ba by @gabrieldonadel)
- Add tabIndex prop to View component (621f4cf3b1 by @gabrieldonadel)
- Add rows prop to TextInput component (49c9ccd3f8 by @gabrieldonadel)
- Stop special-casing Android 11+ from large form-factor
keyboardShouldPersistTaps
behavior (ef77a4218d by @NickGerleman) - Provide defaults for TurboModuleManagerDelegate and JSIModulePackage (9a2eb9089f by @cortinico)
- Expose UI_MODE_TYPE_VR_HEADSET in PlatformConstants (77c256ca91 by @NickGerleman)
- Expose
globalEvalWithSourceUrl
in production builds. (333583bfbe by @EvanBacon) - Accessibility announcement for list and grid in FlatList (463af23753 by @fabriziobertoglio1987)
- Improve OSS systrace (ccbfdd7167 by @janicduplessis)
- Un-deprecate DisplayMetrics.getWindowDisplayMetrics() method (4cbd263173 by @mdvacca)
iOS specific
- Bring back JSIDynamic and JSI (3d7b53d456 by @cipolleschi)
- Add Dynamic Type support for iOS (Paper and Fabric) (11c8bf3137)
- Add support for parsing files w/
:
in filename (714b22bb43 by @shwanton) - Download Hermes from Maven while for -stables (44e8462a03 by @cipolleschi)
anchor
option support forShare
(aeab38357f by @zhumingcheng697)- Line break strategy for Text and TextInput components (048194849b by @bang9)
- Add more extension points for RCTAppDelegate (dd607a8f2d by @cipolleschi)
- Introduce sample component which work with the native state. (1a9cceb20b by @cipolleschi)
- Add new APIs to
react_native_pods.rb
to simplify app migration (34fafb2b88 by @cipolleschi) - Test iOS template with both architectures and configurations (4352459781 by @cipolleschi)
- Add new fontVariant values: stylistic-one(ss01) -> stylistic-twenty(ss20) (163636db75)
- Added the RCTAppDelegate library (7cc2d1a249 by @cipolleschi)
- Support setting an Alert button as "preferred", to emphasize it without needing to set it as a "cancel" button. (000bbe8013 by @robbie-c)
- Added
borderCurve
style prop for smooth border radius (squircle effect) (8993ffc82e by @eric-edouard) - Automatically detect when use frameworks is used (f7b35c0d43 by @cipolleschi)
- Add compiler flag for the new Arch when enabled. (5b32348add by @cipolleschi)
- Improve Codegen Cleanup (aaa795b by @cipolleschi)
Changed
- Bump CLI to 10.0.0 and Metro to 0.73.5 (e1bca8f98c by @thymikee)
- Upgrade to
deprecated-react-native-prop-types
3.0.1: changelog (3e91415696 by @yungsters) - Upgrade Jest in React Native to ^29.2.1 (45db65be7e by @robhogan), (8f337538ae by @kelset)
- Bump
@react-native/normalize-color
to 2.1.0,@react-native-community/eslint-plugin
to 1.3.0,@react-native/babel-plugin-codegen
to 0.71.1,@react-native-community/eslint-config
to 3.2.0 and@react-native-community/eslint-plugin-specs
to 1.3.0, (8183aac0b1) - Upgraded react-devtools-core dependency to 4.26.1 (48263b8daf)
- Bump
react-native-codegen
to^0.71.3
andreact-native-gradle-plugin
to0.71.12"
(a7792da695 by @cipolleschi) - Bump Hermes for 0.71 version (4e5fc68672 by @kelset)
- Simplify Template ESLint Configuration (68d6214a18 by @NickGerleman)
- Use
'react-native'
export conditions in Jest environment (0376aa4856 by @SimenB) - Move JSCRuntime into a separate pod/prefab (f3bf4d02ab by @cipolleschi)
- Improve version checks (f12b12c999 by @cipolleschi)
- Read
.ruby-version
file inGemfile
(cb7f1b1f0b by @dcangulo) - Remove React Native version from Hermes tarball name (e36c492ace by @cipolleschi)
- RNTester: Migrate Dimensions to hooks (745e26288c by @Marcoo09)
- Do not filter errors/warnings from console (fa2842d113 by @rickhanlonii)
- RNTester: Migrate ActivityIndicator to hooks (c868d5b26c by @Marcoo09)
- Refactor codegen: Dispatch props and events from a central place. (affcfa7bde by @ZihanChen-MSFT)
- Add "EarlyJsError: " as prefix of early js error's message (be6f65660f)
- Move Jest config to use a custom react-native Jest env (cb2dcd327c by @kelset)
- Add Metro health check files to the template's
.gitignore
(19715cf4fb by @motiz88) - Ship VirtualizedList_EXPERIMENTAL (971599317b by @NickGerleman)
- Typescript: update incorrect
SwitchChangeEvent
type (5dd2f2e4b7 by @retyui) - Make
yarn
andyarn jest react-native-codegen
works on Windows with git (c4f9556f7e by @ZihanChen-MSFT) - Refactor in turbo module TypeScript codegen: process
(T)
,T|U
,T|undefined
and related stuff in a central place (00b795642a by @ZihanChen-MSFT) - Move and rename
hermes-inspector-msggen
toreact-native/hermes-inspector-msggen
(530dae8a45 by @gabrieldonadel) - Fix interface support in turbo module TypeScript codegen (component only) (8dc6bec719 by @ZihanChen-MSFT)
- Place TS Declarations Alongside Source Files (8cdc9e7f04 by @NickGerleman)
- Handle (T) and undefined properly in turbo module component codegen (205cc9bc3b by @ZihanChen-MSFT)
- Update
Clipboard
mock path (2aba3522ab by @adrianha) - Fix ImageLoader.getSize jest mock (7be829f2c9 by @elliottkember)
- Correct execution context ID in Debugger.scriptParsed event. (545366aea3 by @aeulitz)
- Don't polyfill Promise in Jest setup (f1fdc8b9b6 by @robhogan)
- Codegen: support TypeScript type
(T)
for turbo module codegen (module only) (624bdc7ec6 by @ZihanChen-MSFT) - Unify TextInput autoComplete and textContentType props (73abcba40f by @gabrieldonadel)
- Added
crossOrigin
,referrerPolicy
,width
,height
andsrcSet
props to Image Component. (47a05bc26a by @dhruvtailor7) - Copied and refactored the current devtools highlighting code from Inspector into its own module and add to the top level
AppContainer
. The effect is that the highlight stills shows without Inspector opened. (a63204800a by @tyao1) - Minor change to PropTypes error message. (7783f88d71 by @yungsters)
- Set back the
DANGER_GITHUB_API_TOKEN
. (9344c7aa5a by @cipolleschi) - Run ESLint in CI (1bba59023d by @cipolleschi)
eslint-plugin-specs
package has prepack hook that changesPACKAGE_USAGE
variable ofreact-native-modules.js
totrue
. (ee9c1a5260 by @dmytrorykun)- Attach the
.hermes-cache-key-file
to the workspace to avoid race conditions for new PR landing on Hermes and changing the head commit between the time Hermes is built and the time it has to be consumed. (ccdf9ac985 by @cipolleschi) - Build hermes when in CI and not when there is a tarball (4b51207735 by @cipolleschi)
- Make sure we can build Hermes from source when PR are opened agains -stable (361d939afd by @cipolleschi)
- Update ktfmt component on FBS:master (47548c1149 by @cgrushko)
- Add explicit React useState annotations in xplat/js (ff14ff3d92 by @pieterv)
- Improve sample app (03cb5aca3f by @pieterv)
- Mirror fbcode directory structure for container targets (10ea6fb9a3)
- Update ktfmt component on FBS:master (0538f45e45 by @cgrushko)
- Rewrite CompactValue to avoid undefined behavior from the use of a union for type-punning (e7a8d21df5 by @htpiv)
Android specific
- Bump AGP to 7.3.1 (1f42ff0815 by @cortinico)
- Bump Android compile and target SDK to 33 (394486eec5 by @makovkastar)
- Bump Soloader to 0.10.4 (1237952d07 by @simpleton)
- Rename
POST_NOTIFICATION
toPOST_NOTIFICATIONS
(910a750fbc by @dcangulo) - Void the Maven coordinates for react-native and hermes-engine (55b1670aa6 by @cortinico)
- Provide easy registration of C++ TurboModules in rn-tester Android (9cb02613e6 by @christophpurrer)
- Add feature flag enableAtomicRegisterSegment (f207cfddf3)
- Update the template to load the correct JS engine at runtime (2097278d2a by @cortinico)
- Do not import/use the deprecated ReactFlipperPlugin (07252b81f6 by @cortinico)
- Update the template to use RNGP (c96c76eb91 by @cortinico)
- Let RNGP set buildConfigFields for New Architecture and Hermes (7d2f48c97d by @cortinico)
- Hide the C++/Cmake configuration from user space inside the framework (c9e6a6056d by @cortinico)
- Encapsulate the prefab configuration for consumers (b39e77b3d7 by @cortinico)
- Cleanup the Android template after prefab support (0b4417b43f by @cortinico)
- Simplify Accessibility Heading role implementation. (353b1b0f8b by @blavalla)
- Update the OnLoad.cpp to use the facebook::react namespace (aba82a503d by @cortinico)
- Remove internal buck rule arg for robolectric tests (59dc7f1b20)
- Further simplify the New App Template by don't requiring the dynamic library name (59ae0487ce by @cortinico)
- Update the template to Reduce the amount of C++ code in user space for New Architecture (b0aba1b6fa by @cortinico)
- Reduce the amount of C++ code in user space for New Architecture (e89bd4a375 by @cortinico)
- Move setRootViewTag to earlier when RootView is created (4d642a2250 by @sshic)
- Replace Folly with MapBuffer for passing js error data (e874e5facb by @sshic)
- Simplify the template for New Architecture using the .defaults package (33bd2f6eae by @cortinico)
- Enable -Wpedantic in OSS Android Targets (06b55a3d04 by @NickGerleman)
- Do not load Flipper via reflection (9214da1238 by @cortinico)
- Collapse catch blocks in template (a379879adf by @danilobuerger)
- Bump git checkout cache key (fourth time) (41a80f2ee2 by @kelset)
- Replace Toast with Log.w on ReactImageView when null URL specified (30411ae1a4)
- Views with overflow: hidden and borderRadius: >0 now render anti-aliased borders. (7708cdccef)
- Expose react_render_animations via prefab. (98ad3996c8 by @cortinico)
- Remove unnecessary repositories{} block from top level build.gradle (f65dfa86ab by @cortinico)
- Fix prefab prefix for fabricjni (621d901e10 by @cortinico)
- De-bump AGP to 7.3.1 and do not use addGeneratedSourceDirectory (caa79b7c01 by @cortinico)
iOS specific
- Fix imports in React Bridging for Old Arch and frameworks (c5de1eb1ba by @cipolleschi)
- Abort pod install if bad HERMES_ENGINE_TARBALL_PATH is set. (27e7295ca7)
- Hermes is integrated into Xcode build. (6b8e13f53c)
- Display a RedBox with the JS stack (instead of native stack) when an unhandled JS exceptions occurs (ff398e4e26 by @p-sun)
- Resolve JSI ODR violation, make hermes-engine the JSI provider when Hermes is enabled (a68c418082 by @hramos)
- The JSC Runtime is now provided by the React-jsc Pod instead of React-jsi. Libraries that declared a dependency on React-jsi in order to specifically create a JSC runtime (
makeJSCRuntime()
) will need to add React-jsc to their dependencies. (6b129d81ed by @hramos) - Moved JSIDynamic out of React-jsi and into React-jsidynamic (0db5178688 by @hramos)
- Do not load Hermes inspector in release builds (2a21d5a28e by @hramos)
- Remove debugger from Hermes when building for release (2fc44ac8e1 by @hramos)
- Use debug Hermes builds by default (ce4aa93173 by @hramos)
- Add function to simplify podspecs (82e9c6ad61 by @cipolleschi)
- Enable pedantic warnings in C++ podspecs (545c82b490 by @NickGerleman)
- Cleanup codegen build folder before installing the pods (0e316ec671 by @cipolleschi)
- Properly support both libraries and use_frameworks (c6fa633597 by @cipolleschi)
- Add link group label to talkios deps (b33961d7a0)
- Add link group label to fbios deps (065db683a2)
- Use an SDKRoot based Foundation framework (ee4ce2df2f by @chatura-atapattu)
Removed
- remove AsyncStorage from JS (20eeb1bfe3 by @hoxyq)
- Remove VirtualizedList
listKey
prop (010da67bef by @NickGerleman) - Remove MaskedViewIOS (a67360b0f3 by @sokolnickim)
- Back out parsing and generation of Custom Native State from Codegen (62da9b8ce2 by @cipolleschi)
- Back out components with native state in RNTester (aace6626c1 by @cipolleschi)
react-native/eslint-plugin
no longer provides theerror-subclass-name
rule. (4f83498462 by @yungsters)react-native/eslint-plugin
no longer provides theno-haste-imports
rule. (1ec69b1823 by @yungsters)- Remove listKey from TS typings (773615bc9d by @NickGerleman)
- Remove usages of listKey (bc5cb7cd79 by @NickGerleman)
- Remove unneed/obsolete job (8e3b62019e by @kelset)
- Remove flexlayout from react-native (bf05df1723 by @NickGerleman)
- Remove remaining TV_OS fragments (089684ee56 by @christophpurrer)
Android specific
- Removed
AsyncStorage
module (5738fe6426 by @hoxyq) - Deprecate react.gradle (af6aafff90 by @cortinico)
- Removed deprecated UIImplementationProvider (e7d7563195 by @javache)
- Cleanup Buck usages from New App Template (32fc551c55 by @cortinico)
iOS specific
- Removed
AsyncStorage
module (4de2aaba50 by @hoxyq) - Remove
HERMES_BUILD_FROM_SOURCE
flag (138af74e3f by @cipolleschi) - Removed
ImagePickerIOS
module native sources (d03a29ce5f by @hoxyq)
Fixed
- Fix TS Type for measureLayout optional parameter (5928144302 by @NickGerleman)
- Allow GNU coreutils to be used to build projects (f5e5274e6a by @shreeve)
- Reference App.tsx vs App.js in text of new typescript template (81e441ae8a by @mikehardy)
- Fix incorrect height when gap causes main axis to overflow and cross-axis is stretched (1aa157b196 by @NickGerleman)
- Codegen for C++ TurboModules of optional method arguments was incorrect (e81c98c842 by @javache)
- Fix incorrect height when gap causes main axis to overflow and cross-axis is stretched (1aa157b196 by @NickGerleman)
- Fixup TS Organization (5d26ceaa23 by @NickGerleman)
- Fixed typo syncronization -> synchronization (ad5e3f6b9a by @pruthvip)
- react-native-codegen : Add Map / indexed object support for TypeScript parser (87c356d56c by @christophpurrer)
- Add wanted dependencies to remove yarn warnings (cd25fb3240 by @kelset)
- Fixed crash when converting JS symbol to folly::dynamic (428feb2f76 by @kassens)
- Error reporting for module errors (af0e6cdae5 by @rickhanlonii)
- Support properly sending BigInts and Symbols over the Chrome DevTools Protocol. (7208d15dce)
- Fixed React DevTools element highlighting throwing redbox errors (c64f25ac85)
- Fix require cycle warning in VirtualizedList (49cb7f28c8 by @motiz88)
- Pressability for text with only
onPressIn
/onPressOut
props (f1f7824203) - Load react-native.config.js from correct path during codegen (74fda10702 by @krystofwoldrich)
- Remove usage of the codegen spec filtering until we publish a new version of the codegen. (ae3dd54fae by @cipolleschi)
- Fix nightly build issues (93c3effc72 by @Kudo)
- Properly parse negative values (f3c98c5fa2 by @cipolleschi)
- Fixup Yoga Enum Generator (5f9689a0d0 by @NickGerleman)
- Fix remaining NDK comment for new architecture (fb1f53f7dc by @ken0nek)
- Fixed missing Pressable hover props in typescript definition (6ba5fa946d by @Saadnajmi)
- Remove Android.mk from internal Gradle task (d0df6afe76 by @Sunbreak)
- In RN devtools, call that method, and then set component state to not inspecting. (bfb36c2163 by @tyao1)
- Enable the
react-native-codegen
tests in the OSS. (00458c9410 by @cipolleschi) - Make style pointerEvents take priority over pointerEvents prop. FIxes requested changes in https://github.com/facebook/react-native/issues/34586 (a789ead545 by @cyrus25)
- Change Wrapper of
InspectorPanel
fromView
toSafeAreaView
(afad68f1a8 by @raykle) - Typo in AssetSourceResolver (a45eeea17a by @dhruvtailor7)
- Run ExceptionsManager unit tests in both DEV and prod mode (a154207371 by @GijsWeterings)
- Avoid keypress event when text is pasted on macOS (477663cba8 by @christophpurrer)
- Flipper now supports custom Xcode build configuration names (1bc9ddbce3 by @scarlac)
- Make clang-format work in M1 (Apple Silicon) (377aa7a30f by @christophpurrer)
- Using SOURCEMAP_FILE during xcode build phase with Hermes enabled (a98da32229 by @kidroca)
- Remove compiler-specific syntax. (33dbb6c40c by @chiaramooney)
- Fix reload hang after debugger break and continue (60e7eb4d53 by @aeulitz)
- Fix FlatList not calling render items for nullish values when numColumns > 1 (cc19cdcdbe by @AntoineDoubovetzky)
- Fix macro errors for Windows. (fc26dbfce0 by @chiaramooney)
- Adding grid role to ViewAccessibility to fix flow errors. (5ddb9977e6 by @fabriziobertoglio1987)
- Fix: use REACT_NATIVE_CI instead of CI envvar (ed16fdbbb8 by @dmytrorykun)
- Bypass tag check in dry run (ba1a9defbb by @cipolleschi)
- Fix removal of version from Hermes tarball, part 2 (6107793fda by @kelset)
- Fix removal of version from Hermes tarball (e809e4b1ec by @kelset)
- Better fix for param (32931b19b1 by @kelset)
- Fix publish npm post strict (0f72abfc03 by @kelset)
- Fix some issues exposed when making function statics sealed (662115077a by @gkz)
- Fix measure inner dimensions (11f47432ff by @kinarobin)
- Annotate empty objects in xplat (abb21dd908 by @SamChou19815)
- Fix comment typo 'layed out' to 'laid out' (108c876206 by @lwyj123)
- Fix missing dll exports (619d115822 by @justjavac)
- Fix FillRateHelper Accessing -1 Frame (052617611d by @NickGerleman)
- Attempt fix #2 for
cellsAroundViewport
reaching out of bounds (0ef770587f by @NickGerleman) - Attempt fix for
cellsAroundViewport
reaching out of bounds (7aa203beda by @NickGerleman) - Reland D38460202 and fix tests (c4ddaa8fdb by @sshic)
- Add missing class annotations and lock xplat/js (0ccbe5f704 by @pieterv)
- Add missing class annotations xplat/js [suppressions] (2e649006f1 by @pieterv)
- Add missing class annotations xplat/js (ee3d3c248d by @pieterv)
- Apply lint updates from buildifier in xplat (a70354df12 by @chatura-atapattu)
- fix: remove gap if its last element in line (fix flex gap extra spacing when children determine parents main axis size)( by @intergalacticspacehighway)
- Add missing AccessibilityInfo Types to TS Typings (dc1b20d495 by @NickGerleman)
- Fix Errors with TypeScript Tests (ed08edd966 by @NickGerleman)
- Add missing VirtualizedList Imperative Types (de1136359c by @NickGerleman)
- Fix virtual list type (1bd3831cc5 by @aliakbarazizi)
- Add missing types for AppRegistry (213c26c23d by @NickGerleman)
- Add type for RootTagContext (fd28032be6 by @NickGerleman)
- Add missing types to PushNotificationIOS (f04f067aae by @NickGerleman)
- Fix missing animation type (CircleCI Break) (696f4b5c39 by @NickGerleman)
- Fix types for deprecated scrollTo fields (f9ab91c3ab by @NickGerleman)
- Fix Vibration.vibrate() allowing null params (9b7618856f by @NickGerleman)
- Mark scrollToEnd animated as optional (8770b2724a by @NickGerleman)
- Fix type for StyleSheet.compose() (754524ea9d by @NickGerleman)
- Remove testID from TS ViewStyle (172f23a2ee by @NickGerleman)
- Add missing type for AnimatedValue.resetAnimation() and AnimatedValue.animate() (1b5066c21d by @NickGerleman)
Android specific
findPackageJsonFile
should returnnull
ifpackage.json
does not exist (913ebd207c by @tido64)- Fix crash on initialize modal (15656342a8 by @alpha0010)
- Fix Android autolinking failing because of not expanded variable (4c1d5ad9c6 by @kkafar)
- On instance destroy, websockets are correctly closed (b5ea5a2c4d by @javache)
- Sets the namespace via Gradle and not via AndroidManifest (cec9a34f6c by @cortinico)
- RNGP - Do the .so cleanup using pickFirst and exclude (2ff08e8bd8 by @cortinico)
- Fixed an issue on Android API 31+ where modals would turn status bar icons white by default (5c5220a46d by @Abbondanzo)
- TextInputs may not get focused when switching inputs in a ScrollView (370bbd705b by @javache)
- Fix react.gradle's detectCliPath's for finding the path from Node (121184bb8f by @liamjones)
- Fix crash on release versions after AGP 7.3 bump (6125f1f866 by @cortinico)
- Gracefully handle crash if no WebView provider is found on the device (3f3394a566 by @rachitmishra)
- Text with onPress or onLongPress handler is not accessible with TalkBack (f3847eeec2 by @fabriziobertoglio1987)
- Align android image style / source logic with ios (6bdcb49966 by @danilobuerger)
- Emit the right bubbling event for ReactSliderEvent (b7e7e7ff1e)
- Typo in build.gradle (ed21a3e20f by @jeremybarbet)
- Border width top/bottom not matching the border radius (cd6a91343e by @hurali97)
- Re-implement accessibilityHint on Android to use AccessibililltyNodeInfo#setToolTipText instead of contentDescription (0b70b38547 by @fabriziobertoglio1987)
- Removed unused variable
NODE_MODULES_DIR
frombuild.gradle
in app template (50b1270298 by @tomekzaw) - AccessibilityLabelledBy use DynamicFromObject to parse String to Dynamic (9f4358142e by @fabriziobertoglio1987)
- Bug with view transforms when view recycling is enabled (e0be14a310 by @javache)
- Use WindowInsetsCompat for Keyboard Events (1e48274223 by @NickGerleman)
- Adding importantForAccessibility for Text, Button, ImageBackground (62021eb8d1 by @fabriziobertoglio1987)
- Fix regression when setting shadow node properties. (a142a78473 by @rshest)
- Fix occasionally incorrect ScrollView fling behavior (c7c263dda8 by @dhleong)
- Migrate
needsCustomLayoutForChildren
check to the new architecture (e24ce708ab by @grahammendick) - Remove extra indexOf call in BackHandler.removeEventListener (14c207d9e1 by @vitalii-tb)
- Fix such that when the scrollviews call
onChildStartedNativeGesture
, they appropriately callonChildEndedNativeGesture
to unlock the native gesture such thatJSTouchDispatcher
orJSPointerDispatcher
will continue to emit events. (143a0f74b8) - Fix
AttributedString
comparison logic for TextInput state updates (089c9a5c9c by @NickGerleman) - Invoke closeAndReleaseSonatypeStagingRepository in the publish gradle invocation (e4f23f4783 by @cortinico)
- Do not eat taps/clicks in ScrollView when soft-keyboard is detached from viewport (fd1e82a10f by @NickGerleman)
- Add missing class annotations xplat/js (c687dd3a77 by @pieterv)
iOS specific
- Don't use the internal
native_modules.rb
script yet, as it hides a hard-coded path (4df793f75b by @tido64) - Exclude redirector to
LongLivedObject.h
from ReactCommon podspec (dd0bf83481 by @cipolleschi) - Fix incorrect codegen CLI paths in monorepo projects (4a4cceef25 by @byCedric)
- Remove hermesc build dir for non-Hermes build. (c05e6c47df)
- Remove
Copy Hermes Framework
script phase for non-Hermes build. (7f60bcceac) - Make sure that the React-Codegen.podspec does not enforce specific versions of its dependencies. (bc074a300d by @cipolleschi)
- Various fixes for Hermes build-from-source behaviour. (5dd0f7327b)
- Correctly set -DCMAKE_BUILD_TYPE for Hermes on iOS (c63133202b by @cortinico)
- Https://github.com/facebook/react-native/pull/35047 reverted. (bbd432e999)
- Make sure that libraries created with
install_modules_dependencies
has the right C++ version. (40ad31eacf by @cipolleschi) - Make ManagedObjectWrapper compile on macOS (76c7ccaa60 by @christophpurrer)
- Map
accessibilityRole: grid
toUIAccessibilityTraitNone
(f3d9f2ea23 by @NickGerleman) - Remove unused #import <UIKit/UIGestureRecognizerSubclass.h> import which breaks macOS (84737e0069 by @christophpurrer)
- Fix Text.allowFontScaling prop in the new architecture (e9b89b5ff2 by @sammy-SC)
- Make the nightly work with the proper Hermes tarball (1546666a6d by @cipolleschi)
- Add MARKETING_VERSION to template project (33e140fd05 by @kelset)
- Automatically following version on xcode. (dcd21143bc by @erfinbadrian)
- Fix race condition in RCTLoggingTests integration tests (540ae39487)
- Add missing react/renderer/mapbuffer module to podspec (00458637da)
- RedBox title font by using a monospace font on iOS +13. (5933b6a3ba by @EvanBacon)
- Update usage of UIApplication.sharedApplication in RCTKeyCommands (5e79fa8441 by @evoactivity)
- Change hermes logic in build scripts for Apple to use the correct files (cc13b0273f by @kelset)
- Fix error in the Codegen template for ThirdPartyFabricComponentsProvider (2f6b2127d9 by @gispada)
HERMES_ENABLED
check fixed in react-native-xcode.sh (8745a148b6 by @nvojnovic)- Make sure to turn on the
RCT_NEW_ACRH_ENABLED
flag (f31134af7d by @cipolleschi) - Fix
Alert
not showing in an app usingUIScene
(153aedce41 by @tido64) - Image Component will not update correctly when passing in new url (5c211f2bce by @matpaul)
- Fixed Time.h:52:17: error when a folder in the file path has a space (9e169da3ae by @gaberogan)
- Fix: RCTAlertController's UserInterfaceStyle to follow root window (18542b6ef5 by @vonovak)
- CI broken due to Hermes Commit (ff7f5a332f by @cipolleschi)
- Typo in AppDelegate.mm (0a59c284a9 by @jeremybarbet)
- When source maps are enabled, clean up temporary files from the build directory. Reduces bundle size by at least 1MB. (e0a71fc7b5 by @dmytrorykun)
- USE_HERMES envvar check fixed in react-native-xcode.sh. Now source maps are generated by default. (03de19745e by @dmytrorykun)
- Fix keyboard accessory button not triggering onSubmitEditing (98d74d6eb9)
- Possible fix for convertIdToFollyDynamic crash in RCTBaseTextInputView and RCTEventDispatcher (8b174a57c8 by @christophpurrer)
- Fix exception thrown by [RCTTextView description] on macOS (7db6c080f5 by @christophpurrer)
- Allow preferred Alert button regardless of the style (653a19a8cd by @danilobuerger)
- Fix
contentInsetAdjustmentBehavior
set toautomatic
onScrollView
in the new architecture (27fe6f1079 by @grahammendick) - Use readlink instead of realpath in packager.sh (698b14789c by @dminkovsky)
- Fix cocoapods cli native_modules require for pnpm node_modules (af3dfbaa47 by @danilobuerger)
- Use the right logic for build from source (49c0267b66 by @cipolleschi)
- Remove the hermes engine cache in the clean script (9979e38c70 by @kelset)
- Make sure to export a single version for hermes artifacts and wipe Podfile.lock while in release (41bf725ada by @cipolleschi)
- Let React Native decide the Hermes version to use in the Codegen (becb47ccb6 by @cipolleschi)
- Fix copy-hermes-xcode.sh (fc1dbb8f0b by @dmytrorykun)
- Merge pull request #35188 from dmytrorykun/export-D40979350 (151498a122 by @cipolleschi)
- Center text if line height isn't 0 (70cc27c901 by @sammy-SC)
- Fix cleanup not working on template app (ce3eefe12c by @cipolleschi)
Security
- Bump terser minor version to mitigate CVE-2022-25858 (743f9ff63b by @GijsWeterings)
v0.70.12
Fixed
iOS specific
- Prefer
Content-Location
header in bundle response as JS source URL (671ea383fe by @robhogan)
v0.70.11
Changed
- Bump CLI to 9.3.3 and Metro do 0.72.4 (2a9d71dc34 by @kelset) to address https://github.com/facebook/react-native/issues/36794
v0.70.10
Fixed
Android specific
- Prevent crash on OnePlus/Oppo devices in runAnimationStep (c05d822f7d by @hsource)
iOS specific
- USE_HERMES envvar check fixed in react-native-xcode.sh. (61106ac680) by @kidroca)
- USE_HERMES envvar check fixed in react-native-xcode.sh. Now source maps are generated by default. (8ad63714) by @dmytrorykun)
- USE_HERMES envvar check fixed in react-native-xcode.sh. (4108b3) by @dmytrorykun)
- When source maps are enabled, clean up temporary files from the build directory. Reduces bundle size by at least 1MB. (bad3949) by @dmytrorykun)
- Make 0.70 compatible with Xcode 15 (thanks to @AlexanderEggers for the commit in main) (c5e549e694)
v0.70.9
Changed
- Update Hermes to
hermes-2023-04-13-RNv0.70.8-c9b539bf3d7bfa4143ff1a5751886c7b2dd728a2
(7b1441730b), contains:
Fixed
Android specific
- Resolved bug with Text components in new arch losing text alignment state. (31a8e92cad by @javache)
- Mimimize EditText Spans 9/9: Remove
addSpansForMeasurement()
(92b8981499 by @NickGerleman) - Minimize EditText Spans 8/N: CustomStyleSpan (b384bb613b by @NickGerleman)
- Minimize EditText Spans 6/N: letterSpacing (5791cf1f7b by @NickGerleman)
- Minimize Spans 5/N: Strikethrough and Underline (0869ea29db by @NickGerleman)
- Minimize Spans 4/N: ReactForegroundColorSpan (8c9c8ba5ad by @NickGerleman)
- Minimize Spans 3/N: ReactBackgroundColorSpan (cc0ba57ea4 by @NickGerleman)
- Minimize Spans 1/N: Fix precedence (1743dd7ab4 by @NickGerleman)
- Fix measurement of uncontrolled TextInput after edit (8a0fe30591 by @NickGerleman)
iOS specific
v0.70.8
Changed
iOS specific
- Relax Ruby requirements (e3a5fbe72f by @cipolleschi)
Fixed
iOS specific
- Fix React Codegen podspec to build on Xcode 14.3 (34f3794f18 by @cipolleschi)
- Blob data is no longer prematurely deallocated when using blob.slice (36cc71ab36 by @awinograd)
v0.70.7
Fixed
Android specific
- Mitigation for Samsung TextInput Hangs (be69c8b5a7 by @NickGerleman)
iOS Specific
- Fix the potential race condition when dismissing and presenting modal (279fb52e03 by @wood1986)
Added
Android Specific
- Add
POST_NOTIFICATIONS
and deprecatePOST_NOTIFICATION
(b5280bbc93 by @dcangulo)
v0.70.6
Fixed
- Fixed regression: @jest/create-cache-key-function dependency was inadvertedly bumped to 29.x. We are bringing it back to 27.0.1. (fb0e88beb9 by @kelset)
Changed
- Bump version of Promise from 8.0.3 to 8.3.0, enabling
Promise.allSettled
andPromise.any
(475310dbba by @retyui) - Bump CLI to 9.3.2 (9bcc5e0373 by @kelset)
iOS specific
- Cleanup codegen build folder before installing the pods (0e316ec671 by @cipolleschi)
v0.70.5
Fixed
- Force dependencies resolution to minor series for 0.70 (59407a4d34 by @cortinico)
v0.70.4
Changed
- Bump CLI to 9.2.1 (a24c8946e0 by @kelset)
- Bump react-native-codegen to 0.70.6 (866021b58c by @dmytrorykun)
Fixed
- Load react-native.config.js from correct path during codegen (74fda10702 by @krystofwoldrich)
iOS specific
- Fix error in the Codegen template for ThirdPartyFabricComponentsProvider (2f6b2127d9 by @gispada)
- Center text if line height isn't 0 (70cc27c901 by @sammy-SC)
v0.70.3
Fixed
- Stop styles from being reset when detaching Animated.Values in old renderer (2f58e52006 by @javache)
- Revert "Fix TextInput dropping text when used as uncontrolled component with
defaultValue
" to fix TextInputs not being settable to undefined programmatically (e2645a5) by Garrett Forbes Monroe
Android specific
- Use NMake generator for Hermes build on Windows (9d08d55bbe by @mganandraj)
- Fixing failure building RN codegen CLI on Windows (85c0c0f21f by @mganandraj)
iOS specific
- Add xcode 14 workaround (turn off signing resource bundles) for
React-Core
(967de03f30 by @kelset)
v0.70.2
Added
iOS specific
- Add support for "Prefer Cross-Fade Transitions" into AccessibilityInfo (be7c50fefd by @gabrieldonadel)
Changed
- Bump CLI to 9.1.3 and Metro to 0.72.3 (f164556037 by @kelset)
Fixed
- Inform ScrollView of Keyboard Events Before Mount (26d148029c by @NickGerleman)
Android specific
- Fix port as -1 if dev server without specifying port on Android (3d7e1380b4 by @Kudo)
v0.70.1
Added
- Add more debugging settings for HermesExecutorFactory (32d12e89f8 by @Kudo)
- Support TypeScript array types for turbo module (component only) (33d1291e1a by @ZihanChen-MSFT)
Changed
- Accept TypeScript type
T | null | undefined
as a maybe type of T in turbo module. (9ecd203eec by @ZihanChen-MSFT) - Bump react-native-gradle-plugin to 0.70.3 (e33633644c by @dmytrorykun)
- Bump react-native-codegen to 0.70.5 (6a8c38eef2 by @dmytrorykun)
- Hermes version bump for 0.70.1 (5132211228 by @dmytrorykun)
Fixed
- Fix hermes profiler (81564c1a3d by @janicduplessis)
Android specific
- Support PlatformColor in borderColor (2d5db284b0 by @danilobuerger)
- Avoid crash in ForwardingCookieHandler if webview is disabled (5451cd48bd by @Pajn)
- Correctly resolve classes with FindClass(..) (361b310bcc by @evancharlton)
iOS specific
- Fix KeyboardAvoidingView height when "Prefer Cross-Fade Transitions" is enabled (4b9382c250 by @gabrieldonadel)
- Fix React module build error with swift integration on new architecture mode (3afef3c167 by @Kudo)
- Fix ios pod install error (0cae4959b7 by @Romick2005)
0.70.0
Breaking
- Remove jest/preprocessor from the react-native package (0301cb285b by @motiz88)
- Remove nonstandard Promise.prototype.done (018d5cf985 by @motiz88)
Added
- Support TypeScript array types for turbo module (module only) (f0c4c291e1 by @ZihanChen-MSFT)
- Added files for
avn
,nodenv
, and other managers that set the node.js version in reactive native project including testing (933fbb1b2b by @ramonmedel) - Support BigInt in Hermes (11bae63bb1 by @jpporto)
- The old Hermes instrumented stats migrated to the new one (c37f719567 by @jpporto)
- Modified getDefaultJSExecutorFactory method (87cfd386cb by @KunalFarmah98)
EventEmitter#emit
now freezes the set of listeners before iterating over them, meaning listeners that are added or removed will not affect that iteration. (e5c5dcd9e2 by @yungsters)- Added File and Blob globals to eslint community config (d881c87231 by @shamilovtim)
- C++ TurboModule methods can now use mixed types (3c569f546c by @appden)
- Add useNativeDriver as a param for setValue for Animated (73191edb72 by @genkikondo)
- Add
Animated.Numeric
Flow type (9eb7629ac6 by @motiz88) - Add LTI annotations to function params (c940eb0c49, e7a4dbcefc, d96744e277 by @pieterv)
Android specific
- Accessibility announcement for list and grid in FlatList (2d5882132f, 105a2397b6 by @fabriziobertoglio1987)
- Add READ_VOICEMAIL and WRITE_VOICEMAIL permissions to PermisionsAndroid library. (8a2be3e143 by @zolbooo)
- Add POST_NOTIFICATIONS, NEARBY_WIFI_DEVICES permission (0a854c7c8b by @vincent-paing)
- Extend the React Native Gradle plugin to accept a config from package.json (5f3c5aa529 by @cortinico)
- Ability to pass a Typeface object to ReactFontManager in addition to a font resource ID (e2dd2e2a6e by @thurn)
- Option to enable lazyViewManager support with
ViewManagerOnDemandReactPackage
(d4b59cd9d0 by @javache) - Support for dataUri in form data (c663c0ec9d by @hetanthakkar1)
- Add android-only prop documentation at the TextInput js level. (f2e23215ca)
- Update template to gitignore
android/app/.cxx
(542d43df9d by @leotm)
iOS specific
- Add Mac Catalyst compatibility (can be enabled in Podfile) (2fb6a3393d by @Arkkeeper)
- Enabled Hermes Intl (3fa3aeba93 by @neildhar)
- HTTP Response headers added to the error object passed to JS code. (9eb2826f9b)
- Add userInterfaceStyle to Alert to override user interface style for iOS 13+ (47bd78f64f by @luoxuhai)
- Add function to cleanup codegen folders (71692889b0 by @cipolleschi)
- Cocoapods function to add the
CLANG_CXX_LANGUAGE_STANDARD
to all the targets if needed (ca8174e15f by @f-meloni) - Support codegen from a single folder (05aaba9514 by @cipolleschi)
- Run script phases tests in CI (c171a6e157 by @cipolleschi)
Changed
- Bump React Native Codegen to 0.70.0 (a22ceecc84 by @dmytrorykun, 2a274c1a08 by @cortinico, ce4246a05c by @dmytrorykun)
- Upgrade RN CLI to v9.0.0, Metro to 0.72.1 (0c2fe96998 by @thymikee, 7e580b97bf by @kelset, c504d038c4 by @thymikee, f1d624823f by @kelset, 2b49ac6f8b by @thymikee)
- Doc: fix minimum iOS version in requirements section (ec3c8f4380 by @Simon-TechForm)
- Remove "Early" in Js error reporting pipeline (0646551d76 by @sshic)
- Update @react-native/eslint-plugin-specs to 0.70.0 (d07fae9b23, afd76f69c7 by @dmytrorykun, ea8d8e2f49 by @cortinico)
- Do not depend on hermes-engine NPM package anymore (78cd689f9a by @cortinico)
- Add ability to pass
ItemSeparatorComponent
as React Element (5854b11bf9 by @retyui) - Hermes version bump. (0b4b7774e2 by @dmytrorykun, 8c682ddd59 by @dmytrorykun, eb6767813a by @cortinico)
- Codemod
{...null}
to{}
in xplat/js (f392ba6725 by @gkz) - Fix TextInput dropping text when used as uncontrolled component with
defaultValue
(51f49ca998) - Suppress errors ahead of launch (67e12a19cb by @gkz)
- Suppress missing 'this' annotations (6c563a507f by @pieterv)
- Suppress missing annotations (66c6a75650 by @pieterv)
- Use RuntimeConfig instead of VM Experiment Flag to set up the micro task queue. (753038cf34 by @fbmal7)
- Update direct Metro dependencies to 0.72.0 (05dcebc211 by @kelset, 64788cc9fe by @huntie, bdeb4e0655 by @jacdebug, 894f652639 by @robhogan, 08ebc1cfd8 by @arushikesarwani94)
- ECOSYSTEM.md: update Partner entries (5471afeebf by @Simek)
- Move ScrollView's contentOffset to common props (7c581f3d30 by @genkikondo)
- Upgrade react-native-gradle-plugin to 0.70.2 (1518f838b7, 2176173dcc by @dmytrorykun)
- Update a few metro deps as follow up from the commit from main (7c7ba1babd by @kelset)
Android specific
- Bump Android Gradle Plugin to 7.2.1 (53c8fc9488 by @leotm, c274456e5b by @dulmandakh)
- Rename NativeModuleCallExceptionHandler to JSExceptionHandler for broader usage (b6f7689d70 by @sshic)
- Simplify the Android.mk file in the App Template (7fb0bb40d2 by @cortinico)
- Make Hermes the default engine on Android (a7db8df207 by @cortinico)
- Revamp touch event dispatching methods (089ff4555a by @sshic)
- Demonstrating Dark Mode correctly in the
StatusBar
for the starter template App. (763dc52387 by @mrbrentkelly) - Bump Gradle to 7.5.0 (5c8186623a by @leotm, 99e7373dd2 by @dulmandakh)
- Generalized the return type of ViewManagerOnDemandReactPackage.getViewManagerNames (51e029ec3c by @javache)
- Don't assert on current activity when call startActivityForResult (bf6884dc90 by @sshic)
- Adapt template to new architecture autolinking on Android (9ad7cbc3eb by @thymikee)
- Replaced reactnativeutilsjni with reactnativejni in the build process to reduce size (54a4fcbfdc by @SparshaSaha)
- Bump Soloader to 0.10.4 (b9adf2db20 by @mikehardy)
- Update the new app template to use CMake instead of Android.mk (dfd7f70eff by @cortinico)
- Refactored usage of kotlin plugin (be35c6dafb by @hurali97)
- Bump Gradle to 7.5.1 (7a911e0730 by @AlexanderEggers)
- Fix error of release builds with Hermes enabled for Windows users (7fcdb9d9d8 by @JoseLion)
iOS specific
- Move and test Hermes setup from react_native_pods script into a dedicated file (468b86bd37 by @cipolleschi)
- Use the correct operator to decide whether Hermes is enabled or not. (61488449b9 by @cipolleschi)
- Hermes is now the default engine on iOS. This setting is controlled via
flags[:hermes_enabled]
in the Podfile. (1115bc77db by @hramos) - Move LocalPodspecPatch to dedicated file (8fe2b591c7 by @cipolleschi)
- Move the
modify_flags_for_new_architecture
method to separate ruby file (71da21243c by @cipolleschi) - Refactoring part of the react_native_pods.rb script (4f732ba9ee, 7a2704455f by @cipolleschi)
- When Hermes is enabled, it will use the same copy of JSI as React Native (340612a200 by @hramos)
- Move
use_flipper
logic insideuse_react_native
and simplify the Flipper dependencies logic (0bd5239553 by @f-meloni) - Export
flipper.rb
script file (e07a7eb16b by @cipolleschi) - Use
outputDir
as base directory for the codegen and remove the possibility to customize the intermediate path. The generated code requires specific paths in the#include
directive. (e4d0153a67 by @cipolleschi) - Refactor part of the codegen scripts and add tests. (0465c3fd10, 305a054865 by @cipolleschi)
- CodeGen now supports the
"all"
library type. (6718500eaa by @cipolleschi) - Fix the test_ios_unit test (fdbe4719e2 by @cipolleschi)
- Update Podfile to allow
PRODUCTION=1 pod install
(77752fc403 by @leotm) - Destruct use_reactnative parameters and ad ddocumentation (79a37e5a88 by @cipolleschi)
- Move codegen in separate files (7d069b2583 by @cipolleschi)
- Silence warning due to react-native internal details. (a4599225f5 by @cipolleschi)
Removed
- Remove previously deprecated Transform style-attribute props (7cfd77debd by @Zachinquarantine)
- Remove deprecated
isTVOS
constant. (6075d64acf by @Zachinquarantine) - The diffs renames the required variable which was causing conflicts in names with Apple core SDK's (086c13dd5f by @arinjay)
- Removed
EventEmitter.prototype.removeSubscription
method. (870755fa7e by @yungsters) - Remove deprecated removeListener methods (2596b2f695 by @matinzd)
- Remove APPLETVOS variants from BUCk targets. (cf2e27c388 by @d16r)
iOS specific
- Remove
emulateUnlessSupported
(c73e021a4b by @ken0nek) - Remove USE_CODEGEN_DISCOVERY flag (2e720c3610 by @cipolleschi)
Fixed
- Throw JSINativeException from asHostObject (ef6ab3f5ca by @neildhar)
- Use new Babel parser instead of deprecated one (97291bfa31 by @Kerumen)
- Fixed a crash on deserialization of props when using 'px'/'em' units. (70788313fe by @nlutsenko)
- Fix nullability lost on readonly types in TurboModule specs (c006722e6c by @appden)
- Make tests pass for windows (9596bf045d by @cipolleschi)
- Handle possible null exception on ReactEditText with AppCompat 1.4.0 (24a1f5c66c by @mikemasam)
- Fixed the disappearance of items when scrolling after zooming VirtualizedList. (13a72e0ccc by @islandryu)
- Improved Flow type inference in Animated
.interpolate()
(7b86fa2b79 by @motiz88) - Add Jest mock for Vibration module (79529a1c77 by @hduprat)
- Allow ReactInstrumentationTest to use custom JSIModules (eb2a83b0be by @christophpurrer)
- Working around Long paths limitation on Windows (883a93871c by @mganandraj)
- Fix eslint-plugin-specs prepack npm lifecycle hook now that we use npm 8 (8441c4a6f7 by @kelset)
- Codegen should ignore
.d.ts
files (0f0d52067c by @tido64) - Avoid full copy of large folly::dynamic objects in JSIExecutor#defaultTimeoutInvoker (521011d4cc by @christophpurrer)
Android specific
- Fixed HorizontalScrollView API scrollToEnd causing NPE in side-effects. (e5ba6ab7b4 by @ryancat)
- Fix InputAccessoryView crash on Android (afa5df1764 by @hduprat)
- Bring back non-rootview touch handling based on reactTag (8b837268b4 by @fkgozali)
- Make Text not focusable by default (8ced165e53 by @kacieb)
- Revert PR 33924 because of issues with TextInputs with numeric keyboard types not respecting the secureTextEntry prop (edb27e3aa1 by @charlesbdudley)
- Fix edge case when we enqueue a pending event to views on stopped surface (ea7c9f2ad9 by @ryancat)
- Fix a bug where the keyboard, once set as email, won't change back to default. (ec307e0167 by @larkox)
- NPE in
ReactEditText.setInputType
when React Native is used with some versions of a AppCompat 1.4.x. (and possibly others) (92ebb298e2) - Fix NPE on
ReactEditText
due to null mFabricViewStateManager (ba6bf5a3ce by @cortinico) - Scroll views would still receive scroll events when nested in a view with
pointer-events: "none"
(fced96bf52 by @javache) - Fixed an edge case that event dispatching is failed after pre-allocation of a view and before the view is mounted. (a093fe5f2f by @ryancat)
- Avoid crash by handling missing views in dispatchViewManagerCommand (ee1a191cb1 by @hsource)
- Pass react build dir to cmake (6ab7a99518 by @janicduplessis)
- Fix missing space in ReactPropertyException message (24560b6718 by @markv)
- Fix import path breakage (2e1e62f2bf by @aniketmathur)
- When
onEndReachedThreshold
is set to 0onEndReached
function onVirtualizedList
properly fires once the user scrolls to the bottom of the list. (b869680c11) - Fix rendering of transparent borders in RN Android (a9659ce86d by @mdvacca)
- Exception with
Cannot load WebView
message will initialising WebView (along with existing checks) (9e0d8696cc by @rachitmishra) - Fix accessibilityState overwriting view's disabled state on Android (f35d18caa3 by @okwasniewski)
- Make sure *.ts files are considered for task avoidance in the Gradle Plugin (1a9fb6cb68 by @cortinico)
- Fix missing import on New Architecture build script in template (a22f30d2ce by @cortinico)
iOS specific
- Use
NODE_BINARY
from.xcode.env
when running packager from Xcode (ff785dbcf5 by @elsurudo) - Bug with error message formatting when bundle is missing (f501979f3d by @BenLorantfy)
- Fix the race condition when calling readAsDataURL after new Blob(blobs) (bd12e41188 by @wood1986)
- Fix the way the orientation events are published, to avoid false publish on orientation change when app changes state to inactive (7d42106d4c by @lbaldy)
- Fix sed error when installing
glog
(4a7e4b9ca6 by @alphashuro) - Don't validate ENTRY_FILE in react-native-xcode.sh (780fe80fca by @janicduplessis)
_scrollViewComponentView
is set toRCTPullToRefreshViewComponentView's
superview (4e4b9e2111 by @dmytrorykun)- Use
GCC_PREPROCESSOR_DEFINITIONS
to setFB_SONARKIT_ENABLED
(77e6bff629 by @janicduplessis) - Fix Hermes not being properly downloaded during pod install (d5e0659fcc by @cortinico)
- Typo in the documation for the
automaticallyAdjustKeyboardInsets
prop (927b43d47c by @jeremybarbet) - Deprecate iOS/tvOS SDK 11.0 support now that 12.4+ is required (f56d701e56 by @leotm)
- Fix blank spaces that don't recover as you scroll when in an RTL locale and e.nativeEvent.zoomScale is -1. (bc7b5c3011, 2f491bfa9f)
- Fixed paddingTop not being applied when using padding and paddingVertical in multiline textinput (2fb107c9a6 by @hetanthakkar1)
- Fixed the ability to pass the port to use for Metro when running
react-native run-ios --port <port>
. (7dc0b5153e by @lindboe) - Fix missing imports (c78babac39)
- Fix React-bridging headers import not found (c4b51e8d76 by @Kudo)
- Fix Hermes executor not available when
use_frameworks
is enabled (88b7b640a7 by @Kudo)
Security
- Add GitHub token permissions for workflows (3da3d82320 by @varunsh-coder)
- Bump RCT-Folly to 2021-07-22 (68f3a42fc7 by @luissantana)