Skip to content

Releases: facebook/react-native

0.26.0

18 May 23:48
Compare
Choose a tag to compare

Thanks to 104 contributors who put 223 commits into this release!

Thanks to @christopherdro for writing this release notes!

Breaking changes

  • React API must be now required from react package (previously a warning on 0.25)
  • setBridge is no longer called on the main thread - 34ec6a9

New features

Bug fixes

  • Fix potential "Should never unset includeInLayout" invariant - ecae44a
  • Fix initial scenes rendering in NavigationExperimental - 81c62c5
  • Fix incorrect layout for modal - 85f7569
  • Fix stroke bug in ART - 4e5c85b
  • Fix a bug in asset server when using relative project roots - 3881694
  • Fix flow definitions for react-native - 248879f 91d4a09
  • Removed exported constants for fixed-size views - c1aff6b
  • Fix usage of react-native cli inside package.json scripts - 8295d27
  • Fix WebSocket compatibility with event-target-shim ^1.0.5 - 8891f22
  • Fix JSWatchdog reset - 1d802da
  • Fix Animated setValue to work properly on natively driven nodes - 6c80f88
  • Fixed path to regenerator-runtime - ec5016a
  • Fix HMR preset - a2ee5bd

Android

New features

  • Add ability to disable scroll on ViewPager - 5a93877
  • Add ability to expose sync hooks from Java to JS - 50d8d46
  • Add an option to load the Boost library from the filesystem - bc32e06
  • Add Support for Animated.add in native animations - b5375bd
  • Add support for setChildren - 3a5457c

Bug fixes

  • Fix crash in AdsManager by no longer assuming only one react context exists at once - 0a7a228
  • Fix crash caused by accessibility being turned on and using a Modal - 57c40d9
  • Fix Popover location in Events - 8e7ea11
  • Fix NullPointerException in setFontWeight method - 1fb8643
  • Fix IndexOutOfBoundsException in MapView - 446d7b7
  • Fix undefined ref in PullRefreshViewAndroid - d586daa
  • Fix events bubbling out of the Popover - eb21b25
  • Fix ReactNativeART arc drawing - 1af4760
  • Fix ClassCastException inside TextInput - f323b02
  • Fix textShadowOffset error without width or height - 3f0207d

iOS

Breaking changes

  • Add flag "-lc++" for all checked-in projects - 8aa82d3

New features

  • Add support for delete animation in LayoutAnimation - baa3668
  • Add support for badge icon number and alert action when scheduling local notification - 84e6968

Bug fixes

  • Fix deadlock during app startup - 9547a98
  • Fix RCTJavaScriptContextCreatedNotification - e195bf9
  • Fix autocomplete in rich-text editing mode for CJK text input - 91dcc9a
  • Fix some issues with zero fontSizeMultiplier causing RCTShadowText measure function to return an infinite height - 362738a
  • Fix memory leak with cookieMap in RCTJSCExecutor - 32a8949
  • Fix images not displaying with HTTP response 301 - 192ab66
  • Fix pressing a stack frame in Redbox not opening an editor - 037e9ba

0.25.1

04 May 19:16
Compare
Choose a tag to compare

Thanks to 90 contributors who put 154 commits into this release.

Special thanks to @radko93 for writing these release notes!

Deprecations

Requiring React API from react-native is now deprecated - 2eafcd4 0b534d1

Instead of:

import React, { Component, View } from 'react-native';

you should now:

import React, { Component } from 'react';
import { View } from 'react-native';

You can also try this codemod built by the community to automatically rewrite all the imports.

New features

  • Add support for JavaScript third-party debuggers - 4c8a9f0
  • Add key to footer wrapper in WindowedListView - 58db9f3
  • Add support for missing XHR response types - fcc89e9
  • Add a way to prefetch remote images to cache with Image.prefetch - f7bcb3e
  • Add transform-es2015-function-name to the react-native babel preset - 855c0cc
  • Add instructions to reload simulator for non-QWERTY keyboards - c417c2e
  • Add support for ontimeout and onerror handler when using XMLHttpRequest for Android and iOS - d09cd62

Bug fixes

  • Add null check before accessing the refresh control ref - eac617d
  • Fix HMR on Windows - c61100d
  • Fix up PanResponder example - 05a852a
  • Fix an issue when the title in NavigationExperimentalHeader would block touches for the left component - 86d5c52
  • Fixed images required from node_modules - d0566d8
  • Fix an edge case in hot module reloading - 41576ea
  • Fix warnings in UIExplorer example pages - 528cf68
  • Fix perf tab missing key warnings - b7a3272
  • Fix swiping in navigator too quickly causes the gesture to be lost - ca2fb70
  • Fix border radius / background propagation issues in TicTacToe example - 97f60ad
  • Fix race conditions in Portal when simultaneously closing/opening - 7354ff3
  • Fix ImageEditingManager when no external cache - fffcb9c
  • Fix RefreshControl refreshing state - 93b39b7

Android

New features

  • Added support for textDecorationLine style prop on Android - 2039be9
  • Added support for Image corner radius on Android - 69534a3
  • Added WebChromeClient as default WebView client f94abd3

Bug fixes

  • Fix DrawerLayoutAndroid method parameter - d66b944
  • Fix DrawerLayoutAndroid not able to set opacity - 7851572
  • Fix an issue with removeClippedSubviews and TextInput - 89340f1
  • Add support for WebSocket protocols argument - 914f33c
  • Fix systrace logging reported by RUN_JS_BUNDLE - 2d0051f
  • Fix Promise argument assertion to take into account executorTokenOffset - e27a27b
  • Fix Modal crash caused by accessibility bcf91bc

iOS

New features

  • Added cache prepare step for packager in ios e2e test - a6a5ef4

Bug fixes

  • Fix UIExplorer Image example on iOS - a10c1b5
  • Add missing RCTConvert import - db25ab4
  • Fix coalescing key generation for RCTTouchEvent - 8efc098
  • Fix failure of pod lib lint - ef044e2
  • Fix css-layout measure mode changes from pull request #163' - 7a1b072

v0.25.0

05 May 21:16
Compare
Choose a tag to compare

Refer to release notes for 0.25.1

0.24

04 Apr 21:17
@ide ide
Compare
Choose a tag to compare

Thanks to 65 contributors who put 142 commits into React Native 0.24! It is available on npm: react-native@^0.24.0.

Docs here: https://facebook.github.io/react-native/releases/0.24/docs/getting-started.html.

This release includes a series of improvements for coalescing touch and scroll events on iOS by Martin Kralik (@majak). These improvements fixed a bug that was preventing some native touch events from being dispatched to JS. This also improves the perceived performance of components that rely on these touch events, like parallax scrollers. Thanks, Martin! 👏🏻

RN 0.24 theme pic

_Photo picked by @vjeux; he ❤️s you all very much_

Known issues we’re fixing

  • RefreshControl broken on iOS: #6929 (fix: 03c1688)
  • Hot module reloading raises an error: #6798
  • response.json() hangs when Chrome debugging is enabled: #6679
  • Unable to require images under node_modules: #6638

Ongoing issue thread: #6800

Breaking changes

  • Android no longer includes Stetho by default: 3c488af
  • Removed RCTBridgeModuleClassIsRegistered from iOS: a16771c
  • Removed sendMomentumEvents prop from ScrollView, which was intended for internal usage
  • StyleSheetRegistry has been renamed to ReactNativePropRegistry. This module is private so it shouldn't affect everyone using React Native's public API, though: 433fb33

New features

  • Enhancements to NavigationExperimental by @hedgerwang:
    • Animations and gestures for pagers: 4f8668b
    • Use the same type of animation (spring) in NavigationCardStack and NavigationAnimatedView: 07697d1
    • Reduce extra rendering in NavigationHeader: 62e80a6
  • Experimental WindowedListView, which uses a placeholder spacer view for off-screen rows. It is not a drop-in replacement for ListView: cd79e26
  • Several improvements to the docs

Bug fixes

  • Use a monotonic clock instead of the current time in the profiling tools: ac03c47
  • Various Hot Module Reloading fixes: 98411f1, 51b5423
  • Fix views not stretching vertically in column layout: #2724, d957570
  • Use semver in the .flowconfig file to allow you to use patch versions of Flow without updating .flowconfig: #6767

Android

New features

  • 🎉 Preliminary support for delegating Animated commands to the native UI thread. Credit goes to @kmagiera for the design and implementation, @brentvatne for experimentation and critical feedback, and @astreet and @vjeux for a thorough code review. The implementation is not complete but will eventually unblock Navigation animations from other heavy work on the JS thread: #6466
  • Modal now warns if you don't provide the onRequestClose prop: ce81f8b
  • Vibration patterns: e20e8a3
  • DrawerLayoutAndroid has a new statusBackBackgroundColor prop, which tells it to draw over the native Android toolbar. See the screenshots in the PR: #6218
  • ScrollView has a new endFillColor prop, which tells React Native to fill in the rest of the scroll view with a color in the event that the scroll view's viewport is larger than its content. This is an advanced performance optimization to reduce overdraw; measure performance before you use it: 4498bc8
  • TextInput supports the 'selectTextOnFocus' prop now: #6654
  • Start creating views before the end of a batch for performance: 6a3b334
  • ReadableArray and ReadableHashMap now define convenience methods: toArrayList and toHashMap: #6639, #6762
  • Returning true from a BackAndroid hardwareBackPress handler stops invocation of previously registered handlers and the default OS action: 67efe4c (reverted in ede99ee)
  • Slider component is available: afe78f6

Bug fixes

  • Fix clipping rectangle calculation for nested scroll views: e8e3182
  • Don't strip NativeRunnable constructor with ProGuard: 393890e
  • Fix fetching source maps in Genymotion: 6c22a21
  • Prevent a parent view’s touched state from applying to its children when nesting TouchableNativeFeedback components: #6783

iOS

New features

  • Open-source FBPortForwarding, which proxies network requests from a device to your computer like adb reverse. It is not integrated with React Native, but the code is here if you want this feature: FBPortForwarding: c4699d8
  • ActionSheetIOS has a new message option: #6685

Bug fixes

  • 🎉 Fix how native events are coalesced when sending them to JS, specifically touch and scroll events, in order to respect their ordering (#5246 (comment)). When all events can be coalesced, they are processed ASAP instead of waiting for the next JS frame. Several diffs from @majak: a496baa, a37075d, cefc5a6, 7c2b397, b1b53aa, 1d3db4c (reverted in 144dc30 , reinstated with a fix in 02b6e38
    ), 31bb85a
  • Lock accesses to the flow ID map (for profiling) for thread safety: 2be42ab
  • Stop the JS run loop from -[RCTJSExecutor invalidate] instead of dealloc so that it is guaranteed to be stopped from the JS thread: 99c7de2
  • Prevent dev menu from resetting simulator orientation: #6765
  • Increase dev tools timeout: b00c77a
  • Use indirect jumps in the profiling trampoline to support larger binaries when needing to jump more than 32MiB: 2f27039
  • Make SliderIOS retain its touch responder status: 52ddfd9

v0.23.1

07 Apr 21:21
@ide ide
Compare
Choose a tag to compare

When react-native init sets up a new project and installs the react package, it will use the version specified in the peerDependencies section of React Native's package.json file. Previously, it would always install the latest version of React, rather than the latest compatible version. This change makes sure that React Native will continue using React 0.14.x when React 15.0.0 is released.

If you already have an existing React Native project, you do not need to upgrade from 0.23.0 to 0.23.1.

0.23

06 Apr 18:21
Compare
Choose a tag to compare

Thanks to 91 contributors who put 234 commits into this release!

This release includes Android support for Modal.

Special thanks to @knowbody for writing these release notes!

New features

  • Add ability to silence packager logs to stdout - d5445d5
  • Add the possibility to console.error/redbox on promise rejections - f87b673
  • Add more performance logs and improve Systrace support - f6853b8
  • Initial implementation of the Navigator with NavigationExperimental. - fa5783e
  • <Incremental> for incremental rendering - f21da3a
  • Add ability to specify custom left, right components, and title component in NavigationExperimental's NavigationHeader. Style the NavigationHeader according to the Platform - 720c76f (Breaking)

Bug fixes

  • Update node-haste and replace fast-path with node-haste's version to fix Windows compatibility - fd816b1
  • Fix bug #5604 - Unrecognised signal for touchable no longer on the screen - d637621
  • Update Layout.c to fix flexbox layout bug - 6c5195f
  • Transform before extracting dependencies - 9d09efd
  • Refactor bezier implementation from bezier-easing library - b5985cf
  • Inline __accept call so that source maps work with HMR bcb37c0

Android

New features

  • Modal now works on Android
  • Add missing textAlignVertical support on android TextView - d20bde3
  • Add support for elevation in DrawerLayoutAndroid - 61483aa
  • Add JS Minify option to settings in Android - 1f94a00
  • Make run-android execute the app on all connected devices - 10ad47a
  • Add support for multiple JS contexts - 872b697
  • Make JS perf API available to JS - 6e3710f

Bug fixes

  • Fix setting android toolbar images after null them - 8aa83a2
  • Add StatusBar height constant and improve implementation - 18f38ec
  • Fix event dispatcher timestamp sorting bug - f5a3490
  • Fix RCTText crashing when negative width is passed to measure - c42fc61
  • Fix text input scroll when status bar is translucent - c76523f
  • Fix race condition in refactored bridge code - 0cb7d16
  • Convert Image resizeMode contain to FIT_CENTER - 2070efa

iOS

New features

  • Adding Pre-Parsing cache & StringRef to iOS 8's JSC - 22e55d4
  • Add lineBreakMode prop to Text - 64a09fe
  • Add blur effect to RCTImageView - 9cb3ec9

Bug fixes

  • Fix sticky header touch handling bug - 688bb17
  • Update AppState to support the inactive state - ec9efb8

0.22

08 Mar 20:16
Compare
Choose a tag to compare

Thanks to the 99 contributors who put 316 commits into React Native 0.22.0!

React Native 0.22 ships with Hot Reloading! 🎉

Special thanks to Mateusz Zatorski (@knowbody) for writing these release notes.

New features

  • Support custom ScrollView implementations in ListView - b516976
  • Adopt NavigationExperimental in UIExplorer - 876ecb2
  • Introduce disabling for Touchable* elements - 9951e1a
  • Introducing NavigationCardStack - 6bcb2a0
  • Implement modulo operator method for Animated - ae0ad1f
  • Add message channel to packager for sending commands to bridge (2/N) - c377f2a
  • Add new worker for code transform, optimization, and dependency extraction in packager - d94a567
  • Add gesture handling for the Navigation card stack - caac520
  • Add data structure to manage the stack for the legacy navigator - 1caebf1

Bug fixes

  • Fix an issue (Sticky header index was outside the range) when renderSeparator is defined but returns null - c449d9e
  • Fix resources build variable name - 7eb7b94
  • Fix crash when passing null to clearImmediate - 44fcf22
  • Fix Exponential WebSocket Growth from DevTools - d0a26a7

Android

New features

  • Add the ability to create triangles using style tricks - a6a4389
  • Enable scalesPageToFit on Android - 4b97137
  • Add position to Picker onValueChange's call - b454d31
  • Added a root option to the run-android command - b9ed72a
  • Use nanoTime instead of currentTimeMillis for events - b5d2667
  • Add drawerLockMode prop to DrawerLayoutAndroid - ec173b1
  • WebWorkers: Add ExecutorToken to route native module calls to/from workers - bd95b22
  • Enable blurOnSubmit for text input in android - ab12189
  • Add generic memory pressure listener interface - c027f05
  • Ability to supply product flavor for react-native run-android command - 46422dd
  • Add ReactCompoundViewGroup interface that allows having both virtual and non-virtual (View) children - aae521f

Bug fixes

  • Fix app crashes on Android after fetching the js bundle - 3640080
  • Fix broken drawer layout - 8e809e9
  • Deprecate PullToRefreshViewAndroid and remove it from the website - 91788d2
  • Fix hidden StatusBar reappearing after exiting app on Android - cf3bd9f
  • Fix android's image tintColor prop when used with alpha - 8b88cae
  • Fix attributes checking for Image.android.js - 7e3266d
  • Fix deadlock in bridge - e64987d
  • Fix IllegalStateException crash in WebSocketModule.java - a6a89fe

iOS

New features

  • Adds category and alertAction properties to local notification details object - 183d6a0
  • Add position to Picker onValueChange's call - b454d31
  • Add support for sharing images or other media via iOS share sheet - e6c6510
  • Added support for taking snapshots of the screen, window or individual views - ac12f98
  • Add UIManager.measureInWindow to get window coordinates - f67fa82
  • Add Universal Links support to Linking.getInitialURL(). Fixes #6099 - f0689cf

Bug fixes

  • Fix a bug with ListView with sticky headers + RefreshControl - 671b975
  • Fix RCTPerfMonitor display unit error - 50141f9
  • Fix WebView example on iOS - 7032a64
  • Fix issue with opaque thumbnails being given an alpha channel - 7383378
  • Fix RefreshControl layout on screen rotation and consecutive pull to refresh not working properly - 102a31c
  • Fix Geolocation Accuracy and Cached Location Bug - 49b2805

v0.21.0

01 Mar 15:41
Compare
Choose a tag to compare

Thanks to the 62 contributors who put 145 commits into React Native 0.21!

forever21 1

Important: Read if upgrading your Android project to this version

We've simplified how your Android apps are built. The Android binaries are now distributed via npm along with the rest of the framework (rather than Maven). This means you'll need to run react-native upgrade to upgrade you Android build (.gradle) files. This is a one-time change.

New features

  • Added NavigationExperimental a308546
  • Added ability to switch React Native version in documentation website 6c7991c 6c7991c
  • Replace String.prototype.contains with String.prototype.includes polyfill 2f73ad0 577206f
  • Make Chrome debugger faster 64d56f3
  • Added accessibility props for Touchables 33d8db5
  • Better warnings when running packager on Node < 4 e1f04bf
  • Expose option for distance filtering on location updates 109036b
  • Don't automatically render more rows when dataSource updates d2ab6ca
  • Allows RefreshControl to be mounted with refreshing = true 3e1f1ea
  • Add support for number as colors 1c11276
  • Re-render the whole navigation bar while calling immediatelyResetRouteStack 7b57b5c
  • Support for back button in NavigationExperimental 7b2b0c3
  • Stop warning about using onWillFocus and onDidFocus 5ca9245
  • Let the module cache depend on transform options 727a2a9
  • Added deprecatedCallback helper 8eddead
  • Don't show underlay if no press handlers e93afad
  • Return remover function when adding NetInfo listener 1c507e6
  • Added guide for getting started on Linux 2260d90
  • Use ES6 import instead of require in docs 3ae99d0
  • Packager: Remove unused support for asynchronous dependencies 7c03b16
  • Added two new apps to showcase (Choke and MyPED) 0f850b4 272096c

Bug fixes

  • Remove React dev tools upsell until it's supported 184c708
  • Fix inspector for displaying styles' value 97b8a57
  • Fix bug when multiGet requests with overlapping key sets get issued 52755fd
  • Add missing Children.toArray 7cbad9f
  • Improve copyright year in docs de3b942
  • Fix StyleInspector warning about unique key prop 97741af

Android

New features

  • Expose Dimension.get('screen') 228a1fe
  • Return object with remove method from BackAndroid.addEventListener 8f6e074
  • Added .setItems() integration for Android AlertDialog 4fd115f
  • Cache image resource ids fef4196
  • Use new DisplayMetrics object in getDisplayMetrics 6ac007b
  • Add better error messages on js bundle downloads 81dc884
  • WebWorkers: Pass bridge to JS executors cf7a97c
  • Allow use external typeface in native code 17fcc94
  • Support corner radius 4937a4c
  • Document working with Android Studio abdca04
  • Document DatePicker and TimerPicker 05e4236
  • Consume artifacts from npm 702f999
  • Add Object.getPropertyNames() and Object.toJSONMap APIs bab4818
  • Format exceptions correctly when crashing 0b89b18
  • Strip devsupport from prod builds 8720d4b
  • Add 'file://' prefix to sourceURL when loading a script from a file f2a60a2

Bug fixes

  • Fix proguard template for ReactProp and ReactPropGroup 10c0758
  • Fix issue that breaks scroll views w/ RefreshControl on Android 9879717
  • Fix race in Catalyst tests 294185a
  • Snapshot BackAndroid event listeners while an event is dispatched 9040315
  • Fix icon handling 142f8c9
  • Fix "POST has no body" a7521a2

iOS

New features

  • More helpful description for native-js prop mismatch 375abc3
  • Add support for textAlign on iOS multiline text input 7b22606
  • Expose flow events to JS + add JS -> Native flows c00049c
  • Add ability to listen and dismiss local notifications 758d9e8
  • Restricted image decoding to 2 simultaneous threads 915e582
  • Make JS async always the top thread in systrace 84f51da

Bug fixes

  • Fix 404 error on ShadowPropTypesIOS documentation 736e900
  • Fix XMLHttpRequest.abort() not functional 995b66d
  • Fix promises on iOS to no longer wrap values in Arrays c9a1956

0.20

16 Feb 17:57
Compare
Choose a tag to compare

Thanks to the 84 contributors who put 253 commits into this release!
Special thanks to @knowbody for preparing these release notes.

New features

  • Added an optional options parameter for WebSockets - 9b87e6c
  • Generalized image decoding and resizing logic - 21fcbbc
  • Make CameraRoll work with Promises - 9baff8f
  • Change the js signature to be Promise based and dynamically detect it used as a callback - 747be0b
  • Use numeric identifiers when building a bundle - cb4fca3
  • Adding ETag handling to packager improves local development - 528e309
  • Added support for auto-resizing text fields - 481f560
  • Open source Android date and time pickers - 9a0539d
  • Add cross-platform Linking module - e33e6ab
  • Reimplement color processing - c8a0a3e
  • Cross platform status bar API - b979128
  • Use "babel-preset-react-native" - e6cb02d
  • Support non-image assets in packager - 81fb985
  • Added accessibility props for Touchables - c715302
  • Added accessibility props for Touchables #5346 33d8db5
  • Versioned documentation deployment 6f1417c, 7d7508e

Bug fixes

  • TextInput should call blur and focus methods of selectionState - 5ea4d39
  • Fix default logger's loglevel, improve default error handler - 1dffd05
  • RN: Teach YellowBox to Count - ab87033
  • Fix TouchNativeFeedback so that the ripple starts from where a person touches - 48117ce
  • Make the packager work with babel strict mode transform - d33b554
  • RCTUtils Obj-C nullability annotations - 34d5fa2
  • adjust getSize so that its doc can be shown on the page - edb523c
  • Correctly bind Touchable.js setTimeout - f644af3
  • Ensure perspective value is non-zero - dad4622
  • Improve style prop display - 193df8a
  • breaking test and fix for browser field mapping from package to file - 191b692
  • Fix warnings generated by Elements Inspector - c1aed7b
  • Disable navigation bar right button when it's transparent - 1edcf4c
  • Fix problems with graceful-fs bug - f04882f
  • ColorPropTypes support for isRequired and more precise description - 1491668
  • Fix shallow dependency resolution - 361f3f3
  • Replace ScrollView.scrollTo() API with something less ambiguous - 6941c4e

Android

New features

  • Expose setGlobalVariable in CatalystInstance interface - a9a7c78
  • Android AppState - c2d75d7
  • added support for overlayColor property for image - f68281a
  • Open sourced ImageEditor, ImageStore for Android - 1d819e9
  • Add onPageScrollStateChanged for ViewPagerAndroid - 8de86a0
  • Add support for custom scale types - 53100ec
  • Update Android's ScrollView.scrollTo API to match JS/iOS - ee30433
  • Add headers prop to Android WebViews - 80a2f5d
  • Add support for selectionColor on Android TextInput - 0c91931
  • Add scrollEnabled prop to Android ScrollView - 82b0df9

Bug fixes

  • When using split builds, don't generate universal APK - 342a763
  • Fix StyleSheet 'textAlign' for AndroidTextInput - f453e14
  • Don't NPE in reactTagForTouch - 2a70c53
  • Fix a crash in Image when passed an invalid uri - 798acac
  • Fix per connection timeouts for XHR - f7c48ee
  • Fix timing initialization bug - 7e5247c
  • Fix bug with calculating Y offset in RecyclerViewBackedScrollView - 041fb59
  • Use getRealMetrics for display metrics - 8e60394
  • Fix Keyboard handling to allow all characters on Soft Input Panel and hardware keyboard - fa4a5af
  • Allow customized refreshControl in ScrollView for Android - 6d65a90
  • Fix bug related to removeClippedSubviews and view collapsing - 5f4390b
  • Fix scrollTo when using RefreshControl on Android - db74e71
  • Multiple fixes to DisplayMetrics KeyboardListener 33d8db5, 4254e8a, 5a109ae, 228a1fe
  • Fix issue that breaks scroll views w/ RefreshControl on Android 9879717

iOS

New features

  • API for cancelling RCTTouchHandler - c14cc12
  • Added support for width & height for text images - 2cbc912
  • Add 3dTouch props to touch events - fff5dc3
  • Added iOS indicatorStyle prop to ScrollView - b84f5fb
  • add flag to enable momentum scrolling on iOS - 0f7477f
  • Add MapView annotation callback when it gets / lost the focus - cb874a5
  • iOS websocket: include cookies with request - debcac5
  • Add iOS tintColor prop to TextInput - c2233ef

Bug fixes

  • Fixed screen size bug on iPhone6+ - 36e0dd2
  • RCTGzipData() accepts nil input, but was not marked as returning nullable output - cd2eed0
  • Fix RCTNavigator.m when views are not native - cc30e2b
  • Improved 3D touch implementation, and add...
Read more

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