- 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)
- Bump RNGP to 0.71.17 (bf490d379f by @kelset), contains:
- Fix patch for codegen for 0.71 (ec3681143e by @kelset)
- Remove ruby-version from 0.71 (1d22e29146 by @cipolleschi)
- Give precedence to
textContentType
property for backwards compat as mentioned in facebook/react-native#36229 (comment) (c0abff11b6 by @lunaleaps) - Blob data is no longer prematurely deallocated when using blob.slice (36cc71ab36 by @awinograd)
- 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
)[facebook/metro#928]) - fix: Mitigate potential source map mismatches with concurrent transformations due to terser#1341. ((
metro/#929
)[facebook/metro#929])
- fix: Source maps may have invalid entries when using Terser minification. ((
- Bump Hermes Version (291cc0af10) - contains:
- Expose
rrc_root
via prefab. (3418f65d88 by @tomekzaw)
- Fix touchable hitSlop type (23607aea68 by @bigcupcoffee)
- Fix TouchableOpacity componentDidUpdate causing an excessive number of pending callbacks (8b1f6e09c1 by @gabrieldonadel)
- ENTRY_FILE should resolve relative paths from root (6dde1dc7cb by @cortinico)
- Better Monorepo support for New Architecture (0487108461 by @cortinico)
- 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 jscexecutor crash on Android which is caused from NDK incompatibility (a232decbb1 by @Kudo)
- Used relative paths for gradle commands (bb02ccf13f by @shivenmian)
- fix
pod install --project-directory=...
(ad1ddc241a by @tido64)
- 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)
- 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)
- 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)
- [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)
- 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)
- Add
jsinspector
to the prefab target (a80cf96fc8 by @Kudo)
- Add
initialProps
property toRCTAppDelegate
(b314e6f147 by @jblarriviere)
- Bump CLI to 10.1.3 (b868970037 by @kelset)
- Bump RNGP to 0.71.13 (416463c406 by @cipolleschi)
- Fix(cli,metro,babel): bump cli and metro and babel to fix Windows+Metro issue (df7c92ff4c by @kelset)
- 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)
- 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)
Read the announcement blogpost here.
resolver.useWatchman: false
in metro.config.js
.
- 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).
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- Removed
AsyncStorage
module (4de2aaba50 by @hoxyq) - Remove
HERMES_BUILD_FROM_SOURCE
flag (138af74e3f by @cipolleschi) - Removed
ImagePickerIOS
module native sources (d03a29ce5f by @hoxyq)
- 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 facebook/react-native#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)
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)
- 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)
- Bump terser minor version to mitigate CVE-2022-25858 (743f9ff63b by @GijsWeterings)
- Mitigation for Samsung TextInput Hangs (be69c8b5a7 by @NickGerleman)
- Fix the potential race condition when dismissing and presenting modal (279fb52e03 by @wood1986)
- Add
POST_NOTIFICATIONS
and deprecatePOST_NOTIFICATION
(b5280bbc93 by @dcangulo)
- 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)
- 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)
- Cleanup codegen build folder before installing the pods (0e316ec671 by @cipolleschi)
- Force dependencies resolution to minor series for 0.70 (59407a4d34 by @cortinico)
- Bump CLI to 9.2.1 (a24c8946e0 by @kelset)
- Bump react-native-codegen to 0.70.6 (866021b58c by @dmytrorykun)
- Load react-native.config.js from correct path during codegen (74fda10702 by @krystofwoldrich)
- Fix error in the Codegen template for ThirdPartyFabricComponentsProvider (2f6b2127d9 by @gispada)
- Center text if line height isn't 0 (70cc27c901 by @sammy-SC)
- 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
- Use NMake generator for Hermes build on Windows (9d08d55bbe by @mganandraj)
- Fixing failure building RN codegen CLI on Windows (85c0c0f21f by @mganandraj)
- Add xcode 14 workaround (turn off signing resource bundles) for
React-Core
(967de03f30 by @kelset)
- Add support for "Prefer Cross-Fade Transitions" into AccessibilityInfo (be7c50fefd by @gabrieldonadel)
- Bump CLI to 9.1.3 and Metro to 0.72.3 (f164556037 by @kelset)
- Inform ScrollView of Keyboard Events Before Mount (26d148029c by @NickGerleman)
- Fix port as -1 if dev server without specifying port on Android (3d7e1380b4 by @Kudo)
- Add more debugging settings for HermesExecutorFactory (32d12e89f8 by @Kudo)
- Support TypeScript array types for turbo module (component only) (33d1291e1a by @ZihanChen-MSFT)
- 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)
- Fix hermes profiler (81564c1a3d by @janicduplessis)
- 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)
- 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)
- Remove jest/preprocessor from the react-native package (0301cb285b by @motiz88)
- Remove nonstandard Promise.prototype.done (018d5cf985 by @motiz88)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- Remove
emulateUnlessSupported
(c73e021a4b by @ken0nek) - Remove USE_CODEGEN_DISCOVERY flag (2e720c3610 by @cipolleschi)
- 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)
- 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)
- 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)
- Add GitHub token permissions for workflows (3da3d82320 by @varunsh-coder)
- Bump RCT-Folly to 2021-07-22 (68f3a42fc7 by @luissantana)
- Mitigation for Samsung TextInput Hangs (be69c8b5a7 by @NickGerleman)
- Mitigation for Samsung TextInput Hangs (be69c8b5a7 by @NickGerleman)
- Force dependencies resolution to minor series for 0.69 (c4da74c463 by @Titozzz)
- Bump version of
promise
from 8.0.3 to 8.2.0, enablingPromise.allSettled
(951538c080 by @retyui)
- Fix hermes profiler (81564c1a3d by @janicduplessis)
- Correctly resolve classes with FindClass(..) (361b310bcc by @evancharlton)
- 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 React module build error with swift integration on new architecture mode (3afef3c167 by @Kudo)
- Bump react-native-codegen to 0.69.2 (df3d52bfbf by @dmytrorykun)
- Replaced reactnativeutilsjni with reactnativejni in the build process to reduce size (54a4fcbfdc by @SparshaSaha)
- Codegen should ignore
.d.ts
files (0f0d52067c by @tido64)
- Upgrade RN CLI to v8.0.4 (66c68c37ce by @thymikee)
- Modified getDefaultJSExecutorFactory method (87cfd386cb by @KunalFarmah98)
- Fix React-bridging header not found for third party modules (fa2acc32d1 by @Kudo)
- Set react-shallow-renderer v16.15.0 for react v18 compat (a39a7c453d by @mikehardy)
- Upgrade RN CLI to v8.0.3 (28cbd21d21 by @thymikee)
- Hermes pod: change logic to use the hermes tag to set the pod source correctly (46a9edc854 by @kelset)
- Fix the race condition when calling readAsDataURL after new Blob(blobs) (bd12e41188 by @wood1986)
- Make sure that Flipper pods are not installed when creating a release build (23accbf58d by @cipolleschi)
- Make all Yoga headers public and add #ifdef __cplusplus (43f831b23c by @janicduplessis)
- Use monotonic clock for performance.now() (114d31feee)
- Fix build for React-RCTText (4ea38e16bf by @ph4r05)
- Fix RCT-Folly build error when use_frameworks! and hermes are both enabled (79baca678a by @Kudo)
- Fix use_frameworks! for 0.69 (f97c6a5b49 by @Kudo)
- Support for
console.disableYellowBox
has been dropped - Already deprecated prop types have been removed (cdfddb4dad, 3e229f27bc, 10199b1581)
removeListener
, deprecated since RN0.65, was removed from Appearance- If you were using
SegmentedComponentIOS
, you will now need to move to the segmented-control library (235f168574)
- Add Hermes scripts to package (004b8609d9 by @hramos)
- Expose scheduler through FabricUIManager (1730949e94 by @cortinico)
- Add event listeners to Scheduler (e51e19ecc1 by @cortinico)
- C++ TurboModule methods can return functions (c7380ba113 by @appden)
- Add support for devtools' profiler (fefa7b6ac8 by @jpporto)
- Add getAll function to FormData class for getting all parts containing that key. This is also available in web API. (d05a5d1551 by @matinzd)
- Automatic type conversions for C++ TurboModules (31f0796237 by @appden)
- New bridging API for JSI <-> C++ (30cb78e709 by @appden)
- Add asBool() method to JSI (603620b739 by @appden)
- CustomEvent and Event polyfills for React Native (6abbef1200 by @JoshuaGross)
- Implement Runtime.getHeapUsage for hermes chrome inspector (cff9590864 by @janicduplessis)
- Introduce ReactNativeFeatureFlags file to control FeatureFlags in React Native (33aba77456 by @mdvacca)
- Added fail-safe check to catch MissingWebViewPackage Exception (8c573d9336 by @Kunal-Airtel2022)
- Add ability to access properties with symbol keys through JSI (9010bfe457 by @neildhar)
- Allow color styles to be animated using native driver (201f355479 by @genkikondo)
- Make react-native depend on react-native-gradle-plugin (3346efb7d4 by @cortinico)
- Add RawEventTelemetryEventEmitter interface to ReactNativePrivateInterface (1f15a64028 by @JoshuaGross)
- Implement Runtime.getHeapUsage for hermes chrome inspector (3568a72987 by @janicduplessis)
- Add support for C++17 in OSS (c2e4ae39b8 by @sammy-SC)
- Generate
Nullable
for optional objects and arrays in module codegen. (ffaa5d69bc) - Expose an API to enable Concurrent Root on Android (d7b64b8d4b by @cortinico)
- Add scrollEventThrottle prop support in Android (cf55fd587e by @ryancat)
- Accessibility announcement for list and grid in FlatList (dd6325bafe by @fabriziobertoglio1987)
- Introduce ModuleDataCleaner.cleanDataFromModules(ReactContext) (184dfb8f8b by @RSNara)
- Introduce ReactContext.getNativeModules() (b978308519 by @RSNara)
- MapBuffer implementation for JVM -> C++ communication (cf6f3b680b)
- Make links independently focusable by Talkback (7b5b114d57 by @fabriziobertoglio1987)
- Support animating text color with native driver (87cdb607e4 by @genkikondo)
- Added an experimental prop serialization path based on MapBuffer (cbcdaae2b5)
- Allow to setup a Gradle Enterprise instance via an external script (f11dcfaea1 by @cortinico)
- Support platform color with AnimatedColor (cb42049e0a by @genkikondo)
- Support running animations with AnimatedColor with native driver (3f49e6763e by @genkikondo)
- Add public API to ReactRootView to control if JS touch events are dispatched (0a517ae438 by @ryancat)
- Prepare a method in the AppDelegate to control the concurrentRoot. (8ac8439e0d by @cipolleschi)
hotkeysEnabled
property is added toRCTDevMenu
which allows enabling/disabling hotkeys that triggers developer menu popup (1a1a304ed2)- Allow modifying iOS image cache limits (61b013e7ad by @danilobuerger)
- Add dismissActionSheet method to ActionSheetIOS (64ebe5bbdd by @gabrieldonadel)
- Integrated the
accessibilityLanguage
prop to all the available components. The prop is available for any platform but it will work only on iOS. (7b05b091fd by @dgopsq) - Support running animations with AnimatedColor with native driver (49f3f47b1e by @genkikondo)
- Update direct Metro dependencies to 0.70.1 (b74e964e70, (c92b64b16a by @arushikesarwani94), (f89a0b765c by @robhogan)
- Upgrade RN CLI to v8.0.0 (0605880c9e, 1e0226f933, 24bb7f7380, 7dceb9b63c by @thymikee)
- Replace use-subscripton with use-sync-external-store (93b50be8c2 by @rickhanlonii)
- Expose UIManager from Scheduler (54db5f2012 by @cortinico)
- Optimized VirtualizedList context when used with nested lists (ceb0a54608 by @javache)
- Remove usage of std::string in EarlyJsErrorHandler. (30051b2c41 by @sshic)
eslint-config
: add support for ESLint 8 (864a8c11b2 by @wcandillon)eslint-config
: add support for TypeScript 4.5+ (199ac680c7 by @rnike)- Upgraded react-devtools-core dependency to 4.24.0 (a7a781ff4a)
- Avoid flattening nodes with event props (980c52de41)
- Type the argument of Animated.interpolate as read-only (6584304c10 by @motiz88)
- Update gradle-download-task to 5.0.1 to support concurrent downloads (a86cae7aac by @michel-kraemer)
- Logging a soft error when ReactRootView has an id other than -1 instead of crashing the app in hybrid apps (1ca2c24930 by @Kunal-Airtel2022)
- Upgrade to React 18 (41cbccd98d by @rickhanlonii)
- Gradle: extend the algoritm to find hermesc paths (aeac6ab677 by @cortinico)
- Bump boost for Android to 1.76 to align with iOS (5cd6367f0b by @kelset)
- Adopt
MapBuffer
interface forReadableMapBuffer
(81e4249315) - Mark intent as nullable (5ffa0b0aa6 by @sshic)
- Use CMake to build ReactAndroid module (e3830ddffd)
- Update template/android and RN Tester to use
hermes-engine
from thereact-native
NPM package. (4d91f40fbd by @cortinico) - Build Hermes from Source (a3d9892ed9 by @cortinico)
- Rename field with default values for ReactConfig to DEFAULT_CONFIG (964e816752)
- Moved
com/react/facebook/uimanager/interfaces
files intocom/react/facebook/uimanager
to enable Kotlin build (b1a779392d) - Bump AGP to 7.1.0 and fix bundle inclusion in release mode (200488e87c by @gabrieldonadel)
- Release react-native-gradle-plugin 0.0.5 (42272211e4 by @cortinico)
- ViewPagerAndroid recommendation link. (7e8cce3d2d by @maaxg)
- Bump android Appcompat to 1.4.1 (6b61995647 by @gabrieldonadel)
- Remove
react-native-gradle-plugin
as a dependency from template's package.json (cd79317672 by @cortinico) - Use 2g as a default heap size for gradle builds (09e418ef8e)
- Use new StatusBar API on Android 11 (API 30)+ (50c8e973f0 by @ieatfood)
- Change static string to public (ab45138394 by @sshic)
- Use pre-built HermesC if available in current React Native release (644fe430fd by @hramos)
- When building Hermes from source, the filesystem will now be prepared using the new hermes-utils.js scripts, outside of CocoaPods (aaa01f7710 by @hramos)
- Expose scheduler through RCTSurfacePresenter (614aa86916 by @cortinico)
- Adopt UIGraphicsImageRenderer API (d70d7fd0b3 by @matrush)
- Build Hermes from source when Hermes is used (bb01b75637 by @hramos)
- Update CodeGen scripts to accept custom node executable (323db75c36 by @cipolleschi)
- Fixed the fallback behavior when the
.xcode.env
file is missing, actually using the oldfind-node-for-xcode.sh
script (705c6f57d6 by @cipolleschi) - Adding a link in a message for the users. (2c52131f5e by @cipolleschi)
- Bump ruby to 2.7.5 (2c87b7466e by @danilobuerger)
- This PR removes the
find-node.sh
scripts and replaces it with an.xcode.env
file that is sourced by the script phases that needs it. The.xcode.env
file is versioned: to customize a local environment, an unversioned.xcode.local.env
can be used. (0480f56c5b by @cipolleschi) - Update
PushNotificationIOS.checkPermissions
to include iOS 10+ notification settings. (17ecd2fb5b) - Enable SonarKit in React-Core when the configuration is
'Debug'
(b5343a6b0d by @cipolleschi) - When Hermes is enabled, the Hermes Engine will be built from source instead of using the pre-built
hermes-engine
CocoaPod. (12ad1fffe8 by @hramos) - Replaced folly::Optional with std::optional from C++17 in Objc module generator. (45e2941367 by @philIip)
- Removed methodName parameter that was used only for a warning message and moved the warning parameter to be calculated inline. (cfb11ca2f6)
- Fix the crash caused by nil partialLoadHandler (46bc521513)
- Synchronously render cached images (189c2c8958)
- Updated Flipper-Glog to 0.5.0.4 (cd60ffdb62)
- Add function to report early js errors (1804951595 by @sshic)
- Deprecate the use of
react-native/jest/preprocessor.js
by external projects (c1e9aa9a27 by @motiz88) - Deprecate the Promise.prototype.done method and log a warning when it's called in development. (35800962c1 by @motiz88)
- Deprecating support for iOS/tvOS SDK 11.0, 12.4+ is now required (5f2835b14d, (c71e6efbcd, (982ca30de0 by @philIip)
- Removed lint restricting
DynamicColorIOS
to only two properties (13b0b06522)
- Remove unactionable warning about
codegenNativeComponent
when on 'Paper' (494b73cb33 by @tido64) - Fix typo in Value's constructor with a Symbol (a7a0f86a73 by @jpporto)
- Avoid full copy of large folly::dynamic objects by switching to std::move semantics (3f98c8e4c2 by @NikoAri)
- Fix performance issue on Animated.interpolate with big input range (f503b21203 by @Almouro)
- Update function spacing linting rules (8650220cf9 by @joeframbach)
- Add supportsFromJs and supportsToJs template variables (087624ccaf by @appden)
- The Array appended to FormData is transmitted as a string (d2e8e7d58e by @bang9)
- AppState.removeEventListener correctly removes listener for blur and focus events (9aab25ec53 by @AntoineDoubovetzky)
focus()
on TextInput to respect itseditable
state (8a5460ce80 by @vonovak)- Restore Windows build with RawPropsParser.cpp (2d64d1d693 by @TatianaKapos)
- Fix babel-plugin-codegen crash when export init is null (ae756647c9 by @janicduplessis)
- Fixed compilation warning due to
using namespace
being used as part of header (009d80bf5a by @arhelmus) - Allow including TurboModule.h in mixed rtti/no-rtti environment, even if TurboModule.h/cpp is compiled without RTTI. (1f87729697 by @nlutsenko)
- Remove prettier from dependencies in eslint-config (2db1bca952 by @Kerumen)
- Switch Component doesn't disable click functionality when disabled (b2e625a517 by @fabriziobertoglio1987)
- Support numeric color values in StyleSheet's Flow types (83b1975b90 by @motiz88)
- Fix build break on Windows with ReactCommon (42b391775f by @chiaramooney)
- Fixed opacity value in TouchableOpacity (3eddc9abb7 by @hetanthakkar1)
- Remove illegal private property access in VirtualizedSectionList.scrollToLocation (b2f871a6fa by @motiz88)
- JS animated node value updates properly when listener is attached (1f778014a7 by @genkikondo)
- Working around Long paths limitation on Windows (7b76abc0d3 by @mganandraj)
- Fix VirtualizedList with initialScrollIndex not rendering all elements when data is updated (c5c17985da by @AntoineDoubovetzky)
- Add back hermes inspector support (6b6adcc111 by @Kudo)
- Fixed issue where any node with an AccessibilityDelegate set (which was any node with any accessibility propoerty), was using ExploreByTouchHelper's built in AccessibilityNodeProvider, and not properly populating their AccessibilityNodeInfo's, leading to focus issues and issues with automated test services like UIAutomator. (70fcab76a4 by @blavalla)
- Fix Extras usage in Android implementation of Linking.sendIntent() (86f8d0bb52)
- Fix typo in gradle plugin deprecation message (41cfd2f976 by @mikehardy)
- Fixed
TimingModule
related functions for headless JS tasks, eg.setTimeout
(dac56ce077 by @marcesengel) - Improve support for Android users on M1 machine (c5babd993a by @cortinico)
- Do not use
rootProject
directly in Gradle scripts (b2bc5aa5c9 by @cortinico) - Adding null check for context in redbox surface delegate (9527ab1584 by @ryancat)
- Fix crash on empty snapToOffsets array (145fd041c7 by @ryancat)
- Fix StatusBar not updating to use translucent values when set to the same value across different activities (d34a75e9e5)
- Fix underlineColorAndroid transparent not working on API 21 (52aee50a70 by @fabriziobertoglio1987)
- Fixed regression on content in scroll view not responding to touch when fling got interrupted (bb8ff9260f by @ryancat)
- Fixes android build error when compiling as library (c34ef5841c by @nickfujita)
- Cancel post touch process when new touch is received (0368081858 by @ryancat)
- Improve rendering of images when resampled and corner radius applied (f743bed657 by @javache)
- Fix transform when calculate overflowInset (0975e96d53 by @ryancat)
- Fix ReactHorizontalScrollView contentOffset (9f6f97151c by @genkikondo)
- Text Component does not announce disabled and disables click functionality when disabled (7b2d8178b1 by @fabriziobertoglio1987)
- Fix StatusBar on Android API 30 (9ed2df628d by @ieatfood)
- Use root locale when converting string case. (5341ad8962 by @halaei)
- Fix DarkMode on Calendar DateTimePicker (97064ae1fb by @mdvacca)
- Fix ScrollView contentOffset (be260b9f47 by @genkikondo)
- Do not bundle libhermes.so or libjsc.so inside the React Native Android AAR (fa85417179 by @cortinico)
- Enable hitSlop to be set using a single number. (d682753244 by @javache)
- Fix crash caused by Image.queryCache parsing null (ae3d4f7008 by @skychx)
- Fix NullPointerException when disaptching events (fbeb51ef51 by @mdvacca)
- ScrollView's contentInsetAdjustmentBehavior is reset to Never at every reuse to avoid layout artifacts. (28a65f4387)
- Prevent Nullptr segfault in TurboModule init path (7f3cc256b5 by @RSNara)
- Expose the extraData dict attached to JavaScript errors to the native ExceptionManager on iOS, similar to Android (a65ae8eff6 by @GijsWeterings)
RCTLocalizationProvider
Fall back to input when no localization is available (18196512db by @robhogan)- Update iOS LogBox to render its UIWindow with the key window's UIWindowScene (d31d83f410 by @vincentriemer)
- Remove Gemfile.lock from template (1907bd31f0 by @danilobuerger)
- Fix
pod install
whenRCT-Folly
version has been updated. (b2517c3bdc by @fortmarek) - Fix usage of cocoapods with --project-directory flag and new arch (2f813f873a by @danilobuerger)
- Ensure LogBoxView is sized relative to the key window instead of the full screen (84f8c9ad55 by @vincentriemer)
- Improved template fastlane gitignore (f43f05d292 by @danilobuerger)
- Set RCTView borderColor to UIColor (267d36d0af by @danilobuerger)
- Fix action sheet callback invoked more than once on iPad (8935d6e697 by @janicduplessis)
- Resolve border platform color based on current trait collection (9a35818797 by @danilobuerger)
- Enable custom sound for local push notifications. (eb19499484)
- Invoke registerForRemoteNotifications on main UI thread. (3633a05299)
- Bump flipper pods to get arm64 catalyst slice (f811da7cc2 by @fortmarek)
- Fix
pod install --project-directory=ios
failing when Hermes is enabled (1b22e8a039, (eb7cc85a91 by @tido64) - Fix compilation warning in yoga (52d8a797e7 by @cuva)
- Prevent deadlock when dispatching events from observers on the same thread. (68fd1e5508 by @Pickleboyonline)
- In RCTSurfaceHostingComponent, access ckComponent from main queue to pass assertion (1874c81003 by @p-sun)
- Fix modal redbox for onDismiss (46f68aceb2 by @HeyImChris)
- Attempt to fix crash during app termination (9cd43340a7 by @sammy-SC)
- Encode URL params in URLSearchParams.toString() (1042a8012f by @sshic)
- Mitigation for Samsung TextInput Hangs (be69c8b5a7 by @NickGerleman)
- Mitigation for Samsung TextInput Hangs (be69c8b5a7 by @NickGerleman)
- Force dependencies resolution to minor series for 0.68 (edcb3ca996 by @Titozzz)
- Bump version of
promise
from 8.0.3 to 8.2.0, enablingPromise.allSettled
(951538c080 by @retyui) - Bump react-native-codegen to 0.0.18 (40a3ae3613 by @dmytrorykun)
- Correctly resolve classes with FindClass(..) (361b310bcc by @evancharlton)
- Codegen should ignore
.d.ts
files (0f0d52067c by @tido64)
- Fix the way the orientation events are published (7d42106d4c by lbaldy)
- Let's not build reactnativeutilsjni shared library (af9225ec5f by @SparshaSaha)
- Modified getDefaultJSExecutorFactory method (87cfd386cb by @KunalFarmah98)
- Use monotonic clock for performance.now() (114d31feee)
- Logging a soft error when ReactRootView has an id other than -1 instead of crashing the app in hybrid apps (1ca2c24930 by @Kunal-Airtel2022)
- Bump used version of react-native-codegen to 0.0.17 (dfda480a98 by @cortinico)
- Bump react-native-codegen to 0.0.17 (a5ddc2e165 by @cortinico)
- Working around Long paths limitation on Windows (62ef6f5fa1 by @mganandraj)
- Bump React Native Gradle plugin to 0.0.6 (9573d7b84d by @cortinico)
- Don't require yarn for codegen tasks (d5da70e17e by @danilobuerger)
- Fix dynamic_cast (RTTI) by adding key function to ShadowNodeWrapper and related classes (58a2eb7f37 by @kmagiera)
- Pin use-subscription to < 1.6.0 (5534634892 by @danilobuerger)
- Use NDK 23 only for Windows users. (e48a580080 by @cortinico)
- Improve support for Android users on M1 machine (4befd2a29c by @cortinico)
- Template: Specify abiFilters if enableSeparateBuildPerCPUArchitecture is not set. (5dff920177 by @cortinico)
- Fix for building new architecture sources on Windows (5a8033df98 by @mganandraj)
- 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
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)
- Setup a
newArchEnabled
property to Opt-in the New Architecture in the template (8d652fba4c by @cortinico)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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 facebook/react-native#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 facebook/react-native#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)
- 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)
- 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)
- Gradle: Deprecate
reactRoot
in favor ofroot
andreactNativeDir
(8bc324fd34 by @cortinico)
- DeprecatedPropTypes (deep-link) modules removed from React Native. (23717c6381 by @yungsters)
accessibilityStates
no longer passed through to RCTView. (1121ed94ab by @luism3861)
- Remove RCTUIManagerObserver from RCTNativeAnimatedTurboModule (e9ed115bab by @p-sun)
π¨ IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
- Force dependencies resolution to minor series for 0.67 (9f2acda1b8 by @cortinico)
- Added a null check to native.value in Switch to fix facebook/react-native#32594 (8d50bf1133 by @jonathanmos)
- Text with adjustsFontSizeToFit changes the text layout infinitely (c1db41f060)
- Fix a broken input for the Korean alphabet in TextInput (1a83dc36ce by @bernard-kms)
- Fix error "mockModal is not a function" (507b05f4c0 by @AntoineDoubovetzky)
- Fix potential crash if ReactRootView does not have insets attached. (6239e2f5ce by @enahum)
- Upgrading OkHttp from 4.9.1 to 4.9.2 to fix CVE-2021-0341. (e896d21 by @owjsub)
- Fix
Time.h
patch not being applied when runningpod install --project-directory=ios
(60cef850bd by @tido64) - Find-node.sh now respects .nvmrc (35bcf934b1 by @igrayson)
- Do not remove libjscexecutor.so from release builds (574a773f8f by @cortinico)
- Remove alert's window when call to
hide
. (a46a99e120 by @asafkorem)
- Add
ACCESS_MEDIA_LOCATION
permission to PermisionsAndroid library. (79db483568 by @Skrilltrax) - Implement
SnapToAlignment
inReactScrollView
(e774c037bc),ReactScrollViewManager
(c6e5640e87),ReactHorizontalScrollView
(b12256394e),ReactHorizontalScrollViewManager
(deec1db9fd) and updateScrollView.js
(a54cfb9e57) and reach parity with iOS (04184ef851) by @mdvacca - Show Redbox for C++ errors. (d6c879edba by @sota000)
- Added an experimental touch dispatch path (a2feaeb5f1 by @ShikaSD)
- Added
cancelButtonTintColor
prop forActionSheetIOS
to change only the text color of the cancel button (01856633a1 by @nomi9995) - Added
LSApplicationQueriesSchemes
in info.plist with entries tel, telprompt, http, fb, geo (b26f277262 by @utkarsh-dixit) - Add
UIAccessibilityTraitUpdatesFrequently
to progressBar role (1a42bd6e97 by @jimmy623) - Add
asdf-vm
support infind-node.sh
(3e7c310b1d by @pastleo)
ImageBackground
now respectsimageStyle
width and height (dbd5c3d8e5 by @Naturalclar)- Rename deprecated
Keyboard.removeEventListener
toKeyboard.removeListener
. (8880c09076 by @yungsters) - Update
Modal
's mock to not render its children when it is not visible (ec614c16b3 by @AntoineDoubovetzky) - Upgraded
react-devtools-core
dependency to 4.19.1 (356236471a by @jstejada) - React-native/normalize-color now supports Node.js (65e58f26e1 by @yungsters)
- Updated to Contributor Covenant v2.1 (19f8d2f7da)
- Hermes initialization will no longer need an explicit configuration. (a40f973f58 by @Ashoat)
- Setting
overflow: scroll
in View component style will clip the children in the View container (93beb83abe by @ryancat) - Native views backing
Animated.View
(w/ JavaScript-driven animations) will no longer be flattened; this should be a transparent change. (4fdbc44ab5 by @yungsters) - Use new Locale API on Android 11 (API 30)+ (b7c023a8c1)
- Changed
react.gradle
detectCliPath
function logic forcliPath
case (ce51b62494 by @vitalyiegorov) - Remove
"high"
and"balanced"
as values forandroid_hyphenationFrequency
onText
(a0d30b848a) - Bump Gradle version to 7.2, Bump Kotlin version to 1.5.31 (9ae3367431 by @svbutko)
- Move mavenCentral repo below local paths (046b02628d by @friederbluemle)
- Optimized font handling for iOS (4ac42d88ef by @Adlai-Holler)
- Remove iOS 11 version check as minimum deployment is iOS 11 (398595e074 by @ken0nek)
- Don't hang app for 60s if packager can't be reached, changed to 10s (c0e04460f5 by @radex)
- Removed unnecessary global variable
GLOBAL
. (a101fc768c by @rubennorte) - Removed unused files:
StaticContainer.react.js
,ensurePositiveDelayProps.js
,InteractionMixin.js
,queryLayoutByID.js
(64aa1e5ffe by @ecreeth)
- Remove
DatePickerAndroid
from react-native. (7a770526c6 by @andresantonioriveros)
- Update metro config language to
blockList
(7923804c28 by @rh389) - Ignores global npm prefix (6334ac35ac by @redreceipt)
- Support
Animated.ValueXY
when validatingAnimated.event
. (27dd2ecb70 by @javache) - Add a function
getIgnorePatterns
inLogBoxData.js
for tests or other usecases. (a950634424)
- TextInput Drawable to avoid Null Pointer Exception RuntimeError facebook/react-native#17530 (254493e1fb by @fabriziobertoglio1987)
- Nested Text Android
onPress
does not work with last character (132d1d00f8 by @fabriziobertoglio1987) - Fix non selectable Text in FlatList (c360b1d92b by @fabriziobertoglio1987)
- Set
textBreakStrategy
default to be'highQuality'
(3b2d541989) - Fix error handling when loading JSC or Hermes (d839b24b06 by @iqqmuT)
- Fix encoding for gradlew.bat files (ab2bdee735 by @yungsters)
- Fix
hermesFlags
not working with multiple variants (91adb761cf by @grit96) ScrollTo
API in ScrollView will check the actual scroll position before setting the scroll state (1a9e2d5d55 by @ryancat)- Compute Android Notch in
keyboardDidShow
height calculation API 28+ (8bef3b1f11 by @fabriziobertoglio1987) - Fix
currentActivity
being null when launching Redbox (f4fdf4b55e) - When sending OS intents, always set
"FLAG_ACTIVITY_NEW_TASK"
flag (required by OS). (04fe3ed80d by @Krizzu) - Fix missing WebView provider crash in ForwardingCookieHandler (d40cb0e1b0 by @RodolfoGS)
- Fix
keyboardDismissMode="on-drag"
on Android (7edf9274cf by @janicduplessis) - Fixed
alignItems: baseline
for elements on Android (1acf334614) OnKeyPress
event not fired with numeric keys (ee3e71f536 by @fabriziobertoglio1987)- Exclude unused .so files for reduce android .apk and .aab (6f126740fa by @enniel)
- Fixed an edge case when scroll to item/index is called without animation, the offset position is not updated. This caused the measurement of the position to be wrong. (55392f65a6 by @ryancat)
- Fixed the issue when moving cursor in multi-line TextInput. (22801870f0 by @xiankuncheng)
- Fix NSInvalidArgumentException for invalid font family names. (5683932862 by @yungsters)
- Fix Image
defaultSource
not showing on iOS (900210cacc by @cristianoccazinsp) - Warn if Rosetta2 is being used (x86_64 on arm64) (51bf557948 by @barbieri)
- Source map path for schemes containing whitespaces (f3fe7a0fb5 by @andersonvom)
- Fix build error after running
pod install
with--project-directory=ios
(ef5ff3e055 by @sonicdoe) - Fixed inability to build apps when gflags is installed (ab8dbdf663 by @KDederichs)
- Avoiding logging root view params outside of dev / debug mode builds (e612d3a116 by @sterlingwes)
π¨ IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
- Force dependencies resolution to minor series for 0.66 (201824c89e by @cortinico)
- Revert "Fix Deadlock in RCTi18nUtil (iOS)" (70ddf46 by @Saadnajmi)
apply_Xcode_12_5_M1_post_install_workaround
causing pods targetting iOS 12 and above to fail (a4a3e67554 by @Yonom)
- Rename deprecated
Keyboard.removeEventListener
toKeyboard.removeListener
. (8880c09076 by @yungsters)
- Revert changes in Jest preprocessor to fix tests in external projects (142090a5f3fa7 by @rubennorte)
- Add a function
getIgnorePatterns
inLogBoxData.js
for tests or other usecases. (a950634424) - Reintroduce generated codegen files (7382f556d3 by @kelset)
- Hide the logbox window explicitly. New behavior in iOS SDK appears to retain UIWindow while visible. (72ea0e111f by @paddlefish)
- For Android, general fixes to Appearance API and also fixes AppCompatDelegate.setDefaultNightMode(). For iOS, now works correctly when setting window.overrideUserInterfaceStyle (25a2c608f7 by @mrbrentkelly)
- Fix Android border positioning regression (d1a33cd139 by @oblador)
- Fix for unable to find
find-node.sh
inreact-native-xcode.sh
script (cc59a7cbde by @garethknowles)
- Hermes 0.9.0
- This Hermes release is primarily about closing gap between Hermes cut and this React Native release. Among ~400 commits, contains memory and size wins, bugfixes and other progress behind the scenes. See issue for more details.
- Allow taps on views outside the bounds of a parent with
overflow: visible
(e35a963bfb by @hsource) - Fixes for building on Apple Silicon and Xcode 13 (ac4ddec542 thanks to @mikehardy)
- New bluetooth permissions for Android (2bcc6fac38, eeb8e58 by @iBotPeaches)
- Remove Picker and PickerIOS components cddb97ad18, 77366cd869, ad0ccac0d6
- Remove StatusBarIOS component (7ce0f40f5c by @ecreeth)
- Updated
autoCompleteType
prop ofTextInput
toautoComplete
(27fec9569e by @jeswinsimon)
- Add
global.queueMicrotask
(be189cd819 by @Huxpro) - Added data field to
markerPoint
to allow callers to add additional arbitrary string data to logged points (aa98978302) - Adds accessibility actions to Button (44717152ca by @dennisurtubia)
- Add accessibilityState prop to Slider component (35dd86180b by @sladyn98)
- Add support for "togglebutton"
accessibilityRole
(da899c0cc4 by @kacieb)
- Add INFO, and MENU key event support (bb33c1050b by @havlasme)
- Added all autofill types to TextEdit (d9e0ea77f0 by @safaiyeh)
- Add support to URI keyboard type in Android (1465c8f387)
- Add
MEDIA_STOP
,MEDIA_NEXT
, andMEDIA_PREVIOUS
event support to Android TV (3e2bb331fc by @havlasme) - Allow configuring ndk build architectures (d6ed1ff58b by @janicduplessis)
- Added support for accessibility role of "list" for flatlist and sectioned list (25a16123a6 by @anaskhraza)
- Support for foreground ripple in Pressable (0823f299e5 by @intergalacticspacehighway)
- Support for ScrollAway native nav bars added to
ReactScrollView
(0ef5beee85 by @JoshuaGross)
- Added new prop "selection" to
TextInputProps
(8434177722) - Support for onRequestClose for iOS Modal component. (c29ec46b0e by @intergalacticspacehighway)
- Allow
PlatformColor
to return user-defined named asset color (36c0a7dec1 by @oblador) - Add support for the
UIAccessibilityTraitsTabBar
(11f8d9c7cd by @jimmy623) - Added "altitudeAngle" property to touch events from Apple Pencil/Stylus devices. (f1b1ba8963 by @swittk)
- Introduce
RCTInitializing
to allow NativeModules to initialize themselves (9b45df1fce by @RSNara) - Introduce
RCTCallableJSModules
API for NativeModules (ece373d244 by @RSNara) - Attach
RCTBundleManager
to NativeModules (329f58ee46 by @RSNara) - Introduce RCTBundleManager for bundleURL access (4a1bafe591 by @RSNara)
- Initialized LogBox earlier and centralized access in LogBox module (8abe737068 by @rubennorte)
- ExceptionsManager will no longer report exceptions with
type === 'warn'
. (883e0d5752 by @yungsters) - Disable TouchableOpacity when
accessibilityState.disabled
is set (ea609defe8 by @chakrihacker) - Upgrade Babel from 7.12.3 to 7.14.1 (58a0f9b4e2 by @MichaReiser)
- Upgrade
react-devtools-core
from ~4.6.0 to ^4.13.0 (9e020ef476 by @bvaughn) - Update Flipper to 0.99.0 (41f45a77ad by @swrobel)
- Bump CLI to ^6.0.0 (c677e196a9 by @thymikee)
- Upgrade ESLint TS parser and plugin (3b751d396b by @wcandillon)
- Upgrade folly to 2021.06.28.00 and boost to 1.76.0 (b77948e33b by @Kudo)
- Add BLUETOOTH_ADVERTISE to
PermissionsAndroid
(2bcc6fac38 by @iBotPeaches) - Native ScrollView listeners list maintains weak references to listeners to avoid memory leaks (b673e352fb by @dalves)
- Rename the "Toggle Inspector" DevMenu item to "Hide/Show Element Inspector" (e91fb05db7 by @RSNara)
- Localize "search", "button", and "togglebutton" accessibility roles by using the platform roles (399285f91c by @kacieb)
- Refactor
AndroidTextInput.AndroidTextInput.color
prop to use SharedColor instead of int (bc57056cc3 by @mdvacca) - Upgraded
infer-annotation
to 0.18.0. (b5c94e316c by @yungsters) - Bumped AGP to 4.2.2 (ae494e7ce1 by @cortinico)
- Upgrade folly to 2021.06.28.00 (ebe939b18a by @Kudo)
- Bump NDK to 21.4.7075529 (aa43aab77c by @dulmandakh)
- ScrollView scrollIndicatorInsets to not automatically add safe area on iOS13+ (bc1e602e0c by @justinwh)
StyleSheet.create
will no longer do DEV-time validation. (2e8c0bd7ea by @yungsters)
- Fix
window
not existing in jest setup (bc1c533833 by @timomeh) - Clamp negative values for
numberOfLines
in component (3bc883c6c6 by @ShikaSD) - Add missing
jest/create-cache-key-function
dep root package.json (9a43eac7a3 by @janicduplessis) - Fix Switch ref forwarding (1538fa4455 by @janicduplessis)
- Report fatal errors even if its
type
is "warn". (e4a4c4d6d7 by @yungsters) - Parse
accessibilityAction
props into object instead of string (faaeb778df by @ShikaSD) - Avoid downgrading
console.error
when passed warning-like objects. (0dba0aff18 by @yungsters) - Fix natively driven animations not getting reset properly (129180c77b by @tienphaw)
- Fix compilation errors on Windows. (6d04a46f74)
- Fixed bug parsing hermes call stacks when the file name is empty (e539e7d0be by @MartinSherburn)
- Upgrade dependencies / version of eslint package (463ec22bb9 by @mikehardy)
- Allow taps on views outside the bounds of a parent with
overflow: visible
(e35a963bfb by @hsource) - Fixed to use correct Android theme color for dark theme (b3a715f6ea by @sidverma32)
- Fixed dynamic behavior of
<Text adjustsFontSizeToFit={true}>
on Android (59021521e7) - Fix Dimensions not updating (c18a492858 by @jonnyandrew)
- Fix dashed/dotted border-drawing when
borderRadius
is 0 (3e5998e651 by @IjzerenHein) - Fix selectionColor doesn't style Android TextInput selection handles (5819538a08 by @fabriziobertoglio1987)
- Fix Modal being dismissed incorrectly when pressing escape on a hardware keyboard (f51773ecde by @levibuzolic)
- Avoid calling setHint with a null parameter causing cursor to jump to the right (3560753559 by @fabriziobertoglio1987)
- Create slider accessibility delegate in createViewInstance (91cac20289 by @janicduplessis)
- Quickfix individual border style dotted or dashed rendering as solid (cb0e1d603a by @fabriziobertoglio1987)
- Make
mHybridData
thread safe (7929551623) - Exit early from layout in textview if text layout is null (8dfc3bcda1 by @ShikaSD)
- Fix
NullPointerException
caused by race condition inReactInstanceManager.getViewManagerNames
method (fb386fccdd by @mdvacca) - Pressable ripple subsequent press coordinates. (961b00d8c0 by @intergalacticspacehighway)
- TouchableNativeFeedback ripple starts on previous touch location. (d85d72d0d9 by @intergalacticspacehighway)
- Fix Crash in
ViewProps.isLayoutOnly
(e6b9508f12 by @javache) - Fixed a crash when updating
snapToOffsets
to a null value (ba387b91d3 by @maxoumime) - Adding
setAccessible
toReactImageManager
to allow screenreader announce Image accessibilityState of "disabled" (333b46c4b0 by @fabriziobertoglio1987) - Fixed Android library builds with react.gradle file (88f0676ae4 by @Legion2)
- Fix deadlock on
RCTi18nUtil
(fcead14b0e by @Saadnajmi) - Avoid re-encoding images when uploading local files (f78526ce3d by @arthuralee)
- content is reset when emoji is entered at the max length (f3b8d4976f)
- Use
actionName
in accessibility event callback (fed6ad5bad by @ShikaSD)
π¨ IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
- Force dependencies resolution to minor series for 0.65 (9548eaea74 by @kelset)
- For Android, general fixes to Appearance API and also fixes AppCompatDelegate.setDefaultNightMode(). For iOS, now works correctly when setting window.overrideUserInterfaceStyle (25a2c608f7 by @mrbrentkelly)
- Set
react-test-renderer
to17.0.2
in the template (d272880 by @@rickhanlonii)
- Resolve
NODE_BINARY
after finding the right path to node (d75683 by @santiagofm)
ColorProps
with value null should be defaultColor instead of transparent (842bcb902e by @hank121314)- Android Gradle Plugin 7 compatibility (06e31c748f by @dulmandakh)
- Hermes 0.8.1. Please see the highlighted changes from its 0.8.0 and 0.8.1 release notes.
react-native-codegen
version0.0.7
is now needed as adevDependency
in thepackage.json
.
- Replace
flipper_post_install
withreact_native_post_install
hook. Will automatically detect if Flipper is enabled. (42dde12aac by @grabbou)
- Add
onPressIn
&onPressOut
props to Text (1d924549ca by @adrienharnay) - Stabilize
RootTagContext
. And temporarily export bothunstable_RootTagContext
andRootTagContext
(9d489354ae by @nadiia) - Implement
sendAccessibilityEvent
in the React(Fabric/non-Fabric) renderer (99b7052248 by @JoshuaGross) - Re-added
localeIdentifier
toI18nManager
constants (6b91ae73cd by @acoates-ms) - Add PressabilityPerformanceEventEmitter (c4c0065b00 by @JoshuaGross)
- Added
displayName
to some RN contexts to make them more easy to differentiate when debugging. (68a476103a by @bvaughn) - Add
displayName
toTouchableHighlight
andTouchableOpacity
(c4e40b81c0 by @brunohkbx) - Added context to URL's error messages when the feature is not implemented (452240bafa by @Crash--)
- Add a
stickyHeaderHiddenOnScroll
option to keep the sticky header hidden during scrolling down, and only slide in when scrolling up (ffba25c648) - Added
debugName
parameter torenderApplication
to use as the display name for the React root tree (eeb36f4709 by @rubennorte) - Adding support for
cancelOnBackground
for UserFlow (0d4985900b by @dmitry-voronkevich) - Introducing RuntimeScheduler module (eb13baf2a6 by @sammy-SC)
- Roll out TurboModule Promise Async Dispatch (5c4f145e33 by @RSNara)
- Add
getRecommendedTimeoutMillis
to AccessibilityInfo (d29a7e7a89 by @grgr-dkrk) - TalkBack now announces "unselected" when changing
accessibilityState.selected
to false. (73bc96ecf9 by @yungsters) - Fbjni version bump to 0.0.3 (24f9f75bf6 by @IvanKobzarev)
- Add
onFocus
andonBlur
for Pressable on Android. (cab4da7288) - Introduce API to allow applications to register
TurboModuleManagerDelegates
withReactInstanceManager
(eb7e89e286 by @RSNara) - Added convenience methods to simplify native Event classes and ease migrations (72d0ddc16f by @JoshuaGross)
- High contrast dynamic color options for dark and light mode. (4b9d9dda27 by @birkir)
- Adds an ability to retrieve the notifications authorization status from JavaScript side. (b86e52a9ec)
- Added reset method to
RCTFabricSurface
to help with reloads (53858ceaa3 by @PeteTheHeat) - Allow
RCTRootView
to be initialized with a frame (00bc09c8f7 by @appden) - Allow for configuring the
NSURLSessionConfiguration
(58444c74f5 by @hakonk) - Use react-native-codegen in iOS app template (e99b8bbb40 by @hramos)
- Bump Flipper + Bump hermes (#31872 by @Titozzz)
- Show warning when native module without
addListener
orremoveListeners
is passed toNativeEventEmitter
(114be1d217 by @rubennorte) - Disable
accessibilityState
when theTouchableWithoutFeedback
isdisabled
. (697164077c by @carloscuesta) - Upgraded
react-devtools-core dependency
to 4.12.0 (5a2693d78f by @bvaughn) - Set disabled
accessibilityState
whenTouchableHighlight
is disabled (f69e096bb4 by @Naturalclar) - Add checks and logs to for better error handling (ea1f9531f0)
- CreateAnimatedComponent: removed deprecated lifecycles usage (ba61267015 by @nadiia)
- Hide caret in the
TextInput
during test runs. (397bfa6ad7 by @nadiia) - Use
usePressability
hook in TextInput (c4aa411ee3 by @nadiia) Keyboard
no longer inherits fromNativeEventEmitter
, so it no longer implementsremoveAllListeners
, andremoveSubscription
. (1049835b50 by @yungsters)AppState
no longer inherits fromNativeEventEmitter
, so it no longer implementsaddListener
,removeAllListeners
, andremoveSubscription
. (6f22989e92 by @yungsters)DevSettings
no longer inherits fromNativeEventEmitter
(70cd569e7e by @yungsters)- LogBox will not initially collapse stack frames if every frame would be collapsed. (88a41f180c by @yungsters)
- Update package name warning of deprecated modules (34e1b0ef98 by @Naturalclar)
- Update react-native-codegen to 0.0.7 (cd6c9f3273 by @Naturalclar)
- Update template devDependencies (652e3953f4 by @Bardiamist)
- Don't minify JS bundle by default when using hermes (1a67dda668 by @janicduplessis)
- Migrate warnings in index.js to point to new lean core repos (4421a64ac1 by @Naturalclar)
- Update Flipper to 0.93.0 (06c33e9abe by @mweststrate)
- Update Flipper to 0.91.1, fixed iOS build support for i386,
use_flipper!()
will no longer need custom overrides to build with XCode 12.5 (4246c75d0d by @mweststrate) - Find node on m1 via homebrew node managers (4d40b53c12 by @danilobuerger)
- Clean up EventObjectPropertyType (0e46080847 by @RSNara)
Appearance.addChangeListener
now returns anEventSubscription
. (305b4253c2 by @yungsters)Dimensions.addEventListener
now returns anEventSubscription
. (c47a03563d by @yungsters)- Updated react-native-community/cli to v6 (hence updating metro to 0.66) (0d32aef3aa by @Titozzz)
- Reflect Hermes release version from HermesBadge (c54aeccf1a by @Huxpro)
- Modified
NativeEventEmitter
to also use the passed native module to report subscriptions on Android (f5502fbda9 by @rubennorte) - RefreshControl.size prop changed its type to string, the valid values are: 'default' and 'large' (dd60414578, 65975dd28d by @mdvacca)
- TouchableNativeFeedback: sync disabled prop with accessibilityState (88f2356eed by @kyamashiro)
- Rename
hasActiveCatalystInstance
tohasActiveReactInstance
(dfa8eb0558) - Record latest error type in dev support (423453e105)
- Passing accessibility state in button so it can announce disabled in talkback (5889cbebe3 by @huzaifaaak)
- Fixed issue that causes HorizontalScrollView to shift to the right when a TextInput is selected and keyboard pops up (b9b23e1ab1 by @JoshuaGross)
- Fixed jumpy RTL horizontal ScrollViews. If you have Android-specific JS hacks for handling RTL in ScrollViews, you probably can/probably want to remove them, because they should be reliable now and require fewer hacks. (fc032cd8d8 by @JoshuaGross)
- Add a new check to avoid calling this method (2b708560fc)
- Clipping subviews has been temporarily disabled in HorizontalScrollView in RTL mode. Minor/negligible perf impact. (da8ed6b625 by @JoshuaGross)
- Change StatusBar style handling strategy (7324b92dc4)
- Clean listeners during destroy of
ReactContext
(d79212120b by @mdvacca) - Bump buildToolsVersion to 30.0.2, (5d01110b53 by @dulmandakh)
- Initial replacement of jcenter with mavenCentral. (704dd2812f by @ShikaSD)
- Remove developer tool guard for android (c7d28bca30)
- Bump Android compileSdkVersion and targetSdkVersion from 29 to 30 (55c8833817, c7efd5b369 by @mdvacca)
- Upgrade jsc-android to 250230.2.1 (341f061ce3 by @Kudo)
- Bump Gradle to 6.9, Android Gradle Plugin to 4.2.1 (547b4c92e4 by @dulmandakh)
- Bump gradle wrapper to 6.8.3 (7258afeea3 by @dulmandakh)
- Bumping OkHttp from 4.9.0 to 4.9.1. (6caec9d91f by @gedeagas)
- Bumping OkHttp from v3 to v4. (8207e97f91 by @arazabishov)
- Update Okhttp to version 3.14.19 (6bfd89d277 by @LukasFPV)
- Bump Fresco to 2.5.0 (8fa8934011 by @dulmandakh)
- Bump Fresco to 2.3.0 (280f524b49 by @dulmandakh)
- Give RCTNetworking handler provider block RCTModuleRegistry (4c5182c1cc by @RSNara)
- Give RCTImageURLLoader's loader/decoder provider blocks RCTModuleRegistry (af6bcfa3ab by @RSNara)
- Make RCTTurboModule
getTurboModule
: required (e0b8f5080f by @RSNara) - Update React.podspec to require cocoapods >= 1.10.1 (b50b7e3a19 by @sunnylqm)
- Fix glog pod install with Xcode 12 (8a5fd8ea95 by @dulmandakh)
- Only show Dev Menu on shake if RN view is visible (7186c4de4f by @PeteTheHeat)
progressViewOffset
prop ofRefreshControl
andVirtualizedList
now works on iOS (310a6bcf4b by @davidbiedenbach)- Roll out TurboModule block copy (5275895af5 by @RSNara)
- Add instructions to template/ios/Podfile for enabling hermes (a326a30e32 by @SConaway)
EventEmitter#removeSubscription
is now deprecated. (cb6cbd12f8 by @yungsters)- It is now deprecated to pass a constructor argument to
EventEmitter(...)
. (14f7a2b707 by @yungsters) - Deprecate
AccessibilityInfo.removeEventListener
. (003d63d6e5 by @yungsters) - Deprecate
Linking.removeEventListener
. Instead, callremove()
on the subscription returned byLinking.addEventListener
. (6d1aca806c, 035718ba97 by @yungsters) - Old Native method to create ScrollEvent has been deprecated and will be removed at some point in the (distant) future (62f0dee235 by @JoshuaGross)
- Deprecate
NativeModule.onCatalystInstanceDestroy()
forNativeModule.invalidate()
(18c8417290 by @RSNara) - Mark
hasActiveCatalystInstance()
as Deprecated (1b50722a7e)
- Stabilize
RootTagContext
(9b98edcd01 by @nadiia) - Removed
getNode()
from animated component refs. (b914153286 by @yungsters) - Remove legacy context API usage in AppContainer (17be3a0032 by @nadiia)
- Removed
AccessibilityInfo.fetch
, useisScreenReaderEnabled
instead. (d831134d51 by @yungsters) - Remove unused VR-only props (95f7c791c5 by @Simek)
- Removed
RCTDeviceEventEmitter.sharedSubscribers
. (3af0c84aa5 by @yungsters) - Moved
ScrollResponder.Mixin
methods into ScrollView to Remove ScrollResponder.js (099f67cf8a by @kacieb) NativeEventEmitter
no longer inherits fromEventEmitter
, so it no longer implementsremoveListener
andremoveSubscription
. Instead, use theremove()
method on the subscription object returned byaddListener
. (d39643b9de by @yungsters)RCTDeviceEventEmitter
no longer throws forStatusBar
,Keyboard
, andAppState
events. However, you are still recommended to use the more appropriate modules for listening to these events. (c8c975f0d7 by @yungsters)- Removed second optional argument of
NativeEventEmitter
constructor (f5f47879b8 by @yungsters) - Removed warning on Android for
setTimeout
with delays greater than 1 minute. (480dabd665 by @yungsters) - Removed
Touchable.TOUCH_TARGET_DEBUG
property. (ef765d423c by @yungsters)
- Remove okhttp3 proguard rules (b4c9f13fe7 by @doniwinata0309)
- Remove filter pills (5cf4ab8dd2 by @suminkimm)
- Remove
ReactFragmentActivity
class. (2798e7172b by @dulmandakh) - Remove jcenter (70da640946 by @dulmandakh)
- Removed event methods except
addListener
fromNetworking
(a81b7d18fa by @yungsters) - Delete deprecated "live reloading" setting (b512beb0c4 by @PeteTheHeat)
- Remove iOS10/tvOS10 support (f2c6279ca4, a1d626739d by @PeteTheHeat)
- Remove iOS10/tvOS10 support from remaining podfiles (f0faa7843c by @PeteTheHeat)
- Delete RCTTurboModuleManagerDelegate
getTurboModule:initParams
(c4c34a1237 by @RSNara)
- Don't disconnect DevTools WebSocket connection on Cmd+D (60a18c138c by @bvaughn)
- For native components that accept color arrays, invalid elements will now fallback to transparent with a console error. (bb6cd56fae by @yungsters)
- Fixes usage of std::thread in runtime executor (75d9ba733f by @asklar)
- Fix sticky header not sticking on first render in ScrollView (921c9ff165 by @kacieb)
- Fix ScrollView
getInnerViewNode
andgetInnerViewRef
ref methods (6e36d046a3 by @vshab) - Fix stalling UI due to a bug in KeyboardAvoidingView (67309277fe by @sammy-SC)
- Avoid eating clicks/taps into ScrollView when using physical keyboard (6d2a527984 by @NickGerleman)
- Fix nested FlatList not firing
onScrollDragEnd
andonMomentum
methods (46be292f67 by @kacieb) - Fix race condition in Debug Inspector shutdown (d021000b9e by @MartinSherburn)
- Fixes layout of nodes with
YGDisplayNone
andYGPositionTypeAbsolute
(b15f8a30e7 by @rozele) - Fix changes of View visibilities (4076293aa1 by @mdvacca)
- Fix: save connection url as class variable (8facc865ab by @sirpy)
- Fix Hermes build on folly version 2021.04.26.00 (8eceee744e by @PeteTheHeat)
- Fix disabled handling for Text (33ff4445dc by @lunaleaps)
- Fix disabled prop not disabling onPress for voice assistant (1c7d9c8046 by @kacieb)
- Fix unsafe cast and detect overflow in MapBuffer. (e69f1c9f50)
- Fix(deps): bump metro to 0.66.2 + dedup (e40f58272d by @Titozzz)
- Fixed crash when using style
borderRadius: any
withbackgroundColor: null
(42b6e6682c) - Fix font weight numeric values (3827ca6171 by @fabriziobertoglio1987)
- Fix wrong ripple color on Switch component (1b0683533a by @rnike)
- Fix Selected State does not announce when TextInput Component selected on Android (7ee2acc6c8 by @fabriziobertoglio1987)
- Fix layout bug in ReactTextView. (dec1b6ba15)
- Fix source build on Windows machines vol. 2 (c37d49492b)
- Make NativeModules immediately initializable (2bf866e401 by @RSNara)
- Restore
android_hyphenationFrequency
onText
. (1433ed6333 by @yungsters) - Display the
testID
as theresource-id
for black-box testing frameworks (381fb395ad by @jdeff) - Fix support for blobs larger than 64 KB (f00e348ca7 by @tomekzaw)
- Fix building React Android on Windows. (5dc15222b2)
- Fix race-condition on the initialization of ReactRootViews (74a756846f by @mdvacca)
- Animated images without loop no longer animate twice (17aa1e320e by @comvenger-brandon)
- Allow PlatformColor to work with border colors (c974cbff04 by @danilobuerger)
- RCTSurfaceHostingView default background color is now consistent with RCTRootView (f31497354b by @fkgozali)
- Invalidate TurboModules with infra-generated method queues on their method queues (497eb578ab by @RSNara)
- Fix RefreshControl layout when removed from window (e67811e7a6 by @janicduplessis)
- Tab Accessibility Role had incorrect localization string (80a10953f9 by @adkenyon)
- Incorrect ScrollView offset on update (a4526bcc3f by @rnike)
- Modal's
onDismiss
prop will now be called successfully. (d85d5d2e19 by @kkoudev) - Fix DatePicker sizing issue (84d55868e8 by @sammy-SC)
- First press not working after pull to refresh (c4950610e4 by @rnike)
- Fix Codegen silently failing when Yarn is not installed, or when Yarn v2 is active. (07e4953514 by @ivanmoskalev)
- Make codegen more reliable on iOS (12fccdeea3 by @janicduplessis)
- Fix crash in RCTCoreModulesClassProvider during quit (2f62c2892d by @appden)
- Fix an issue calling stopSurface in bridgeless mode before surface is started (81096901a8)
- Move hermes to a separate podspec (0959ff36d1 by @janicduplessis)
- Fix cli bundle platform for Mac Catalyst in
react-native-xcode.sh
(b496a531e0 by @robertying) - Fix
prefetchImageWithMetadata
redbox(f27e305056 by @p-sun) - Roll out RCTNetworking extraneous NativeModule call removal (0e0d2e84f5 by @RSNara)
- Fix Hermes + no Flipper build on Xcode 12.5 (b9243e00e3 by @PeteTheHeat)
- Fix(hermes): fixed hermes build on iOS (59abb5f378 by @Titozzz)
- Fix builds on Xcode 12.5 (36b58a824e by @PeteTheHeat)
- Fix running React Native project with Xcode 12 in Release on iPhone Simulator (fdcacd7f76 by @grabbou)
π¨ IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
- Add an afterEvaluate to solve AGP 4.1.x configuration resolution (667f1bd21a by @cortinico)
- Force dependencies resolution to minor series for 0.64 (a6a183ad81 by @kelset)
- For Android, general fixes to Appearance API and also fixes AppCompatDelegate.setDefaultNightMode(). For iOS, now works correctly when setting window.overrideUserInterfaceStyle (25a2c608f7 by @mrbrentkelly)
- Find-node.sh supports Homebrew on M1 (502b819049 by @dulmandakh)
- Refactor UIManagerHelper.getUIManager to return null when there's no UIManager registered (b0e8c1eac0 by @mdvacca)
- Fix ScrollViewStickyHeader to push up header above it (d754bdefc6 by @kacieb)
- Font family is not apply when secureTextEntry is true (cda77c77dd83cba07e6c2e56e938c3e4f7faf8fc by @hank121314)
- Dimension update events are now properly sent following orientation change (a6a4d3365f17332e367c34357a07a73f97d6ec83 by @ajpaulingalls)
- Fixes to ensure Xcode 12.5 builds (cf8a364767, 1c4ac48a55 and 76f45d35e7 by @kelset)
- Update validateBaseUrl to use latest regex (33ef82ce6d by @FBNeal)
- Enable
inlineRequires
by default in new projects'metro.config.js
. Gives a performance benefit but slightly different JS execution order (959365a902 by @GantMan) - Minimum supported Node version changed to 12 (4b92e2e53d by @safaiyeh)
- Remove deprecated
CameraRoll
API (deprecated in 0.61) (824d3a9770 by @seanyusa) - Remove deprecated
CheckBox
component (deprecated in 0.60) (dff17effe5 by @poteto) - Removed
DEPRECATED_sendUpdatedChildFrames
prop fromScrollView
component (deprecated in 0.47) (345d0c1abb by @ZHUANGPP) - On
Image
,onLoad
event objects'source.url
is now renamed tosource.uri
. (74ab8f6e5a by @yungsters)
- Remove support of Android API levels 16 through 20. The new minSDK version will be 21+ moving forward. (973198667d, 25a40cbc61, f829722b54, b133427778, 9b34aa261c, and 79d0a7d711 by @mdvacca; 49f10fd2e5 and a17ff44adc by @JoshuaGross; dd4298a377 by @safaiyeh)
- Fix ReadableArray null annotations. Possibly breaking change for Kotlin apps. (d76556543f by @dulmandakh)
- On
Image
,onLoad
andonError
event objects will no longer have an extrauri
property. (74ab8f6e5a by @yungsters) - Deletes the method PlayTouchSound method from UIManagerModule, this method was moved to the SoundManagerModule class. (d0c4c5eaf9 by @mdvacca)
- Remove
calculateChildFrames
fromRCTScrollView
(62aa84a325 by @PeteTheHeat)
- Deprecated method
UIManagerModule.getUIImplementation
. This method will not be part of the new architecture of React Native. (fe79abb32c by @mdvacca)
- Adds the Hermes runtime bytecode version number to the JS bundle requestURL. This allows Metro with Bytecode to work with prebuilt binaries. (34c405462f)
- TextInput now supports
onPressIn
andonPressOut
. (b7b0e23202 by @yungsters) - Allow setting a custom performance logger in XMLHttpRequest (57b10f759e by @rubennorte)
- Add mock for
DevSettings
to jest preset (a50f736bb6 by @MarcoScabbiolo) - Added Inspector overlay support for Pressable (8ac467c51b by @yungsters)
- Introduce NativeModulePerfLogger (0486640571 by @RSNara)
- Add default
titlePlaceholder
in template configuration. (8ffa180d80 by @Esemesek) - Modified
renderApplication
to forwardinitialProps
toWrapperComponent
(4f5a092bf6 by @rubennorte) - Add warning to
VirtualizedList
when incorrectly using nested Lists or custom scroll components (7f2515ece8 by @kacieb) - Add native module for loading split JS bundles in development (fca3a39da5 by @makovkastar)
- Added
listenerCount()
toDeviceEventEmitter
andNativeEventEmitter
. (b11d6ecbb8 by @yungsters)
- Upgrade Hermes to version 0.7 and turn on ES6 Proxy support (776a415d98 and bb003816a3 by @Huxpro, a28dd38909 by @janicduplessis)
- Add support for
shadowColor
on API level >= 28 (cfa4260598 by @IjzerenHein) - Add
android_hyphenationFrequency
prop to Text component (0fda91ffff and 7d8aeb4955 by @fabriziobertoglio1987) - Add
accessibilityHint
to TouchableNativeFeedback (72285d808d by @CMDadabo) - Adds support for the
onProgress
event onImage
(fa0e6f8051 by @yungsters) - ScrollView now supports
contentOffset
(ed29ba13f9 by @JoshuaGross) - Add an explicit NDK version to Android template (18ffe12203 by @safaiyeh)
- Exposed
getFlex
method as part of ReactShadowNode API (6570f7887b by @mdvacca) - Add
\*.hprof
files to gitignore (69ce9c21d4 by @enesozturk) - Move
DevSettingsActivity
from main to debug (d8e6c45782 by @invalid-email-address)
PlatformColor
: add missingclearColor
(b7167c23fc by @Simek)- Update template to Xcode 12 (6685aba462 by @janicduplessis)
- Add
importantForAccessibility
toAccessibilityProps
(fd660fd0c5 by @ZHUANGPP) - Allow hotkeys to be used without command key (f2b9ec7981 by @rickhanlonii)
- Add
disableButtonsIndices
option toActionSheetIOS
component (a7c1c5aff2 by @lukewalczak) - Add
showSoftInputOnFocus
toTextInput
(d54113d8c4 by @gurs1kh) - Added hostname to loading banner. (96999339b6 by @rickhanlonii)
- Allow iOS
PlatformColor
strings to be ObjC or Swift UIColor selectors (25793eab56 by @tom-un) - Add Dark Mode support to loading banner (94c45af136 by @rickhanlonii)
- Allow image loaders to enable/disable image telemetry (e37708dfb6 by @p-sun)
- Add
RCTDevSplitBundleLoader
native module (ad879e50bc by @cpojer)
- Update flipper to 0.75.1 (3399896ae7 by @janicduplessis)
- Refined Flow type for
Text
component. (a911efaecd by @yungsters) - Changed type definition of IPerformanceLogger from object to interface (b90f4d978f by @rubennorte)
- Removed
fbjs
dependency fromreact-native
. (54e19a6b7f by @yungsters) - Refined
ImageSource
Flow type for array-variant and headers. (a0dc252dc8 by @yungsters) - Some warnings changed to use
console.warn
without the "Warning:" prefix. (982272932c by @yungsters) - Core/Differ: detect and optimize reparenting (1e4d8d902d by @JoshuaGross)
- Improve "not a registered callable module" error message (e27d656ef3 by @vonovak)
- Use
VirtualizedList
'sonEndReachedThreshold
default value when null is provided (10b4b9505a by @fatalsun) - Migrate large amount of modules to flow strict and strict-local (4409642811 by @rubennorte)
- Enable exact objects by default in the project template Flow config (050a7dd019 by @rubennorte)
- Minor fix in Hermes Inspector cli tool help message (6ffb983f83)
- Updated the React Hooks ESLint Plugin in the community ESLint config (ac87e90fa5 by @gaearon)
- Don't scroll to
initialScrollIndex
ifcontentOffset
is provided to the sameVirtualizedList
(3346ac7f96 by @markv) - Migrated
VirtualizedList
legacy context implementation toReact.Context
. (7bd694fc6f by @yungsters) - Changed Flow type of
BackHandler
to be more specific. (a903d1b86a by @Naturalclar) - Updated transitive dependency
kind-of
to 6.0.3 to resolve vulnerability (abde0154ba by @TheSavior) - Upgrade eslint-config dependencies. (93019dc190 by @wcandillon)
- Upgrade to Jest 25 (f248ba1c8b by @cpojer)
- Use
React.Children.count
for counting children ofTextInput
(92160f3144 by @vonovak) - Annotate
components in QPL logging using ImageAnalyticsTagContext (60b7a3085c by @p-sun)
- Upgrade to React 17 (24bca492c3 by @rickhanlonii)
- Made promise polyfill conditionalized on Hermes (0a28b34dac by @Huxpro)
- Flow: Remove type union in PickeriOS/PickerNativeComponent (3113e47b9b by @PeteTheHeat)
- Flow: export ColorValue from StyleSheet instead of StyleSheetTypes (0a67133124)
- Forward URL parameters from main bundle to hot reloaded bundles (b4785e5144 by @motiz88)
- Add package name / bundle ID to bundle URL in development (9b5359133b by @motiz88)
- Bump Gradle Wrapper to 6.7 (8988a073b4, 5bc67b658e, and 3a8559b86c by @friederbluemle; e559aee642 and e9fd93f53f by @dulmandakh)
- Bump Android Gradle Plugin to 4.1.0 (cf8368f204 and 553fb8b28d by @friederbluemle, dfa9db49e3 by @dulmandakh)
- Bump Okio to 1.17.5 (1e78e0655d by @dulmandakh)
- Make Android versionCodeOverride for new apps using the template human-readable (e1bf515ae8 by @gedeagas)
- Bump SoLoader to 0.9.0 (7465239230 by @dulmandakh)
- Update Okhttp to version 3.12.12 (0f6fcb2c27 by @halaei)
- Update Android build tools to 29.0.3 (e629e94b46 by @friederbluemle)
- ViewCommands on Android now execute earlier, as a perf optimization. (c6b9cc36da by @JoshuaGross)
- Effect of
blurRadius
now more closely matches other platforms. (64860972be by @yungsters) - Migrate Android tests to Robolectric v4 (6a78b32878 by @jselbo, d373a8d88c and 18f7abae07 by @fkgozali)
- Get ripple drawables by id instead of by name (c8ed2dbbb2 by @vonovak)
TextInput
: SetcaretHidden
default value totrue
on Xiaomi devices to fix the crash (b5b4a70410)- Update loading banner text and colors (6afc984e81 by @makovkastar)
- Declare all attrs used in res targets (05abbd245c by @IanChilds)
- Upgraded JSI with a new HERMES_ENABLE_BITCODE flag (311d4e9ef0 by @grabbou)
- Remove main queue execution of constantsToExport in NativeModules (d7ac21cec5 by @RSNara)
- Updated loading banner messages and color (3729fe8de0 by @rickhanlonii)
- Speed up loading banner animations (3fb37b4326 by @rickhanlonii)
- Shrink loading bar down to not cover safe area. (f0dfd35108 by @rickhanlonii)
- Build macOS framework and add CocoaPods podspec (ffa3d7f638 by @alloy)
- Set
NSAllowsArbitraryLoads
tofalse
by default in template (7b61a968fd by @wddwycc)
Text.viewConfig
is no longer exported. (06ce643565 by @yungsters)- Removed
once()
andremoveCurrentListener()
fromDeviceEventEmitter
andNativeEventEmitter
. (87a2e29f59 by @yungsters) - Removed tvOS related files from the template (df03228a61 by @Naturalclar)
- Remove undocumented ColorAndroid function (411c344794 by @tom-un)
- Fix handling of very deeply nested data across the bridge (a8c90e6af4 by @mhorowitz)
- Prevent TypeError in TaskQueue when cancelling a started but not resolved promise. (14042fb76f by @robwalkerco)
- Fix typo in
ActionSheetManager
invariant message (9c353b5ab0 by @sweatherall) TouchableHighlight
now correctly firesonPress
when pressed for >500ms, whenonLongPress
is not supplied. (bdf3c79110 by @yungsters)Pressability
now consistently firesonPressIn
andonPressOut
, even without anonPress
. (0c392bc405 by @yungsters)- Remove extraneous argument for
onResponderGrant
Flow type onText
. (49015b0f5b by @yungsters) - Prevent
ScrollView
From Stealing Responder Capture When Using Physical Keyboard (93e7a7a70d by @NickGerleman) - Fix failure when debugging code in a browser; was caused by
performanceNow()
function. (db474a47b7 by @zerkella) - Fix test renderer mocks to use the
displayName
more often. (4b935ae95f by @rickhanlonii) - Make sure
LogBox
is not included in production bundles (d3b937f990 by @janicduplessis) - Mark
force
as an optional property of the PressEvent object (ad2f98df8f by @Simek) - Fix invalid
event
objects fromonPressOut
in certain cases (2c600b7c5a by @yungsters) - When Hermes debugger is enabled continue to send log messages to the console (77ef8f881f by @MartinSherburn)
- Handle nullish
initialProps
correctly inrenderApplication
(26c120c632 by @rubennorte) - Fix Flow type of Touchable{Opacity,Bounce,Highlight} being exported as
any
(de7f69a58e by @draperunner) - Clarified the boundaries in error message of
scrollToIndex
(78d2b3c813 by @sasurau4) - Fix jsi cmake include dirs (f5d00e5a29 by @ryantrem)
- Fix race condition in
KeyboardAvoidingView
(b08fff6f86 by @sammy-SC) - Fix clone issue in YogaNodeJNIBase (2707c17b07 by @pasqualeanatriello)
- Fix "Cannot read property 'getNativeScrollRef' of undefined" in createAnimatedComponent (629e10e91b by @sammy-SC)
- Fix App Bundle/Release build missing index.android.bundle with gradle plugin 4.1.0/gradle 6.5 (53f55001af by @tomoima525)
- Do not crash when
ScrollView
snapToOffsets
array is empty (d238da71aa by @makovkastar) - Fixed
TextInput
not being selectable inremoveClippedSubviews
FlatLists (12a50c0a44 by @hsource) - Make nested
Text
components accessible as links (b352e2da81 by @ejanzer) - Move selection to the end of the text input on accessibility click (f0e80ae229 by @ejanzer)
- Fix secure text entry setting to always hide text (f19372361f by @smeenai)
- Make promise NativeModule methods dispatch to NativeModules thread (9c35b5b8c4 by @RSNara)
- Fix
NoSuchMethodException
when callingDisplayMetricsHolder.initDisplayMetrics
in Android API level <= 16 (though those Android versions are no longer supported) (35128f45d1 by @mdvacca) - Fixed error message in
DebugCorePackage.getModule
(a71f37b951 by @TheWirv) - ScrollView, HorizontalScrollView: do not ignore
null
contentOffset
prop (9e85b7ad88 by @vonovak) - Picker - fix usage of setNativeSelectedPosition in onSelect (078e386024)
- Fix intermittent crash of ReactSlider on Android (32888a8b4a by @mdvacca)
- Use actual constructor when throwing GradleScriptException (8ef0f1d90b)
- Fix
skewX
transform decomposition (797367c089 by @wcandillon) - Allow passing partial contentOffset to ScrollView on Android (0348953914 by @janicduplessis)
- Check if NativeModules returned from CatalystInstanceImpl.getNativeModule are null before using them. (9263eb5d38 by @RSNara)
- Fix calculating view position within the window in split-screen mode (b020e7c440 by @jakubkinst)
- Text layout no longer ignores parent bounds (025be8148a by @yungsters)
- Fixed excessive space in Text view with word-wrapping (dda7f82261 by @yungsters)
Pressable
: ripple should be applied even when borderless == false (44ec762e41 by @vonovak)- Fix
ReadableNativeMap.getNullableValue
to match signature and return null instead of throwing (1015194ba1 by @dulmandakh) Picker
: set color filter so that the arrow matches the text color (bb8d0f5732 by @ejanzer)Modal
: fix crash when updating props after the activity disappeared (7abcaafd66 by @mdvacca)- Fix crash while measuring ReactSlider in Android API < 21 (75e6f7961f by @mdvacca)
- Fix measureLayout function for VirtualTexts (5c48c94f8c by @mdvacca)
- Smoother scrolling in ScrollView, HorizontalScrollView (10314fe621 by @JoshuaGross)
- Synchronize RCTImageLoader loaders initialization (edb6fa7979 by @p-sun)
- Make sure js bundle still exists at bundle-output path (3a41f69f9c by @janicduplessis)
- Fix crash in WebSocket module (748aa13747 by @marksinkovics)
- Align multi-line
TextInput
onSubmitEditing
behavior: don't call onSubmitEditing when blurOnSubmit=false (521b16730d by @tido64) - Fix passing react native path in Podfile template (e599d6c5d3 by @janicduplessis)
- Call [RCTEventEmitter stopObserving] on correct method queue (23717e48af by @appden)
- Persist Enable Fast Refresh across app launches (845e9eaafb by @stigi)
- Fix xcodebuild warnings in React-Core (cb719a16cc)
- Fix that RCTModalHostView can't be dismissed while being presented (8933724d7d by @Mi-ZAZ)
- Fix "'RCTBlobPlugins.h' file not found" when building iOS (aaeffdb49a by @tido64)
- Improved text rendering on macOS Catalyst (694e22de84 by @andymatuschak)
- Fixed showing Alert while closing a Modal (f319ff321c by @devon94)
- Fix
refreshControl
messes up navigationBar largeTitles (1b0fb9bead by @yogevbd) - When Sec-WebSocket-Protocol header is empty vaulue, IIS server will return error 502. (fd85b84a86 by @bill2004158)
- Fix multiline
TextInput
crash when inserting/removing lots of text (15dda0ab5a by @tido64) - Group accessible views using the view hierarchy (e2fd9d4f22 by @p-sun)
- Fix Flow types for StatusBar showHideTransition (e5a8f4270e by @Simek)
- Better error message when missing entry file (e73208e2ca by @petrbela)
- Fix imports in
RCTUtilsUIOverride.h
(b7e8f66795 by @Fanghao) - Fix skewX/skewY/perspective/matrix transforms. (4b956fe5a6 by @wcandillon)
- Fix module lookup race condition on bridge invalidation. (8ad810717e by @fkgozali)
- Fix duration calculation for
RCTUIImageViewAnimated
(12f8b2598f) - Cap loading banner percentage at 100% (e27542bb13 by @rickhanlonii)
- Delay loading banner message to prevent flashing messages (2b771b0129 by @rickhanlonii)
- Do not update loading banner message while hiding the banner (131c497aa2 by @rickhanlonii)
- Search en0 through en8 for the Metro Bundler's IP address when generating iOS debug builds (b2b23a2017)
- Migrate
frameInterval
topreferredFramesPerSecond
, fixing Xcode warnings (335f3aabe2 by @safaiyeh) - Animated image should animate at the same speed regardless of framerate (b0d0e51a77 by @p-sun)
- Fix logging lifecycle when image is scrolled out and immediately back in (1f95c9b62e by @p-sun)
- Fix image instrumentation lifecycle on image cancel (6cba4d2006 by @p-sun)
- Break retain cycle in RCTLegacyViewManagerInteropCoordinator (8f90ce26a5 by @sammy-SC)
- Respect port information if available from RCTBundleURLProvider (7d44959940 by @jimmy623)
- Remove port from JSLocation when returning packager host (12543d557f by @jimmy623)
- Remove requestToken being nil check from [RCTNetworkTask validateRequestToken] (ffc90c7f92 by @sammy-SC)
- Remove unnecessary packager running check when saved JSLocation is empty (bbb7bef539 by @jimmy623)
- Check whether packager is running in RCTBundleURLProvider for saved JSLocation (3d882495d5 by @jimmy623)
- Fix crash inside RCTRedBox when trying to present same UIViewController twice (46c77dc296 by @sammy-SC)
- Fix outdated CocoaPods version requirement in a React.podspec (8a6ac1fef3 by @sunnylqm)
π¨ IMPORTANT: This is an exceptional release on an unsupported version. We recommend you upgrade to one of the supported versions, listed here.
- Add an afterEvaluate to solve AGP 3.x configuration resolution (473a36099c by @cortinico)
- Force dependencies resolution to minor series for 0.63 (28cc286cc4 by @cortinico)
- [Maintenance] Bump detox to xcode 12 compatible version (ccd4efac90 by @kelset)
- Bump SoLoader to 0.9.0 (7465239230 by @dulmandakh)
- Update Okhttp to version 3.12.12 (0f6fcb2c27 by @halaei)
- ScrollView now supports
contentOffset
(ed29ba13f9 by @JoshuaGross)
- Fix ReadableNativeMap.getNullableValue to match signature (1015194ba1 by @dulmandakh)
- Dimension update events are now properly sent following orientation change (0e9296b95d by @ajpaulingalls)
- Font family is not apply when secureTextEntry is true. (00d9deaf6b by @hank121314)
- Fix App Bundle/Release build missing index.android.bundle with gradle plugin 4.1.0/gradle 6.5 (53f55001af by @tomoima525)
- ScrollView, HorizontalScrollView: do not ignore
null
contentOffset
prop (9e85b7ad88 by @vonovak) - SkewX transforms (797367c089 by @wcandillon)
- Allow passing partial contentOffset to ScrollView on Android (0348953914 by @janicduplessis)
- Set color filter so that the arrow matches the text color (bb8d0f5732 by @ejanzer)
- A crash in WebSocket module (748aa13747 by @marksinkovics)
- Fixed showing Alert while closing a Modal (f319ff321c by @devon94)
- Bug with skewX/skewY/perspective/matrix transforms. (4b956fe5a6 by @wcandillon)
- Ability to set which configuration to enable flipper for when using use_flipper! (dc2df75426 by @nicoburns)
- Update Flipper to 0.54 (d8b70b19b3 by @mweststrate)
- Removed default 130ms delay from Pressability and Pressable. (86ffb9c41e by @yungsters)
KeyboardDidHide
wrongscreenY
coordinates withwindowTranslucentStatus=true
(45954ac5dc by @fabriziobertoglio1987)- Fix Xiaomi TextInput crash in native (07a597ad18)
- Prefetch images using a lower download priority (058eeb43b4 by @p-sun)
- Fix
RCTImageLoader
not using decoders provided. (663b5a878b by @sjchmiela) - Support Swift based libraries using Xcode 12βs build system. (6e08f84719 by @alloy)
- Fix "main.jsbundle does not exist" issue (83777cb4fb)
- Fixed headers in
Image.getSizeWithHeaders
. (0bcc686c1c by @PaitoAnderson)
- Fix security issues with
@react-native-community/cli
by bumping version (001eb7cbd6 by @alexbrazier)
- Restore Previous Behavior for StyleSheet Validation of Null/Undefined Styles (e75557b48f by @NickGerleman)
- Set LogBox windowTranslucentNavigation to false (23036b38bc by @Ashoat)
- Fix unable to run in debug mode on Android API < 21 (7694b32a88 by @Shywim)
- Fix image cannot show in iOS 14 (123423c2a9)
- Added
minPressDuration
toPressable
. (4aaf629982 by @yungsters) - Support for array buffers in the JavaScriptCore implementation of JSI (9c32140068 by @ryantrem)
- ProGuard rule for hermes (449dc37720 by @radko93)
- LogBox.ignoreAllLogs() should ignore logs (f28c7505fa by @rickhanlonii)
- Fix font variant crash on Android < 4.4 (f23feced42 by @Almouro)
- Fix border-drawing when changing border-radius back to 0` (7757ad0576 by @IjzerenHein)
- Fix rounded border-drawing when border-radius is smaller than border-width` (28dce3665d by @IjzerenHein)
- TextInput color has the same default (#000) on iOS whether in light or dark mode (a2f8b9c36e by @JonnyBurger)
- Fixes TextInput shaking when typing Chinese (9cdc19a936 by @zhongwuzw)
- The
target
field of events is now a native component, not a react tag (3b813cade1 by @TheSavior) - Modal: Remove support for
animated
prop (deprecated in 0.26) (1e9db7bd6d by @TheSavior) - Alert: Remove deprecated support for passing callback as fourth argument to
Alert.prompt
(deprecated in 0.59) (a26d622d04 by @TheSavior) - Switch: Remove support for
thumbTintColor
,tintColor
,onTintColor
props (deprecated in 0.57) (26912bd979 by @TheSavior) - Multiple deprecations and breaking changes to
TextInputState
. Use native component refs instead of react tags (6286270e4c by @TheSavior) - Bump supported Node engines to >= 10 (f0c7178a3a by @safaiyeh)
- Add deprecation warnings for
Clipboard
,SegmentedControlIOS
,ProgressViewIOS
,ProgressBarAndroid
. These modules have been moved to react-native-community libraries. (f295d7f608 by @Naturalclar) - Deprecated
console.disableYellowBox
in favor ofLogBox.ignoreAllLogs
. (87f1e22434 by @rickhanlonii)
- We are deprecating the method
UIManagerModule.resolveRootTagFromReactTag
, this will not be supported in the next version of RN (acbf9e18ea by @mdvacca) - Add warning message for trying to use
ToolbarAndroid
which has been removed from the core since 0.61. (6249d14a61 by @Naturalclar)
- Deprecate iOS 9.x support (58a6a40eac, 829a2237d2, 674b591809 by @fkgozali, d1265077d6 by @sunnylqm)
- Implement
nativePerformanceNow
andperformance.now()
(232517a574 by @emilisb) - Support
PerformanceLogger
stopTimespan updates (08c338eebf by @sahrens) - Added
PlatformColor
implementations for iOS and Android (f4de45800f by @tom-un) - Stamp React Native Version Into C++ Code (427ba359e0 by @NickGerleman)
- New
<Pressable>
Component to make it easier to create touchable elements (3212f7dfe8 by @TheSavior, bd3868643d by @vonovak) - Export
LogBox
module (799bf56f6f by @rickhanlonii) - Export
LayoutAnimationConfig
flow type (f0dafd34fe by @sahrens) - Added
react-native-community/eslint-plugin
as a dependency forreact-native-community/eslint-config
(2c2e35c634 by @Naturalclar) DEBUG_NETWORK_SEND_DELAY
can be used to simulate slow network. (4aac019176 by @sahrens)- Support for
accessibilityLabel
prop to thePicker
component (0a525b6d9d by @KevinGVargas) - Allow
zIndex
touseNativeDriver
(6a4e06faa8 by @mackenziemance)
- Support item background color in Dialog
Picker
(22eb711c84) - Add OverrideColorScheme interface and setOverrideColorScheme method to AppearanceModule(45d7df6cf7)
- Allow setting custom ripple radius on
TouchableNativeFeedback
(7f2a79f40b by @vonovak) - Add
resizeMode
prop support onTextInlineView
(6871416328 by @mdvacca) - Added an API for checking if there are busy timers to
TimingModule
(22764e6cdc by @ejanzer) - Make packager location customizable in dev mode (3714f3648a)
UIScene
support forRCTImageView
(f332fac163 by @tido64)- Status bar style is now correctly changed in multi-window iPadOS 13 apps if you use
RCTRootViewController
and setUIViewControllerBasedStatusBarAppearance=YES
(80e6d672f3 by @radex) - Added
userInterfaceStyle
forActionSheetIOS
andShare
to override user interface style on IOS 13 (0a9cc34dd8 by @Arjan-Zuidema) - Add localized accessibility strings to
ReactCore
pod (aebf54aee4 by @xuelgong) - Resolve and reject promise for
PushNotificationIOS.requestPermissions
(edfdafc7a1 by @p-sun) - Use autolink script in template on iOS (a35efb9400 by @janicduplessis)
- Added
Flipper
to template app (52cd9cd6fe by @safaiyeh) - Add
textColor
andbackgroundColor
props toSegmentedControl
for iOS >=13 (e8f577e541 by @Naturalclar) - Adds
RCTOverrideAppearancePreference
to the iOSAppearance
module (fa65b156d4) - Changed iOS LaunchScreen from
xib
tostoryboard
(33b3a1a145 by @jeswinsimon)
- Update
react-native-community/eslint-config
to 1.1.0, adding the new color rule (780f06cd47 by @TheSavior) - Update community eslint plugin in the eslint config (b2d10bc602 by @Naturalclar)
- Upgrade
eslint-config
andmetro-preset
in project template (ad86a18305 by @Naturalclar) - Add ES Lint rules for
DynamicColorIOS()
andColorAndroid()
(602070f44b by @tom-un) - Make
ScrollView
useforwardRef
(d2f314af75 by @kacieb) - Upgrade embedded React DevTools backend from v4.0.6 to v4.6.0 (93ee5b2cc8 by @bvaughn)
- Updated the React Hooks ESLint Plugin (6ce3f0a4f7 by @gaearon)
- Update to React 16.13.1 (9637d6214a by @gaearon)
- Relax
RefreshControl
'sonRefresh
flow typing (884c86ae02 by @vonovak) - Improved flowtype support for
Animated
(bdafc55f50 by @javache) - Upgrade
eslint-plugin-relay
to 1.6.0 (0483404d82 by @kassens) - Upgrade to latest dependencies in package.json template (82e8239337 by @codler)
- Make JSStringToSTLString 23x faster (733532e5e9 by @radex)
- Changed property
disableIntervalMomentum
to work with both horizontal and vertical ScrollViews (6237cfb325 by @Shaninnik) - Upgraded to Flow v0.114.0 (aa78457343 by @mroch)
- Updated CLI to the latest version (ddc33007ad by @grabbou)
- Upgrade Prettier from 1.17 to 2.0.2. (cf44650b3f by @bolinfest)
- Only set dimensions if the window attributes change (35c6bb9ac0 by @cpojer)
- Upgrade internal packages to support ESLint >= 6 (89d04b5e4a by @Barbiero)
- Make
JSCRuntime::createValue
faster (24e0bad8be by @radex) - Add perf markers in
XMLHttpRequest
(71b8ececf9 by @sahrens) - Update SoLoader to 0.8.2 (0a6f058b6b by @passy)
console.error
calls, and uncaught exceptions are now displayed in the Metro logs as well (ffb82cb2f0 by @mweststrate)- Upgrade Flipper to 0.37.0 (17f025bc26 by @sunnylqm)
- Upgraded to Hermes 0.5.0 (4305a291a9 by @willholen)
- Internal storage now will be preferred for caching images from
ImageEditor
. (79efa43428 by @kitttn) - Update Gradle Wrapper to 6.2 (d4d8887b50 by @friederbluemle)
- Upgrade Folly to v2020.01.13.00 (6e2131b8fa by @Kudo)
- Only update dimensions in
ReactRootView
if they've changed (cc3e27d484 by @ejanzer) ReactEditText
extendsAppCompatEditText
(aaa2765a92 by @dulmandakh)- Make
ReactApplicationContext
nullable as the constructor argument ofReactContextBaseJavaModule
(f8d5c5bfd7 by @RSNara) - Update Android Gradle plugin to 3.5.3 (e1e081b00e by @SaeedZhiany)
- Don't emit dimensions update event on initial load (383934a06e by @ejanzer)
- Bump Android build-tools to 29.0.2, compileSdk to 29 (edcbfb9821 by @mdvacca)
- Disambiguate autolinking-ios.rb script from CLIβs βautolinkingβ feature and bring RNTester & template in line. (4118d79826 by @alloy)
- Updated Flipper iOS integration to be included by default in the
Debug
configuration (619d5d60df by @alloy) - Use Apple unified logging API (os_log) (f501ed682a by @LeoNatan)
- Upgrade Folly to v2020.01.13.00 (a27e31c059 by @Kudo)
- Remove the
xcshareddata
from .gitignore (7980615d37 by @pvinis) - Add
complete_nullability = True
to compatible libraries (796a4ea7e3) - Remove the Flipper pod post install step (44beb2a685 by @priteshrnandgaonkar)
- Enable Flipper with CocoaPods
:configuration
(7bb1c4e1b8 by @alloy)
- Remove unused
ImageProp
(fbd09b1797 by @Naturalclar) - Remove leftover
Incremental
component (e99800267b by @venits) - Remove "Debug with Nuclide" option (011eb4cea5 by @rickhanlonii)
- Remove unused Feature Flag:
lazilyLoadViewManagers
(3963f34980 by @JoshuaGross) PickFirst
options for RNTester and template (4bb0b4f205 by @passy)- Remove Kotlin version from the default template (ced959bb3d by @grabbou)
- Remove core
RCTConvert
CoreLocation Libraries (bcf2a716fb by @maschad) - Remove copyright notices from iOS application template (9c3fa57337 by @alloy)
- Remove three properties:
textColor
,font
andtextAlignment
fromRCTBackedTextInputViewProtocol
, unifying the usage intodefaultTextAttributes
. (aff6bad27c by @jimmy623)
- Add support to render
<View>
with no fixed size nested within a<Text>
(dbb7eacb42 by @mdvacca) - Fixes bug where
<Text><View><Image>
would crash. (66601e755f by @TheSavior) - Use new
setTextCursorDrawable
API for Android 10 (e7a14b803f by @sturmen) - Fix
Animated.Value
initialized with undefined inScrollView
(cf02bd9b76 by @janicduplessis) - Do not explicitly include
.js
in Library imports (161b910494 by @NickGerleman) - Fixed
Pressability
to properly fireonLongPress
. (5ca1d8f260 by @yungsters) - Fixed typo from
inly
toonly
insideModal.js
library code. (686d8a57f8 by @Darking360) - Fix viewability calculations for nested
VirtualizedLists
inside of a parent list'sFooterComponent
(074a2fab74 by @logandaniels) - Fix android
TextInput
transitions (0a17a4fe56) - Remove JS autoFocus implementation (0569d4c431 by @janicduplessis)
- Check null values in
shouldAnimate
(3498b3b96b by @axe-fb) - Fix
AccessibilityInfo.isScreenReaderEnabled
mock in Jest setup (ec3327b61a by @rubennorte) - Fix crash when passing invalid UTF-16 data from JSC into native code (011cf3f884 by @motiz88)
- Make
YGValue.h
compile with Clang on Windows (014bc95135 by @christophpurrer) - Fix documentation comments for HermesJS's
Function::callWithThis
method to accurately reflect howthis
is handled. (399bda5284 by @Kronopath) - Fix resolving assets outside of the project root (7deeec7396 by @janicduplessis)
- Transform empty responses into empty
Blob
s (9a8c06b502 by @RSNara) - Fix validation of event mappings for
AnimatedEvent
(19362f6116 by @javache) - Fix
NativeJSCHeapCapture
(7e3a43c23d by @RSNara) - Add
AnimationInterpolation
as possible type for toValue (26e8870fbf by @nabati) - Fix return type of
StyleSheet.create
(4e71a30969 by @jbrown215) - Adjust HelloWorld-tvOSTests/Info.plist
CFBundleIdentifier
to usePRODUCT_BUNDLE_IDENTIFIER
(98ebc1ea25 by @MoOx) - Fix bug where if
Error
global is not callable when building an error, jsi will throw a JS exception back to JS code. #158 (a195447539 by @mhorowitz) - Fix stylesheet validation for functions with custom prototype methods. (f464dad5d4)
- Fix sporadic issue with
onEndReached
called on load when not needed (8ddf231306 by @sahrens) - Correct argument types of
NativeJSDevSupport.onSuccess
(b42371da5a by @RSNara) - Add
URLSearchParams
andHeaders
to eslint globals (7a13a1a88f by @sonnyp) - Export exception classes with default visibility (84adc85523 by @appden)
- Add
URL
to eslint globals. (ff9def41ff by @sonnyp) - Plumb through memory allocation profiler feature to Chrome Inspector (ed3054927c by @jbower-fb)
- Better monorepo support when building release apk (a8e85026cf by @grabbou)
LogBox
- Fix dependency cycle (6ba2aeefa8 by @rickhanlonii)- Always update background color and bar style on Android status bar (9457efa84c)
- Disable accessibility state changes of the focused view for Android API < 21 (f2d58483c2 by @mdvacca)
- Gradle release config (0d1fb458ab by @vdmtrv)
- Change how
TextInput
responds torequestFocus
to fix a11y focus issue (d4a498aba2 by @ejanzer) - Fixed style in
TextInputTestCase
(8c493804f3 by @ejanzer) - Fix template instacrash from missing androidx dependency (a1b14deb3e by @alloy)
- Implement native
TextInput
autoFocus
on Android (055a41b081 by @janicduplessis) - Support for case insensitive
Origin
headers forWebsockets
(aeaf286c77 by @brunobar79) - RNTester Buck Build (a3cb377645 by @passy)
- Fix bug in updating dimensions in JS (bef845ffd5 by @ejanzer)
- Applied missing changes from bumping Gradle wrapper to 6.0.1 (aa0ef15335 by @SaeedZhiany)
- Unregister
JSDevSupport
fromDebugCorePackage
(c20963e11c by @RSNara) - Make sure
ServerHost
is optional inNativePlatformConstants.js
(048f88a33a by @RSNara) - Removed code that would cause accessibility header role to be spoken twice (7428271995 by @KevinGVargas)
- Fail silently in
AppStateModule.sendEvent
ifCatalystInstance
is not available (c4806fada6 by @JoshuaGross) - RN
Picker
- fix types inAndroidDialogPickerManagerInterface
(56b0f5cb6b) - Fix Hermes debugger being disabled by default (b8621f5d30 by @willholen)
- Fixed connection of metro reload command to iOS device (f9df93385e by @reyalpsirc)
- Remove
RCTDevLoadingView
jank (faff19a7c6 by @RSNara) - Fix crash when passing null value in object parameter of bridged method (15434c7c43)
- Get ready for Clang 10 (8721ee0a6b by @maxovtsin)
- Fix
RCTBlobManager
cleanup crash (91c5ff4a12 by @RSNara) - Make Lambda function called in
NativeModule
mutable (5290047d09 by @maschad) - Fix crash in
RCTCxxBridge.executeApplicationScript
(0c2db3256f by @ahimberg) - Fix
RCTDevLoadingView
RedBox
on reload (fe5ac2c3f9 by @RSNara) - Fix
Image
component crashing whenuri
isnull
(06b8b15b0a by @mlazari) - Fix
RCTDevLoadingView
not showing up withUIScene
(74b667dbc2 by @tido64) - Prevent interactive dismissal for non-fullscreen modals (1e7ed81d16)
- Resolve localization warnings in template (0e4bcaa296 by @safaiyeh)
- Implement
requiresMainQueueSetup
inRCTDevSettings.mm
(adf87dd7ed by @logandaniels) - Resolve
React-RCTText
Xcode warning (04fed6508b by @safaiyeh) - Resolve Xcode warnings from
React-cxxreact
. (dc6c57ce0d by @safaiyeh) RCTReconnectingWebSocket
is reconnecting infinitely when stopped before getting connected (0d4b0e9417)- Fix prop name of
passwordRules
inTextInput
(3f5c42f357 by @Naturalclar) - Remove need for Swift file in the userβs project in order to use Flipper (8f93dedc6a by @alloy)
- Clear all held
jsi::Functions
whenjsi::Runtime
is deleted (9ae95582e7 by @RSNara) - Make framework builds work again by making
RCTImageLoader
C++ requirement opt-in (25571ec452 by @alloy) - Enable dev keyboard shortcuts on Mac Catalyst (56dfc86d64 by @charpeni)
- Fix
RCTTextView
layout issue that happens on some font withleading
attribute not equal to zero, which causes wrong base-alignment layout (5d08aab526) - Fix LAN instead of Wi-Fi device bundle configuration (d1e6f8d3c4 by @Oleg-E-Bakharev)
- Add autorelease pool for each run loop for JS Thread (948cbfdacc by @zhongwuzw)
- Fixed bug in implementation of
<TextInput>
'sselectOnFocus
prop (e020576b34 by @shergin) RCTRedBox
doesn't appear in apps implementingUISceneDelegate
(d0a32c2011 by @tido64)- Fixes the
InputAccessoryView.backgroundColor
propβs typing to useColorValue
. (a43fd60e18 by @alloy) - Fix
Animated
image crash whenCADisplayLink
target inRCTWeakProxy
isnil
(e5a6655e71 by @p-sun)
- Update validateBaseUrl to use latest regex (33ef82ce6d by @FBNeal)
- Change autolink to match requirements for FlipperFolly working with Xcode 12.5 (c6f4611dcb by @kelset)
- Change podfile to rely on the autolink-ios rb file (c4ea556d64 by @kelset)
- Update detox to work on Xcode 12 (158b558e50 by @kelset)
- Fix Appearance module when using Chrome Debugger (f7b90336be by @TheSavior)
- Fix mock for TextInput (5a3c6faee9 by @SergioEstevao)
- Flow errors from YellowBox and BubblingEventHandler (a049130f34 by @thymikee)
- Make Vibration library compatible with TurboModules. (3904228704 by @brunobar79)
- Exclude Flipper from iOS Release builds (e5497ca8f6 by @javiercr)
- Fix crash when enabling Performance Monitor on iOS 13.4 (e2c417f7cf by @IjzerenHein)
- Bump CLI to 4.5.1 to improve DX (eac56b9749 by @alloy)
- Fix a YellowBox regression in v0.62.0 where the Flipper network inspector causes YellowBox to crash the app due to using base64 images. (227aa96bb2 by @rickhanlonii)
- Add new DoNotStrip class to proguard config (cfcf5eba43 by @janicduplessis)
- Fix Performance Monitor in dark appearance (576ddfb3a8 by @gorhom)
- Inverted ScrollViews scroll to their bottom when the status bar is pressed (7a4753d76a by @emilioicai)
- Revert previous incomplete fix for an issue with
Modal
βsonDismiss
prop. (27a3248a3b by @grabbou) - Fix double call to onEndReached in VirtualizedList (d3658bc2b6 by @MartinSherburn)
- Update warning message of deprecated imports (405200e9a9 by @Naturalclar)
This major release includes Flipper support by default, improved dark mode support, moving Apple TV to react-native-tvos, and more. See the blog post for all of the highlights.
This release comes in the midst of a global pandemic. Weβre releasing this version today to respect the work of hundreds of contributors who made this release possible and to prevent the release from falling too far behind master. Please be mindful of the reduced capacity of contributors to help with issues and prepare to delay upgrading if necessary.
If you're upgrading, manual intervention may be required for your app. Please see the upgrade-helper for a detailed breakdown of the changes required and see this issue for known issues.
One known issue with workaround is regarding Android builds and APK size increases.
- React DevTools v4 integration (92a3c9da0a by @bvaughn)
- Remove
TextInput
'sonTextInput
prop (3f7e0a2c96 by @shergin) - Remove
TextInput
'sinputView
prop (1804e7cbea by @TheSavior) - Animated: Remove
defaultProps
Parameter (a70987cee2 by @yungsters) - Remove
TextInput
'sselectionState
prop (2becdfd404 by @yungsters) - Remove support for
framesToPop
(8bc02fdd52 cf4d45ec2b a483f802fd by @motiz88) - Remove
TimePickerAndroid
(dbf070c51e by @cpojer) - Remove
scrollWithoutAnimationTo
from ScrollView (c7e89909da by @TheSavior) - Bump CLI to ^4.2.x (be5088401f by @alloy) - for details on what v4 of the CLI improves on (like monorepo support), please refer to the dedicated blog post and the release notes
- Remove
accessibilityStates
property (7b35f427fd by @marcmulcahy) - Upgraded to Hermes 0.4.0. If you're using ProGuard you will need to add the following rule to
proguard-rules.pro
:-keep class com.facebook.jni.** { *; }
(ab3c184555 by @willholen)
- Fix setting keyboardType from breaking autoCapitalize (233fdfc014 by @safaiyeh)
- Limit size of video uploaded from camera roll in android (< 100 MB) (d21f695edf)
- Remove "Reload on JS change" from RN Android (478df155e7 by @cpojer)
- Add support for Flipper by default (multiple commits)
- Add
getNativeScrollRef
method to FlatList component (bde1d63c85 by @kacieb) - Add missing accessibility props on Touchables (8c0c860e38 by @xuelgong)
- Added missing
console
polyfills in release builds. (b7ab922bb3 by @yungsters) - Platform.select now supports native as an option. (a6fc0898de by @koke)
- Export the DevSettings module, add
addMenuItem
method (cc068b0551 by @janicduplessis) - Expose RCTNetworking as a public 'Networking' API (42ee5ec934 by @adamchel)
- Add
useColorScheme
hook (51681e80ab by @hramos) - Add
unstable_enableLogBox
(dd8e5f468a by @rickhanlonii) - Expose Hermes Sampling Profiler (15ecb60d6d by @axe-fb)
- Add
error-subclass-name
lint rule (6611c4b8f4 by @motiz88) - Add
HostComponent
to the public API of React Native (a446a38aaa by @TheSavior) - Add
RCTExceptionsManager.reportException
(9a57145f52 by @motiz88) - Add
accessibilityValue
property (7df3eea1a7 by @marcmulcahy) - Add
Appearance
module to expose the user's current Night theme preference (17862a78db 63fa3f21c5 by @hramos) - Add
onSlidingComplete
callbacks when sliders adjusted via a11y. (c7aa6dc827 by @marcmulcahy)
- Implement
adjustsFontSizeToFit
on Android (2c1913f0b3 by @janicduplessis) - Allow overriding
EditText
construction inReactTextInputShadowNode
(a5b5d1a805 by @mchowning) - Add Android support for
fontVariant
prop (c2c4b43dfe by @mcuelenaere) - Custom entry file on android using
ENTRY_FILE
environment variable (a0d8740878) - Added
statusBarTranslucent
prop to Modal component (c35a419e5d by @pfulop) - Add
fadingEdgeLength
prop to FlatList and ScrollView (51aacd5241) - Support
removeClippedSubviews
for horizontal ScrollViews (42152a3fa3) - Introducing
ReactCallerContextFactory
interface (9713b63d9a by @mdvacca)
- Added web socket support for macOS (f21fa4ecb7 by @andymatuschak)
- Added Warning message Linking API with Phones in iOS Simulator (e1d89fbd9d by @espipj)
- Added missing deps for React-CoreModules (15b2353382 by @fkgozali)
- Expose the
isPackagerRunning
methods on RCTBundleURLProvider (fe9cba74fa by @afoxman) - Add
autoFocus
to TextInput (6adba409e6 by @janicduplessis)
- Upgrade metro version to 0.56.3 (4b487ba500 by @EssamEmad)
- Upgrade
eslint-plugin-relay
to 1.3.12 (f0bcfbe9be by @jstejada) - Upgrade to Flow v0.108.0 (d34bc5fa64 by @mvitousek)
- Upgrade metro babel preset (cef001713f by @alloy)
- TextInput now properly sends native the end selection location on change (dff490d140 by @TheSavior)
- TextInput now uses
forwardRef
allowing it to be used directly by new APIs requiring a host component. (bbc5c35a61 by @TheSavior) - TextInput no longer does an extra round trip to native on focus/blur (e9b4928311 by @TheSavior)
- Render collapsed JavaScript frames in RedBox (468d1a2d2e by @motiz88)
- Enable
no-useless-escape
lint rule (90977b0e00 by @motiz88) - Update
DevSettings.reload
to accept a reason (549cac63cb by @rickhanlonii) - Move
react-native-implementation.js
toindex.js
(e54ecf907e by @cpojer) - Delete Long Press Error in Touchable (9a3d722ccb by @yungsters)
- Add Intl to eslint globals. (f6a62f9ae2)
- Add WebSocket to eslint globals (af8ea06bb4 by @dr2009)
- Change default
accessibilityRole
of Switch component frombutton
toswitch
(36672c3851 by @alvinmatias69)
- Bump gradle-download-task to 4.0.2 (088be260b6 by @dulmandakh)
- Bump Gradle to 6.0.1 (701e66bde4 by @dulmandakh)
- Bump Gradle wrapper 5.6.4 (928f4434b9 by @friederbluemle)
- Bump Soloader to 0.8.0 (614039834b)
- Update Android Gradle plugin to 3.5.2 (b41b5ce8ae by @friederbluemle)
- Improve exception message when JSC loading fails (65d3167a80 by @mhorowitz)
- Expose
addCookies
method (cc845ccfb4 by @safaiyeh) - Migrated from libfb to libfbjni for JNI calls (9ad5e72b77 by @passy)
- Formatted cpp/h code with clang-format (d5ba113bb2 by @passy)
- Switch MainActivity launchMode to singleTask (7a42596438 by @dulmandakh)
- Changing method signatures for ImageLoaderModule to accept double for requestId (641e9657dd by @ejanzer)
- Use Node's module resolution algorithm to find JSC & Hermes (fc25f288fe by @ide)
- Add
ACCESS_BACKGROUND_LOCATION
to PermissionsAndroid (8c099b5f53 by @dulmandakh)
- Add
xcscheme
files for iOS template back in. (a715decd2d by @pvinis)
- Add deprecation warning to
AccessibilityInfo.fetch
(523ab83338 by @TheSavior) - Make setting
useNativeDriver
required. Add runtime warning if not specified (5876052615 by @TheSavior) - Refs on an Animated component are now the internal component. The
getNode
call has been deprecated. (66e72bb4e0 by @yungsters)
- Deprecate
[bridge reload]
, preferRCTReloadCommand
(ffe2306164 by @PeteTheHeat)
- Deprecate
CallerContext
fromReactImageManager
(8accd77c45 by @mdvacca)
- Removing experimental
IncrementalPresenter
component (0ef0d3167e by @TheSavior) - TouchableWithoutFeedback no longer exports Props. Use React.ElementConfig, instead. (7bcae81299 by @yungsters)
- Remove
Sample
andCrashyCrash
Modules (8ec7e0966c by @RSNara) - Remove
propTypes
from Animated components. (86d90c03eb by @yungsters) - Remove
propTypes
from TouchableHighlight. (7c01172bef by @yungsters) - Remove
propTypes
from TouchableNativeFeedback. (2185dd298a by @yungsters) - Remove
propTypes
from TouchableOpacity. (88ae24f719 by @yungsters) - Remove
propTypes
from TouchableWithoutFeedback. (ebf7d75816 by @yungsters) - Remove
__skipSetNativeProps_FOR_TESTS_ONLY
from Animated components. (dcd63078bd by @yungsters) - Remove Apple TV Props (548aad4ff1 by @yungsters)
- Remove
NativeRunnableDeprecated
(973253af8a by @passy) - Remove
com.facebook.react.modules.debug.NativeSourceCodeSpec
(4d9e5f8481 by @RSNara)
- Fix
require
cycle warning in ScrollResponder. (674ac69cee by @Naturalclar) - Restore behavior for
underlayColor={null}
inTouchableHighlight
. (37d8440a8e by @yungsters) - Fix stack traces showing the wrong function name in some cases (60b4ba16c0 by @motiz88)
- Fix
requestAnimationFrame
when focusing input on mount (5798cf2aa9 by @janicduplessis) - Reduce overhead of setting up timers in DEV (75a154b449 by @motiz88)
- Fixed an issue where margin and padding were resolved incorrectly. (1d683faf1d by @SidharthGuglani)
- Fix using width for calculating margin top percent (0599af2282 by @SidharthGuglani)
- Don't restore default values in NativeAnimated when components unmount (686ab49107 by @janicduplessis)
- Fix eslint-config peer dependency warnings (1353da5a53 by @friederbluemle)
- Remove style rules from eslint config for prettier options (e4b62bb139 by @iRoachie)
- Fix separators displays in wrong places with the inverted list (dfb4f4af68 by @dy93)
- Fix issue where we attempt to connect to React devtools every 2 seconds (e7f6210d5d by @ejanzer)
- Fix so that early logs don't get dropped by Metro (4ed05ca241 by @gaearon)
- Fix to announce accessibility state changes happening in the background (baa66f63d8 by @xuelgong)
- Fix
JSBigString
not compiling on Windows due to Unix-specific headers (80857f295c by @empyrical) - Fix exception in
scrollResponderScrollNativeHandleToKeyboard
when ref is null (da8ae011bb by @TheSavior) - Fix excessive toggles on the Switch component (b782934f3f by @rurikoaraki)
- Fix bare hosts in
URL
. Add missing / between url (20ab946f34 by @jeswinsimon) - Fix the non-standard usage of
ATOMIC_VAR_INIT
macro from code with systrace enabled (75a7a52db4) - Fix
useWindowDimensions
hook firing continuously after dimensions change (3b3c95b017 by @dulmandakh) - Fix throttling in ScrollView (4159e20146 by @sammy-SC)
- Fix
TimingAnimation
rounding error issue (77b6e26538 by @MartinSherburn) - Fix recycling of Switch (a261e6dfb2 by @sammy-SC)
- Fix to reset sMatrixDecompositionContext before applying transformations (bf01dfbc97 by @makovkastar)
- Fix animations in OSS debug builds by modifying
Platform.isTesting()
behavior (1fbc6a7c17 by @PeteTheHeat) - Fix Modal not disappearing when reloading (5ddf00ee1a by @sunnylqm)
- Fix to support nullable returns NativeModule methods returning Boxed Primitives (f57b0caaa4 by @RSNara)
- Fix crash in TextInput (6ebd3b046e by @MarcoPolo)
- Fix View.getGlobalVisibleRect() to clip result rect properly when overflow is 'hidden' (df9abf7983 by @davidbiedenbach)
- Fix throwing "Unknown array type" exception (4b9350061f by @petterh)
- Fix issue with refresh control not working properly on an inverted ScrollView (0a282c42b4 by @migbot)
- Fix to listen to NFC actions for linking url events (8d8c3d4e1e by @cimitan)
- Fix onPress prop for Touchable Components being called twice on AndroidTV. (21890e964d by @dbarr33)
- Fix
includeFontPadding
forTextInput
placeholder (211ea485cd by @janicduplessis) - Fix medium font weights for TextInput on Android (8b9f790069 by @janicduplessis)
- Fix close button issue in KeyboardAvoidingView (f1c6029e48 by @saxenanickk)
- Fix activity recreation on theme change (83a16b16c9 by @Esemesek)
- Fix ForwardingCookieHandler missing WebView exceptions. (314eba98b2 by @siddhantsoni)
- Fix ReactInstanceManagerBuilder.build crashing if SoLoader has not been explicitly initialized (60e00d9d96 by @petterh)
- Fix default accessibility hint not being read. (f8dff0bcb3)
- Fix JS bundle loading progress bar (7b9d6d19e2 by @makovkastar)
- Fix Android Q related NaN error - don't try to do math with NaN values (db5994980d)
- Fix throwing exceptions when the host activity is not FragmentActivity (7cfabf42b8 by @mganandraj)
- Fix crash when using
TextInput.FontVariant
prop in Android API level < 26 (e885ddedb9 by @mdvacca)
- Fix support for
onRequestClose
in Modal on iOS 13+ (8e5fac89bb by @koke) - Fix
Dimensions
module to update on initial split screen (7a72c35a20 by @sahrens) - Fix spinner visibility on
beginRefreshingProgrammatically
(e341489521 by @nnabinh) - Reconnect to debugger websocket after Metro is restarted. (13992f90e4 by @rickhanlonii)
- Fix Slider not disabling properly if the disabled prop is set. (fa9ff07017)
- Fix apps crashing on iOS 13.x when running timer in the background (e1d03b4cc0 by @radko93)
- Fix TextInput blur when tabbing in iOS simulator. (a7437710d2 by @fat)
- Fix promised returned by
Share.share(content, options)
not resolving if share dialog dismissed (7468a6c903 by @v-fernandez) - Fix maximum searching depth while measuring layout by removing it. (2f8328dbb0 by @draws)
- Fix SafeAreaInsets call to not crash on older versions of iOS (03acf57b76 by @mmmulani)
- Fix to retain
cropData
struct arg in ImageEditingManager.cropImage call (002d3c179d by @RSNara)) - Fix bug rendering nested text on iOS13 (06599b3e59 by @PeteTheHeat)
- Fix longstanding bug where RCTNullIfNil() can return nil (79b573511b by @PeteTheHeat)
- Fix crash in RCTScrollViewComponentView (e7ef9921d3 by @shergin)
- Fix how the amount of free memory is calculated to mimic the logic Apple uses. (b53d3d80f9)
- Fix animated gifs incorrectly looping (6f2e6f170e by @zhongwuzw)
- Fix
tintColor
in SegmentedControlIOS component (be89e4d928 by @sammy-SC)
This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.61 release. Thanks to everyone who contributed!
- Fix bundling assets in monorepo (a3b0804867 by @Esemesek)
- Fix multiple
set-cookie
not aggregated correctly in response headers (1df8bd4932 by Vincent Cheung)
This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.61 release. Thanks to everyone who contributed!
- Fix build with Hermes on Windows (81a6b6ed3c by @B27)
- Fix Chrome debugger showing console.logs at incorrect locations (42ac240bce by @rickhanlonii)
- Fix bug in iOS 13 when application would be terminated immediately when in background (d7c9173b07 by @radko93)
This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.61 release. Thanks to everyone who contributed!
- Fix bug where ScrollView contentInset top set to undefined wouldn't default to 0 (d576a5bcc0 by TheSavior)
- Fix TimingAnimation rounding error issue (bfd01552af by MartinSherburn)
- Fix selecting videos from library in iOS 13 (63769518e0 by fatalsun)
- Fix bug in iOS13 nested text rendering (7cf43afa8d by PeteTheHeat)
- Release underlying resources when JS instance is GC'ed on Android try (9b2374b542 by janicduplessis)
This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.61 release. Thanks to everyone who contributed!
- Fix elevation issues on Android (8fd9ab2f54 by @grabbou)
- Use
warnOnce
for excessive number of callbacks error (0cafa0f5d1 by @janicduplessis) - Include transform in OUTER_PROPS (b94438 by @migbot)
- Better iOS13 support in
StatusBar
API (796b3a1f88 by @gaodeng)
- Improve error message in NativeModuleRegistryBuilder (113c4e229c by @vonovak)
This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.60 release. Thanks to everyone who contributed!
- Fix ShareSheet crash on iOS 13 (a4fbb8e75b by @tomtargosz)
- Allow again for injecting custom root view via ReactActivityDelegate (9f0dede1c9 by @kmagiera)
This is a major release that includes the new reloading experience Fast Refresh. It also removes the React .xcodeproj
, fixes use_frameworks!
for CocoaPods support, adds a useWindowDimensions
hook, and upgrades to React 16.9.
- Add Fast Refresh by default (17f8e5810f by @gaearon)
- Add
useWindowDimensions
hook to replace mostDimensions
usage (103ec2f770 by @sahrens)
- Add exception in .gitignore for
debug.keystore
to the android template. (d55025694b by @bondehagen) - Add jitpack repository to template (1a92cf9b2a by @iyegoroff)
- Add RCTWeakProxy to properly deallocate RCTUIImageViewAnimated (947e71a922 by @mmmulani)
- Use prettyFormat for Metro logging (abd7faf354 by @cpojer)
- Tweak messages and fix the warning condition (2a3ac0429b by @gaearon)
- Allow jest globals in mocks directories (e78c01375a by @artdent)
- Make Animation EndCallback type allow any return value (306c8d64d9 by @draperunner)
- create two layout pass reason flexLayout and flexMeasure instead of flex (6ce985463b by @SidharthGuglani)
- Use shorthand for Fragment in App.js (7cac6a4b6c by @ferdicus)
- Use eslint-plugin-prettier recommended config (d2b92fffb1 by @Justkant)
- Support string command arguments (0314305e12 by @TheSavior)
- chore: Link to CLA wiki and CLA form. (e2d55d5c5e by @JustinTRoss)
- CLI is now ^3.0.0-alpha.1 (5edd1c674c by @thymikee)
- Flow is now v0.104.0 (59db059dbd by @mroch)
- React is now at 16.9 (40e8a5f685, 0ccedf3964 by @TheSavior)
- Use Metro for auto-collapsing internal stack frames (77125a1ac3 by @motiz88)
- Move React error message formatting into ExceptionsManager (2dadb9e2b0 by @motiz88)
- Improve VirtualizedList error message (bef87b648c by @vonovak)
- Bump Hermes to v0.2.1 (811401bcac by @sunnylqm)
- Use centralized package for DoNotStrip annotation (35fc0add2d by @passy)
- Do not override ActivityIndicator color when setting its size (14b0ed4c5d by @cabelitos)
- fix display problems when image fails to load (71d7d6883c)
- Renamed yoga podspec to Yoga (82a8080f07 by @axe-fb)
- Update loading pre-bundled message (eb92f8181f by @rickhanlonii)
- Deprecate method UIManagerModule.playTouchSound() (e3ec8dbe15 by @mdvacca)
- Deprecate UIManager.measureLayoutRelativeToParent (e42009b784 by @mdvacca)
- DrawerLayoutAndroid drawerPosition now expects a string, number is deprecated (305b0a2814 by @TheSavior)
- Remove supportLibVersion variable in build.gradle (fee7f0617e by @ferdicus)
- Remove 's.static_framework = true' requirement for podspec (ca9e108110 by @jtreanor)
- Add ErrorUtils to eslint globals (76af5f9163 by @rodineijf)
- URL: Do not prepend baseUrl if the URL is not a relative URL (e104204ae0 by @jeswinsimon)
- Memory Leak due to JSStringRelease not called (b8d6ef3726 by @sachinservicemax)
- Fixed rotateZ native animation (f4f08d3c54 by @Titozzz)
- Fix indentation in Gradle files (9b0adb5ad1 by @sonicdoe)
- Fix handling of failed image downloads (71d7d6883c by @sammy-SC)
- Fix SectionList scrollToLocation and prevent regressions (8a82503b54 by @vonovak)
- [General][internal] Fix incorrect
module.name_mapper
in template .flowconfig (e6b2cf0418 by @MoOx) - Fall back to
JSON.stringify
inconsole.log
if Symbol is unavailable (179889704b by @cpojer) - Pop frames correctly in console.error handler (3eaf245540 by @motiz88)
- Add documentation to TextInput's Flow types (d00f0882fb by @empyrical)
- Add missing Hermes include (1db96a3c46 by @janicduplessis)
- Fix UIManager.measure to consider scale and rotation transforms (28d50189f3 by @floriancargoet)
- Fixed iOS packager connection (4ab9da134c by @zhongwuzw)
- Fixed compatibility with CocoaPods frameworks. (8131b7bb7b by @jtreanor)
- Don't call sharedApplication in App Extension (c5ea18f738 by @zhongwuzw)
This is a small patch release with a commit to fix the build break in MSVC to help the users of react-native-windows. (9833ee7bc1 by @acoates-ms)
This is a patch release that consist of a few commits requested in the dedicated conversation to improve the quality of the 0.60 release. Thanks to everyone who contributed!
- Added a default Prettier config for new projects (7254bab0b3 by @jpdriver)
- Add showSoftInputOnFocus to TextInput (d88e4701fc)
- Bump CLI to ^2.6.0 (fafe5ee072 by @thymikee)
- Ensure right version of Metro bundler is used (1bb197afb1 by @kelset)
- Fix
ClassNotFound
exception in Android during Release builds (ffdf3f22c6 by @thecodrr) - Remove unnecessary flag when running JS server (a162554f5d by @thecodrr)
- Correctly set the border radius on android (b432b8f13b by @cabelitos)
- Fix addition of comma at the end of accessibility labels on Android. (812abfdbba by @marcmulcahy)
- Don't call sharedApplication in App Extension (c5ea18f738 by @zhongwuzw)
- Delete fishhook (46bdb4161c by @mmmulani)
You can participate to the conversation for the next patch release in the dedicated issue.
This is a patch release that contains two more Hermes related fixes, thanks to the contributors for helping improving the support!
- Generate correct source map if hermes not enabled (b1f81be4bc by @HazAT)
- Generate source maps outside of assets/ (60e75dc1ab by @motiz88)
You can participate to the conversation for the next patch release in the dedicated issue.
This is a patch release that fixes the binary path to Hermes package, thanks to @zoontek) for creating the PR!
You can participate to the conversation for the next patch release in the dedicated issue.
This is a patch release that fixes the path to Hermes package.
You can participate to the conversation for the next patch release in the dedicated issue.
This is a patch release that includes the Hermes JavaScript Engine announced at Chain React Conf 2019.
Check out the documentation to opt-in and give Hermes a try.
You can participate to the conversation for the next patch release in the dedicated issue.
This feature release of React Native includes many milestone changes for the platform. Please refer to the blog post for selected details. For upgrading users, some of the progress comes with breaking changes; manual intervention may be required for your app. We're also aware that existing CocoaPods integrations using use_frameworks
are not out-of-the-box compatible with this version, but please consider various workarounds while we prepare a long-term solution for a future release. If you're interested in helping evaluate our next release (0.61), subscribe to the dedicated issue here.
Have you ever considered contributing to React Native itself? Be sure to check out Contributing to React Native.
- CLI autolinking support (5954880875, da7d3dfc7d by @zhongwuzw and @hramos)
- New Intro screen (6b393b27e1, 233fddbe01, fe88e9e48c, aa926e349b, a9e8a71e53, ad4a5d9a3e, and 0245fd713e by @cpojer, @eliperkins, @lucasbento, @orta, @adamshurson, @karanpratapsingh and @glauberfc)
- Add enhanced accessibility actions support (7fb02bd908 by @xuelgong)
- Add additional accessibility roles and states (1aeac1c625)
- Add
isReduceMotionEnabled()
plusreduceMotionChanged
toAccessibilityInfo
(0090ab32c2 by @estevaolucas]) - Add support for cancelling fetch requests with
AbortController
(h5e36b0c by @janicduplessis)
- Enable views to be nested within Text; this brings feature parity to Android, but be aware that it has some limitations (5c399a9f74 by @rigdern)
- Add a
touchSoundDisabled
prop to Button, Touchable, and TouchableWithoutFeedback (45e77c8324 by @yurykorzun)
- Add
announceForAccessibility
andannouncementFinished
APIs for making screen reader announcements (cfe003238a by @rigdern) - Ability to force network requests to use WiFi using the
allowsCellularAccess
property. This can ensure that network requests are sent over WiFi if communicating with a local hardware device and is accomplished by setting a flag. Default behavior of allowing network connections over cellular networks when available is unchanged. (01c70f2fb9 and 916186a7e6 by @bondparkerbondand @zhongwuzw) $RN_CACHE_DIR
can now be used to manually specify the iOS build cache directory (845eee403e by @hramos)
- BREAKING Migrated to AndroidX; please see this thread for more details on this change
- Cleanup RedBox message and stack output; it's now far easier to understand (49d26eb0c4 by @thymikee)
- Add default
scrollEventThrottle
value to Animated.FlatList and Animated.SectionList; this now behaves consistently with Animated.ScrollView (933e65e245 by @janicduplessis) - Remove invariant on nested sibling VirtualizedLists without unique listKey props; they now trigger a RedBox (af5633bcba)
- FlatList and VirtualizedList's default
keyExtractor
now checksitem.id
anditem.key
(de0d7cfb79 by @sahrens) - SectionList's
scrollToLocation
on iOS now countsitemIndex
like Android; both platforms are now consistent, and theitemIndex
value 0 now represents scrolling to the first heading (248a108abf by @vonovak) - Slightly speedup core initialization by moving native version check to DEV only (5bb2277245 by @mmmulani)
react
is now at v16.8.6 (53cec2dc1f, ee681b72ce, and 6001acb319 by @kelset, @mdvacca, @gaearon)react-native-community/cli
is now at v2.0.0 (by @thymikee)flow
is now at v0.98 (0e1dfd4369 by @nmote)prettier
is now at v1.17.0 (ff9f8f347d)metro
packages are now at v0.54.1 (7ff3874ec0, 343f0a1d50 by @motiz88)- Replace patched fetch polyfill with
whatwg-fetch@3.0
(bccc92dfdd by @janicduplessis)
- Use class canonical name for
PARTIAL_WAKE_LOCK
tag (88dbb4558c by @timwangdev)
- BREAKING: Split React.podspec into separate podspecs for each Xcode project; your libraries will need to update for this change as well to avoid CocoaPods build errors (2321b3fd7f by @fson)
- Improve handling of native module exceptions; they are now propagated to crash reporting tools with the context and callstack (629708beda by @pvinis)
- Switch Slider
onSlidingComplete
event to a non-bubbling event on iOS to match Android (7927437a6d by @rickhanlonii)
- StatusBar is no longer deprecated; thank you for the feedback (a203ebe206 by @cpojer)
- NetInfo has been removed; its replacement is now available via the react-native-community/netinfo package (5a30c2a205 by @cpojer)
- WebView has been removed; its replacement is now available via the react-native-community/webview package (, 1ca9a95537, and 954f715b25 by @cpojer and @thorbenprimke)
- Geolocation has been removed; its replacement is now available via the react-native-community/geolocation package (17dbf98884 and 9834c580af by @cpojer and @mmmulani)
- Fix
Animated.Value
value after animation if component was re-mounted (b3f7d53b87 by @michalchudziak) - Consistent reporting native module name on crash on native side (fdd8fadea8 and b79d7db9db by @DimitryDushkin)
- Handle null filenames in symbolicated stack trace gracefully in ExceptionsManager (2e8d39bed7 by @motiz88)
- Fix HasteImpl platform name regex (28e0de070d by @CaptainNic)
- Fix a JS memory leak in Blob handling; this resolves multiple leaks around
fetch
(05baf62721 and 9ef5107d04 by @janicduplessis) - SectionList's
scrollToLocation
now scrolls to the top of the sticky header as expected (d376a444e3 by @danilobuerger)
- Fix duplicate resource error in Android build (962437fafd and eb534bca58 by @mikehardy and @Dbroqua)
- Reorder operations of native view hierarchy (5f027ec64d by @lunaleaps)
- Fix performance regression from new custom fonts implementation (fd6386a07e by @dulmandakh)
- Fix internal test case around disabled state of buttons (70e2ab2ec9)
- Fix extra call of PickerAndroid's
onValueChange
on initialization; now it is only called whenselectedValue
changes (82148da667 by @a-c-sreedhar-reddy) - Fix PickerAndroid will reset selected value during items update (310cc38a5a by @Kudo)
- Fix unexpected PARTIAL_WAKE_LOCK when no headless tasks registered. (bdb1d4377e by @timwangdev)
- Fix calling TextInput's
onKeyPress
method when the user types an emoji (a5c57b4ed4) - Fix value of TextInput's
onSelectionChange
start and end arguments by normalizing them (2ad3bb2e2d by @uqmessias) - In
Linking.getInitialURL
method, use theInteractionManager
to wait for the current activity to finish initializing (c802d0b757 by @mu29) - Disable delta bundles on the first app run (e4aff423ac by @wojteg1337)
- In DatePickerAndroid, work around Android Nougat bug displaying the wrong the spinner mode (bb060d6cf8 by @luancurti)
- Fix crash in Animated Interpolation when inputMin === inputMax (7abfd23b90 by @olegbl)
- Fix symbolication for RedBox and YellowBox when using delta bundling (a05e9f8e09 by @motiz88)
- Fix CameraRoll crash on mime type guessing (ebeb893b50 by @Sroka)
- Call designated initializer for SurfaceHostingProxyRootView (3c125e867f by @zhongwuzw)
- Fix RedBox JS symbolication when adding JS engine tag to the message (920632cadb by @motiz88)
- Fix TextInput's
onSelectionChange
behavior in single line text inputs (0c11d8d9b4 by @zhongwuzw) - Fix accessibility problem with TextInput Clear Button (4e37d37cbf by @shergin)
- Fix
renderingMode
not applied to GIF Images (75380aa329 by @zhongwuzw) - Fix ScrollView
centerContent
not work in some cases (2cdf9694b5 by @zhongwuzw) - Fix crash on performance logger (5d3d3987d8 by @zhigang1992)
- Do not run packager in Release mode (4ea6204111 by @lucasbento)
- Fix
code
andreason
arguments being ignored when callingWebSocket.close
(0ac2171c54 by @jeanregisser) - Fix return value of
Linking.openURL()
(4a5d0bdbd7 by @thib92) - When an accessibilityLabel can't be discerned, return
nil
instead of@""
(d4ff5ed258 by @sammy-SC) - Fix Xcode build when the project's path contains whitespace (f0770b6b37)
- Move accessibility props to UIView+React (9261035c2b by @janicduplessis)
This is likely the last patch release for version 59 of React Native for the foreseeable future: it contains an important Android side update for the JavaScript Core, to prevent a great number of crashes mostly related to Samsung devices - thanks to @Kudo for his work on fixing this via 557989a86f!
Thanks everyone who participated in the discussion.
This is a patch fix release addressing a couple ScrollView regressions, and "future-proof" RN 59 from crashes caused by upgrading Gradle (now can support up to 5.4.1 & 3.4.0 for the plugin) and Xcode 11 Beta 1. You can upgrade to this version without upgrading your tooling.
Thanks everyone who contributed code or participated in the discussion for cherry-picking commits. You can participate to the conversation for the next patch release in the dedicated issue.
-
If
isInteraction
is not specified in the config, it would always default totrue
which would block interactions like VirtualizedList updates. This is generally not what you want with useNativeDriver since the animation won't be interrupted by JS. If something does end up interfering with an animation and causes frame drops,isInteraction
can be set manually. (8f186b84ae by @sahrens) -
Update detox to match master (c6a5c09e2b by @kelset)
- Bump Gradle to 5.4.1 & Android Gradle plugin to 3.4.0 (b4017a9923, d9f5a9dc16, 30348f7899, 6976a93126 by @dulmandakh)
- Fixes wrong time unit of scroll event throttle (1148c03f6f by @zhongwuzw)
- Fix indexed RAM bundle (d8fa1206c3 by @dratwas)
- Fix Xcode 11 Beta 1 builds (46c7ada535 by @ericlewis)
This is a patch fix release addressing regressions, crashes, and a few developer-experience pain points (in particular, check the KeyboardAvoidingView
change). Thanks everyone who contributed code or participated in the discussion for cherry-picking commits.
- Fix regexp on
hasteImpl
(bcd1e2 by @CaptainNic) - Fix sparse array handling in
EventEmitter#listeners()
(f68dc8 by @ide) - Fix VirtualizedList to call
_updateViewableItems
immediately (08141e by @sahrens) - Fix prop overrides of TouchableWithoutFeedback (0c4206 by @aleclarson)
- Fix resolve relative size rendering error in inspector (4884ab by @gandreadis)
- Fix VirtualizedSectionList by making sure to check array bounds (54f91d by @vonovak)
- Update
_scrollAnimatedValue
offset of ScrollView (e0d1b3 by @miyabi) - Fix infinite
setState
in VirtualizedList (c40a93 by @sahrens)
- Fix incorrect opacity behavior for Text component (f71357 by @shergin)
- Fix Text shadow displays when
text Offset
is{0,0}
(17a81b by @Woodpav) - Add convert compatible of NSString for bridge message data (c37e9c by @zhongwuzw)
- Fix nullability warnings in RCTExceptionsManager (2b7d79 by @jtreanor)
- Fix app to reconnect with metro after the bundler is closed and reopened (c28676 by @rickhanlonii)
- Fix throttle below 16ms on ScrollView (39776a by @sahrens)
- Fix JS errors during bundle load were reported as
UnknownCppException
(84e263) - Add logic to catch
MissingWebViewPackageException
(379874 by @thorbenprimke) - Revert "improve RTL" (f3801d by @thorbenprimke)
- Add listener for non-value animated node (4a82dc by @osdnk)
- Set ScrollView throttle by default (74d740 by @sahrens)
- Make KeyboardAvoidingView with
behavior="height"
resize on keyboard close (7140a7 by @WaldoJeffers) - Update network inspector to have smarter scroll stickiness (57dc37 by @AlanFoster)
This patch release was unpublished.
This patch release was unpublished.
This is a patch fix release addressing regressions, crashes, and a few developer-experience pain points. Thanks everyone who contributed code or participated in the discussion for cherry-picking commits.
- Remove wrapper around ListEmptyComponent (54af5b by @AntoineDoubovetzky)
- Enforced thread safety on UIImplementation methods that mutate the shadowNodeRegistry (f5a318 by @SudoPlz)
- Fixed a
NoSuchKeyException
when parsing JS stack frames without line numbers (d7bd6c by @Salakar) - Fixed
mostRecentEventCount
is not updated (b8aac0 by @jainkuniya)
- Pass back correct dimensions for application window in Dimensions module (72b4cc by @rdonnelly)
- Fixed warning: "RCTImagePickerManager requires main queue setup" (effb02 by @scarlac)
This is a patch fix release addressing regressions, crashes, and a few developer-experience pain points. Thanks everyone who contributed code or participated in the discussion for cherry-picking commits.
- Make Jest transform @react-native-community packages by default (7e23c7c565 by @thymikee)
- Add
scrollToOverflowEnabled
prop to ScrollView (6f4239b37c by @mysport12)
- Fix Touchable long-press (59e50237bf by @Kida007)
- Fix a crash when setting
underlineColorAndroid
in TextInput (556aa93ed7 by @sunnylqm)
- Fix universal links not working in iOS 12 / Xcode 10 (56679ed359 by @IljaDaderko)
- Fix triangle views (7a6fe0cda0 by @zhongwuzw)
This is a patch fix release addressing regressions, crashes, and a few developer-experience pain points. Thanks everyone who contributed code or participated in the discussion for cherry-picking commits.
- Improve RTL support (b3c74967ca by @dulmandakh)
- Fix VirtualizedList, SectionList and FlatList behavior on rendering list headers with inverted prop and zero items (c13f5d48cf by @michalchudziak)
- Fix VirtualizedList debug mode crash (02e8e531dd)
- Fix running Metro on Windows (43d3313788 and 9db347fabc by @aliazizi and @nazreinkaram)
- Fix IllegalStateException when invalid URL or headers are passed (aad4dbbbfe by @dryganets)
- Fix IllegalStateException when tapping next on Android Keyboard (b943db418f by @mdvacca)
- Show Perf Monitor after reloading JS (15619c22e5 by @usrbowe)
- Fix TextInput's
maxLength
when inserting characters at begin (17415938c7 by @zhongwuzw) - Fix runtime crash in Xcode 10.2 when using
RCT_EXTERN_MODULE
for swift classes (ff66600224)
This is a patch fix release addressing regressions, crashes, and a few developer-experience pain points. Thanks everyone who contributed code or participated in the discussion for cherry-picking commits.
- Crash on pre-26 Android devices when setting TextInput content type (d4aa1e7a52 by @hramos)
- Crash when scroll to index 0 in a SectionList (8fa116cc0e by @danilobuerger)
- Switch's
trackColor
being reset when toggled (7652e31d8c and d6ee448e15 by @dulmandakh and @ejanzer)
- ScrollView offset out of content size (9c1c5a7455 by @zhongwuzw)
- RefreshControl state's race condition (95d399bc82 by @rostislav-simonik)
- Start Metro packager from project root (fe3aebf87b by @MatthieuLemoine)
- TextInputs that are single-line reverting to default text (e38be82dfa by @PeteTheHeat)
- Add TLS 1.3 support to all Android versions using Conscrypt; to use this, you must add
implementation('org.conscrypt:conscrypt-android:2.0.0')
tobuild.gradle
(75af15ede4 by @dulmandakh) - Turn off Metro JS Deltas by default for Android (845189c17d by @PeteTheHeat)
This is a small patch release that addresses two critical issues from the 0.59.0 release.
- Template build gradle error on x86_64 (4b996da470 by @grabbou)
- Build error warning of Text module (d834197746 by @zhongwuzw)
Welcome to release 0.59 of React Native! For highlights of this release, please view the dedicated blog post. Thanks to those who gave feedback during the release candidate phase. If you're interested in helping evaluate our next release (0.60), subscribe to the dedicated issue here.
- Add a Metro configuration to the template with inline require/import options; read more about it in the blog post (ae11993d0f by @cpojer)
- Text and TextInput now has prop maxFontSizeMultiplier (4936d284df by @rigdern)
- TextInput now has prop autoComplete prop (f15145639d)
- CameraRoll's
getPhotos
now supportsassetType: "All"
to let users pick from video and photos simultaneously (54534e79d7 by @kesha-antonov) - Text and TextInput now support
textAlign:justify
for android O+ (api level >=26) (d2153fc58d by sunnylqm)
- TextInput now has prop
rejectResponderTermination
to enable TextInputs inside Swipeables to function properly (11df0eae5f by @cmcewen) - ActionSheetIOS has a new prop
destructiveButtonIndexes
for anArray<number>
of destructive indexes (67e7f16944 by @sdg9) - Add
isEventFromThisApp
toKeyboardEvent
notifications to disambiguate keyboard events when apps are running side-by-side (05f35c296d by @nossbigg) - Allow changing the project path in
react-native-xcode.sh
using env varPROJECT_ROOT
(9ccde378b6 by @janicduplessis)
React
is now atv16.8.3
(ccefc700d0 and (2af13b4477 by @cpojer and @hramos)Flow
dependency is now atv0.92.0
(5ee738659b by @pakoito)@react-native-community/cli
dependency is atv1.2.1
(a252aee2ea and 5e1504b0fc by @grabbou)- Enhance Flow types definitions for ViewPropTypes (7ff9456f2e by @danibonilha)
- Clarify error message to direct people to
react-native start
rather thanreact-native bundle
(46aaa02274 by @sunnylqm) - BREAKING - removed
OkHttpClientProvider.replaceOkHttpClient
method; please useOkHttpClientProvider.setOkHttpClientFactory
from 0.54+ (7cbdd7b6ac by @cdlewis) - BREAKING - remove
ViewHelper
, useViewCompat
instead; this may also require changing theandroid:theme
to be fromTheme.AppCompat
; read more about it in the blog post (c493cfe708 by @dulmandakh) - Add nullable annotations to
ReadableMap
,WritableMap
,ReadableArray
,Writable
,ReactPackage
, and native module interfaces; this may impact Kotlin usage (b640b6faf7, c93cbdf1b2, 7b33d6b0b9, and 84f40da990 by @dulmandakh) Soloader
is now atv0.6.0
(07d1075f37 by @dulmandakh)- Android Support Library is now at
v28.0.0
(5bbed43854 by @dulmandakh) targetSdkVersion
is now atv28
(57f444bd8a by @dulmandakh)- Android Plugin is now at
v3.3.1
(da5b5d2fa1 by @dulmandakh) - Enable Java 8 support (38eb2a70af by @dulmandakh)
- Suppress misleading missing permission warnings (d53dbb0dfb by @dulmandakh)
- Add back
buildToolsVersion
to build.gradle (cf52ab561d by @dulmandakh) - TimePickerAndroid has better Flow types definitions (2ed1bb2e01 by @yushimatenjin)
ReactActivity
,ReactSlider
,ReactTextView
, andReactPicker
extendsAppCompatActivity
; updates toTimePickerDialogModule
andDatePickerDialogModule
as well (dda2b82a0a, 3b9604feda, ba0c3ffd5b, 833429dd63, adc1410572, c6c5a173bc, and be361d0fc1 by @dulmandakh)- Fix lint error/warnings that cause older Android crashes (d2fc19f4aa by @dulmandakh)
- The error message on getting Android drawable folder suffix now gives more information (a159a33c02 by @BrunoVillanova)
SYSTEM_ALERT_WINDOW
permissions available only in debug builds (84a2fb0a4a by @dulmandakh)- Add talkback navigation support for links and header (b9d3743cda by @yangweigbh)
- FlatList has
removeClippedSubviews
default totrue
on Android (1a499f43b2 by @fred2028)
- Moved iOS build cache directory from
~/.rncache
to~/Library/Caches/com.facebook.ReactNativeBuild
(1024dc251e by @sryze) - Keyboard API Event flow types have been improved (7ee13cc84c by @nossbigg)
- Expose AsyncLocalStorage get/set methods to native code (7b8235a95a by @ejmartin504)
- Clear RCTBridge launchOptions when bridge is reloaded (19d04a312b by @venik)
The following deprecations are part of our Lean Core initiative; read more about it in the blog post.
- Deprecated MaskedViewIOS as it has now been moved to react-native-community/masked-view (4ac65f5413 by @FonDorn)
- Deprecated ViewPagerAndroid as it has now been moved to react-native-community/viewpager (77300ca91c by @ferrannp)
- Deprecated AsyncStorage as it has now been moved to react-native-community/asyncstorage (ffe37487b2 by @Krizzu)
- Deprecated Slider as it has now been moved to react-native-community/slider (bf888a7582 by @michalchudziak)
- Deprecated NetInfo as it has now been moved to react-native-community/netinfo (d9c0dfe353 by @matt-oakes)
- Deprecated ImageStore and directed users to
expo-file-system
andreact-native-fs
(62599fa8ff by @EvanBacon)
- Replace deprecated
stringByReplacingPercentEscapesUsingEncoding:
withstringByAddingPercentEncodingWithAllowedCharacters:
(61ca119650 by @pvinis)
react-native-git-upgrade
is now officially dead; usereact-native upgrade
instead (which uses rn-diff-purge under the covers) (a6bdacb257 by @cpojer)
- Remove the previously deprecated TabBarIOS (02697291ff by @axe-fb)
- AlertIOS is now replaced with Alert (e2bd7db732 by @wellmonge)
- KeyboardAvoidingView now shows the correct height after the keyboard is toggled (745484c892 by @shauns)
- Adds fixes for react-native-windows UWP (dfcbf9729f by @rozele)
- The
Map
andSet
polyfills no longer reject non-extensible object keys; also fix hash collision scenario (90850cace9 by @benjamn) - Corrected StyleSheet's transformation perspective to match iOS's behavior, regardless of screen density (4c10f9321c by @syaau)
- Fix
yarn test
in new projects (5218932b13 by @Esemesek) - Fix issue with
getInspectorDataForViewTag
that caused red screen when toggling inspector (46f3285a3f by @TranLuongTuanAnh) - Fix
displayName
forImage
; this will make tests no longer mistake it asComponent
(4989123f8c by @linnett) - Fix regression of VirtualizedList jumpy header (e4fd9babe0 by @danilobuerger)
- Set
wait_for_recheck=true
to work around crash in Flow (ffc9908bef by @gabelevi) - Fix flow typing of Text (10c8352141 by @sahrens)
- Fix
jest
andjest-junit
to be only development dependencies (c7b57f1986 by @vovkasm) - Fix layout issue with SwipeableQuickActionButton (ad52f52624 by @varungupta85)
- Fix textTransform when used with other text styles on Android (#22670) (3a33e75183 by @janicduplessis)
- Fix warnings related to updating to gradle 4.10.1 or higher (5be50d4820 by @misaku)
- Fix issue with use of Android API 28 by adding security config for metro access (5747094532, 19492b730b, 3b0b7ce8c3, and 84572c4051 by @Salakar and @dulmandakh)
- Fix Inverted Horizontal ScrollView (32cb9ec49c by @dmainas)
- Fix crash on CheckBox on older Android versions (58437cd10a by @vonovak)
- Fix undefined error description in Image
onError
callback (7795a672d3 by @Jyrno42) - Fix Android crash on animating with
useNativeDriver
(e405e84fc3 by @scisci) - Fix dev settings menu not appearing for certain codebases due to namespace conflicts (9968d0c203 by @khaled-cliqz)
- Fix exception occurring while fading a TextView (f83281e2ce by @mdvacca)
- Fix StatusBar overwriting previously set
SystemUiVisibility
flags (8afa0378cd by @rogerkerse) - Prevent
fetch()
POST requests from appendingcharset=utf-8
toContent-Type
header (4a807761a4 and 0d5aebbd9a by @nhunzaker) - Fix issue with Location that led to exceptions in two cases (f32dc63546 by @mikelambert)
- Fix TextInput mistakenly capitalizing I's after emojiis (f307ac7c5e by @dchersey)
- Fix TextView's
setAttributedText
for CJK languages on single-line text fields (e38be82dfa by @mandrigin) - Fix RCTImageLoader multi thread crash (5ed31ce524)
- Fix removing keys of large values from AsyncStorage (27b4d21564 by @esprehn)
- Fix overscroll behavior on virtualized lists; behavior is now consistent (4d5f85ed42)
- Fix Alert to not block input focus and blur (e4364faa3c by @zhongwuzw)
- Fix broken JSIexecutor search path (2aa2401766 by @amccarri)
- Fix potential linker issues when using Xcode project (9f72e6a5d0 by @tyrone-sudeium)
- Fix crash when
scrollEnabled
used in singleline textinput (9ff43abe65 by @zhongwuzw) - Fix crash in gif image usage (d0cd3cae13 by @zhongwuzw)
- Fix geolocation to not constantly reset accuracy to default of 100 meters (bbcb97a29a by @omnikron)
- Fix iOS build issue related to missing
DoubleConversion
andglog
tocxxreact
,jsi
andjsiexecutor
subspecs inReact.podspec
file (00392ac46b by @alexruperez) - Fix "'folly/folly-config.h' file not found" build error when using React via CocoaPods (5560a47c1d by @Salakar)
- Fix image cache to follow MDN strategy (fb8ba3fe95 and fb8ba3fe95 by @zhongwuzw)
- Fix crash due to IllegalArgumentException when creating CookieManage (cda8171af3 by @mdvacca)
- Fix cursor placement after toggling
secureTextEntry
cursor spacing (8ce3c1b43e by @ericlewis)
This release is fairly small, as we approach stable status for 0.59.
Thanks everyone who contributed code or participated in the discussion for cherry-picking commits - you can participate in the decision process for the next patch release here.
- Fix Inverted Horizontal ScrollView on Android (#23233) (32cb9ec49c by @dmainas)
- Map TextInput textContentType strings to Objective-C constants (#22611) (a89fe4165c by @levibuzolic)
- Don't reconnect inspector if connection refused (#22625) (d9489c4e9c by @msand)
This release resolves a few bugs and includes a few improvements, listed below.
Thanks everyone who contributed code or participated in the discussion for cherry-picking commits - you can participate in the decision process for the next patch release here.
- Remove fallback cache (9d60c20cb3 by @grabbou)
- Fixes capitalized I's when emojis are present after the text being edited. (#21951) (f307ac7c5e by @dchersey)
- Fix broken jsiexecutor search path. (#23274) (2aa2401766 by @amccarri)
- Fix duplicate symbols linker error in xcodeproj (#23284) (9f72e6a5d0 by @tyrone-sudeium)
- apply Network Security Config file (fixes #22375) (part 2 of #23105) (#23135) (84572c4051 by @Salakar)
- Fix crash for web socket in some race conditions (#22439) (dd209bb789 by @zhongwuzw)
- Don't attempt to load RCTDevLoadingView lazily (a9dd828c68 by @fkgozali)
- improve Android Network Security config (#23429) (5747094532 by @dulmandakh)
This release resolves a few bugs and includes a few improvements, listed below.
Thanks everyone who contributed code or participated in the discussion for cherry-picking commits - you can participate in the decision process for the next patch release here.
- Add error description to Image onError callback (7795a672d3 by @Jyrno42)
- bump soloader to
0.6.0
(07d1075f37 by @dulmandakh)
- Remove jest and jest-junit from runtime dependencies (#23276) (c7b57f1986 by @vovkasm)
- Fixes Android crash on animated style with string rotation (e405e84fc3 by @scisci)
- fix incorrect type which makes animated gifs not loop forever on device (#22987) (728a35fcf2 by @chrisnojima)
- Fixes for running the simulator (9a8c9596eb by @osunnarvik), (98bcfe00fb by @cpojer) and (8bddcb6cb0 by @cpojer)
This release resolves a regression in StatusBar using these fixes.
Thanks everyone who contributed code or participated in the discussion for cherry-picking commits - you can participate in the decision process for the next patch release here.
This release fixes an issue caused by a wrongly reverted merge commit, that caused a short timeframe of commits to not actually be in the original 0.58.0. Those commits have been added to the 0.58 changelog below, as many are intertwined with the original work.
Thanks everyone who contributed code or participated in the discussion for cherry-picking commits - you can participate in the decision process for the next patch release here.
There were some regressions with developer tools that prevented react-native run-ios
from working properly in 0.58.0; this patch fix addresses that.
Thanks everyone who contributed code or participated in the discussion for cherry-picking commits - you can participate to the decision process for the next patch release here.
Welcome to first stable release of React Native of 2019! There are a number of significant changes in this version, and we'd like to especially draw your attention to them:
- Modernizing and strengthening flow types for core components
- Breaking changes to
ScrollView
,CameraRollView
, andSwipeableRow
that make it no longer bound to the component instance in certain methods - Support for mutual TLS in WebKit
- Asset serving from directories besides
/assets
- Numerous crash fixes and resolutions for unexpected behavior
Aside from those:
-
if you are an iOS developer, you'll need to manually link
JavaScriptCore.framework
when upgrading; this can be done via Xcode, and following the steps shown here. -
Android developers, please note that Android's target SDK 27 is supported. Work is still underway to land target SDK 28 support, and it will come soon.
Thanks to those who gave feedback during the release candidate phase. If you're interested in helping evaluate our next release (0.59), subscribe to the dedicated issue here.
- Add support for
publicPath
to enable serving static assets from different locations (0b314960aa by @gdborton) - Add TouchableBounce now has a simple
bounce()
function that can be used to trigger a bounce without callbacks (7fe3f90156)
- Bundler server host can now be set using Android System Properties, making for easier debugging across multiple apps or app installs
adb shell setprop metro.host
(e02a154787 by @stepanhruda) - Native Modules can now reject a promise with an additional
WritableMap
arg for extra properties (userInfo
). See the interface defined inPromise.java
for available methods. This is accessible in JavaScript asError.userInfo
. This is to match iOS's existingError.userInfo
behavior. See PR for examples. (#20940 by @Salakar) - Native Modules now expose a
nativeStackAndroid
property to promises rejected with an Exception/Throwable - making native error stacks available inside Javascript:Error.nativeStackAndroid
. This is to match iOS's existingError.nativeStackIOS
support. See PR for examples. (#20940 by @Salakar)
- Add
moduleForName: lazilyLoadIfNecessary
to RCTBridge.h to lookup modules by name and force load them, plus various improvements to LazyLoading (d7a0c44590, 6534718a18, d7865ebde8, 04ea9762e2, 1f394fa673, 80f92adf1f, and 81b74ec1ed by @dshahidehpour, @fkgozali, and @mmmulani) - Add ability for WebView to
setClientAuthenticationCredential
whenuseWebKit={true}
for mutual TLS authentication (8911353c47 and 8911353c47 by @mjhu)
- Major improvements to Flow types for Core Components (499c195eba, fbc5a4f5e6, f9050e0908, 6476151717, c03fc4087f, 69213eea95, 136dfc8312, 3c0211b61a, c127000a7d, 636e146c4a, c3dea894bd, 35a65cd704, 79274979b7, 45c51835d6, a97d104b44, fb4825a2c6, 84c5416617, 3649a503cf by @mottox2, @saitoxu, @RSNara, @watanabeyu, @Tnarita0000, @exced, @nd-02110114, @flowkraD)
- Many public components were converted to ES6 classes (ScrollView by @thymikee, CameraRollView, SwipeableRow and ProgressBarAndroid by @exceed, ProgressViewIOS by @empyrical, SegmentedControlIOS, ToolbarAndroid by @nd-02110114
- Flow dependency is now at
v0.85.0
(adc8a33fcf by @samwgoldman) - metro dependency is now at
v0.49.1
(f867db366a, 88882951e1, 31bb551e75, de60e8643a, and de60e8643a by @alexkirsz and @rafeca) - jest dependency is now at
v24.0.0-alpha.6
(1b4fd64325, 66aba09251, and 06c13b3e06 by @rafeca and @rubennorte) - fbjs-scripts dependency is now at
v1.0.0
(#21880) (cdbf719307 by @jmheik) - folly dependency is now at
v2018.10.22.00
(a316dc6ec3, 287934dba9, and a70625abd7 by @Kudo and @radko93) - React is set to
16.6.3
now via sync for revisions 4773fdf...6bf5e85 (0cb59b5c23 and 073ad6a036 by @yungsters) - Clearer error messages when hot reloading (c787866d64 by @alexkirsz)
- Allow CxxModules to implement functions which take two callbacks (8826d8b233 by @acoates-ms)
-
Public methods of components converted to ES6 classes are no longer bound to their component instance. For
ScrollView
, the affected methods aresetNativeProps
,getScrollResponder
,getScrollableNode
,getInnerViewNode
,scrollTo
,scrollToEnd
,scrollWithoutAnimationTo
, andflashScrollIndicators
. ForCameraRollView
, the affected methods are:rendererChanged
. ForSwipeableRow
, the affected methods are:close
. Therefore, it is no longer safe to pass these method by reference as callbacks to functions. Auto-binding methods to component instances was a behaviour ofcreateReactClass
that we decided to not preserve when switching over to ES6 classes. (you can refer to this example) -
Native Modules in Android now require
@ReactModule
annotations to access.getNativeModule
method on theReactContext
. This is how your updated Native Module should look like:// CustomModule.java // ... + import com.facebook.react.module.annotations.ReactModule; + @ReactModule(name="CustomBridge") public class CustomModule extends ReactContextBaseJavaModule { // ... @Override public String getName() { return "CustomBridge"; } // ... }
- Optimize
PlatformConstants.ServerHost
,PlatformConstants.isTesting
, andPlatformConstants.androidID
for performance (2bf0d54f15, 339d9d3afb, and 9f9390ddfc by @stepanhruda, @fkgozali, and @axe-fb)
- Suppress yellow box about missing export for native modules (5431607c6d by @fkgozali)
- Remove
UIManager.measureViewsInRect()
(d6236796b2 by @shergin)
- Fix potential UI thread stalling scenario from Yoga JNI bindings (2a8f6c3028 by @davidaurelio)
- Fix crash happening due to race condition around bridge cxx module registry (188cbb04ad, 188cbb04ad, and 188cbb04ad by @PeteTheHeat)
- Fix View and Text's displayName; show the specific name rather than generic "Component" (7a914fcef4 by @rajivshah3)
- Fix
react-native init --help
so that it doesn't returnundefined
(58732a88b6 by @ignacioola) - Fix
react-native --sourceExts
(ce860803a4 by @elyalvarado) - Fix accidental showing of Modal when
visible
prop is undefined or null (cc13a7367b by @MateusAndrade) - Fix crash during VirtualizedList pagination (5803772017)
- Fix scenario where removing a module with remote debugging and Delta bundles may cause incorrect stack traces (bea57d871f by @alexkirsz)
- Fix regression in StyleSheet
setStyleAttributePreprocessor
(04085337bc by @brentvatne) - Fix React Native AsyncMode and DevTools (aacb06c594 by @bvaughn)
- Fix crash when removing root nodes (b649fa96a0 by @ayc1)
- Fix various ReactInstanceManager deadlocks and race conditions (df7e8c64ff, df7e8c64ff, and be282b5287 by @ayc1)
- Fix IllegalArgumentException when dismissing ReactModalHostView and DialogManager (e57ad4ee37 and 38e01a20c3 by @mdvacca)
- Fix incorrect merged asset path with flavor for Android Gradle Plugin 3.2 (e90319e9fa by @yatatsu)
- Fix HTTP connection ontimeout callback (a508134724)
- Fix websocket properly closing when remote server initiates close (2e465bca15 by @syaau)
- Fix compatibility issue for Android 16 device (5939d078a0, f22473e9e9, and f22473e9e9 by @gengjiawen)
- Fix issue where
Image.resizeMode
isn't respected while source is loading, resulting in unexpected padding (673ef39561 by @dulmandakh) - Fix Android 28's inverted ScrollView so that momentum is in the proper direction (b971c5beb8 by @mandrigin)
- Fix HTTP connection timeout callback to be appropriately called (a508134724)
- Fix compatibility issue with Android 16 device (5939d078a0 by @gengjiawen)
- Fix crash when releasing RN views and removing root nodes(83405ff316 and b649fa96a0 by @ayc1)
- Close websocket properly when remote server initiates close (2e465bca15 by @syaau)
- Workaround a wrong fling direction for inverted ScrollViews on Android P (b971c5beb8 by @mandrigin)
- Fix Image to respect
resizeMode
fordefaultSource
images rather than showing padding while loading (673ef39561 by @dulmandakh)
- Fix case where content of inline views didn't get relaid out (798517a267 by @rigdern)
- Fix issue with ImagePickerIOS's inconsistent image when using the front-facing camera (4aeea4d2dc)
- Fix race condition and crash around shutdown of the JSC for iOS 11 and earlier (bf2500e38e by @mhorowitz)
- Fix crash in NetInfo's _firstTimeReachability (eebc8e230a by @mmmulani)
- Fix case where inline view is visible even though it should have been truncated (70826dbafc by @rigdern)
- Fix crash with ScrollView related to content offsets (585f7b916d by @shergin)
- Fix an issue where CameraRoll wasn't showing the front-facing camera consistently during capture and preview (4aeea4d2dc)
- Fix case where inline view is visible even though it should have been truncated (70826dbafc by @rigdern)
It is possible that you'll face an AAPT error regarding missing resources, here is an example of this error, in this case, you should try to update the build tools versions to buildToolsVersion = "28.0.2"
in your android/build.gradle file. If you maintain a react-native library which uses native code you should avoid using hardcoded versions of the build tools and use the packaged version numbers, here is an example you can follow
NOTE WELL: when you upgrade to this version you NEED to upgrade react
and react-test-renderer
to version "16.6.3"
.
Thanks everyone who contributed code or participated in the discussion for cherry-picking commits - you can participate to the decision process for the next release here.
- Fix: Add displayName to ActivityIndicator (#22417) (53da585832)
- Switch: Improve Accessibility (0c8db08f51 by @yungsters)
- React sync for revisions 3ff2c7c...6bf5e85 (073ad6a036 by @yungsters)
- Extend reason message for
RCTFatalException
(#22532) (2831d9ef61 by @zackzachariah)
- Remove trailing slash from origin header if no port is specified (#22290) (cbe7d41f3f)
- Fix text alpha bug (fd78eee11b by @necolas)
- fix possible NPE in StatusBarModule (0f3be77b7d by @mdvacca)
- Fixes animated gifs incorrectly looping/not stopping on last frame (#21999) (de759b949e by @staufman)
- Fix ListEmptyComponent is rendered upside down when using inverted flag. (#21496) (198eb02697 by @hyochans)
- Fix bug in comparison logic of object property (#22348) (c3b3eb7f73 by @vreality64)
- Fix dispatch of OnLayout event for first render (844e11967d by @mdvacca)
- KeyboardAvoidingView: Duration cannot be less then 10ms (#21858) (87b6533937)
- default hitSlop values to 0 (#22281) (f6d3a61677 by @Taylor123)
- Fixed for supporting mediaPlaybackRequiresUserAction under iOS 10. (#22208) (c45d290b07 by @ifsnow)
- Use main.jsbundle in iOS template for production build (#22531) (a2ef5b85d8 by @radeno)
- Use relative path for SCRIPTDIR (#22598) (0314fca63a by @sunnylqm)
- Fix UIScrollView crash (585f7b916d by @shergin)
- Avoid using
-[UITextView setAttributedString:]
while user is typing (#19809) (f77aa4eb45)
- Bump ws package to 1.1.5 due to vulnerability issues (#21769) (96ce6f9538 by @prog1dev)
NOTE WELL: when you upgrade to this version you NEED to upgrade react
and react-test-renderer
to version "16.6.1"
.
This patch release fixes version 0.57.6 about losing focus in TextInput
because of ada7089066.
Thanks everyone who contributed code or participated in the discussion for cherry-picking commits.
INFO NOTE: It's highly recommended that you skip this version and upgrade to 0.57.7.
NOTE WELL: when you upgrade to this version you NEED to upgrade react
and react-test-renderer
to version "16.6.1"
.
This patch release fixes a number of crashes, resolves build issues (both for iOS and Android). Thanks everyone who contributed code or participated in the discussion for cherry-picking commits.
- Add iOS 12 textContentType options (#21079) (644fc57fad by @ultramiraculous)
- Remove useless additional blur call (#22156) (ada7089066)
- Improving Modal
visible
prop check to handle undefined and null (#22072) (cc13a7367b by @MateusAndrade) - Fix crash in nativeInjectHMRUpdate (#22412) (0b4fd621e3 by @vovkasm)
- Fix IllegalArgumentException when dismissing ReactModalHostView (e57ad4ee37 by @mdvacca)
- Fix regression in StyleSheet.setStyleAttributePreprocessor (#22262) (04085337bc by @brentvatne)
- Fix React Native AsyncMode and DevTools (f41383fb6d by @bvaughn)
- CxxReact: Silence 'unused lambda capture' warnings in open-source (#22240) (0c0540965a by @empyrical)
- Fixed HTTP connection timeout on Android (#22164) (a508134724)
- resizeMode applies to Image.defaultSource (#22216) (673ef39561 by @dulmandakh)
- Android: Close websocket properly when remote server initiates close (#22248) (2e465bca15 by @syaau)
- Workaround a wrong fling direction for inverted ScrollViews on Android P (#21117) (b971c5beb8 by @mandrigin)
- Fix crash when releasing RN views (83405ff316 by @ayc1)
- iOS: Support inline view truncation (#21456) (70826dbafc by @rigdern)
- NetInfo: try to solve crash with releasing _firstTimeReachability (eebc8e230a by @mmmulani)
- Generate ip.txt before SKIP_BUNDLING check (#20554) (9c1ea45d38 by @keatongreve)
- Revert [Performance improvement for loading cached images on iOS ] (7eeb305933 by @kelset)
- Fix inability to remove 'Disabled' state from AccessibilityStates (5eaa2d29c0)
NOTE WELL: when you upgrade to this version you NEED to upgrade react
and react-test-renderer
to version "16.6.1"
.
This patch release fixes a number of crashes, resolves build issues (both for iOS and Android), and brings React to v16.6.1. Thanks everyone who contributed code or participated in the discussion for cherry-picking commits.
- React is now at v16.6.1 (8325e09e5c and 76c99f20e3 by @yungsters)
- Performance improvement for loading cached images (54f7eb3424 and 3a98318c91 by @esamelson and others)
- Fix crash in VirtualizedList during pagination (5803772017)
- Fix polyfilling of regeneratorRuntime to avoid setting it to undefined in some situations (2a7e02edf6 by @rafeca)
- Fix View, Text, and ActivityIndicator's
displayName
(7a914fcef4 and 53da585832 by @rajivshah3 and others) - Fix crash that happens when a component throws an exception that contains a null message (6debfdf6d6 by @mdvacca)
- Fix incorrect merged asset path with flavor for Android Gradle Plugin 3.2 (e90319e9fa by @yatatsu)
- Fix crash in ReadableNativeArray.getType when size of ReadableNativeArray's length > 512 (09c78fe968 by @dryganets)
- Fix crash in rapid use of NetInfo.getCurrentConnectivity (67afaefa78 by @mmmulani)
- Fix Xcode 10 errors relating to third-party (277c19c93e by @mmccartney)
- Fix build errors when path to
$NODE_BINARY
contains spaces (7d4e94edcc by @sundbry) - Fix case where content of inline views didn't get relaid out (798517a267 by @rigdern)
- Fix InputAccessoryView's safe area when not attached to a TextInput (2191eecf54 by @janicduplessis)
NOTE WELL: when you upgrade to this version you NEED to upgrade react
and react-test-renderer
to version "16.6.0-alpha.8af6728"
(next version, 0.57.5, will update to 16.6.0
, and it will come soon). Also, please check the Known issues section below, especially if you are using Xcode 10.
Thanks to everyone that contributed to the discussion for cherry-picking the commits that landed in this release, and the developers who submitted those commits!
- Android textTransform style support (22cf5dc566 by Stephen Cook)
- Add deprecation notice to SwipeableListView (99471f87b9 by @TheSavior)
- Consolidate native dependencies versions (ba608a2db7 by @dulmandakh)
- bump okhttp3 to 3.11 (10fc548809 by @dulmandakh)
- Android: Send
<Text>
metrics in onTextLayout events (737f93705c by @mmmulani) - Use TextLegend example in Android as well (335927db44 by @mmmulani)
- Bump xcode@1.0.0 (b9514995a2 by @peat-psuwit)
- Text: send metrics after rendering (iOS) (737f93705c by @mmmulani)
- Allow specifying iOS version for run-ios with simulator option (0fab27cbac by @elyalvarado)
- Relax the requirement that lazy module cannot be initialized on the main thread (dbc864c9cd by @spredolac)
- Fix crashes on invalid regex (298f14da12 by @RSNara)
- Fix pull to refresh refresh component clipping on Android (8a3a0ad2d0 by Andy Huang)
- ListView requestAnimationFrame leak (70b5eb3aa2 by @exced)
- reverted Update bad method
- Fix accessibility role crash (1f96ff62cf by Haseeb Saeed)
- Fix accessibilityRole value lookup (1f96ff62cf by @ayc1)
- Fix DynamicFromMap object pool synchronization (b0d68c0bb9 by @haitaoli)
- Back out "[react-native][pr] Rounded corner rendering fixed on Android N." (bb407fa1ec by Jonathan Lee)
- Fix onTextLayout metrics on Android when using alignText (1c240ae898 by @mmmulani)
- Cleaning up imports in ViewGroupManager (082a869dae by @mdvacca)
- Fix issue when inserting text at 0 when maxLength is set (17415938c7 by @ejanzer)
There are a few issues that don't have a finalized solution (as it happens for 0.x projects). In particular:
-
when using Xcode 10 and
react-native init
, your build may fail due to third-party build steps (#20774). There is a commit we are planning to cherry pick in a future release that should help - in the meantime, you should be able to run these commands from the project folder to fix the issue (you should need to do it only once per project):cd node_modules/react-native scripts/ios-install-third-party.sh cd third-party/glog-0.3.5/ ../../scripts/ios-configure-glog.sh
-
React
16.6.0
works for the most part, aside from the Context API (check this issue) - and if you are eager to test the new React Hooks you will have to be patient, as they are not production ready and16.7.alpha
is not yet supported by React Native.
NOTE WELL: when you upgrade to this version you NEED to upgrade react
and react-test-renderer
to version "16.6.0-alpha.8af6728"
. Also, please check the Known issues section below, especially if you are using Xcode 10.
Thanks to everyone that contributed to the discussion for cherry-picking the commits that landed in this release, and the developers who submitted those commits!
- Expose enableBabelRuntime config param externally (89a358f347 by @rafeca)
- Add test for InterpolatorType (b7526b2095 by @ejanzer)
- React sync for revisions ade5e69...d836010 (fa6035bda6 by @yungsters)
- React: Bump Canary Version (8258b6a280 by @yungsters)
- FBJS: Upgrade to ^1.0.0 (ee034596fe by @yungsters)
- Bump metro@0.48.1 (bf47589b8b by @rafeca)
- Update to Detox 9 (15c05988e9 by @kelset)
- Add Deprecation Warning to ListView (e90f5fa263 by @TheSavior)
- Deprecate legacyImplementation of FlatList (3aa8f09b44 by @TheSavior)
- bump Android NDK to r17c (436cf154bb by @dulmandakh)
- Resolve protocol http, https when not in lowercase (d00bdb9bb8 by @hyunjongL)
- Normalize scheme for URL on Android (4b6f02ea75 by @radeno)
- Bump up the buffer size and show a warning if the trace might be truncated (1fc8a46570 by @alexeylang)
- Fix deprecation warning message in Switch (997f382adc by @radko93)
- Fix default accessibility delegate (fa6035bda6 by @ayc1)
- Fix accessibility role/label (fa6035bda6 by @ayc1)
- When converting arguments JS->Java, handle integers correctly (bb9b9a8b9d by @mhorowitz)
- Fix CameraRoll.getPhotos() crash on Android if device has a problematic video asset (4768bea0cf by @naxel)
- Android ScrollView fix for snapToInterval not snapping to end (6eeff75849 by @olegbl)
- Fix for InterpolatorType crash (01a1004808 by @ejanzer)
- Update bad method (1592a8d424 by @grabbou)
- Dealloc first time RCTNetInfo reachability callback (e7e63fd409 by @mmmulani)
- iOS: fix the baseline issue when displaying a mixture of different-language characters (c1561ab441 by @BingBingL)
- Fix artifacting on RN-drawn borders with asymmetric radii (9e6522374b by @jamesreggio)
- check isAvailable key on simulator object (1031872784 by @antonychan)
- ios-simulator: change default iphone version (6d09df5b72 by Vitor Capretz)
There are a few issues that don't have a finalized solution. In particular, when using Xcode 10 and react-native init
, your build may fail due to third-party build steps (#20774). There is an open pull request which we are testing and hope to land soon (#21458). In the meantime, you can find a workaround here: facebook/react-native#20774.
Thanks to everyone that contributed to the discussion for cherry-picking the commits that landed in this release, and the developers who submitted those commits!
- Android subpixel text (65e4e674fc by @kevinresol)
- ReactScrollView should account for
overflow: scroll
(201f2f189f by @mcolotto) - bump metro 0.47.0 (4750f52b34 by @rafeca)
- Use babel runtime instead of relying on global babelHelpers and regenerator (36033bd0ed by @janicduplessis)
- React: Upgrade to react-devtools@^3.4.0 (25119f95c8 by @yungsters)
- Change new Date() to Date.now() to save on date allocations (bbb2d9a5b3 by @dulinriley)
- Make config object read-only (2c1057062e by @rafeca)
- Cleanup the transformer flow types (28dedfb6d6 by @rafeca)
- bump metro 0.47.1 (12ab08a5aa by @rafeca)
- Android ScrollView support for
overflow: visible
(4af4da9089 by @olegbl) - Expose a getter for overflow setting in ReactViewGroup (02ad56f541 by @kmagiera)
- Add workaround for Android Gradle Plugin 3.2 change to asset dir (ff084a4e80 by @edilaic)
- Fix HEAD request failing with
Invalid response for blob
(7e9c3f77cc by @anthonyhumphreys) - Check if child view != null before dropping (af181fb192 by @chrusart)
- Fix event handlers for DPad arrows on Android TV (4d71b1525d by @krzysztofciombor)
- Rounded corner rendering fixed on Android N (748cf82c97 by @dryganets)
- Android: fix cookies lost on Android 5.0 and above (ea53727e16 by chenwenyu)
- allow zero offset when shadow radius is nonzero (97f0e43710 by Timothy Kukulski)
- Android ScrollView fix for pagingEnabled (e0170a9445 by @olegbl)
- Remove global babelHelpers and regenerator (458d56c0a1 by @janicduplessis)
- Remove overflow hidden killswitch (59aada873e by @ayc1)
- Remove absolute path parameter from transformers (2e0d5c87e9 by @rafeca)
We are trying, for 0.57, to approach it as a version with a longer "support", while waiting for some features to land that will allow for 0.58 to be cut.
Thanks to everyone that contributed to the discussion for cherry-picking the commits that landed in this release, and the developers who submitted those commits!
- Expose AllowFileAccess property in WebView (0c576ef84a by @mdvacca)
- Expose scrollEnabled as iOS prop for TextInput (b9c28c236b by Chun Chen)
- Give RNPM the ability to look for plugins in
@Scoped
modules (4b106be477 by empyrical) - Upgrade babel-eslint to 9.0.0 (44dc283bcd by @rafeca)
- bump metro 0.45.6 (7bac0565e8 by @rafeca)
- Making RCTIsIPhoneX() return true for the R and Max models (5e7c3ca005 by @shergin)
- Way to register RCT_MODULE in Plugin2.0 instead of +load (5c160e5ded by Jeff Thomas)
- Update RCTLinkingManager.h to explicitly state the 'nullability' of parameters (2271d1f912 by Warren Knox)
- Pass the maxWorkers config param correctly to Metro (7a69f1aa27 by @rafeca)
- Fix ignored --projectRoot/watchFolders arguments ((9fca769e76 by @oblador)
- Debug only code were leaking into release builds on iOS. ((d1ff0b0cc5 by @dryganets)
- Fix RCTNetInfo first time connection status (e7e63fd409 by @karanjthakkar)
- Removing development team from Xcode project (8103c431c8 by @hramos)
Welcome to the 0.57 release of React Native! This release addresses a number of issues and has some exciting improvements. We again skipped a monthly release, focused on quality by extending the release candidate phase, and let some upstream packages reach stable for inclusion.
This release includes 599 commits by 73 different contributors! In response to feedback, we've prepared a changelog that contains only user-impacting changes. Please share your input and let us know how we can make this even more useful, and as always let us know if you have any feedback on this process.
- Accessibility APIs now support accessibility hints, inverted colors, and easier usage of defining the element's role and states; read more at @ziqichen6's excellent blog post
- On iOS,
WKWebView
can now be used within theWebView
component; read more at @rsnara's awesome blog post - Better support for out-of-tree platforms. For details, please refer to the discussion that the community used to get this up and running (there will be a new page in the docs dedicated to it too) - huge props to @empyrical for working on this!
- Android tooling has been updated to match newer configuration requirements (SDK 27, gradle 4.4, and support library 27); building with Android plugin 3.2 doesn't work due to the gradle scripts, so please stay on Android Studio 3.1 for now
- Support Babel 7 stable landed! Be sure to read here about using TypeScript and check out the Babel 7 migration guide for help migrating.
- Metro has been upgraded (with Babel 7 and better transformer support), and in the next major release we plan on having two new features (ram bundles and inline requires) optional for you all to use - you can read how it will happen here; moreover, if you have a custom packager config, we recommend you read also the "updating to this version" section.
- Flow, React, and related packages have also been updated; this includes working support for the React Profiler.
As mentioned a few times in the past, the core team is reviewing the repository to trim it to the base React Native features in order to make the whole ecosystem more maintainable (by using a divide-et-impera approach, the community will move faster and enable pull requests to be reviewed and merged quicker). This change requires extracting some components into their own separate repos and removing old, unused code (details here).
0.57 is not directly affected by any changes, but we want you to know that:
WebView
will be moved to its own repo at react-native-community/react-native-webview. There is already a base implementation there. Help us out by giving that a try, and expect thatWebView
will be deprecated soonNavigatorIOS
will be fully removed from the main codebase starting 0.58.0 (via this commit); it is now deprecated
-
Upgrade the version of React Native in the
package.json
from0.56.0
to0.57.0
, and the React version to16.5
-
Change the babel-preset dependency from
"babel-preset-react-native": "^5",
to"metro-react-native-babel-preset": "^0.45.0",
, then change the.babelrc
configuration to:{ "presets": ["module:metro-react-native-babel-preset"] }
-
Ensure that you have all the babel dependencies to version
^7.0.0
(you may also need to add"babel-core": "7.0.0-bridge.0"
as a yarn resolution to ensure retro-compatibility). The Babel team has released a tool, babel-upgrade, that should help you in this migration. -
Upgrading android gradle version to 4.4
- In your project's
android/gradle/wrapper/gradle-wrapper.properties
file, change thedistributionUrl
tohttps\://services.gradle.org/distributions/gradle-4.4-all.zip
- In
android/build.gradle
file addgoogle()
right abovejcenter()
in bothbuildscript
andallprojects
repositories. Then change Android build tools to version 3.1.4classpath 'com.android.tools.build:gradle:3.1.4'
- In
android/app/build.gradle
file update all yourcompile
statements to beimplementation
, e.g.implementation 'com.facebook.fresco:animated-gif:1.10.0'
- Do note that when running your app from within Android Studio, you may encounter
Missing Byte Code
errors. This is due to a known issue with version 3.1.x of the android tools plugin. You'll need to disable Instant Run to get past this error.
- In your project's
-
If you have a custom packager configuration via
rn-cli.config.js
, you probably need to update it to work with the updated Metro configuration structure (for full detail refer to Metro's documentation); here are some commonly encountered changes torn-cli.config.js
:-const blacklist = require('metro/src/blacklist') +const blacklist = require('metro-config/src/defaults/blacklist') // ... module.exports = { + watchFolders: alternateRoots, + resolver: { + blacklistRE: blacklist + }, + transformer: { + babelTransformerPath: require.resolve('./scripts/transformer.js'), + }, - getProjectRoots() { - return [ - path.resolve(__dirname), - ].concat(alternateRoots) - }, - getBlacklistRE() { - return blacklist; - }, - transformModulePath: require.resolve('./scripts/transformer.js'), }
-
Run
yarn
to ensure that all the new dependencies have been installed
- Add .nvmrc and ensure node version required is compatible with ESLint 5 (30b9d81087 by @slorber)
- Major improvements to accessibility features (48b3d1322b, b5b704dc19, c36e8b3307, 40f6998b67, c1d0ccde0f, 5eaa2d29c0, 10b603fdd3, d9eeae91a0, 3cfa7ae698, 5acb7211bb, 5741f77156, d0b86ecb4f, e739143809, c27b495a89, 5aa040dfb7, 03036f79f7, 3bedc78a35, ca01290d8e, 121e2e5ca6, 1bc52267f5, 48b3d1322b, ef3d8b23c3, ef3d8b23c3, 50e400128e, and f39d0923c7 by @ziqichen6)
- Add
YogaNodeProperties
implementation based onByteBuffer
(0c97e75dfe and 23657ccf5b by @davidaurelio) - Add
FlatList
andSectionList
to Animated exports (daa7c78055 by @yunyu) - Adding new styling props to
FlatList
/VirtualizedList
forListHeaderComponent
andListFooterComponent
(a2675ced4e) - Added more info to Module Registry systraces (c7fdd2701f by @axe-fb)
- Added support for out-of-tree platform plugins via a new
haste
field inpackage.json
; read more in the docs entry (03476a225e by @empyrical) - Added
snapToOffsets
toScrollView
and made a number of fixes tosnapToInterval
as well (fd744dd56c by @olegbl)
- Allow registering custom packager command handlers (b3ef1c3a56 by @fkgozali)
- Implement
AccessibilityInfo.setAccessibilityFocus
for Android (be715ec705 by @draperunner) - Add Support for
overflow
style property (b81c8b51fc and bbdc12eda7by @yungsters)
WebView
can now useWKWebView
internally if you passuseWebKit={true}
(7062e5bdb5, 1442c265da, 3703927e7e, 7a6dd9807c, e5f95aba9b, 1741fe9571, 90e85a4adc, 0022354525, 03b57d9db6, 1584108805, a997c0ac16, 4ca949b46e, 721763020a, 1af17f1648, 215fa14efc, bacfd92976, 95801f1eda, b18fddadfe, 28b058c341, and 78fcf7c559 by @rsnara)- Add
accessibilityHint
for iOS (253b29dbd8 by @draperunner)
- [BREAKING] In the CLI,
unbundle
is nowram-bundle
(ebf5aeab28 by @jeanlauliac) - Bump minimum Node version to 8.3 (#20236) (e64e13fce3 by @hramos)
- Updated React (70913a4623, b7bb25fe4c, and 672528ffde by @acdlite, @hramos, and @yungsters)
- Upgrade Flow to v0.76.0 (eac34e3021 by @gabelevi)
- Upgrade jest to 23.4.1 (51cf9eb3e8 by @rafeca)
- Upgrade babel-eslint to v9.0.0-beta.2 with better support for Flow (abf1188de2 by @rubennorte)
- Upgrade ESLint to 5.1.0 (0f2f0cad41 by @rubennorte)
- Upgrade Babel to v7.0.0 (b9d1c832b0, 724c7498b6 by Peter van der Zee, and bf8e1b4ffa by @rubennorte and @rafeca)
- Metro is now at v0.45.0 (169d6839bb, bda84a32d0, 877212e18c, 169812f9ce, cfeb60c19b by @CompuIves and @rafeca)
- Hide pre-bundled notification when not on dev mode (edf71005b5 by @yancouto)
- Refined
StyleSheet.compose
Flow Type (50a481d23a by @yungsters) - Catch JS bundle load failure and prevent calls to JS after that (201ba8c69d by @fkgozali)
- Use new Metro configuration in react-native cli (a32620dc3b and aaf797ad67 by @CompuIves)
- Whitelist
react-native-dom
in haste/cli config defaults (c4bcca6685 by @vincentriemer) - In the CLI, don't override
metro.config.js
settings (c5297c75cb by @rozele)
- Public methods of Image (
blur
,focus
,measure
,measureInWindow
,measureLayout
,setNativeProps
) are no longer bound to the image component instance. Therefore, it is unsafe to pass these methods by reference (i.e: as callbacks) to functions. So, things likesetTimeout(this._imgRef.focus, 1000)
will no longer work. Please instead do:setTimout(() => this._imgRef.focus(), 1000)
.
Image
source without a uri now returns null (28c7ccf785 by @himabindugadupudi)targetSdkVersion
is 26 (bfb68c09ee by @dulmandakh)- Upgrade NDK to r17b (6117a6c720 by @dulmandakh)
- Upgrade NDK toolchain to 4.9 (ccdd450b12 by @dulmandakh)
- Upgrade Android Support Library to version 27.1.1 and set compileSdkVersion to 27; buildToolsVersion comes along for the ride, too (874cca1ac2 and 044b399e65 by @dulmandakh)
- Upgrade Android gradle plugin to 3.1.4, Gradle wrapper to 4.4 (6e356895e7 and 33d20da41b by @gengjiawen and @dulmandakh)
- Upgrade to soloader 0.5.1 (b6f2aad9c0 by @gengjiawen)
- Upgrade mockito to 2.19.1 (3ea803a814 by @dulmandakh)
- Upgrade glog to 0.3.5 (b5fca80605 by @dulmandakh)
- Fixed builds on Windows machines (3ac86c366c by @rafeca)
- Fixed building tvOS (1f1ddd0261)
- Fixed
TextInputState
'scurrentlyFocusedField()
(b4b594cec1 by @janicduplessis) <VirtualizedList>
fix for jumpy content wheninitialScrollIndex
specified (e0c73633cf by @rbrosboel)- Fix local-cli assetRegistryPath and middlewares (f05943de0a by @janicduplessis)
- Fix issue with when all are
flexGrow
andflexShrink
set to 0 except for one (90a408ea6f by @priteshrnandgaonkar) - Fix react-native CLI's debugger UI path and metro host/port arg usage (5067540487 by @Kureev)
- Hotfix to include
react-native-windows
in hasteImpl accepted paths (54942746d4 by @rubennorte) - Fix some classes of incorrect Flow errors for
Animated
(db2159d0b3 by @yunyu) - Fixed a typo in DockerTests.md (c1831d50cf by @kant)
- Fix invalid use of destructuring in jest preprocessor (9d5bd50737 by @umairda)
- Fixed a CLI crash when using old versions of node (e61176d650 by @keksipurkki)
- Fix issue with AsyncStorage not behaving properly on Android 7+ (1b09bd7fba)
- Fixed extreme
<TextInput>
slowness (5017b86b52 by @gnprice) - Fixed
<TextInput>
placeholder not being completely visible (84022321c4 and 86f24ccf71 by @jainkuniya) - Fix Horizontal
<ScrollView>
's scroll position during layout changes with RTL content (de573277bf) - Fix Horizontal
<ScrollView>
overflow issue (d5465a9a0a) - Fixing crash on SDK 15 on ReactTextInputLocalData (1bb2bead8b)
- Fix Drawing Rect for ReactScrollView (6a16bec882 by @yungsters)
- Fixed NoSuchKeyException Thrown From ReadableNativeMap bysafely unwrapping ReadableMap by defaulting to 0 if key not present (1a6666a116 by @Bhavik-P)
- Fixed runAndroid to enable the use of a package on port <> 8081 for Windows (3cd0737fe2 by @ihenshaw)
- Don't crash on upload retry when trying to fetch on a varying quality network (79fe925f1d by @dryganets)
- Fix
TextInput.clear()
andTextInput.setNativeProps({text: ''})
to work (2307ea60d0 by @magicien) - Correct fishhook import in RCTReconnectingWebSocket (75a0273de2)
- Change in RCTImagePickerManager to handle crashes if height/width is nil (82af7c989b by @abhi06276)
- Fix controlled
<TextInput>
on iOS when inputting in Chinese/Japanese (892212bad2 by @mmmulani) - Fixed
<ScrollView>
bug encountered with brownfield apps (fab5fffbb3 by @PeteTheHeat) - Fixed missing selection indicator lines on
<PickerIOS>
(e592d6f8c7 by @VSchlattinger) - Fix crash in RCTImagePicker on iOS (934c50fbe0 by @mmmulani)
- Fix
undefined_arch
error received when building in Xcode 10 beta (e131fffb37 by @futuun) - Add support for connecting to the Packager when running the iOS app on device when using custom Debug configuration (079bf3f206)
- Fixed RCTAnimation import for integrating with cocoapods (eef8d47a37 by @LukeDurrant)
- [BREAKING] Removed
ScrollView.propTypes
; use flow or typescript for verifying correct prop usage instead (5b6ff01764 by @sahrens)
ReactInstancePackage
is now deprecated; use@link ReactPackage
or@link LazyReactPackage
(b938cd524a by @axe-fb)
Welcome to the June 2018 release of React Native! Over 60 contributors made 821 commits since March - and we are extremely grateful to every single one of you.
As you'll see in a second, this new version has some important breaking changes that required a lot of extra efforts to bring to a stable 0.56. This was the main reason behind skipping April and May from the monthly release cycle, but looking forward we are planning on going back to do a rollout every month.
When upgrading to 0.56, make sure to bump your babel-preset-react-native
package.json
dependency to 5.0.2
or newer (but still as fixed value).
React Native library authors will need to update their libraries to make use of the updated Babel preset as Babel 7 is not backwards compatible.
If you have issues upgrading to Babel 7, please double check the related documentation, in particular the sections related to Package Renames and Scoped Packages.
The babel-bridge
library may be used if you need to use libraries that have not yet upgraded to Babel 7. You may also enforce the Babel 7 dependency via tools like yarn resolutions. Overall, you need to ensure all the @babel/*
deps are fixed at version 7.0.0-beta.47
.
Trailing commas are now allowed.
Any device that can run iOS 8, can upgrade to iOS 9. Developers who support iOS 8 in their apps may continue doing so as this is a Xcode-level setting (IPHONEOS_DEPLOYMENT_TARGET
).
We recommend using Xcode 9.4 as that is what we use to run our tests.
The target API level is left unchanged in this release.
Starting August 2018, new apps submitted to the Play Store will need to target API 26 as a minimum. You can now opt your project in to use API 26 (or newer) as the target. Please let us know about any issues, as we'd like to finalize support for Android API 26 by the time 0.57.0
is released.
Geolocation is disabled by default.
Removes a pitfall that people may run into when releasing an app for Android if the bulk of the testing has been performed on iOS only. Nesting a <View>
within a <Text>
component (e.g. <Text><View /></Text>
) is unsupported on Android, but using this pattern on iOS has not thrown errors in the past. With this release, nesting a <View>
inside a <Text>
will now throw an error on iOS in order to reduce the parity gap between the platforms.
Added Flow types for several components.
We're migrating away from PropTypes and runtime checks and instead relying on Flow. You'll notice many improvements related to Flow in this release.
- Fix project settings warnings on newer Xcode versions, remove unnecessary console logging.
- Modernized
YellowBox
. Sort warnings by recency, group warnings by format string, present stack traces, show status of loading source maps, support inspecting each occurrence of a warning, and bug fixes. - Prettier files!
- Lots of bug fixes.
Heads-up: the Facebook internal team is currently working on a rewrite of some core architecture pieces. This is a work in progress and we do not expect it to be ready for use in open source quite yet, but we felt the need to let you know what those commits mentioning Fabric are about.
- Update
babelHelpers
with Babel 7 support (fbd1beaf66) FlatList
is now Strict Mode compliant (a90d0e3614)- Enable
?.
optional chaining operator plugins (aa6f394c42) - Support
flexWrap: 'wrap-reverse'
(d69e55060f) - Add prop type
accessibilityTraits
toText
(654435d1ed) - Add devDependencies support for templates (c4ab03a18e)
- Add support for springDamping in
SpringInterpolator
(1dde989919)
- Add support for build.gradle with CRLF for use with
react-native link
(843cfc3b20) - add decimal pad to android (75e49a0637)
- Add a way to dismiss PopupMenu elements (353c070be9)
- Implement
Image.defaultSource
(b0fa3228a7) - Support Image resizeMode=repeat (0459e4ffaa)
- Yoga: Add back deprecated
getParent
methods for non-breaking API change (c3c5c3cbce)
- Run tests using Xcode 9.4 and iOS 11.4 (c55bcd6ea7)
- Add support for Homebrew-installed Node (0964135a17)
- Add textTransform style support (8621d4b797)
- Add docs for Swift usage to
RCTBridgeModule.h
(ca898f4367)
- Upgrade React Native to Babel 7 (f8d6b97140)
- New projects created using
react-native init
will use Babel 7 (e315ec9891) - Restrict
WebView
to only http(s) URLs: (634e7e11e3, 23f8f7aecb) - Node 8 is now the minimum required version (c1e6f27823)
- Upgrade React to v16.4.1, sync React Renderer to revision ae14317 (c749d951ad)
- Update new project template's Flow config to fix
Cannot resolve module X
isse due to removal of@providesModule
(843a433e87) - Upgrade Flow to v0.75 (3bed272a62, bc2f12c68c, 6264b6932a)
- Upgrade Flow definitions (f8b4850425)
- Upgrade Prettier to v1.13.6 (29fb2a8e90, bc2f12c68c)
- Upgrade Jest to v23.2.0 (536c937269, bc2f12c68c)
- Upgrade Metro to v0.38 (d081f83a04)
- Modernized
YellowBox
(d0219a0301) - Disallow requiring from invariant/warning (521fb6d041)
- Remove native prop type validation (8dc3ba0444)
- Add
$FlowFixMe
to invalid prop accesses where Flow wasn't complaining before (f19ee28e7d) - Create Flow props for
Image
(8bac869f5d) - Flow type for
SegmentedControlIOS
(113f009698) - Flow type for
ProgressViewIOS
(c87701ba05) - Flow type for
PickerIOS
(1c66cdc7e8) - Flow type for
Switch
(06052a2330) - Flow type for
Slider
(cbe045a95f) - Flow type for
RefreshControl
(891dfc3da4) - Flow type for
ListView
(4b1ecb6204) - Flow type for
TextInput
(c8bcda8150) - Flow type for
TouchableBounce
(8454a36b0b) - Flow type for
TouchableOpacity
(44743c07ad) - Flow type for
TouchableHighlight
(f0c18dc820) - Flow type for
TouchableWithoutFeedback
(0b79d1faa2) - Flow type for
ScrollView
(b127662279) - Flow type for
DatePickerIOS
(97e572ea6d) - Flow type for
KeyboardAvoidingView
(188b118b60) - Flow type for
ActivityIndicator
(0b71d1ddb0) - Remove
$FlowFixMe
inTouchableBounce
(ffda017850) - Remove
$FlowFixMe
inScrollView
(af6e2eb02d) - Remove
$FlowFixMe
inListView
(af6e2eb02d) - Remove
$FlowFixMe
inText
(6042592cf4) - Remove
$FlowFixMe
inRTLExample
(206ef54aa4) - Remove
$FlowFixMe
inAppContainer
(a956551af7) - Remove
$FlowFixMe
inSlider
(1615f9d161) StyleSheet
: Support animated values for border dimensions (3e3b10f404)- Update
react-devtools-core
andplist
to include security fixes reported bynpm audit
(3a1d949906) - Update
Switch
to ES6 Class (970caa4552) - Update
Slider
to ES6 Class (5259450c14) - Update
ActivityIndicator
to ES6 Class (edd7acbb1e) - Update
RefreshControl
to ES6 Class (a35a238317) - Update
KeyboardAvoidingView
to ES6 Class (c017dcb0f2) - Update
DatePickerIOS
to ES6 Class (f8c8231706) - Update
Text
to ES6 Class (ab92c00245) - Replace
context.isInAParentText
w/React.createContext
(e1339bc183) - Cleanup
Text
implementation (06c05e744d) - Switch
Text
toReact.forwardRef
(e708010d18) - Switch
View
toReact.forwardRef
(3e534b9aab) - Update uses of
genMockFunction
andgenMockFn
tofn
in tests (390ded871c) - Make
ViewProps
exact (65c336f38f) - Spread
TVViewProps
intoViewProps
instead of intersection (bc658d3c44) - Allow trailing commas (1e2de71290)
- Use
let
/const
(8f5ebe5952) - Refactor
MockNativeMethods
in Jest (5d4c542c58) - Use app name from
app.json
after ejecting (57774a4a98) - Suggest
git apply --reject
for failed upgrades (4fbd244b9a) - Moved
TouchHistoryMath
from React to React Native (06085d3836) - Refactor
RCTInputAccessoryView
(c136c54ff0) - Don't wrap
ListEmptyComponent
in an extra view (db061ea8c7) - Move
Text
PropTypes to its own file (cd8128b2ec) - Mock
ReactNative.NativeComponent
native methods in Jest (3e9a371ace) - Tightening types for
View
andVirtualizedList
(5035af80ec) - Make values optional in
ViewPropTypes
(f1316cab6c) - propTypes are optional for native components (dbdf43b428)
- Rename
Style
toDangerouslyImpreciseStyle
(4895c645ea) - [BREAKING]
requireNativeComponent
's signature has been simplified to only take extraOptions (820673e707, b549e364e0, 28d37781c6, 1c90a2b47b, and 1ab7d49c2d by @yungsters)
- Public methods of Text (
blur
,focus
,measure
,measureInWindow
,measureLayout
,setNativeProps
) are no longer bound to the text component instance. It is therefore unsafe to pass these methods by reference (i.e: as callbacks) to functions. So, things likesetTimeout(this._txtRef.focus, 1000)
will no longer work. Please instead do:setTimeout(() => this._txtRef.focus(), 1000)
.
- [BREAKING] WebViews now can only use https; do not use it for
file://
(634e7e11e3 by @mmmulani) - iOS 9 is now the minimum required version (f50df4f5ec)
- Update podspecs to target iOS 9 (092103e752)
- Xcode 9.4 is now used to run tests (c55bcd6ea7)
- Prevent console logging on iOS 11.3+ within WebSocket (8125be942b)
- Expose
RCTFont
size overrides (6611fefef7)
- Projects are now compiled using Android SDK 26 (065c5b6590)
- Use Google Maven repo in new Android projects (6d56a234e3)
- Upgrade Buck to v2018.03.26.01 (1324e7b558)
- Upgrade gradle-plugin to 2.3.3, gradle to 3.5.1, gradle-download-task to 3.4.3 (699e5eebe8)
- Bump NDK APP_PLATFORM to android-16 (b5dc45420a)
- Bump glog to 0.3.5 (added libc++ support) (b5fca80605)
ReactFragmentActivity
deprecated as it's not necessary when targeting API level 14 and above (77a02c0d83)- Touchables now play a sound on press (722f88ca90)
- Default
underlineColorAndroid
to transparent (a3a98eb1c7) - Disable
WebView
geolocation by default (23d61b35fb) - Ensure cookies with illegal characters are not sent to okhttp (04028bf216)
- Update app icons to match recent Android releases (94393f8652)
- Better error messages for
ReadableNativeMap
(30d06b4286) - Update Fresco to v1.9.0, okhttp3 to v3.10.0 (6b07602915)
- Add tint color to inline icons (e8e2a6e410)
- Fix antialiasing rounded background (e4f88c66e3)
react-native link
will now replace '/' by '_' when linking projects. If you previously linked scoped packages, they will get linked again. (dbd47592a1)- New project template now uses project-wide properties (0a3055d98a)
VirtualizedList
now accounts forListHeaderComponent
length when calculating offset (604bcfa4a8)- Prevent showing a hidden status bar when opening modals (076b1cea35)
- Fix crash when reloading while Perf Monitor is enabled (4fcd9970bd)
- Fixed concurrency issue in remote debugger (578b0b2a51)
- Fix
Modal
+FlatList
scrolling (45b0907f61) - Fix bug in
RCTNetworking
where not all tasks/handlers were being cleared during invalidation (b805172034) - Fix keyboard handling with
keyboardShouldPersistTaps: never
(ffe6c110f7) - Fix Responder Logic in
Text
(e2ce22b823) - Fix
VirtualizedSectionList
lint warnings (26a1eba1ce) - Fix
VirtualizedSectionList:ItemWithSeparators
(488a4c7e1c) - Fix
TextInput
's initial layout measurements (c6b4f9f2ce) - Fix
requireNativeComponent
check (1c90a2b47b) - Fix
TextInput
autocapitalization bug (ff70ecf868) - Add missing events to
ViewPropTypes
(41a940392c) - Add missing Jest mock in
StatusBarManager
(4a2c560768) - Add Flow declaration for Metro module (1853e15190)
- Fix type for
ReactNative.NativeComponent
(1/2) (de11ba2a5e) - Fix type for
ReactNative.NativeComponent
(2/2) (752863629d) - Move Image PropTypes to new file (67656991b3)
- Tests: Fix JUnit report location when running Jest (85fc98d437)
- Tests: Fix ReactImagePropertyTest SoLoader failures (#19607) (a52d84d7e1)
- Tests: Fix jest snapshot testing on Windows (216bce3163)
- Fixes "Cannot resolve module" errors in new
react-native init
projects (843a433e87) - Haste hotfix for
react-native-windows
(54942746d4)
- Fix undefined_arch error in Xcode 10 beta - e131fff
- Make
react-native run-ios
command play nicely with multiple Xcode versions (a130239257) - Correct fishhook import (75a0273de2)
- Fix bug where a Backspace event was emitted when entering characters after clearing a text in
TextInput
by an empty string (1ffb2b63be) - Expose
InputAccessoryView
so it can be imported (80fc415cf1) - Fix
InputAccessoryView
safe area conformance (490f22ae72) - Fix use of C++ syntax in header file (bfcfe7961d)
- Fix install step when running
run-ios
(0934c1778f) - Fix
run-ios
not turning on Simulator (9736ddc061) - Use correct library reference for Fishhook. This fixes the build for the new Xcode build system, on both Xcode 9 and Xcode 10 (a8b74576da)
- Add missing
onChange
event definition toDatePickerIOS
(3b53091869) - Fix crash during Archive phase on Xcode 9.3 (344c205070)
RNTesterPods
: Add missing folly include (128c9343c4)RNTesterPods
: folly::Optional'shas_value()
tohasValue()
until folly is upgraded (128c9343c4)RNTesterPods
: Fix import forRCTTestAttributes.h
(128c9343c4)RNTesterPods
: Fixconversions.h
to use namespaced includes (128c9343c4)- Fix or mark enum conversions surfaced by
-Wenum-conversion
(b8f30db0ae) - Fix CocoaPods integration without DevSupport subspec (c09d509c2b)
- Update Yoga to handle being in a Xcode framework project (cf036dbc7a)
- Fix Blob memory leak (122b3791ed)
- Avoid double reload event when reloading JS (7b9b1559a7)
- Suppress spurious warning about RCTCxxModule (569061dd83)
- Fix extreme
TextInput
slowness on Android (5017b86b52) - Correct draw path dimensions while doing even border, fixes blurred borders (c5ca26a0e5)
- Don't pass additional arguments to
requireNativeComponent
in.android.js
files (a51e8b19cc) - Prevent
RefreshControl
from getting stuck when a parent is scrolled horizontally (33ffa79a51) - Prevent crash due to unsupported ellipsize mode (85e33aaf90)
- Fix okhttp3 response handling in
DevServerHelper
(56d48bd9ec) - Fix
ReactInstanceManager
unmountApplication to supportReactRootView
recycling (4a9b2a7302) - Fix
NullPointerException
when emitting event usingUIManagerModule
(291c01f4ff) - Fix link to Android build guide (57e7556b8d)
- Fix Android open source test failures (3e0ebc7663)
- Fix view indices with LayoutAnimation (05b75b9ebf)
- Fix originalNode memory leak (8102e35271)
- Fix
ScrollView
with aTextInput
(2f1421dec7) - Disable onKeyPRess logic when handler not defined (41975f75d9)
- fix permission requests on pre-M android (4e1abdd74d)
- Deprecate
focusTextInput
andblurTextInput
(ce3b7b8204) - [BREAKING]
ImageResizeMode
onImage
is no longer exposed; check your usage ofresizeMode
; the same resize modes exist, but pass them as strings instead (870775ee73 by @TheSavior)
- Remove native extensions (7c5845a5a2)
- Remove Fresco ProGuard rules (07df36557c)
- Disallow nesting of
<View>
within<Text>
(e.g.<Text><View /></Text>
) (6a1b41643a - Removed deprecated
UIActionSheetDelegate
methods (5863b564f8)
During the RC testing of this version, a few issues that have been opened don't have yet a finalized solution ( 19827, 19763, 19859, 19955 ). We are aware of them and we hope that by releasing 0.56.0 the surface of developers interacting to find solutions to them will allow for faster resolution and an even better 0.56.1 release. So please check the already opened issues before submitting new ones.
If you are using Windows to develop React Native apps, we suggest you keep an eye on this issue in particular since there have been many reports of issues related to Win 10 and RN 0.56.
Welcome to the March 2018 release of React Native ! Over 81 contributors made 247 commits since February. Thanks for another exciting release.
Here are a few highlights:
- React Native is now using the MIT license
- Android TV device support
- Animated tracking with native driver - check out the silky smooth framerate
- Lots of Flow improvements
- Bugfixes
- Added support for animated tracking to native driver. Now you can use
useNativeDriver
flag with animations that track otherAnimated.Values
(b48f7e5605 by @kmagiera) - There's a new UTFSequence module in the library for common Unicode sequences (Emoji!) (54870e0c6c and 4761d5a83e by @sahrens)
- Added
contextMenuHidden
property for TextInput (2dd2529b3a by @amhinson) - Add
testOnly_pressed
to TouchableHighlight for snapshot tests (3756d41de1 by @sahrens)
- Added support for Android TV devices (b7bb2e5745 by @krzysztofciombor)
- Implemented style
letterSpacing
for Text and TextInput (5898817fc1 by @motiz88) - Bundle download progress is now shown d06e143420 by @janicduplessis)
- AndroidInfoModule now also returns Android ID (216c8ec04b by @L33tcodex0r)
- Introducing InputAccessoryView, "a component which enables customization of the keyboard input accessory view" (38197c8230, 84ef7bc372, and 6d9fe455dc by @PeteTheHeat)
base-line
metric exposure for Text and TextInput (51b3529f6c, 0dbe18375e, and 7630a614e4 by @shergin)- DatePickerIOS now has
initialDate
prop (446ce49e9b) - Expose version via
RCTVersion.h
'sRCTGetReactNativeVersion()
(30469ed001 by @LeoNatan) - Allow running multiple simulators simultaneously with
react-native run-ios --simulator ...
(2ad34075f1 by @koenpunt) - Introduced RCTSurfaceHostingProxyRootView for migration to RCTSurfaceHostingView (34b8876ac6 by @fkgozali)
- New UIManager API allowing intercept/delay mounting process (402ae2f01f and b90c1cf6c3 by @shergin)
- React Native has now adopted the MIT license (1490ab12ef and 26684cf3ad by @sophiebits)
- The HelloWorld template now exclude
*.jsbundle
files from Git (21231084db by @aneophyte) react-native-git-upgrade
now shows files merged with conflicts in red (e53a8f7097 by @alvinthen)ResolvedAssetSource
type to have all read-only members (4d0ee37293 by @sahrens)- Flow types improvements (b6c7e551a9, b98bf1e097, 80c18395e2, 70a3ececc3, f7343576fc, a817c64043, 3fd82d3c89, cd8128b2ec, 5035af80ec, 26734a8473, 321ba067a8, b6b80f6a70, f1316cab6c, 2520c645f8, 214da52fe7, dbdf43b428, 49396aa78d, 4895c645ea, a3c07c95ef, 49ffc9fada, and c129457d3a by @TheSavior, @yungsters, and @alex288ms)
- Better enable cross-platform support of WebSocket.js (b9be28915c by @rozele)
- Better error handling in the CLI around making directories (d2817f48a1 by @BridgeAR)
- Verify that the component passed to createAnimatedComponent is not functional (10b642a7af by @janicduplessis)
- Don't truncate in the middle of an emoji (9c8c597000 by @Vince0613)
- Loosen Platform check to allow better code sharing for out-of-tree platforms (84affbd6a3)
- In CLI, fix issue with
isInstalled
check for Android and references to unregister (ec884890b1 by @rozele)
- tvOS
onPress
magnification animation now works via thetvParallaxProperties
prop object takingpressMagnification
,pressDuration
, andpressDelay
(6c353fd7e9 by @JulienKode)
- In TouchableOpacity, trigger animation on
opacity
upon change indisabled
prop (9366ce416f by @maxkomarychev) - Fixed an issue encountered when using
react-native-vector-icons
(a759a44358 and 54dc11a5fb by @jeanlauliac and @t4deu)) - Add missing mock for Jest for
removeEventListener
method (59c7b2cfac by @MoOx) - Fix main size calculation from the aspect ratio (f751c3460e)
- Fix crash in Subscribable due to uglify-es (b57a78c3de by @iMagdy)
- Update
node-notifier
dependency to fix memory leak (860fcd458a by @rickhanlonii) - Fix issues with pollParams and link (ca8ce83cc3 by @grabbou)
- DevLoadingView now supports the iPhone X screen shape (47b36d3ff0 by @mrtnrst)
- Added bounds check to prevent ScrollView from scrolling to an offset which is out of bounds of the ScrollView (16c9e5b715 by @siddhantsoni)
- NetInfo
isConnected
works again (dbafc29e60 by @alburdette619) - In AlertIOS, fix duplicate var name declaration (6893a26bfb)
- Permit
react-native run-ios --device [id]
by passing port when running on device (f8fee0a631 by @jozan) - Fixed issue with
run-ios
whereEntry, ":CFBundleIdentifier", Does Not Exist
was being received (5447ca6707 by @blackneck) - Fixed problem in Text measurement on iOS (a534672e13 by @shergin)
- Fix crash when reloading in tvOS (3a3d884df2 by @dlowder-salesforce)
- Fixed a bug with positioning of nested views inside Text (7d20de412b by @shergin)
- Fix blob response parsing for empty body (f5207ba9c7 by @janicduplessis)
- Fix tvOS react-native init release build (3002c4eb98 by @dlowder-salesforce
- Fix RedBox from bridge reload due is not re-registering its root view (2e51fa5f5d by @fkgozali)
- Fix: incorrect line-height calculation (74e54cbcc4 by @strindhaug)
- Fix crashes with TextInput introduced in 0.53 (b60a727adb by @joshyhargreaves)
- Update ReactAndroid build script to support gradle 2.3.0 (d8bb990abc)
- Allow "unexpected URL" exception to be caught on Android when using fetch (da84eba318 by @jcurtis)
- Fix
onLayout
prop for TextInput (8a073c1d8b by @rozele) - Fix ViewPager when using native navigation (a1295e1707 by @ruiaraujo)
- Fix localization crash in DevSettingsActivity (427e464bb9 by @ayc1)
- Fix pinch crash in touch-responsive views (67c3ad4e6a by @tobycox)
- Fix IllegalStateException thrown in looped timing native animation (ef9d1fba23 by @kmagiera)
- Workaround android-only js module resolution issue (c20e0f94fe by @fkgozali)
- Fix ReadableNativeMap.toHashMap() for nested maps and arrays (15fa2250fd by @esamelson)
- Fix Android Sanity Buck version check (e0573225d5 by @hramos)
- Fixes the connection to Firestore by following whatwg.org's XMLHttpRequest send() method (d52569c4a1 by @samsafay)
invertStickyHeaders
can now be set from SectionList or FlatList (dd479a9377 by @dannycochran)
- Removed various types (b58e377961, ee26d9bcb0, d89517d60a, 852084ad45 by @TheSavior)
- Deleted
Systrace.swizzleJSON()
(3e141cb6c9 by @yungsters)
ReactInstanceManager#registerAdditionalPackages
has been removed; Create UIManager interface and extract common classes in uimanager/common (6b45fb2cb1 by @mdvacca)
- Remove callFunctionSync experimental APIs (19a4a7d3cb by @danzimm)
Welcome to the February 2018 release of React Native! This release includes work done by the React Native team and the community in January, and there are some big changes here after the holidays. Thanks for 270 commits from 87 contributors, you all are great! Here are a few highlights from the release:
- Long awaited Blob changes: upload, download, fetch locally, and more
- Sticky headers now work on inverted Lists
- Update to the newest React, which deprecated some lifecycle methods and added new ones β expect Yellowbox until React Native is updated
Space-evenly
is now there (sorry for the confusion with 0.52's release notes)- A lot of under-the-covers work on Yoga, iOS's Text and TextInput, and a ton of other areas
- Multiple crash fixes
The changelog is arranged by the customary added, removed, changed, and fixed plus internal; the changes are also organized by platform.
- β¨ Blobs now can be: made from Strings, loaded by File using a FileReader API, uploaded and downloaded via
XMLHttpRequest#fetch
, and fetched on files to a local blob consistently (be56a3efee and 854c2330eb by @satya164 and @fkgozali) - Dynamic node_module dependencies are now supported (b5e19adc02 by @jeanlauliac)
- Support sticky headers for inverted Lists with
invertStickyHeaders
(ecaca80d42 by @janicduplessis) space-evenly
is now supported (sorry for the confusion with 0.52 notes) (b1cdb7d553 by @gedeagas)- Platform plugins can participate in RNConfig,
link
, andunlink
β keep an eye on react-native-window's use of it! (a40bfa730e by @rozele) - Add
minify
flag to react-native bundle command (3f969cb1db by @tomduncalf)
- Added ScrollView support (6fa039dab0 by @MartinSherburn)
- Bundle download progress is now shown like iOS (d06e143420 by @janicduplessis)
- Add back ability to customise OkHttp client (22efd95be1 by @cdlewis)
- ScrollView now supports smooth bi-directional content loading and takes new prop
maintainVisibleContentPosition
(cae7179c94 and 65184ec6b0 by @sahrens) - Allow substituting a default font handler (a9c684a0ff by @mmmulani)
- Add
accessibilityElementsHidden
prop (31288161e1 by @aputinski) - Add EXTRA_PACKAGER_ARGS extensibility point on
scripts/react-native-xcode.sh
(PR rev 0d4ff1b7ea by @brunolemos with landing assists b8c86b8dec and 0d4ff1b7ea)
- Remove internal
utf8
utility - use the utf8 package now instead (431670f908 by @mathiasbynens)
- Removed outdated assertion in RCTShadowView related to breaking change in Yoga (e3ff3cf6cb by @shergin)
- Fix an issue when swapping to and from the
visible-password
orphone-pad
keyboard types. (164f6b6afd by @BrandonWilliamsCS) - Remove redundant config in AndroidManifest.xml (d7a9ca2893 by @gengjiawen)
- Delete RCTBatchedBridge (816d417189 by @mhorowitz)
- Docs clarifications (7abffc3f8c by @IgorGanapolsky)
- β‘οΈ Text and TextInput have been re-implemented from the ground up for performance, flexibility, and reduced technical debt (2716f53220, 74963eb945, d7fa81f181, 74963eb945, 6c4ef287ad, ebc98840e9, d7fa81f181, 7d1ec7a3dc, 52648326e6, 6bb8617f3a, 5dbb3c586c, 7e7d00aebe, 46fd864348, 9dfa2e7f3c, 8a882fe6d6, and 0f9fc4b295 by @shergin and @hovox)
- Image's
resizeMode="center"
is now documented and has an example present (be7037fd8e by @motiz88) - Geolocation API no longer timeouts when
skipPermissionRequests: true
(5c17db8352 by @ngandhy) - Rounding pixels is now done with an algorithm from Yoga rather than React Native, reducing debt and improving performance (ceb1d1ca5b and 114c258045 by @shergin)
- Numerous refactors around bundle handling and the
DevServerHelper
(644123aa6f, e756251413, 6e44356c9b, 1019bda930, 06d8f96a64, f88c9d6382, and 108f9664bf by @davidaurelio)
- Fix JS debugger issues related to CORS (29f8354c19 by @njbmartin)
- Keep the
.gitignore
d files during thereact-native-git-upgrade
process (7492860ffb by @ncuillery) - Fix re-render case on SwipeableRow (a580a44b0d)
- Fix display of syntax error messages when HMR is enabled (2b80cdf1bb by @ide)
- Add fixtures to metro blacklist in order to let build succeed (54dc11a5fb by @t4deu)
- Don't crash when using decimal
Animated.modulo
values withuseNativeDriver: true
(6c38972327 by @motiz88) - Don't crash when receiving unknown websocket IDs (1a790f8703 by @sunweiyang)
- Dont crash when
NativeModules.UIManager.showPopupMenu
method calls error callback (0c18ec5b9c by @dryganets) - Maintain cursor position when TextInput's
secureTextEntry
changes (09b43e479e by @jainkuniya) - Race condition fix in Dialogs module (d5e3f081c6 by @dryganets)
- Fix NPE in Android Switch during measure (7b1915e74d by @4ndroidev)
- Fix initialScrollIndex (ef596dec49 by @olegbl)
- Fix redbox style (f363dfe766 by @ayc1)
- Fix crash due to mishandling of UTF-8 in progressive download. (9024f56bda by @dryganets)
- Fix crash because ClassCastException fix: getText() returns CharSequence not Spanned (46cc4907e3 by @dryganets)
- Fix and re-enable "view flattening" optimizations (877f1cde2e by @mdvacca)
- Fix Crash when CameraRoll is getting assets from iCloud and no filename is provided (2ae24361c5 by @pentarex)
- Fix Xcode Archive task failing if project path contains whitespace (8aa568e867 by @jevakallio)
react-native link
has been fixed to correctly link iOS and tvOS targets (a63fd378a4 by @dlowder-salesforce)GLog
fix on case sensitive APFS macOS (2fef1bafc8 by @hovox)- Fixed issue where you cannot launch tvOS app on Apple TV simulator (afd988f85a)
-
A massive amount of Yoga optimizations, cleanups, refactors, and test fixes (62d01006a1, 1475fc4856, 9daa17458a, d4517ddb9f, ca91f0e3ac, 34b7ec82b5, fda861a889, 9f7cedbe14, ac1c8c265e, fcf2c7cf61, 2b27f1aa19, 210ae5b95a, 82088580ab, 7f94bff89a, bd7bf94af9, 2fe65b032e, 9658d9f82b, ee5c91c031, 64d530ba07, 400a29e151, f75e21f1ca, 528bbacf6b, be8e7c6e65, d0f7d4d107, 4b4959a21c, fdef3784f0, 831a1bb4b1, 2a22d998f8, 9f57dedc17, and ff2658c3de by @priteshrnandgaonkar, @passy, @ryu2, and others)
-
π§ Lifecycle methods were renamed to be consistent with React RFC6 β note that there are Yellowbox warnings right now because of this, it's work-in-progress (6f007e8957 by @bvaughn)
-
Some autogenerated mystery string files were added (c7846c4bfb, bb6fceac27, 8bd00a2361, faa9519021, f49f7932d5)
-
Improvements to the cli's implementation (1673c570f9, 752427b7b8, and 619a8c9f29 by @arcanis, @voideanvalue, and @rozele)
-
Measure touch events from nearest "root view" (a70fdac5bd by @mmmulani)
-
Allow to attach the HMR server to an external http server (8c6b816caa by @rafeca)
-
Split folly/Memory out from headers-only targets in Buck (b8e79a7e8b by @mzlee)
-
Code cleanup of ReactHorizontalScrollView in Android (71ec85f24c by @mdvacca)
-
Always create a debugger websocket connection when in iOS dev builds (fa334ce464 by @bnham)
-
Make the React Native HMR client extend from the generic metro HMR client (9a19867798 by @rafeca)
-
Removed use of xip.io (40a8434bde by @jvranish)
-
Fix Buck dependencies (cec2e80fc2, 4f6c157250 by @swolchok)
-
Fix permissions on test script (42c410ac84 by @mzlee)
-
Better handling exception in loadScript() (3fbf7856d9)
-
Fix ESLint upgrade "parsing error" (9d214967d2 by @zertosh)
-
Fixing π€‘ in RCTSurfaceRootShadowView (5fba82deff by @shergin)
-
Handle invalidation error in RCTObjcExecutor (493f3e8da5 by @fromcelticpark)
-
Check for nullptr when accessing isInspectable method (70d23e82ad by @fromcelticpark)
-
Introduce new Fabric API in RNAndroid (2d35bde101 by @mdvacca)
-
Fixing Prepack model for latest global.nativeExtensions changes. (01a58d182a by @NTillmann)
-
General code cleanup: unused code and configurations (e233646d09 and e7010348d8 by @bvaughn and others)
-
Add support for finding multiple views with NativeIds using a single listener to Android (f5efc460ad by @axe-fb)
-
Add CountingOutputStream (a5e135aed6 by @hramos)
-
Changes from Prettier (b815eb59be, e758cb7f39, bf9cabb03c, and a5af841d25 by @shergin)
-
Typos in code (8ffc16c6e7 by @ss18)
-
Support for inherited events in view managers (2afe7d4765 by @shergin)
-
Flow types changes (3fc33bb54f, e485cde187, 83ed9d170b, 52ffa5d13e, d37cdd97ae, 6e7fb01c02, d99ba70c49, bcfbdf4fbe, and a1c479fb3b by @alexeylang, @sahrens, @yungsters, and @zjj010104)
-
Give IInspector a virtual destructor for correct InspectorImpl destruction (2a3c37f424 by @toulouse)
-
Migrated
SourceCode
andDeviceInfoModule
out of Native Modules (47fe52380a and 429fcc8cab) -
Jest config change as part of bringing back support for the
assetPlugin
option in Metro (af6450c660 by @ide) -
Nested virtualized lists should receive recordInteration events (ae2d5b1e68)
-
Upgrade connect dependency (709ede799c by @rafeca)
-
xplat/js: asyncRequire: redirect async modules to control modules (5e11b8870a by @jeanlauliac)
-
More progress towards split bundle support (1a1a956831 and 9e34cbda9d by @fromcelticpark)
-
Implement bundle sync status (88980f2ef7)
-
Various improvements to RCTSurface and RCTShadowView (7d9e902d72, 06ebaf2205, 6882132421, and 193a2bd4cd by @shergin)
-
Progress towards experimental ReactFabric and FabricUIManager (b1e5c01483, fa0ac92b2c, 94dac23583 by @fkgozali)
-
(almost) kill fbjsc (702b7e877e by @michalgr)
-
Refactored bridge ReadableNativeMap and ReadableNativeArray to add centralized accesses (7891805d22, 28be33ac34, and 5649aed6d3)
-
Removed unused core from Image.android.js (ce3146a6f3 by @shergin)
-
Capture StackOverflowExceptions triggered when drawing a ReactViewGroup or ReactRootView and log more debugging information for it (1aac962378 and 4d3519cc6a by @mdvacca)
-
babel-preset-react-native
: only require plugins once (df6c48cf36 by @davidaurelio) -
Report module id as string and as double, in case of invalid values are passed to nativeRequire (8f358a2088 by @fromcelticpark)
-
More work moving build configurations to Skylark (d3db764f38, 869866cc5c, a8c95d2417, and 79a63d040f by @mzlee, @ttsugriy, and others)
-
[RCTShadowView isHidden]
was removed (c19bc79688 by @shergin) -
Remove unused
packagerInstance
option and rename it toserver
(bbbc18c4ee) -
The blog has moved to react-native-website (e16d67340e by @hramos)
-
Remove SoLoaderShim, use SoLoader (fc6dd78935 by @foghina)
-
Removed broken link for 'Getting Help' in the README (b3a306a667 by @rickydam)
-
Changed to use boost-for-react-native cocoapod, which speeds up
pod install
a ton; this was in 0.53 originally but had to be re-added (d40db3a715 by @CFKevinRef) -
Remove fbobjc's RN copy (af0c863570)
-
Measure time to create ReactInstanceManager (6224ef5301 by @alexeylang)
-
Upgrade create-react-class to v15.6.3 (74f386633d by @bvaughn)
-
Upgrade react-devtools to v3.1.0 (8235a49a33 by @bvaughn)
-
Upgrade flow to v0.65.0 (7aba456b04 and 298f3bb69a by @avikchaudhuri and @mroch)
-
Upgrade Jest to v22.2.1 (46f4d3e1bc and 24e521c063 by @mjesun)
-
Upgrade ESLint to v4.17.0 (plus update related deps) (bba19e846e by @zertosh)
-
Upgrade React to v16.3.0-alpha.1 (03d7b2aa0e and 5e80d95e03 by @grabbou and @hramos)
-
Synced React and ReactFabric render (c7ed03a95c, 13829751b1, and d676746f14 by @bvaughn)
-
Upgrade metro to v0.26.0 (9e6f3b8aff, ce50f25d22, e9b83e608e, 2fe7483c36, 0f96ebd93b, 0de470ec19, e8893a021f, and b1d8af48ae by @rafeca and @grabbou)
-
Add Context to Redbox report api (e3c27f585a by @ayc1)
-
GitHub bot commands have been disabled in the short term (b973fe45bd by @hramos)
-
Various CI configuration changes (17bd6c8e84, 51b6749c07, a2f3ba864e, 2ef9b7f2da, 40b17926bb, 613afbab7f, da8bec9f8b, fa11faecb6, f50af7f8a4, 9227ba73ab, 365a4d4b43, b58d848d9c, c8e98bbaf5, f5975a97ad, and 605a6e4031 by @hramos, @grabbou, and @dryganets)
-
Restore copyright header (4f883bd0bc by @hramos)
-
Trim docs that are already present in the open source docs site (28d60b68ad by @hramos)
-
Fix obsolete instructions about editing docs (2f46712074 by @ExplodingCabbage)
-
Fix links to beginner friendly issues (c355a34de1 by @hotchemi)
-
Typos in comments and log messages (d2c569795c by @ss18)
-
Don't run the Danger CI tool through Flow (1ea3065feb by @hramos)
-
Namespace custom ESLint rules through eslint-plugin-lint (488b6825c5 by @zertosh)
-
... and now we're at 0.54 π (67e67ec83c, 21dd3dd296, 49e35bd939, 829f675b8b, and 294d95a236 by @grabbou and @hramos)
Welcome to the January 2018 release of React Native. The CLI now supports --port
for both platforms, a few components were made to support consistent props across both platforms, and various fixes were made. There was a lot of under-the-cover work done with more test improvements and dependency updates. 118 commits were made by 43 contributors π.
- β¨ Keyboard events now include
easing
andduration
(4d33080f0f by @sahrens)
react-native run-ios
now supports the--port
argument for metro (33d710e8c5)
- On Android, ScrollView now takes
snapToInterval
like iOS (ddd65f1ba9 and b2848a54b0 ) - On Android, TextInput now takes
onKeyPress
like iOS (c9ff0bc212 by @joshyhargreaves)
- β¬οΈ Metro to v0.24.2 (2e008bc464 and 0b5e8b4852 by @rafeca)
- β¬οΈ Flow to v0.63 (6b95c4fb14 by @gabelevi)
- β¬οΈ Danger to v2.0 (b750e3b21b by @hramos)
- β¬οΈ Jest to v22.0.0 (4803419dc8 by @mjesun)
- π Bundler is now called Metro Bundler in the terminal (654d7595fe by @edcs)
- π Update getting started url on Android CLI (6661633390)
- π³ Dockerfile uses newest Android SDK, Buck, and new Docker tags have been pushed (4fbfbe6bb0 and c547f783c4 by @hramos)
- π Update repo docs to use HTTPS (33a2e533b7 by @him2him2)
- π¨ Make ScrollResponder follow code style (45e6fcdba0 by @TheSavior)
- VirtualizedList now requires a windowSize greater than 0 (3559e42c55)
- react-devtools works with emulator and real devices now without needing to tweak the devServer value (fa574c6092 by @jhen0409)
- π Clarify use of Flow props types in react-native-cli's template project (9b147a53d1 by @hramos)
- π Add docs for
isInspectable
(59c7967627 by @bnham) - β More Flow improvements (Text, SectionList, and others) (f71f4e7906, 632f1202ab, and a8391bde7d by @yungsters, @samwgoldman, and others)
- Various code cleanup to satisfy linting errors and standards (b0319f3293, dd4611721d, and 7f58189605 by @ayc1, @grabbou, and @ide)
- π₯β‘οΈ iOS UI Manager cleanup and optimizations (0ec1017660, 0ae4c47daa, 2679f3efb6,and d9e5b313bb by @shergin)
- If the inspector tries to handle a wrapped event but there is no connection, log a warning rather than a Redbox (30da2622e2 by @bnham)
- Various under-the-covers changes around the bridge, RCTShadowView, RCTSurface, and a few others (c3139d798a, 2789ba016b, b8e60a3ca3, 099b28006b, b263560c73, 19a9c5e41d, d3b41e0da3, b2a251948f, 870bc4807a, 176a578238, c491b22233, c75612219e, andc01a171ed8 by @shergin)
- Changed to use boost-for-react-native cocoapod, which speeds up
pod install
a ton (d40db3a715 by @CFKevinRef)
- Include scroll momentum info when there are scroll events from Android (c49d249fd7 by @wwalser)
- Yoga's mkfile for Android now uses wildcard instead of manual file addition (d89901fa60 by @priteshrnandgaonkar)
- TextInput no longer has the
autoGrow
prop, since this is platform-default behavior now (dabb78b127 by @shergin)
- Updates to the bridge in order to enable future rendering optimizations (d2dc451407 by @shergin)
- Do not set
minify=true
when calculating the list of dependencies for the CLI (4a1bb8fe8d by @rafeca) - π· Update CODEOWNERS now that the docs are in a separate repository (85ff264445 by @hramos)
- Fixed a broken link in react-native-git-upgrade's readme (bbedf2da9a by @Taym95)
- π€‘ Do not use Node 8.x specific Stream.final for FS mocks (4216cdef13 by @hramos)
- Fix virtualized cell keys for list headers and footers (a010a0cebd)
- Fix warnings of casting and null pointer handling in Yoga (a8d4666651 by @priteshrnandgaonkar)
- Fix broken buck failures on master (4e767013ed by @hramos)
- RefreshControl appears correctly when expected on initial render of a FlatList again (ed5872e2cc by @vonovak)
- Fixed JS debugger CORS issue (29f8354c19 by @njbmartin)
- Fix position of dev loading view on Android API < 20 (7ff6657985 by @kmagiera)
- Fix Modal not disappearing when navigating from inside a Modal to another activity (e5c2a66897
- Fix regression introduced where layout wouldn't occur in some situations (46be5bf71c by @shergin)
- Fixed double initial prop applying for newly created views (0ec1017660 by @shergin)
- tvOS build now works again (3bd89867d6 by @dlowder-salesforce)
Below is a list of the remaining, low-level changes that made it into this release of React Native.
- Remove "prepareReact" call from the bridge (80f9e1f7de and 56a42e57d0 by @fromcelticpark)
- Add explicit componentControllerClass to CKComponent for RCTSurface (ab972708a8)
- Changes to RCTShadowView to increase RCTSurface performance (f96f9c5fd6 by @shergin)
- Designated methods to control dirty propagation (af226ef949 by @shergin)
- Add missing tvOS header (49cbca7464 by @grabbou)
- On Android, seperate logic to initialize JS from starting the app (4996b9aeb4 by @axe-fb)
- β»οΈ JS linting was cleaned up: removed unused libs, strengthened the rules, removed unneeded rules, prevent disabled tests, and more (2815ada238, 183c316f4c, 9c67e749d8, 79902f99b8, 9a36872f0c, 67a3c42d1a, b826596700, a1a0a69546, and 11a495cb32 by @TheSavior)
- π· Separate JS lint and flow checks from tests (5ea5683d01 by @hramos)
- π· Fix Buck in build config to enable CI (796122d8f3, 7c3a61f3b6, 82b123e744 by @grabbou)
- β»οΈ Various refactoring within the YGNode implementation (28968e2c0b, 0a9e652bdd, 6627d7723c, and d85da86dc7, a163f70f87 by @priteshrnandgaonkar)
- Fix ReactLegacy and delete RCTViewControllerProtocol (a0ff8c7706 by @javache)
- Define internal FB macro for OSS builds; remove some unused definitions (077c3ab349 and (a6a66c5b39 by @ttsugriy)
- RNTester: Relax Bridge Release Check (e3c6f38773 by @yungsters)
- Remove embeddedBundleURL from the asset resolver (489b98bf10)
- Do not set FB_ASSERTION_ENABLED (4cdbb77c33 by @priteshrnandgaonkar)
- JSBigString to MAP_PRIVATE not MAP_SHARED (f9f40cd3e4)
- Fixed black ARTSurfaceView (5c8481e836 by @shergin)
- Kill orphaned marker end in JSCExecutor (6ad1f0957a by @michalgr)
- Make YGNode as c++ struct with properties exposed through accessors (f1055bcac8 by @priteshrnandgaonkar)
- π ...and now we're at 0.53.0-rc.0 π (0b996577e3 by @grabbou)
This changelog has been prepared by Ryan Turner (@turnrye) - thank you for your time and making such a detailed changelog π₯π₯
This release had a lot of work around the bundler and packager, a ton of bugfixes, and updates to many of React Native's dependencies. Lots of under-the-hood work was done as well to improve the layout engine. Happy new year!
If you would like to help us with the next release changelog, please contact @grabbou
- Prettier has a config and an npm script; try it out with
npm run prettier
(164591218f by @janicduplessis) - Debug JS in Nuclide is now an option in the dev menu π (7c7108a1e8 and de424cc291)
- Introducing PlatformOS β it looks a lot like Platform, but with a simplified API (5ee27ff755 by @brishin)
- New experimental RCTSurface: measure and layout a UI in a thread-safe and synchronous manner (be6976d6fa, 7df58e23a3, e75bd87a76, aa83b5a0ca, 081f7d14ad, da17b237e1, e9e0cd7ab8, 43b2509320, ba6075120a, d71d28f094, 4d37cf0fbc, and d021dd25da by @maicki and @shergin)
- Experimental SwipeableRow's datasource now has a
getLastRowID
method (d79e245d19) - React Native monthly #5 was added (3c5a55ddc2 by @tenodi)
- DatePickerIOS now takes locale π (fd9c3618fc by @RobertPaul01)
- CameraRoll can now deletePhotos πΈ (554e873f58 by @fxfactorial)
- There's now an API to specify a different directory for iOS image assets (8f9b291224)
- Support for custom accessibility actions on iOS (36ad813899 by @ericdavmsft)
- Ignore YellowBox warnings with
YellowBox.ignoreWarnings([...])
rather thanconsole.ignoredYellowBox = [...]
(26038f50bb by @wli)
- Metro-bundler is now metro, and it's v0.24.1; there were some performance increases at the cost of a few breaking changes; improved tests of the bundler too (0bbd9f042a, a2fd3fcef8, 503b4521a6, 654fed46f4, 0091496891, aba148f733, 3d5dc872a4, 48019a0c2a, ecec4319c4, f4d627c8fa, f871d25eb4, a7b231a327, 830b431453, 29dafa1a86, 7a5d5a4035, 4cd685a1e0, d326c86051, 231c7a0304, 7d969a05de, ae517307e7, f587f8d51d, fbf0aed3ac, e9393f694d, and 968c88d141 by @cpojer, @hramos, @jeanlauliac, and @rafeca )
- React is now v16.2.0, and it took react-test-renderer along with it; now with more fragments! π (c7f37074ac and cd938d731c by @bvaughn)
- Jest is now v21.3.0-beta.13 (16bbd908e7 and ec2ea58e57 by @mjesun)
- Flow is now v0.61.0, and there were a ton of Flow fixes/coverage improvements made (914ae93336, eb0d6470e5, c8e72bb8b8, 2d4bedba0f, e0202e459f, 2be3ae1ff2, 22a1419900, 6ae0b344e5, 76a2ca4c9c, 3259353fce, e6c1fb7212, 61d046be3c, 820cfa1f3b, 240039c6f2, 343c5a97a0, 5f8d8e90c2, and da047966e4 by @Ashoat, @calebmer, @cdlewis, @deecewan, @grabbou, @jamesisaac, @mroch, @nmn, @nmote, @sahrens, @samwgoldman, @TheSavior, and others)
- react-devtools-core is now v3.0.0 (a7d46ea970 by @rsnara)
- Split out docs to their own repo (and a few formatting fixes along the journey) π (2d86618e7e, 64d80b13db, 3362da421c, 75123c614b, and 79e24ede40 by @hramos).
- TouchableHighlight now has a default delayPressOut value of 100; it was also refactored a bit for style (9a31fa5fd6 by @sahrens)
- When in a dev build, more robustly validate arguments for native methods (ea2e2c54cb by @mhorowitz)
- On integration tests, report all errors (3bcb912786 by @sahrens)
- Yoga has less technical debt, thanks to replacing YGNodeList with vectors (b08a912f11 by @priteshrnandgaonkar)
- Yoga is now cpp, compiled as c++1y (d7ab9496bc by @priteshrnandgaonkar)
- Bundle segments are handled better and used more (681278947e, a47431ed74, 963c61d4d5, b9f21dc2be, f1258181ee, and 1988ba1d79 by @fromcelticpark and @jeanlauliac)
- packager-worker-for-buck has better tests (7fd5aa84a1 by @jeanlauliac)
- RCTUIManager has less technical debt (46be5bf71c, 60dc9bed00, and 21714fe197 by @shergin)
- Numerous bridge changes, especially around URL resolution (e7bd0f056b, 260e6d2355, 4894ac430d, b983de9c54, b0193b098c, ae5ef653cb, and 1d6ce2311f by @fromcelticpark and others)
- Various cleanup and refactoring (053776338e, 0984f29a32, 6c70975689, d950dc6a21, 70c359000a, cfa2bbf2f6, and 850efa8650 by @bnham, @priteshrnandgaonkar, and others)
- Jest preprocessing now uses the AST from metro (2ae255a6ea and d5b59517c2 by @rafeca)
renderApplication()
now supports async initial render (1b22d49ae8 by @bvaughn)- Welcome @lwinkyawmyat to the React Native GitHub Issue Task Force (4ebe76d559 by @lwinkyawmyat)
- Native components on Android register lazily rather than via ViewManager (1b71e03932)
- Android debug overlays (like RedBox, dev menu, loading) are no longer are system overlays; they're now part of the currentActivity (d19afc73f5 by @kmagiera)
- Improve iOS's accessibilityLabel performance by up to 20% π (19b0a65c5e by @chendo)
- Fix
backgroundColor
on TouchableHighlight (5a1171ebfa by @sahrens) - Various corrections in messages, comments, and docblocks (58c3bc4901, 354e1cb508, 58edf024a1, b9e7006cc6, d2f0abdf4e, 94cd9f5591, 8547b7e111, 44c16499fd, c91d87213e, 85503a0612, and 5b83dbe25a by @behrends, @bvaughn, @charpeni, @dsandmark, @gusgard, @nkabrown, @petterh, @solon, @swashcap, and others)
- Various dev doc and project doc fixes for correctness and completeness (92c0980540, 3c9092acf3, e906525e84, 60828566a7, c49b97c4ef, 45ed142596, cb6ec7c321, 9ec9567390, e5a4ea97d9, c544c0d2dc, 33d5e5bd5a, 95dac8db60, 6e1db1f1ee, e11d496e9d, 6da897945f, 0ff576081b, 1ee64ccb8a, 3aa38564f7, 6b26971a56, and de3976a486 by @adrianomelo, @blargity, @charpeni, @garlic-rice-with-butter, @gwmccull, @harikrishnanp, @hramos, @johnthewilson, @jsdario, @kelset, @patrickkempff, @ryanml, @tiagomoraismorgado88, @timwangdev, and others)
- Stop
RCTRefreshControl
from jumping around (2e1707d0e6 by @sophiebits) - Fix a race condition in the animation module (515eb0e801 by @mhorowitz)
- Fix Windows local-cli's to not wrongfully identify as globally installed (ca106043fc by @sballew)
- Fix Jest mocks for NetInfo, Dimensions, and ScrollView modules (7fb3a9229d, 11a2a35c63, and 0c8a3e4f79 by @alvaromb, @timwangdev, and @uk-ar)
- packager-worker-for-buck:
transformCommand
: add missing test (73a01be9bc by @jeanlauliac) - Fixed issue where CLI wasn't following the config value for postMinifyProcess
when its running with
dev=false
(6d92046c56 by @rafeca) - Fix asset resolver url handling (28d5d6baf1 by @fkgozali)
- Fix crash when destroying catalyst (f1015664e9)
- You can now
justifyContent
while you'reminWidth
ing andmarginLeft
ing; before the justification wasn't honored (f5becebc07 by @woehrl01) marginLeft: auto
andalignItem: stretch
now play nicely together; before the width and height ended up incorrect (5f99b1a55f by @woehrl01)- Fix assertion preventing YGNodeLayoutGet* with YGEdgeEnd (a383b8ca05 by @justjake)
- Fix shrinking in non-strech alignments (1d62848535 by @woehrl01)
- Correctly calculate min/max percentage constraints (4fdaf2de98 by @woehrl01)
- When running
react-native-git-upgrade
, don't execute git's hooks (0182086350 by @adrienthiery) - When running
react-native-git-upgrade
and failing with a signal, return that to the terminal (b9a5862f67 by @mateusz-) - In KeyboardAvoidingView, don't mistakenly try to layout when a hardware keyboard changes (ad4450ac13 by @koenpunt)
- Don't endlessly collect websockets when not connected to the packager (dev memory leak) (1e1e491246 by @mmmulani)
- Fixed a bug in the sample project random
selection
prop that made it not-so-random (766f020e68 by @rozele)
- Explicitly
#define isnan __builtin_isnan
for Android clang-5 to mimic gcc's default behavior (f8fe6b0c70) - Correctly update NetInfo on Android even if connection types change while the app is in the background (e6f542d620 by @berickson1)
- Direction-aware borders now work with Android APIs >= 17 (7170543e80 by @rsnara)
- Don't throw BadTokenException and IllegalArgmentException when showing or dismissing Modal on Android (e57a43b97a)
- Fix Android crash when blurRadius is between 0 and 1 (dc01eff72d by @jamesreggio)
- Fix
borderRadius
with Android API level < 18 (5aa1fb3ff3 and ca7fe72c31 by @rsnara) - Make Android
lineHeight
behavior match iOS's π (3f1b021506) - Fixed autoscroll to cursor on Android TextInput (0bef872f3f by @shergin)
- Fix logging unpacking time on Android when it happens concurrently with eager unpacking (028b64bcd3 by @alexeylang)
- Prevent an Android crash when TextInput has
selectionColor
defined but there is no drawable cursor (1e18d907bf by @gpeal)
- Don't have Xcode warnings for YGDefaultLog in newly created projects (72e762d4bc by @woehrl01)
- iOS RCTEventEmitter uses a
double
for count, not NSInteger (eaa84997ce) - Fix
isNuclideDebuggingAvailable
on iOS (59c3e33f63) - iOS ScrollView is now rendered correctly with RefreshControl (75d62bf0a8 by @vonovak)
- Fix a crash when keyboard is visible and bridge reload happens on iOS (d9c658566a by @fromcelticpark)
- RedBox now appears beneath the status bar on iOS (33cefc1760 by @adamjernst)
- Fractional border widths on iOS are now the right size, honoring insets (15179f1798 by @Nikita2k)
- Implement
requiresMainQueueSetup
in RCTTVNavigationEventEmitter to satisfy Xcode warning (ee3532b5c2 by @charpeni) - Support the iPhone X in the sample project's header (ad4b124aa1 by @vincentriemer)
testID
works on TabBarItem on iOS (e19d9dec9b)- On iOS, don't error on the first live-reload of large codebases because of too little wait time (b6f1a6085f by @lelandrichardson)
- Prevent iOS crash on receiving bad unicode in XMLHTTPRequest (1c04ceeb4b by @cdlewis)
- Define
pod_target_xcconfig
for PrivateDatabase (38b96cd7bb by @ide) - Fixed podspec include/excludes around tvOS (ba1d7e92e4 by @yygene)
- Don't spam the logs for iOS when receiving
ECONNREFUSED
on connecting to packager (b1701ccaef and ff3dc2ed19 by @adamjernst) - Don't crash Systrace when debugging JS remotely on iOS (e8eec24706 by @alexeylang)
- Removing
reactBridgeDidFinishTransaction
from RCTScrollView (a255204e3e by @shergin) - Removing inherited background color optimization from RCTText to reduce code complexity β please give feedback if you find performance differences! (8c8944c10f by @shergin)
Below is a list of the remaining, low-level changes that made it into this release of React Native.
- Foundational work for a new justifyContent value space-evenly (1050e0b476 by @woehrl01)
- Add Systrace-based telemetry to Hermes GC (05e862d48d)
- Unify Systrace native hook argument passing (52e3ae9063 by @amnn)
- Use different symbols for SystraceSection depending on
WITH_FBYSTRACE
(03956c4ecf) - Don't set global.performance to undefined if it was initialized already (dfebcb70a5 by @alexeylang)
- Autofixes for migrating to Buck's source-only ABI feature (801cbdb047 by @jkeljo)
- Add remote API to uninstall the global error handler in RN (1d16923063)
- Add RCTLibraryPathForURL in RCTUtil (2fecbf6171)
- Fix sections that come from React Fiber (1f40c95076 by @alexeylang)
- Fix boolean conversion in sync RN method calls. (dd888d3346)
- Fix
embeddedBundleURL
update situation (d1fc8ef3a3) - Remove
android_react_native_perf.use_separate_ui_bg_thread
experiment. (4f886a29a1) - ScrollView related files were moved to dedicated folder (098a63a1ce by @shergin)
- move page registration logic in to jsinspector (bef7967f9a by @bnham)
- Type global hooks as function pointers (eca51eb46a by @johnislarry)
std::string
toconst char*
(b952365ba6 by @johnislarry)- Allow extending props supported by native animations (71751e9cc7 by @andrewimm)
- Meyers singleton jsc error extractor (434f432d5d by @johnislarry)
- Do not overwrite the same text in TextInput (29f3f55298)
- Renaming uiManagerWillFlushUIBlocks -> uiManagerWillPerformMounting (0a8721c340 by @shergin)
- Skylarkify flags macros. (ed2bfcb35a by @ttsugriy)
- Skylarkify
config_utils_defs
macros. (88f6f69152 by @ttsugriy) - Round size geometry for Button and RichText components. (4034febb7e by @iaroslav-pavlov
- Temporarily patched Map/Set non-extensible check into RN dev renderer (a99f0d6100 by @bvaughn)
- Run buildifier over all BUCK files (d674d48a7b by @zertosh)
- Pass
scriptURL
to RCTTestRunner (266ab7a006) - Make RCTNativeModule::invokeInner explicitely return
folly::none
in case of error (0ac5a5230c by @fromcelticpark) - Make RCTPackagerConnection a singleton (9180d4eb82 by @adamjernst)
- Register split segment paths with RAMBundleRegistry (cff0d8e0e5 by @fromcelticpark)
- check if listener is still in the set before calling
onHostResume
(ad89ea7b50) - export SeparatorsObj type for re-use in ListItems etc. (c6fe101cdc by @sahrens)
- Do not mark node as dirty if, new and old values are undefined (41da6e3128 by @woehrl01)
- Remove RAMBundleRegistry subclasses (6ecae73fe5 by @fromcelticpark)
- Fix
minimumViewTime
in ViewabilityHelper (d19d137cc1)