Releases: react/react-native
Release list
0.57.6
It's highly recommended that you skip this version and upgrade to 0.57.7.
The 0.57.7 release contains a fix for an issue that was introduced in 0.57.6's TextInput.
This patch release fixes a number of crashes, resolves build issues (both for iOS and Android). Thanks to every one who contributed with their PRs as well as those who participated in the discussion around which commits were good candidates for cherry-picking.
PLEASE NOTE: When upgrading to this version, you will also need to upgrade both
reactandreact-test-rendererto version"16.6.1"in your project'spackage.json.
Added
iOS specific
- Add iOS 12 textContentType options (#21079) (d0c8cb1 by @ultramiraculous)
Removed
Fixed
- Improving Modal
visibleprop check to handle undefined and null (#22072) (6c85356 by @MateusAndrade) - Fix crash in nativeInjectHMRUpdate (#22412) (0b4fd62 by @vovkasm)
- Fix IllegalArgumentException when dismissing ReactModalHostView (e360b0b by @mdvacca)
- Fix regression in StyleSheet.setStyleAttributePreprocessor (#22262) (5ba44f7 by @brentvatne)
- Fix React Native AsyncMode and DevTools (f41383f by @bvaughn)
- CxxReact: Silence 'unused lambda capture' warnings in open-source (#22240) (87c9d92 by @empyrical)
Android specific
- Fixed HTTP connection timeout on Android (#22164) (695784a)
- resizeMode applies to Image.defaultSource (#22216) (ec1bbfd by @dulmandakh)
- Android: Close websocket properly when remote server initiates close (#22248) (6e7576b by @syaau)
- Workaround a wrong fling direction for inverted ScrollViews on Android P (#21117) (90cb45f by @mandrigin)
- Fix crash when releasing RN views (de3711e by @ayc1)
iOS specific
- iOS: Support inline view truncation (#21456) (ac5aaec by @rigdern)
- NetInfo: try to solve crash with releasing _firstTimeReachability (35c1c27 by @mmmulani)
- Generate ip.txt before SKIP_BUNDLING check (#20554) (26b5a6e by @keatongreve)
- Revert [Performance improvement for loading cached images on iOS ] (7eeb305 by @kelset)
- Fix inability to remove 'Disabled' state from AccessibilityStates (79b3311)
September 2018 - revision 5
See the full changelog here
September 2018 - revision 4
See the changelog here
September 2018
June 2018
See the changelog here: https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md#056
March 2018
See the changelog here: https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md#055
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