Skip to content

Releases: facebook/react-native

0.19

04 Feb 11:45
Compare
Choose a tag to compare

Thanks to the 87 contributors who put 232 commits into this release!

New features

  • Added scrollTo method to ListView – 33e05a1
  • Add followUserLocation prop to focus on user's location – 3d0ff69
  • Add option to throw/not throw when module can't resolve – 6579b70
  • Add support for promise rejection tracking – b064094
  • Get response url from XMLHttpRequest – b659d7f
  • Add ScrollResponder#scrollResponderZoomTo animated second argument – 963f26c
  • Add Navigator#configureScene, routeStack as second argument – 1abd12b
  • Add StyleSheet.hairlineWidth, useful for drawing thin lines in a layout – cd89016
  • Add onLoading* props for WebView – 274a3e0
  • Add XHR timeout for Android and IOS – 1303e6d

Bug fixes

  • Fix lint warnings in the resolver – 0cb63bb
  • Return non-zero exit code from wrong-react-native – ec76271
  • Pipe transforms errors through transformation pipelines – 5a4ee0b
  • Fix packager cache errors – f421d2b
  • Fix background warning in TouchableNativeFeedback – 28c0240
  • Docs for manual linking in PushNotificationsIOS – 385fa00
  • Navigator iOS doesn't update any scenes when 0th scene is replaced – 61025a9
  • Don't call npm before node is available – 7ecb693
  • Fix corner case bug in ListView – b75c939
  • Bail internal transforms if there're no transforms to run – 7bb6044
  • Fix 'Error: spawn npm ENOENT' on Windows – 749f32b
  • Fixes error when navigationBar is set back to null – 4f9086f
  • Fix FormData to support non-string, non-object values – de392b5
  • FormData can append only string or object with uri – 5061fde
  • Fix launching text editor from a Redbox stacktrace on Windows – e08a7f3
  • Fix content offset calculations when scrolling up – f8f5cb1
  • Fix CLI "sourcemap-output" option – 0065986
  • Bind this in XHR#onReadyStateChange – b8ff621

Android

New features

  • Android AppState: c2d75d7
  • Android Picker with the same API as iOS, 1dd5ba7
  • Enable WebView debugging – 2462c8f
  • WebWorkers: New c++ interface for NativeRunnable – cf350a6
  • WebWorkers: Add JSLoader API for loading script from assets with AssetLoader reference – 1bfd267
  • Add annotation processor for @ReactProp – 57f6cbb
  • Add onSelectionChange for Android TextInput – 6dc6794
  • Allow canceling DevServer reload requests – cb94d99
  • Add support for split build per architecture – abb81eb
  • Add support for global alert() on Android – 1dc56a6
  • Add support for Build Variants to react.gradle – bd7d10e
  • Open sourced Spinner (aka Picker, "drop down") – 1843709
  • Add removeClippedSubviews for ReactHorizontalScrollView – a10a510

Bug fixes

  • Java exception snprintf off by one – 0b15418
  • Fix build error and runtime error after proguard enabled – 5f3d08d
  • ProgressBarAndroid: default value for styleAttr – a452199
  • Don't create DevSupportManager when not in Dev mode – 6483645
  • Fix the 'end' value in the onTextInput callback for onscreen keyboard – 8ecd352
  • Fix WebView double loading – 393adac
  • Fix incorrect size issue with inline image text – 2a02621
  • Support setting elevation on any type of View – 5ac848c
  • Build React Native with Buck – 9fea485
  • Fix a crash in ViewPagerAndroid when passing a null child – bd4bf8c
  • Increase worker-farm timeout – 0d4cfa0
  • Remove fixed size of Android Switch. Fixes #3785a3d9fad
  • Fix for Android split builds: 342a763
  • Fix StyleSheet 'textAlign' for AndroidTextInput, f453e14
  • Fix Image crash on invalid source Uri 798acac

Breaking changes

  • Load assets from same folder as JSbundle – e730a9f
  • Stop using platform-specific names for WebView props – 6edcebe
  • Change the signature of onDropViewInstance. issue #5053daa93a6

iOS

New features

  • Wait for JSExecutor to tear down in RCTBridgeTests – 8772a6a
  • Added react-native run-ios9490c2c
  • Add soundName config for UILocalNotification – ac72611
  • Fixed border smearing issue – b115277
  • Add phone-pad keyboard – 25c3dd1
  • Running from XCode is more robust regarding to different node version – 3e4414
  • Added stickyHeaderIndices to ListView – 4bc425c

Bug fixes

  • Fixed iOS 7 support for URL query functions – 180fc06
  • Re-enable testUnderlyingBridgeIsDeallocated – 435efad
  • Fix a potential deadlock in RCTModuleData – 23cd9fe
  • Improved null url handling – 571e646
  • Fix extra native modules missing bridge after reload – 0fa1f8d
  • Update createView C function on profiler – 473f9bc
  • Multiline TextInput not wrapping in multiline – 09250aa
  • Plist key NSLocationAlwaysUsageDescription was ignored – 6623e48
  • ActionSheetIOS support for presentation from modal view controller – 43dcdaf
  • Improved shadow performance – e4c53c2
  • Invalidate JS executor when loading fails, #5090 – 8ea9a1b

Breaking changes

  • Implement Android's dispatchViewManagerCommand interface on iOS – 17df595
  • Move tests to iOS9.2 / Xcode 7.2 – adfc573, a5c1f03
  • Disable background color propagation for everything except text nodes – 7341706

0.18

05 Jan 18:59
Compare
Choose a tag to compare

These release notes were written by Satyajit Sahoo. Thank you so much! Also, thanks to the 89 contributors who put 368 commits into this release!

New features

  • Use React from NPM - 5bf1f4c
  • Support onLayout and onContentSizeChange attributes on ListView - 3cfcd40
  • Animated.multiply and Animated.add to combine animated values - 3eb32cb
  • Cross platform PullToRefreshView component - 44f7a00
  • Add <Text> shadow support - 4972cab

Bug fixes

  • Fix ImmediatelyResetRouteStack does not update Navigator's title - 67c6afd
  • Fix pop method to properly refresh the navigatorBar - e62471b
  • Fix app crash caused by TextInput - 53d18c8
  • Fix error when navigationBar is set back to null - 0b63571
  • Pipe transform errors through transformation pipelines - 3ef6f9f

Android

New features

  • Add support for custom Android views - 1fabd86
  • Add support for onScrollBeginDrag/End and onMomentumScrolBegin/End events - fcf0431
  • Add a base activity named ReactActivity
  • Add deep linking support to IntentAndroid with getInitialURL - eb188c8
  • Add contentInsetStart and contentInsetEnd properties to ToolbarAndroid - 7164c75
  • Allow turning on/off DOM storage on WebView - 6793128
  • Open source ART for Android - 27ac047
  • Add support for split build per architecture - 10a17c6
  • Add support for alert() on Android - 9bf7c71

Bug fixes

  • Fix crash where measure is called with a view that is now off screen and removed from clipping - bafbe5e
  • Fix when navigating to a URL loading finished is reported with the old URL in WebView - b436943
  • Update dev menu to keep track of element inspector - c74d640
  • Fix crash in NetInfo in case the network permission is missing - f168fc3
  • Fix WebView failed to show UTF-8 characters - e4272b4

iOS

New features

  • Add ability to use a custom view for MapView annotations - f9dfb90
  • Implement draggable annotations on MapView - b8aac8b
  • Add option for both min/max track image to SliderIOS - 4cb7752
  • Support dashed and dotted border styles - 15aa146
  • Add support for binary type data (ArrayBuffer) to WebSocket - afbff9b
  • Adds getSize() method to Image to retrieve the width and height of an image prior to displaying it - 718cd79
  • Add a method to get current status bar height - 52220a9

Bug fixes

  • Fix getCurrentPosition faling on first try - f48dbbe
  • Fix <Image source={{ uri: null }} /> crashing - f940e7c
  • Fix iOS 7 support for URL query functions - ccd8f99

Breaking changes

  • To enable JavaScript in Android WebView, use javaScriptEnabled instead of javaScriptEnabledAndroid.

0.17

11 Dec 16:56
Compare
Choose a tag to compare

These release notes were written by Joshua Sierles, thank you so much! And thank you to the 87 contributors who put 299 commits into this release!

High-level changes

  • Added Android WebView 8cd7730
  • New Alert API that works both on iOS and Android 3a3af8a
  • Exposed navigator.product for detecting the React Native in javascript.
  • Wrapped the UIManager native module in javascript for better abstraction 60db876
  • Fixed react-native bundle failure on Windows 10 710b443
  • Fixed getting a Navigator navigationBar by reference df70005
  • Fixed packager assetRoots argument being ignored 802aef9
  • Fixed that inspecting a stateless component would cause a crash c489660
  • Added new Clipboard component on iOS and Android. Previously named RCTPasteboard on iOS 90c7ad1
  • Fixed using require("./image") sources in development on Windows fe3686e

Android

  • Allow specifying a custom file path for JSC profiler output aaffb23
  • Added Image onLoadX support ae09a10
  • Open-sourced Android unit tests c0f60d2
  • Added support for passing ImagePipelineConfig to FrescoModule, for improved Fresco configurability 4890424
  • Experimental support for LayoutAnimation, needs to be manually enabled using UIManager.setLayoutAnimationEnabledExperimental 593a45e
  • Added support for NetInfo cf892a9
  • Added RTL (right-to-left) support to ToolbarAndroid c8eed6a
  • Added loadingIndicatorSrc property to Image, similar to iOS defaultSource, for displaying something while loading a38cd5c
  • Added support for double type in ReactPropGroup c0c8e7c
  • Added support for rotateX and rotateY transforms to views 96553cf

iOS

  • Fixed flaky rich-text TextInput scrolling b5be05d
  • Allow a custom SliderIOS thumb image 9fc3991
  • Allow custom colors and images on MapView annotations 5b5b550
  • Added polyline support to MapView: draw lines between two points with a custom color and width 8911b72
  • Added new didSetProps callback for configuring views or shadow views after setting props f86691a
  • Fixed onFocus/onBlur events for multiline TextInput 01a0fac
  • Fixed a MapView crash on iOS 8 by adding a forked implementation c63de5e
  • Added excludedActivityTypes to ActionSheetIOS 0f0b578
  • Added secure-text and login-password input types to AlertIOS. Also fixed cancel button highlighting and localization support for OK/Cancel labels f025049
  • Added blurOnSubmit support to multiline TextInput. This mimics behavior of hitting return in a single line input. 3704257
  • Fixed TextInput regression on iOS 8 and below 6d29f71
  • Fixed interrupted scrolling in nested ScrollViews 67bf0f1
  • Allow specifying a string for the systemIcon TabBarIOS property dd9c1e1
  • Added LinkingIOS support for Universal Links f4c286f
  • Added a style property to PickerIOS, allowing custom font sizes, colors and alignment e2c35dd
  • Added tintColor for ActionSheetIOS buttons 86bb656

Breaking Changes

  • Deprecated RCTRootView initialProperties property was removed bf0934a
  • Scrollview support was removed from UIManager 38db6fa
  • iOS native module bridge.modules was deprecated in favor of bridge.moduleClasses or -[bridge moduleForName/Class:. This allows for efficiently lazy-loading native modules 060664f

0.16

26 Nov 12:24
Compare
Choose a tag to compare

These release notes were written by Joshua Sierles, thank you so much! And thank you to the 80 contributors who put 260 commits into this release! (Compare view)

0.16.0

JS

  • Added Babel helpers for es2015 imports (gist). ffea779
  • For-of support: 5dc40af
  • Support for ES6 modules in Babel plugins dff8f53

Android

  • Added PullToRefreshViewAndroid: 37f8134, cad4686
  • Android view shadows: b65f1f2
  • Proper touch handling for transformed Views on Android: c929e15

0.16.0-rc

High-level changes

Android

  • Android supports custom fonts; only TTF and OTF for now. bfeaa6a
  • The Android ViewPager gets setPageWithoutAnimation. 50b8b00
  • Images within a TextView, i.e. emojis, are now supported. a0268a7
  • The Android performance profiler, Systrace, gets thorough documentation. d2c5045

iOS

  • The keyboardAppearance prop was added to iOS TextInput. Useful for displaying a dark keyboard. f407211
  • AsyncLocalStorage gets an in-memory cache. 397791f
  • TextInput supports the onSelectionChange event. 5a34a09
  • iOS RCTPasteboard was released. Useful for copy-to-clipboard behavior. 26cb6be

Breaking Changes

  • React Native now uses Babel 6, props to Tadeu Zagallo for upgrading and thanks David Aurelio and Sebastian McKenzie for all the help! We've been using React Native with Babel 6 at Facebook for quite a while now. Nevertheless, please report any errors related to Babel, such as transforms for some JS features not working as expected and we'll fix them.
  • Touch events on Android now have coordinates consistent with iOS: 0c2ee5d
  • YellowBox enabled by default on iOS: 8ab5182
  • JS decorators won't work until T2645 lands in Babel. It's being worked on. The proposal for decorators is not final and therefore Babel 6 left decorator support out for now.
  • Exporting default class that extends a base class won't work due to Babel's T2694.
  • RCTSparseArray was replaced by NSDictionary. Modules using RCTSparseArray should update. fa0b45c
  • RCTWebViewExecutor was removed. 0764e4e
  • We've migrated all internal RN components to declare their propTypes inheritance explicitly in dd09c88. This allows for better control on which props can be used. In order to make third-party native components work you will need to add ...View.propTypes to the map of propTypes in the component definition (see dd09c88 for an example).

v0.15.0

23 Nov 18:47
Compare
Choose a tag to compare

Breaking Change

Upgrade to Xcode 7: React Native uses Objective-C generics

Changes since 0.15.0-rc

v0.14.2

10 Nov 03:21
@ide ide
Compare
Choose a tag to compare

This release includes a small fix to source the nvm.sh setup file: 9a64f17.

v0.15.0-rc

10 Nov 03:14
@ide ide
Compare
Choose a tag to compare
v0.15.0-rc Pre-release
Pre-release

281 commits, 66 contributors

High level changes

  • If you're developing for iOS, you'll need to upgrade XCode to version 7.
  • Orientation changes no longer restart the app on Android. 6c11d18
  • Added rich text input support on iOS. 7779e06
  • Better RedBox error handling on both platforms.
  • Added systrace support to Android. 40b74e4

v0.14.1

06 Nov 23:46
@ide ide
Compare
Choose a tag to compare

This release contains a small fix for running the packager on Windows (issue #3757). Happy Friday!

0.14.0

05 Nov 23:34
Compare
Choose a tag to compare

react-native 0.14.0 is now available on npm.

See the docs on how to upgrade.

Highlights

  • The new asset system is fully available to use and integrated into the build systems of both Android and iOS.
  • You can use react-native upgrade to get the latest project templates for the latest features.

Changes since 0.13.0

See the 0.14.0-rc changelog: https://github.com/facebook/react-native/releases/tag/v0.14.0-rc

v0.14.0-rc

28 Oct 23:14
@ide ide
Compare
Choose a tag to compare
v0.14.0-rc Pre-release
Pre-release

Breaking Changes

  • D2533877: react-native bundle API changes:
    • API is now entry-file <path> based instead of url based.
    • Need to specify which platform you're bundling for --platform <ios|android>.
    • Option --out has been renamed for --bundle-output.
    • Source maps are no longer automatically generated. Need to specify --sourcemap-output <path> option to indicate where to put the source maps.
  • D2538070:
    • The --minify option is now inferred based on the --dev value. To get a production minified bundle use --dev false as --dev defaults to true.
  • 28f6eb: removeClippedSubviews now defaults to true on ListView. This is generally the behavior people expect from ListView so we're making it default to true. If you see any issues please report them.
  • 82fad3: Remove redundant script to start packager, it can still be started using react-native start or npm start