Releases: react/react-native
September 2018
See the changelog here
June 2018
March 2018
February 2018
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-evenlyis 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.
If you want to get involved in the process of preparing releases and making changelog (yes, we need your help!), please get in touch with me.
We keep the draft of changelogs here: https://github.com/turnrye/react-native-changelog. Visit this repository for tracking the progress of upcoming releases and suggesting improvements to the current one.
Added
- ✨ 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 (be56a3e and 854c233 by @satya164 and @fkgozali) - Dynamic node_module dependencies are now supported (b5e19ad by @jeanlauliac)
- Support sticky headers for inverted Lists with
invertStickyHeaders(ecaca80 by @janicduplessis) space-evenlyis now supported (sorry for the confusion with 0.52 notes) (b1cdb7d by @gedeagas)- Platform plugins can participate in RNConfig,
link, andunlink– keep an eye on react-native-window's use of it! (a40bfa7 by @rozele) - Add
minifyflag to react-native bundle command (3f969cb by @tomduncalf)
VR Specific Additions
- Added ScrollView support (6fa039d by @MartinSherburn)
Android Specific Additions
- Bundle download progress is now shown like iOS (675f142 by @janicduplessis)
- Add back ability to customise OkHttp client (22efd95 by @cdlewis)
iOS specific additions
- ScrollView now supports smooth bi-directional content loading and takes new prop
maintainVisibleContentPosition(cae7179 and 65184ec by @sahrens) - Allow substituting a default font handler (a9c684a by @mmmulani)
- Add
accessibilityElementsHiddenprop (3128816 by @aputinski) - Add EXTRA_PACKAGER_ARGS extensibility point on
scripts/react-native-xcode.sh(PR rev 2122140 by @brunolemos with landing assists b8c86b8 and 0d4ff1b)
Removed
- Remove internal
utf8utility - use the utf8 package now instead (431670f by @mathiasbynens)
iOS specific removals
- Removed outdated assertion in RCTShadowView related to breaking change in Yoga (e3ff3cf by @shergin)
Android specific removals
- Fix an issue when swapping to and from the
visible-passwordorphone-padkeyboard types. (164f6b6 by @BrandonWilliamsCS) - Remove redundant config in AndroidManifest.xml (d7a9ca2 by @gengjiawen)
iOS specific removals
- Delete RCTBatchedBridge (816d417 by @mhorowitz)
Changed
- Docs clarifications (7abffc3 by @IgorGanapolsky)
iOS Specific Changes
- ⚡️ Text and TextInput have been re-implemented from the ground up for performance, flexibility, and reduced technical debt (2716f53, ef4214a, 0009909, 74963eb, 6c4ef28, ebc9884, d7fa81f, 7d1ec7a, 5264832, 6bb8617, 5dbb3c5, 7e7d00a, 46fd864, 9dfa2e7, 8a882fe, and 0f9fc4b by @shergin and @hovox)
- Image's
resizeMode="center"is now documented and has an example present (be7037f by @motiz88) - Geolocation API no longer timeouts when
skipPermissionRequests: true(5c17db8 by @ngandhy) - Rounding pixels is now done with an algorithm from Yoga rather than React Native, reducing debt and improving performance (ceb1d1c and 114c258 by @shergin)
Android specific changes
- Numerous refactors around bundle handling and the
DevServerHelper(644123a, e756251, 6e44356, 1019bda, 06d8f96, f88c9d6, and 108f966 by @davidaurelio)
Fixed
- Fix JS debugger issues related to CORS (29f8354 by @njbmartin)
- Keep the
.gitignored files during thereact-native-git-upgradeprocess (7492860 by @ncuillery) - Fix re-render case on SwipeableRow (a580a44)
- Fix display of syntax error messages when HMR is enabled (2b80cdf by @ide)
- Add fixtures to metro blacklist in order to let build succeed (4194bb2 by @t4deu)
Android specific fixes
- Don't crash when using decimal
Animated.modulovalues withuseNativeDriver: true(6c38972 by @motiz88) - Don't crash when receiving unknown websocket IDs (1a790f8 by @sunweiyang)
- Dont crash when
NativeModules.UIManager.showPopupMenumethod calls error callback (0c18ec5 by @dryganets) - Maintain cursor position when TextInput's
secureTextEntrychanges (09b43e4 by @jainkuniya) - Race condition fix in Dialogs module (d5e3f08 by @dryganets)
- Fix NPE in Android Switch during measure ([7b1915e](https://github.co...
January 2018
This changelog has been prepared by Ryan Turner (@turnrye) - thank you for your time and making such a detailed changelog 🔥🔥
Welcome to the January 2018 release of React Native. The CLI tools now support --port for both platforms. There was a lot of under-the-cover work done.
If you would like to help us with the next release changelog, please contact @grabbou
Added
iOS exclusive additions
react-native run-iosnow supports the--portargument for metro (33d710e)
Android exclusive additions
- On Android, ScrollView now takes
snapToIntervallike iOS (ddd65f1 and b2848a5 ) - On Android, TextInput now takes
onKeyPresslike iOS (c9ff0bc by @joshyhargreaves)
Changed
- ⬆️ Metro to v0.24.2 (2e008bc and 0b5e8b4 by @rafeca)
- ⬆️ Flow to v0.63 (6b95c4f by @gabelevi)
- ⬆️ Danger to v2.0 (b750e3b by @hramos)
- ⬆️ Jest to v22.0.0 (4803419 by @mjesun)
- 💄 Bundler is now called Metro Bundler in the terminal (654d759 by @edcs)
- 📝 Update getting started url on Android CLI (6661633)
- 🐳 Dockerfile uses newest Android SDK, Buck, and new Docker tags have been pushed (4fbfbe6 and c547f78 by @hramos)
- 📝 Update repo docs to use HTTPS (33a2e53 by @him2him2)
- 🎨 Make ScrollResponder follow code style (45e6fcd by @TheSavior)
- VirtualizedList now requires a windowSize greater than 0 (3559e42)
- react-devtools works with emulator and real devices now without needing to tweak the devServer value (fa574c6 by @jhen0409)
- 📝 Clarify use of Flow props types in react-native-cli's template project (9b147a5 by @hramos)
- 📝 Add docs for
isInspectable(59c7967 by @bnham) - ✅ More Flow improvements (Text, SectionList, and others) (f71f4e7, 632f120, and a8391bd by @yungsters, @samwgoldman, and others)
- Various code cleanup to satisfy linting errors and standards (b0319f3, dd46117, and 7f58189 by @ayc1, @grabbou, and @ide)
iOS exclusive changes
- 🔥⚡️ iOS UI Manager cleanup and optimizations (7d1deda, 0ae4c47, 2679f3e,and d9e5b31 by @shergin)
- If the inspector tries to handle a wrapped event but there is no connection, log a warning rather than a Redbox (30da262 by @bnham)
- Various under-the-covers changes around the bridge, RCTShadowView, RCTSurface, and a few others (c3139d7, 2789ba0, b8e60a3, 099b280, b263560, 19a9c5e, d3b41e0, b2a2519, 870bc48, 176a578, c491b22, c756122, andc01a171 by @shergin)
- Changed to use boost-for-react-native cocoapod, which speeds up
pod installa ton (cf19833 by @CFKevinRef)
Android exclusive changes
- Include scroll momentum info when there are scroll events from Android (c49d249 by @wwalser)
- Yoga's mkfile for Android now uses wildcard instead of manual file addition (d89901f by @priteshrnandgaonkar)
Removed
- TextInput no longer has the
autoGrowprop, since this is platform-default behavior now (dabb78b by @shergin)
iOS exclusive removals
Fixed
- Do not set
minify=truewhen calculating the list of dependencies for the CLI (4a1bb8f by @rafeca) - 👷 Update CODEOWNERS now that the docs are in a separate repository (85ff264 by @hramos)
- Fixed a broken link in react-native-git-upgrade's readme (bbedf2d by @Taym95)
- 🤡 Do not use Node 8.x specific Stream.final for FS mocks (4216cde by @hramos)
- Fix virtualized cell keys for list headers and footers (a010a0c)
- Fix warnings of casting and null pointer handling in Yoga (a8d4666 by @priteshrnandgaonkar)
- Fix broken buck failures on master (4e76701 by @hramos)
- RefreshControl appears correctly when expected on initial render of a FlatList again (9b877d6 by @vonovak)
- Fixed JS debugger CORS issue (df8da3b by @njbmartin)
Android exclusive fixes
- Fix position of dev loading view on Android API < 20 (7ff6657 by @kmagiera)
- Fix Modal not disappearing when navigating from inside a Modal to another activity (e5c2a66
iOS exclusive fixes
- Fix regression introduced where layout wouldn't occur in some situations (46be5bf by @shergin)
- Fixed double initial prop applying for newly created views (0ec1017 by @shergin)
- tvOS build now works again (3bd8986 by @dlowder-salesforce)
Other
Below is a list of the remaining, low-level changes that made it into this release of React Native.
December 2017
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
New features
- Foundational work for a new justifyContent value space-evenly (1050e0b by @woehrl01)
- Debug JS in Nuclide is now an option in the dev menu 🐜 (7c7108a and de424cc)
- DatePickerIOS now takes locale 🌍 (fd9c361 by @RobertPaul01)
- CameraRoll can now deletePhotos 📸 (554e873 by @fxfactorial)
- Introducing PlatformOS – it looks a lot like Platform, but with a simplified API (5ee27ff by @brishin)
- There's now an API to specify a different directory for iOS image assets (8f9b291)
- Support for custom accessibility actions on iOS (36ad813 by @ericdavmsft)
- New experimental RCTSurface: measure and layout a UI in a thread-safe and synchronous manner (be6976d, 7df58e2, e75bd87, aa83b5a, 081f7d1, da17b23, e9e0cd7, 43b2509, ba60751, d71d28f, 4d37cf0, and d021dd2 by @maicki and @shergin)
- Experimental SwipeableRow's datasource now has a
getLastRowIDmethod (d79e245) - React Native monthly #5 was added (3c5a55d by @tenodi)
Deprecated
- Ignore YellowBox warnings with
YellowBox.ignoreWarnings([...])rather thanconsole.ignoredYellowBox = [...](26038f5 by @wli)
Changed
- 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 (0bbd9f0, a2fd3fc, 503b452, 654fed4, 0091496, aba148f, 3d5dc87, 48019a0, ecec431, f4d627c, f871d25, a7b231a, 830b431, 29dafa1, 7a5d5a4, 4cd685a, d326c86, 231c7a0, 7d969a0, ae51730, f587f8d, fbf0aed, e9393f6, and 968c88d 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! 🎉 (c7f3707 and cd938d7 by @bvaughn)
- react-devtools-core is now v3.0.0 (a7d46ea by @rsnara)
- Jest is now v21.3.0-beta.13 (16bbd90 and ec2ea58 by @mjesun)
- Flow is now v0.61.0, and there were a ton of Flow fixes/coverage improvements made (914ae93, eb0d647, c8e72bb, 2d4bedb, e0202e4, 2be3ae1, 22a1419, 6ae0b34, 76a2ca4, 3259353, e6c1fb7, 61d046b, 820cfa1, 240039c, 343c5a9, 5f8d8e9, and da04796 by @Ashoat, @calebmer, @cdlewis, @deecewan, @grabbou, @jamesisaac, @mroch, @nmn, @nmote, @sahrens, @samwgoldman, @TheSavior , and others)
- Split out docs to their own repo (and a few formatting fixes along the journey) 👋 (2d86618, 64d80b1, 3362da4, 75123c6, and 79e24ed by @hramos)
- TouchableHighlight now has a default delayPressOut value of 100; it was also refactored a bit for style (ee8a7b4 by @sahrens)
- When in a dev build, more robustly validate arguments for native methods (ea2e2c5 by @mhorowitz)
- On integration tests, report all errors (3bcb912 by @sahrens)
- Android debug overlays (like RedBox, dev menu, loading) are no longer are system overlays; they're now part of the currentActivity (d19afc7 by @kmagiera)
- Yoga has less technical debt, thanks to replacing YGNodeList with vectors (b08a912 by @priteshrnandgaonkar)
- Improve iOS's accessibilityLabel performance by up to 20% 📈 (19b0a65 by @chendo) - Yoga is now cpp, compiled as c++1y (d7ab949 by [@priteshrnandgaonkar](https://github.com/pr...
November 2017
Big thanks to @thymikee for helping out with this release and working on release notes.
Highlights
- New styling rules:
Breaking changes
Android
Bugfixes
- Fixing bug when permission showing dialog and user go to home and re-open
minimized app (ce967c6) - @RafaelMagalhaesN - Fix wrong error code when location service is turned off on Android device
(7e0b7ef) - Fixing RTL HorizontalScrolling (c278020)
- Fix line terminators for
ImageStore.getBase64ForTag(7a7bdee) - @FnTm
New features and enhancements
- Add
visible-passwordfor TextInput.keyboardType (752b688) - @fmoo - Add helpful examples to Android test env validation failure messages.
(ff908aa) - @pori
Others
- Put all non-drawable resources to
res/raw(cc86d12) - Native Animated - Restore default values when removing props (2b4ff6e) -
@janicduplessis - Event documentation - Adding part about mapping event names. (e6ef035) -
@tdekoning - Removed
ProgressBarAndroid.androiddeprecation warning (b60fa63) - @bvaughn - Forward RN start/end styles to Yoga (dc92e69) - @RSNara
iOS
Bugfixes
- Fix potential retain cycles in Animated iOS (c47759a) - @janicduplessis
- Fix iOS 11
WebViewextra white space on top due to
contentInsetAdjustmentBehavior(2546c95) - @yshing - Fix memory leak in
RCTSafeAreaView(9150975) - @mmmulani
New features and enhancements
- Opensourcing RCTWrapper (c0e9936) - @shergin
- Add "jsBundlesDirectory" method to RCTBridgeDelegate (dd400f8) -
@fromcelticpark - Introduce RCT_EXPORT_SYNCHRONOUS_TYPED_METHOD() macro to provide the return
type of a sync method (47bfbbb) - @fkgozali - Make
react-native linkplay nicely with CocoaPods-based iOS projects.
(74146cb) - @mironiasty - Support for ExtraBold alias of Heavy (font-weight 800) (d38b95f) - @sjmueller
- Add "subject" field for Share (eca3319) - @gusgard
Others
[RCTShadowView localData]is now only setter. (b0c1bd2) - @shergin- Deprecated stuff was removed from RCTUIManager (4342879) - @shergin
- Deprecated stuff was removed from RCTShadowView (32e5c8e) - @shergin
- Issue #16159 - RCTImageStoreManager's priority (4e5d50d) - @tsjamm
- Make RCTUIManager and RCTDeviceInfo unsubscribe from NSNotificationCenter on
(04ff184) - Move JS-native version check to its own module + unit tests + prefix Obj-C
macro w/RCT (7733d40) - @ide - Forward RN start/end styles to Yoga (38b5506) - @RSNara
- Move RCTConvertSelectorForType to their respective using modules (bbc90b4)
- Code cleanup - Xcode 9 build warning/issue. (3fa6482) - @nbomberger
General
Bugfixes
- Updated project file to fix Apple TV build (aa97c9a) - @shergin
- Fix that section headers in SectionList don't stick at correct position.
(a541d58) - @miyabi - Fix scrolling events for RN. (ca834f9)
- Fix platform flags to also check for linux (7997a2b) - @mzlee
- Fixed crash on attempt to update local data of deallocated shadow node
(f2c6877) - @shergin - VirtualizedList: fix bug where onViewableItemsChanged wouldn't trigger
(6747a36) - @formatlos - Fix Systrace section for Lazy View Managers (52a67db) - @alexeylang
- Fix border clipping (de313f6) - @RSNara
- Fix Flow errors at declaration of most major library components (833b274) -
@Ashoat - Fix crash when loading local bundle and hot reload is enabled (1d674f0) -
@dtsolis
New features and enhancements
- Add finally method to Promise flow definition (4eccb16) - @Bhullnatik
- Add React Native Bot (1de46b5) - @hramos
- js1 metro-bundler: add script to publish new version (acd9a29) - @jeanlauliac
- Added
fetchBundleglobal function (452ac1b) - @fromcelticpark - Improve support for unbundle feature (e268883) - @dmueller39
- Add Danger and publish to npm (601abd2) - @hramos
- Add support for FBReactModule (Wilde) to use jsi/hermes with a bcbundle
(0a7d5ab) - @mhorowitz - Add callback for UIImplementation layout updates (91372e8) - @ayc1
- Add
babel-plugin-transform-exponentiation-operatorto
babel-preset-react-native(30b057f) - @DylanVann - Implement partial rounded borders (4994d6a) - @RSNara
- Implement border(Left|Right|Top|Bottom)Color for rounded borders (f788831) -
@RSNara - Implement gating support for direction-aware API changes (98547d4) - @RSNara
- Add examples to RTLExample (bc5083a) - @RSNara
- Implement direction-aware border clipping (00c9c1a) - @RSNara
- Introduce mobile config flag to load classes for View Managers (f0fb720)
- Introduce getConstants generation for Native Modules codegen. (a5550a5)
- Adds PrivateDatabase podspec (6817f05) - @notjosh
Others
- Using
StyleSheet.hairlineWidthin TextInputExample (9e220da) - @shergin - Direct assignment of the ref to avoid warning when mocking (bbceb48) - @jmoutte
- Document adb shell input keyevent 82 (b9da155) - @forki
- Change attribute mentioned in alignItem (7c89cf3) - @linh-le
- Correct propTypes for
TextInput's placeholder (dbe6044) - @gusgard - Handling exceptions in video player (9424cd7)
- Improve flow typing and linting for MessageQueue (7b575d6) - @dulinriley
- Remove redundant style field from ScrollView propTypes. (0ec04ed) - @fmoo
- more detailed CxxModule logging (4192790) - @dryganets
- RN: Improve NativeEventEmitter Flow Types (2fff445) - @yungsters
- Un-revert logMarker for hermes diff (f3b117a) - @johnislarry
- Update Animated docs to mention potential issues with VirtualizedList
(a59d157) - @rawrmaan - Update the
NetInfo.isConnectedexample code so that it uses the new
connectionChangeevent (8b044dc) - @fibbers - Update Flow to v0.57.2 (720a99a) - @gabelevi
- Persistent Yoga (60c898d) - @sebmarkbage
- Expose ReactInstanceManager from ReactRootView (dc16150) - @ayc1
- Update to regenerator-runtime@0.11.0 (747eeba) - @zertosh
- Apple TV: TouchableOpacity and Button need hasTVPreferredFocus support
(c1223c5) - @dlowder-salesforce - Handle touchCancel properly in ScrollResponder (bae9b2b) - @kmagiera
- Remove usage of the
...operator in BackHandler (165b38a) - @dantman - Use ReactMarker for all perf logging in the bridge (95073f8) - @alexeylang
- Export deps to be source-ABI friendly (18364e9) - @jkeljo
- React native shadow tree sonar plugin (90a4239) - @ayc1
- Rename
I18nManagerLeft/Right swap methods (efa4d3c) - @RSNara - Remove experimental shouldBridgeInitializeNativeModulesSynchronously:
(ca85a53) - @danzimm - Remove experimental shouldBridgeLoadJavaScriptSynchronously: (fe792f5) -
@danzimm - Remove the experimental concept of whitelisted modules (55f75df) - @danzimm
- RN catalyst instance destroy markers (1c10431) - @cwdick
- Create CODE_OF_CONDUCT.md (c0fea38) - @hramos
- Automated fixups for Instagram (dd016f3) - @jkeljo
- Change name of the file to edit (7153671) - @MartinCerny-awin
- Remove quicklog (9742bcb) - @alexeylang
- Gate ReactNativeVersionCheck by DEV (8ef28ea) - @cblappert
- [podspec] Define
pod_target_xcconfigfor PrivateDatabase (87e524b) - @ide
October 2017
Thanks to @thymikee for wrapping up release notes for this release. If you want to help by creating release notes for next release, let me know. We are happy to guide you through this process.
Highlights
<Image>with nested content is no longer supported. Looking into<ImageBackground>instead if this is something you did in our app- Android Oreo (8.0) support
- Support for null titles in AlertIOS
Breaking changes
GENERAL
-
Add interface for ReactShadowNode (a5d1d25)
-
Default enableBabelRCLookup (recursive) to false (023ac57) - @ide
This is a breaking change that tells Metro to look at only the project's .babelrc file. Previously it would look at .babelrc files under node_modules and would run into issues because it didn't have the version of Babel nor the plugins/presets that
node_modules/randompackage/.babelrcwanted. So as a workaround, people would write a postinstall step that deletesnode_modules/**/.babelrc, which worked well. This flag (getEnableBabelRCLookup = false) has the same effect and hopefully fixes one source of cryptic bugs people run into.To use the old behavior, create a config file named
rn-cli.config.jswith:module.exports = { getEnableBabelRCLookup() { return true; }, };
Go under node_modules, modify a used module to have a dummy .babelrc (
{"plugins": ["dummy"]}) and ensure the JS bundle still loads.
Android
iOS
Android
Bugfixes
- Fix setBackground for Android sdk version 15 and below (5180995)
- Fix slider colors in Android (31904d5) - @martinezguillaume
- Fix regression in Java->C++->JS ViewManagers interaction. (346af55)
- Fix DeviceIdentity on RN for Android (e7765a3)
- Fix Android 4.1-4.3 WebView source baseUrl bug (59d9f8c) - @Etheryte
- Fix overflow hidden (30044fd) - @AaaChiuuu
- Fix arc drawing when sweep >= 360 (b64e6c7) - @nihgwu
- Fixed crash in ReactTextInputLocalData (cdea3c5) - @shergin
- Fix the debug logging regression (adde2ed) - @alexeylang
- Fixed issue with remeasuring ReactTextShadowNode (a177979) - @shergin
- Only disallow
<Switch>changes if the value actually changed (6f6329d)
New features and enhancements
- Add JS->Java Bridge traffic (12f123d) - @AaaChiuuu
- Add include_defs("//ReactAndroid/DEFS") to all BUCK files in ReactAndroid (ebb42ee) - @mzlee
- Add error customizer for React Native Android (0c234c9)
- Implement lazy discovery for ViewManagers. (da30b04)
- Add TimePicker modes (1c24440) - @Kerumen
- Add check for valid rootTag in ReactRootView (c893989)
- Add support for dynamically sized ReactRootView (4ca6172)
- Add getter for
JavaScriptExecutorFactory(e764361) - @johnislarry - Add interface for ReactShadowNode (08befb7) - @ayc1
- Add locking around CatalystInstance.getJavaScriptContext() (e9aab0d) - @cwdick
- Add GlobalImageLoadListener (7320ca5) - @foghina
- Add headers prop in Image source array type prop (ddc2210) - @phillip055
- ReactRawTextShadowNode does not inherit ReactTextShadowNode anymore (80027ce) - @shergin
- Restructured inheritance around ReactTextViewManager and co. (6114f86) - @shergin
- Keep mActivelyScrolling true as long as events are being fired. (cbb0ccb) - @tomasreimers
- Make view hierarchy optimizer smarter (e7af72b) - @AaaChiuuu
- Deprecate older API uses of
prebuilt_cxx_library(49359e8) - @andrewjcg - Adding TLSv1 support for custom SSL socket factory (0818f3b) - @PaulVanStaden
- Introducting
UIManager.setLocalData(), the way to provide environmental data to ShadowNode (d0790fe) - @shergin
Others
- Android Oreo (8.0) Support (96de23a) - @AndrewJack
- Fixed runtime error with ProgressBarAndroid (ccddbf8) - @bvaughn
- Document Android native communication (a43a988) - @cdlewis
- Improve formatting of YogaNode.print() on Android (67d0cc5)
- Update HeadlessJSAndroid.md explaining parameters (f25233b) - @flaviolivolsi
- Use BitmapRegionDecoder to efficiently crop images on Android (64ffe45) - @faifai21
- Default TextInput autoCapitalize to sentences on Android (227a5f4) - @jamesisaac
- Added Android support for loading multiple RAM bundles (4162d73) - @fromcelticpark
- Intrinsic content size for ReactTextInput (aka autoexpandable
<TextInput>on Android) (c550f27) - @shergin - Documentation about ABI split in Android Release (d0260b4) - @SuhairZain
- Unify supplimentary bundle path creation logic between Android and iOS (9e01d72) - @fromcelticpark
- Updating blog post about RTL from setAllowRTL to allowRTL (Android). (88a79b3)
- Removed ProgressBarAndroid.android deprecation warning (87bc732) - @bvaughn
- Fixing RTL HorizontalScrolling in Android (b12213d)
- Log some RN Core markers (6c2c2ec) - @AaaChiuuu
- Log Native Module init (565a241) - @AaaChiuuu
- Log UI Manager operations (672db77) - @AaaChiuuu
- Add Relay DebugOverlayTag (652dfd0) - @AaaChiuuu
- Move destroy threads in CatalystInstanceImpl off the UI thread (cf2ef84)
- Re-added global event-type Map to UIManager constants (d1372fa) - @bvaughn
- Text to Spannable conversion is now using PRIORITY flag to enforce the order of spans (7efd4fa) - @shergin
- HeadlessJsTaskService is expected to run on UI thread (7953707) - @oriharel
- Untangle NativeAnimatedNodesManager from UIManager internals. (4fc9e20)
- rename catalyst animations (87a1dc4) - @kangzhang
- Detangle destroy and create accesses in ReactInstanceManager (6334ed2)
- Avoid oversending modalDismissed event (9bf936c) - @mmmulani
- Allow applicationId to be specified on build (9796295) - @shockdesign
iOS
Bugfixes
- Fix Content-Type header checking of React/RCTJavascriptLoader.mm #15791 (3ae45d5) - @justinr1234
- DeviceInfo.isIPhoneX_deprecated: ugly and temporary way to fix your UI on iPhone X (33f4779) - @shergin
- Fixing clowntown in RCTUIManager (d7f6208) - @shergin
- Fix build errors exposed by building against clang 5.0 (e846a9f)
- Fix format warnings for clang 5.0 (d005c8c)
- Fixed crash in [UIManager setLocalData:] (f8e1386) - @shergin
- Hack-fix the Modal component interacting with LayoutAnimation (e220878) - @mmmulani
- Fix crash when trying to load photo library assets with nil image url (7fab093) - @terribleben
- Fixed issue with measuring text with NaN width (6b11259) - @shergin
- Fix Android project do not delete font files when run
react-native unlink(c1058b1) - @iineva - Fix ReactLegacy project (01bcbd4) - @fromcelticpark
New features and enhancements
- Support null titles in AlertIOS (d726c2c) - @11nc
- Introducing PseudoUIManagerQueue (5e25c0e) - @shergin
- Added iOS support for loading multiple RAM bundles (7d2021e) - @fromcelticpark
- Proper support of the accessibilityLabel for
<Text>components on iOS (915a020) - @lostatseajoshua - (iOS) Support for DemiBold alias of SemiBold (font-weight 600) (73c3aa8) - @wildseansy
- Add onDismiss to Modal.js (a389ffb) - @mmmulani
- Introducting
-[UIManager.setLocalData:forView:], the way to provide environmental data to ShadowView (8b4ed94) - @shergin
Others
- Use xcpretty for iOS build output if installed (cb8a116) - @tabrindle
- Minor documentation correction for exposing native iOS components (3ceb20d)
- Refactored executeApplicationScript in RCTCxxBridge (6e28179) - @fromcelticpark
- Improve RCTCxxBridge invalidation (7b77055) - @javache
- Using mutex inside RCTUIManagerObserverCoordinator instead of GCD (38c8b6d) - @shergin
- Using
indexOfObjectIdenticalToinstead ofindexOfObjectin RCTUIManager (9d9e250) - @shergin - Improved documentation for ActionSheetIOS.js (5317b68) - @petterh
- Silence annoying logs in iOS 11 (f01c73d) - @mmmulani
- Small NaN related optimisation in RCTShadowText (73b596c) - @shergin
- Using modern API to get available size in RCTShadowText (eeda4f3) - @shergin
- Use const reference in RCTNativeModule::invokeInner (29e7659) - @fromcelticpark
- Bunch of utility funcs were moved to RCTUIManagerUtils (6d67e2d) - @shergin
- Removed unused imports from RCTUIManager (ac6b1d1) - @shergin
- always pass key parameter to RCTReadFile (c4f7ce9) - @fromcelticpark
- Make ios-install-third-party.sh more robust (05cb7ce) - @mhorowitz
- iOS: Support allowFontScaling on TextInput (9c4ec30) - @rigdern
- Using RCTExecuteOnUIManagerQueue convinient func in all conseptually identical cases (feba4f6) - @shergin
- Using RCTExecuteOnMainQueue in RCTUIManager (9cd095e) - @shergin
- Return instancetype for shared RCTI18nUtil instance (09680f7) - @fmanns
- Remove usage of "this" in a callback in RCTNativeModule (d07279c) - @fromcelticpark
- Unify sampling profiler and reload logic by leveraging RCTPackagerConnection (afec987) - @fromcelticpark
- remove RCTWebSocketObserver (7f6a7ae) - @fromcelticpark
- Redo error handling on iOS (e87904c) - @adamjernst
- Use UnimplementedView for CheckBox on iOS (f9be64a) - @timwangdev
- RCTTextInput: Fixed problem with accessory view & 3rd party libs (bf36983) - @shergin
- Move JS-native version check to its own module + unit tests + prefix Obj-C macro w/RCT (4f709f7) - @ide
- Make
react-native linkplay nicely with CocoaPods-based iOS projects. (4c196ae) - @mironiasty - Remove AdSupport from React.podspec (1e3a8e2) - @javache
- Replace getInt with asInt in native collections (790eabc) - @johnislarry
- Move URL escaping to Inspector layer (ef2e29f)
- Add missing Contents.json, delete files that shouldn't be in .xcassets (9731b58) - @stepanhruda
- Removing fallback source URL from JS bridge (1712664)
- Access AppState constants on main thread (e8c83d1) - @mmmulani
- Force local builds to use regular JS bundles if
RCT_ENABLE_INSPECTORset (6b733a4) - Improve DX for FBReactKitIntegrationTe...
September 2017
Thanks to @satya164 for preparing this release notes!
Breaking changes and deprecations
General
-
New projects have a single entry-point (
index.js) from now on (6e99e31) - @fsonSummary:
Before
- When creating a new project with
react-native init, generated template has two entry-points:index.ios.jsandindex.android.js - Those two files were always identical
After
- When creating a new project, generated template has a single, shared entry-point:
index.js
Updating your code
When upgrading to this release with
react-native-git-upgradeorreact-native upgrade, be aware that these tools will automatically update your code to useindex.jsinstead ofindex.ios.jsandindex.android.js, as previously. However, they will not create anindex.jsfile for you. This is a side-effect of thereact-native-git-upgradethat has to be reverted. After running that tool, you have two options:- rename
index.ios.jstoindex.jsand removeindex.android.js(providing that they were as generated byreact-native init) - revert changes done by
react-native-git-upgradein order to keep separate entry files. That is, as soon as you upgrade, revert changes made toAppDelegate.m,MainApplication.javaandbuild.gradle.
- When creating a new project with
-
Yoga: Change aspect ratio behavior (67c160c) - @emilsjolander
Summary:
Before
- Aspect ratio would do its best to fit within it's parent constraints
- Aspect ratio would prioritize
alignItems: stretchover other sizing properties.
After
- Aspect ratio is allowed to make a node grow past its parent constraints. This matches many other aspects of flexbox where parent constraints are not treated as hard constraints but rather as suggestions.
- Aspect ratio only takes
alignItems: stretchinto account if no other size definition is defined. This matches the interaction of other properties withalignItems: stretch.
Updating your code
You probably don't need to do anything but in case something does break in your product it should be as easy as adding
{width: '100%', height: '100%', flexShrink: 1}to the style declaring theaspectRatio.
Android
- Rename module name to module path (5d4c6e5)
iOS
- Fix case sensitivity build warning in Xcode 8.3 (b050b69) - @rigdern
- Add deprecation warning to RCTBatchedBridge (f3feca9) - @javache
Android
Bugfixes
- Fix updating a view z-index on Android (b103903)
- Fix scroll events getting skipped on Android (29e5deb) - @janicduplessis
- Fix content appeared logging (091878a) - @bnham
- Retrieve correct content uri for videos (1748922)
- Separate window dimensions change from orientation (c9aeaf6) - @atsjenk
- Android Oreo (8.0) Support (6b39d64) - @AndrewJack
- Always set camera distance on transforms, to default 1280 if 0 (b2fe048) - @bartolkaruza
- Allow reactinstancemanager to set an initialization function (84e80eb)
- Fix getting correct video width and height metrics in Camera Roll (25f2938)
- Fix fetching video length in Camera Roll (4000202)
- Make ResourceDrawableIdHelper work with resource id (dc61f10) - @sriramramani
- Force original ime option when using multiline with blurOnSubmit (94a2ff9) - @reneweb
New features and enhancements
- Add --port option to run-android, defaults to 8081 (898790d)
- Add native Checkbox component (84b11dd)
- Expose offset parameters for ToastAndroid (546a43b)
- Refactor MemoryPressureListener to use Android levels (37754c5) - @cwdick
- Improve getCurrentPosition API (7e11bad) - @rigdern
- Do not send 'hot' parameter when requesting a bundle from Android (c2b3ee7) - @rafeca
- Allow whitelisting urls to bypass default webview loading (40a2885) - @fkgozali
- WebView: Show loading state when reloading (f95153e)
- Measure height of Android Text component based on includeFontPadding property (9f5bdd7)
- WebView: Only fire onLoadStart for toplevel page loads (ffbd3db) - @rigdern
- Support flash scroll indicators for android (2ceed95)
- Add perf marker that fires first time content is added to root view (d013ba3) - @bnham
- Add perf markers for reload and download (c080fe5) - @bnham
- Add more perf counters (caaf7fd) - @alexeylang
- Run onReactContextInitialized() on the UIThread (43ff9b4) - @AaaChiuuu
- Allow to fetch files over the network (b4f91be)
- Expose the ReactApplicationContext to createShadowNodeInstance() (64e9b24)
- Make JavaScriptExecutor.Factory a configurable property of ReactInstanceManager (73f1790) - @michalgr
- Remove appcompat dep from react/views/toolbar (c3b47e5)
- Reduce possible race condition on gc of catalyst instance (f0d9810)
- Report perf counters always when we call flushPendingBatches() (4aae843) - @alexeylang
- Expose method to set custom baseline function (9c2caaa)
- Download bundle atomically (d63cf13) - @bnham
- Remove v4 support library from RN deps (fe0d081)
iOS
Bugfixes
- Fix format specifier used in RCTCxxMethod (0e3117c) - @kastiglione
- Fix format specifier used in RCTUIManager (d81e549) - @kastiglione
- Fix infinite recursion in RCTSettingsManager init (b78b8cc) - @javache
- Apple TV: RCTTabBar selection controlled by native after render (fix #15081) (0e7375a)
- Fix flowtype errors for PushNotificationIOS (68bbccb)
- Fix registration for UIContentSizeCategoryDidChangeNotification (2b7cb46) - @rigdern
- RCTManagedPointer fix ups (77c11e8) - @fromcelticpark
- Fix TextInput numeric keyboard submit (d565bc3)
- Fix dev support calls made without an ifdef guard (14e67a3)
- Fix for Modal behavior when menu button pressed on Apple TV (Issue #15313) (0d3039f)
- Fix ENABLE_INSPECTOR ifdef not found during dev (edf60ce)
- Fix Yoga podspec casing (4535d52) - @javache
- Fix Image.getSize() according to image orientation (ccc11f2) - @doochik
- Fix fontWeight regression (0a31997) - @nihgwu
- Fix unrecognized selector error (aa0b2ad) - @giladno
- Fix crash when trying to load photo library assets with nil image url (6d64892) - @terribleben
- Report native warnings to YellowBox (e697ed7) - @javache
- Correctly handle the case where HEADER_SEARCH_PATHS is a single string (23f72a9) - @hramos
- Fixed issue with install third party script in directory with spaces (95d5d11) - @gabrielbull
- fishhook nwlog_legacy_v to avoid log spam on websocket reconnect (878b7e4) - @emilsjolander
- TextInput: Fix
onSubmitEditingwith disabledblurOnSubmit(b06672e) - @shergin - ScrollView:
contentOffsetvalidatation now respectscontentInset(950c2b2) - @shergin - Fixed issue with path containing spaces (743dc20)
New features and enhancements
- Expose didCloseWithCode in RCTReconnectingWebSocket (72dae51) - @cpluss
- Refactor memory management of RCTModuleMethod's arguments (2a6965d) - @fromcelticpark
- Show bundle download progress on iOS (ef23d2b)
- Introducing smart
RCTUnsafeExecuteOnMainQueueOnceSync()and fixedRCTScreenScale()(a7468a4) - @shergin - Do not send 'hot' parameter when requesting a bundle from iOS (6ad7e82) - @rafeca
- Adjust row height by font size in PickerIOS (28c1c88)
- Add
rootViewproperty toRCTShadowView(6493a85) - @shergin - Expose barStyle for NavigatorIOS and TabBarIOS (b48149e) - @jacobp100
- Increase RCTTestRunner timeouts (dacb1fb) - @javache
- Geolocation: Allow skipping of permission prompts (6b7f10d) - @rigdern
- Expose webSocketDidOpen in RCTReconnectingWebSocket (bf67345) - @cpluss
- encapsulate JS source in RCTSource object (abe7a2a) - @bnham
- Allow hiding alert title on iOS (a646743) - @sterlingwes
- Change intValue -> integerValue in RCTMultipartStreamReader (f65b9e8) - @ide
- Improve RCTCxxBridge invalidation (af3e1d4) - @javache
- Add
pinchEnabledprop to ScrollView (614dd07) - @jmurzy - Add support for Cxx objects as arguments to native modules (6783694) - @fromcelticpark
- Add notifications for dev reload (1ce7e4c) - @bnham
- Set alertTitle in UILocalNotification (ec74a96)
- Specialize JSCValueEncoder for id instead of NSArray (1cd276a) - @javache
- Allow native modules to customize the main-thread init behaviour (d42ccca) - @javache
- Configure requiresMainQueueSetup for core modules (220034c) - @javache
- Limit calls to SoLoader (5d79b26) - @javache
- Implement lazy discovery scaffolding for loading NativeModules on demand. (cf38b08)
- Call reloadImage less often when setting Image props (7542f3d) - @javache
General
Bugfixes
- VirtualizedList: Fix stale separator props and expose CellRenderer refs (ad21ad2) - @olegbl
- Fix TextInput autoGrow (7abce0b)
- Fix systrace section name (e16dd51) - @alexeylang
- Fix Unexpected token ) in babel-preset-react-native (f69638b)
- Yoga: Fix const declaration mismatch and double/float mix (95faccb)
- Fix stylesheet registery (68664ac) - @sahrens
- Fix HMR when adding/renaming assets (79fdb91) - @rafeca
- Fix panResponder nativeEvent.locationX and locationY values on touch move (1a262a7) - @newyankeecodeshop
- Add multi-client support for HMR (8b2975a) - @rafeca
- Add BlobModule native module mock to jest setup (1f85e21) - @timwangdev
- Make the CLI recognize CRNA projects (6f4025e) - @fson
- Make console work with JS engines which use print (de4e51b) - @dulinriley
- Unbreak touching in prod mode (460c5db) - @sophiebits
onAnimatedValueUpdateshould also include offset (d0669fc)- Avoid race condition for AppState.currentState (809f1e9)
- Don't assume JS integers are dynamic Ints (f6de2e4) - @mhorowitz
- Return meaningful error when no devices available (ad4aee7)
New features and en...
August 2017
Breaking changes
iOS
- Removed unused notifications from RCTUIManager (324eba1) - @shergin
- Remove AdSupportIOS (6ad5e2f) - @javache
General
Bugfixes
- Fix incorrect invocation of JSClassCreate (543cd21) - @javache
- Fixes unintended side effects caused by #14684 (4d572cd) - @lprhodes
- Fix missing "getPolyfills" tag in CLI (98e61de) - @mjesun
- Fixed ImageBackground couldn't be wrapped by Touchable* component (dc97e3f) - @patw0929
- Yoga: Fixing edge case issue in Yoga where text node was unnecessary rounded down (671c6ac)
- Yoga: Reset the hadOverflow flag at the beginning of the algorithm (5da0a99) - @woehrl01
- Docs: Fix typo in deeplinking docs (d53d121) - @joeybaker
- Docs: Fix typo in Animations guide (c748d69) - @abi
- Docs: Fix mistake acquireWakeLockNow in headless js section (59da066) - @ivanzotov
- Docs: Fix SectionList examples in documentation (0e93f4f) - @timwangdev
- Docs: Fix type of StatusBar backgroundColor so it is displayed correctly (2781739) - @brentvatne
- Docs: Fix broken Buck installation link (e248980) - @fson
- Docs: Fix navigation menu regression on mobile (471c9da) - @hramos
- Docs: Remove typo (af48b48) - @jDeppen
- Docs: Remove unnatural indent in doc (214f544) - @sunnylqm
New features and enhancements
- Add Blob implementation with WebSocket integration (ed90309) - @philikon
- Add more information to
__fbBatchedBridge is undefinederror (26168d0) - @terribleben - Add missing
assetRegistryPathto dependencies command (6a4fb5e) - @davidaurelio - Add delay support to Animated.spring (9c2ce53) - @billoosijok
- Enable flow for TouchableHighlight (fc68dfb) - @javache
- Add type for onLayout (9108f98) - @javache
- Allow application/javascript and text/javascript for packager bundle mime type (3149348) - @fkgozali
- Add CODEOWNERS file to automatically request reviews (dedffdc) - @hramos
- Remove unused npm dependencies and add missing ones (1954fd4) - @ide
- Replace React.createClass with create-react-class (9afb71f) - @mojodna
- Enforce Prettier for @Format (1023070) - @TheSavior
- SwipeableRow: Support for preventing swipe left or swipe right (bf1b67e) - @lprhodes
- VirtualizedList: Be able to scroll to last item in list (cad2d9b) - @maartenschumacher
- Added chromium support for devTools on linux (3f16aa5) - @retdop
- Move polyfills to react-native (ad0fe15) - @mjesun
- Rename _remoteNotificationCompleteCalllbackCalled to _remoteNotificationCompleteCallbackCalled (51e258e) - @koenpunt
- Update
throatdependency to 3.2.0 (9b06a31) - @davidaurelio - Move inspector proxy out of the packager (c00abe5) - @Hypuk
- Avoid creating a new Path instance for performance (6b29fe7) - @jetzhliu
- Change
polyfillstogetPolyfillsfunction for more configurability (9f87728) - @ide - Try to match React DevTools theme with current Nuclide theme (1d353b4) - @bvaughn
- Wait for packager to start (c885357) - @TheSavior
- React sync for revisions cb32253...5495e49 (221286b) - @bvaughn
- Update Jest to 20.1.0, chi.1 (1fe8f89) - @mjesun
- Removing @NOLINT from flow files (d9f9819) - @TheSavior
- Added info CLI command (95ee3f5) - @tabrindle
- Remove unused focusedOpacity prop and function (85247f9) - @levsero
- Remove legacy JSC profiler (ed3c018) - @javache
- Upgrade to Flow v0.50.0 (8e8fecd) - @nmote
- Remove default polyfills from metro-bundler (7a4eda2) - @mjesun
- Merge allowOffMainQueueRegistration and requiresMainQueueSetup (980d514) - @javache
- Export stringForScriptTag symbol (436218b) - @majak
- Stop native driver animations when value is set (b8fafb4) - @kmagiera
- Native Animated - Override __makeNative in AnimatedInterpolation (1afee0b) - @syaau
- Upgrade metro-bundler to v0.10.0 (70edc2f) - @fromcelticpark
- Improve transform speed by 8.5% (4caf794) - @cpojer
- Rename Hide / Show to Toggle Inspector (a946f86) - @sahrens
- Make Set and Map initialization lazy (0736f5d) - @fromcelticpark
- Make NetInfo API cross platform and expose whether connection is 2g/3g/4g (fc38fe1) - @rigdern
- Deprecate some usage of NetInfo (bca825e) - @zjj010104
- Remove onScrollAnimationEnd (aa9a19a) - @tomasreimers
- Clean up property defines in InitializeCore (5da7629) - @fromcelticpark
- Inline requires in JSTimers (9342f25) - @fromcelticpark
- Adds hook for platform-specific View props (59105f6) - @rozele
- Identify keyboardDismissMode platform-specific options (64899c0) - @jkdf2
- Remove unused nativeTrace*stage methods (4d55ce3) - @javache
- Control whether Metro tells Babel to lookup .babelrc files (113e046) - @ide
- Increase information logged to MessageQueue.spy (cb31356) - @javache
- Docs: Resolved the broken links for all components method in page linking (7aec6ae) - @jordanpapaleo
- Docs: Update Navigation.md (f39f216) - @fecot
- Docs: Improve Headless JS documentation (4de9d64) - @satya164
- Docs: Update Performance.md to reflect existence of
useNativeDriver(3fadd74) - @abi - Docs: Update IntegrationWithExistingApps.md (a31a012)
- Docs: Update docs for Transforms (404d74b) - @gwmccull
- Docs: Update Modal.js (91493f6) - @jooddang
- Docs: Changed param of setSrc() method (e61257c) - @Niranjan-B
- Docs: FlatList doesn't specify that it accepts ScrollView Props (c694212) - @tomasreimers
- Docs: Adds Danger support (56d4595) - @hramos
- Docs: Update TouchableWithoutFeedback.js (8f36405) - @tspanindra
- Docs: Update podspec integration instructions (6e68f2d) - @javache
- Docs: Improve the documentation for ListView and ListViewDataSource (8117fa1) - @gwmccull
- Docs: Update Images.md with ImageBackground (8dea90b) - @Minishlink
- Docs: Better doc for 'data:' uri scheme (dfd3b22) - @harry-g
- Docs: Clarify JavaScript module naming edge case (dec62ff) - @lyahdav
- Docs: Clarify pagingEnabled description for ScrollView (88fb45d) - @seanyusa
- Docs: Better doc for 'data:' uri scheme & mandatory size (ec8118b) - @harry-g
- Docs: Update IntegrationWithExistingApps.md (0c44b9e)
- Docs: Updated example 'Podfile' to consistently use single quotes. (98b925c) - @brookslyrette
- Docs: Update sectionList keyExtractor (cb9b266) - @fourestfire
- Docs: Add Animated to list of APIs (a616a2d)
- Docs: Add documentation for onMomentumScrollEnd (b8118d1) - @tomasreimers
- Docs: Add docs for onMomentumScrollBegin (3eae3df) - @tomasreimers
iOS
Bugfixes
- Fix build-break in legacy React bridge (a806e90) - @javache
- Fix crash for unsupported device orientation events (2444c54) - @javache
- Fix misspelling UIKit (688c746) - @ajacquelin
- Fix RCTNetworking error message (50f200b)
- Fix font weight resolution (cfeaefb) - @kipricker
- Fix photo orientation from ImagePickerIOS (6555f9b) - @doochik
- Fix typo in RCTDevSettings.mm (99414e9) - @Hypuk
- Fix tvOS build issues with UIDeviceOrientation (6d57726) - @javache
New features and enhancements
- Podspec: Add required "DevSupport" dependency "InspectorInterfaces.{cpp,h} (e43c061) - @HeEAaD
- Add a delegate hook for providing a different JS implementation (05c4de0) - @mhorowitz
- Add FORCE/SKIP_BUNDLING flags for iOS builds (0681887) - @cooperka
- Add 'contentInsetAdjustmentBehavior' (new in iOS 11) to ScrollView (6e28b39) - @skevy
- Remove unused RCTDebugComponentOwnership (8548ca0) - @javache
- Remove deprecated RCTAssert aliases (20224b7) - @javache
- Replace -[RCTConvert folly_dynamic:] with direct calls to convertIdToFollyDynamic (f1cbb11) - @javache
- Support native ViewManager inheritance on iOS (684e035) - @cbrevik
- Clean up -[RCTRootView cancelTouches] header docs (78e2030) - @eliperkins
- MaskedViewIOS: A way to apply alpha masks to views on iOS (8ea6cea) - @skevy
- Generalize/refactor
-[RCTUIManager rootViewForReactTag:withCompletion:](fac6207) - @Yu-w - RCTScrollEvent: get all required values injected rather than accessing the scroll view (048a9ab) - @HeEAaD
- Introducing
RCTBackedTextInputDelegate(ee9697e) - @shergin - ScrollView: Couple of unnecessary checks was removed from RCTCustomScrollView (f5d9b52) - @shergin
- Unified usage of RCTAssertUIManagerQueue (8760b93) - @shergin
- Pass actual loaded image size to load (ced1513)
- Make the js stack bigger in RCT_DEBUG mode (2334899) - @mhorowitz
- Simplify -[RCTModuleMethod processMethodSignature] (98258b4) - @javache
- Removed unused ivar (
_launchOptions) fromRCTRootView(1b9b366) - @shergin - Use Apple's significant-change API (for iOS 11 UX) (f704369) - @jasongaare
- Support namedOrientationDidChange on iOS (fbaedfd) - @javache
- RCTCxxBridge: Use C++ atomic (7c528cd) - @Adlai-Holler
- RCTImage: Use C atomics instead of OSAtomic (114b080) - @Adlai-Holler
- RCTProfile: Use C atomics instead of OSAtomic (24df099) - @Adlai-Holler
- Show bundle download progress on iOS (373f7ed)
- Validate the content type of the bundle returned by the packager (3ce3669) - @janicduplessis
- Adding video play duration for camera roll (636a21b)
- TextInput
setSelectionmethod was moved to base class (da9a183) - @shergin - TextInput: Unified support of
blurOnSubmitprop (8f93ce6) - @shergin - TextInput: Unified support of
clearsOnBeginEditingprop (cb96f1d) - @shergin - TextInput: Unified support of
clearTextOnFocusprop (d69e60b) - @shergin - TextInput: Hacks related to missed
textInputDidChangewere moved to adapter (4ff3e10) - @shergin - TextInput: Actual
reactAccessibilityElementimplementation (42d6323) - @shergin - TextInput:
selectionproperty was unified (a50c9c8) - @shergin - TextInput: textInputShouldEndEditing and textInputDidEndEditing were moved to base class (f89e132) - @shergin
- ScrollView/TextInput: The amnesty of
scrollRectToVisible(fa1d4e8) - @shergin - ScrollView: Use autoresizing masks for layouting actual UIScrollView (301830d) - @shergin
- ScrollView: Smart
contentOffsetpreserving (1d22f8f) - @shergin - ...