React Native October 2017 (v0.50.0) released

v0.50.0 on GitHub (npm)


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.

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/.babelrc wanted. So as a workaround, people would write a postinstall step that deletes node_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.js with:

module.exports = {
      getEnableBabelRCLookup() {
        return true;
      },
    };
</div>

Go under node_modules, modify a used module to have a dummy .babelrc (`{"plugins": ["dummy"]}`) and ensure the JS bundle still loads.

Android

  • BREAKING: Removed support of nested content inside <Image> on Android (3ff463f) - @shergin

iOS

  • BREAKING: Removed support of nested content inside <Image> on iOS (c55fae1) - @shergin

Android

Bugfixes

New features and enhancements

Others

iOS

Bugfixes

New features and enhancements

Others

General

Bugfixes

  • RN local-cli: fix the reporter creation code (1de6ec4) - @jeanlauliac
  • fix ItemSeparatorComponent position in horizontal and inverted mode (ae60ae4) - @VahidBo
  • Fix Animated spring test (1afc93d) - @sahrens
  • Fix excludedActivityTypes error in flow types (0c5b390) - @anta-semenov
  • Fix Flow errors in ListViewData source. (11963d8) - @nmn
  • Fix onSubmitEditing dispatch behavior with blurOnSubmit/multiline combinations. (4d54b48) - @adam0000
  • Fix website generation (c5d8785) - @hramos
  • Fixes removeClipSubviews check for offscreen rendering of ListViews (03ae65b) - @mattfoley
  • Fix error appearing when disconnecting HMR client (38ec30b) - @rafeca
  • Fix navigation links in documentation. (2f2c3ea) - @prsevero
  • Fix warning on SectionList's tutorial (c12681c) - @gabrielweyer
  • Fix test suite (e8d30c6) - @grabbou
  • Add a check in InitializeCore.js that PlatformConstants native module is present (96f23e7) - @fromcelticpark

New features and enhancements

  • Add all test routes as server snapshot tests (393bf88) - @sahrens
  • Add Example for TouchableOpacity.js (fa1b533) - @lwinkyawmyat
  • Add props for overriding native component in WebView (f426a83) - @cbrevik
  • Add closed-form damped harmonic oscillator algorithm to Animated.spring (26133be) - @skevy
  • Add onScrollToIndexFailed support to VirtualizedList (e16b514) - @sahrens
  • Add missing node-notifier npm dependency (4119182) - @ide
  • Add SwipeableFlatList (d8cc6e3) - @tomasreimers
  • Add Delta Bundler client to JS remote debugger (ace7273) - @rafeca
  • Add Source Map support to e2e deltas in chrome debugger (15130d5) - @rafeca
  • Add gating to the JS delta client on the remote debugger (a0e88c2) - @rafeca
  • Add AppIdentity and DeviceIdentity to Inspector (da14fad)
  • Add isNetworkInspected to check if a JS VM needs to be paused on launch (9056314)
  • Upgrade Flow to v0.56.0 (a16ef18) - @samwgoldman
  • Log error message when there are zero connected clients (c88b2b2) - @hrp
  • Introducing <SafeAreaView> (983b054) - @shergin
  • link images to iOS project when run react-native link (c1058b1) - @iineva
  • Allow FlatList data to include 0 or '' (falsey items) (ae1a4f0) - @tomasreimers
  • Native Animated - Allow events that are dispatched from any thread (3cbc361) - @janicduplessis
  • Improve YellowBox output format (eae4fe8) - @janicduplessis
  • React sync to v16.0.0 (678a7f3) - @bvaughn

Others

  • RN buck: bundleCommand: add test for multiple bundles (53a339a) - @jeanlauliac
  • explicitly show how to add the optional listener (e3a6be5) - @geirman
  • Add example on ActivityIndicator and TouchableOpacity components (f7f3473) - @lwinkyawmyat
  • Add @rigdern to the issue task force (dd87db3) - @rigdern
  • Add missing delete to requestIdleCallback (ce0235e) - @esprehn
  • Adding Soundcloud Pulse play store link to showcase (dcac873) - @vtorosyan
  • consistent use of URL for resolving asset source (b89d6c8)
  • Migrate tests away from "jsdom" environment (bae5505) - @mjesun
  • Branding: "packager" -> "Metro Bundler" (12eb04b) - @cpojer
  • Flow type: saveToCameraRoll returns a string (274e407) - @maartenschumacher
  • Upgrade yargs to 9.0.0 (2259538) - @cpojer
  • Refactor how symlinks are discovered in local-cli, support scoped modules (39f83c4) - @skevy
  • Upgrade babel-plugin-react-transform to v3.x (f568090) - @rafeca
  • Make <TextInput multiline> default blurOnSubmit to false. (adb6646) - @rsnara
  • Prepack optimizations (e9780bd) - @bvaughn
  • Native view manager event types exposed to JS via view config (75c94a8) - @bvaughn
  • Zero out all fields in YGZeroOutLayoutRecursivly using memset (d0f36d7)
  • Added Flow types for React Native host components (11b4084) - @bvaughn
  • Use uniqBy for deduping assets in react-native link (df8d0d1) - @arahansen
  • Base class for all object private data passed to JSC (d6c519b) - @michalgr
  • More useful utilities in jschelpers (0ee502d) - @michalgr
  • Revert faulty change to HelloWorld demo in docs (c25a3db) - @drew-isnotnull
  • Fixed package.json peerDependencies (ed77dbb) - @bvaughn
  • Synchronize all relay packages (628cbe1) - @leebyron
  • Initial implementation of multiple RAM bundles registry (2f952fb) - @fromcelticpark
  • Migrate to Circle 2.0 (8fa9984) - @hramos
  • Allow "nativeRequire" to accept "bundleId" and "moduleId" values (da2ea26) - @fromcelticpark
  • Configure JSExector with BundleRegistry instead of JSModulesUnbundle (7d11573) - @fromcelticpark
  • Give complex FlatList example more motivation (82b4b9b) - @jkdf2
  • Remove older devtools hook for relay-devtools (bd70f3a) - @leebyron
  • Move debugger client code to its own folder (e6596dc) - @rafeca
  • Make the runBeforeMainModule config param to RN repo and make it absolute (34487c0) - @rafeca
  • Updated support for WebStorm (43d394c) - @esbenvb
  • Upgrade Prettier to 1.7.0 (888c6e7) (70c6700) - @vjeux
  • Bump metro-bundler dependency to 0.19.x (28525ba) - @rafeca
  • Validate that JS and Native code versions match for RN releases (1af645b) - @janicduplessis
  • Fix MaskedView to MaskedViewIOS in docs (a004e2b) - @khietvovan
  • WebView contentInset marked as iOS only (1b80118) - @paulbrittain
  • Changed React to React Native in README.md (9cf2b11) - @jxshco
  • Extend unit test for buildStyleInterpolator (3e31038) - @kodafb
  • Avoid eval in buildStyleInterpolator (915ac20) - @kodafb
  • bring back box-none as layout only prop (bbcfcdb) - @AaaChiuuu
  • Modernize docs: remove 'use strict' from docs -- es6 has 'use strict' by default (e1fb6ff) - @wesharehoodies
  • Export StyleValue and StyleProp Flow types from StyleSheet (9c29ee1)