Skip to content

Releases: react/react-native

January 2017

Choose a tag to compare

@grabbou grabbou released this 04 Jan 13:02

This is 0.41.0 release, referred to as "January 2017" according to the new release schedule.

New features

Android: Nodes

This feature is currently experimental. You can turn it on by applying this in your ReactNativeHost subclass.

Nodes is an experimental, alternate version of UIImplementation for ReactNative on Android. It has two main advantages over the existing UIImplementation:

  • Support for overflow:visible on Android.
  • More efficient generation of view hierarchies.

The intention is to ultimately replace the existing UIImplementation on Android with Nodes (after all the issues are ironed out).

Feature development and bug-fixes related to Nodes are listed below in a separate section for better clarity.

Check the readme for more details.

Breaking changes

Android: Change ReactNativeHost getUseDeveloperSupport to public

f3c8158 - @jpshelley

This changes the visibility of getUseDeveloperSupport from protected to public. In order to upgrade, you should replace the following in your MainApplication.java:

protected boolean getUseDeveloperSupport() {

with

public boolean getUseDeveloperSupport() {

Android: ReactClippingViewGroup is moved to another package

57ebb98 - @astreet

Developers using ReactClippingViewGroup may need to update their imports from:

import com.facebook.react.views.view.ReactClippingViewGroupHelper;

to

import com.facebook.react.uimanager.ReactClippingViewGroupHelper;

General

Bugfixes

New features and enhancements

Android

New features and enhancements

iOS

Bugfixes

New features and enhancements

  • CocoaPods: Make Core subspec use a Ruby string array for exclude_files (01af9ee) - @ide
  • Show Yellow Box when we fail to load a local image (ac11eed) - @mmmulani
  • Apple TV support 5 (fd5af61) - @dlowder-salesforce

December 2016

Choose a tag to compare

@grabbou grabbou released this 04 Jan 11:09

This is the first release with the new monthly cadence, so 0.40 is known as December 2016. The next version will be 0.41 - January 2017, and will be released at the end of the month.

Breaking Changes

iOS native headers moved

This change affects all native modules and application code on iOS that refer to react native .h files

After e1577df, Native code on iOS must refer to headers out of the react namespace. Previously the following would work:

#import "RCTUtils.h"

But now all headers have been moved:

#import <React/RCTUtils.h>

This means that all iOS native libraries need a major version bump for RN 0.40. We attempt to minimize changes of this magnitude, and we apologize for any inconvenience caused.

require('image!...') no longer supported

Support for require('image!…'), which has been deprecated for a long time, is now removed. If you are still loading images that way in your apps, make sure to check the documentation for alternatives.

getTransformModuleOptions is removed

If you were having custom rn-cli.config.js in your app and for some reason, using getTransformModuleOptions, make sure to check @davidaurelio commit ca58e0a for details on the changes.

Android

Bugfixes

  • Fix WebView crash for links of unknown schemes (35e75c8) - @rigdern
  • Fix Overlay for Marshmallow 23+ (e335ca0) - @jpshelley
  • Stop silently failing for requires on Android (63eb4df) - @javache
  • Fix SamplingProfiler and HeapCapture for apps that lazy load react modules (d919eb7)
  • Call handleUpdateLayout even if the content didn't change (fb23000) - @Kerumen

New features and enhancements

iOS

Bugfixes

New features and enhancements

General

Bugfixes

New features and enhancements

v0.39.0

Choose a tag to compare

@grabbou grabbou released this 02 Dec 11:22

Thanks to 74 contributors who put 162 commits into this release.

Breaking changes

See this document for a complete list of breaking changes (three) and actions required.

General

Android

  • Move to new C-based implementation of css-layout in RN Android (d63ba47) - @astreet
  • Android: Fix inconsistency with fractional TextInput padding (aa85408) - @rigdern
  • Disable debug menu when monkey is running (9a8b5d9) - @rigdern

General

Bugfixes

New features and enhancements

Android

Bugfixes

New features and enhancements

  • Expose setAllowUniversalAccessFromFileURLs in Android WebView (b6a38e8) - @locly
  • Update logging to support levels, print messages in Android logcat on assertion failures (a731a23) - @astreet
  • Proper NativeAnimated node invalidation on Android (6f5433f) - @ryangomba
  • Reduce overdraw layers by hiding cards when they are not visible (54beee2) - @rigdern
  • Expose Image's onError event to JavaScript (e87e181) - @rigdern
  • Provide more info when image fails to load (d117f55) - @frantic

iOS

Bugfixes

  • Ensure notification payload is passed to completion handler (df6b8bd) - @npomfret

New features and enhancements

v0.38.0

Choose a tag to compare

@grabbou grabbou released this 23 Nov 06:08

Thanks to 72 contributors who put 157 commits into this release.

Breaking changes

See this document for a complete list of breaking changes (one) and actions required.

General

Bugfixes

New features and enhacements

  • Deprecate MapView in favor of airbnb/react-native-maps (dca53fe) - @mkonicek
  • CSSLayout: Update CSSNodeFree for C#, Java and Objective-C (31d3926) - @splhack
  • CSSLayout: Suggest the compiler to inline smaller functions (942f724) - @emilsjolander
  • CSSLayout: Don’t preallocate child lists (d932c96) - @swolchok
  • CSSLayout: Exposing layout cache check publicly (e7dc71b)
  • Use native animations in TouchableBounce and TouchableOpacity (1bb323e) - @skevy
  • Show Warning for Background Remote Debuggers (8b653cd) - @yungsters
  • Adding Jest preset so that people can configure Jest using react-native as preset (6d3e074)
  • Use yarn when available (94711bf) - @mkonicek
  • Fallback to JS Animation if native animated is not present (3237ade) - @fkgozali
  • Upgrade to lodash@^4.16.6, results in faster packager and smaller npm install size (237ab33) - @zertosh
  • Bunch of documentation updates, including better user experience, more detailed explanations and more. Thanks to @aybb, @lacker, @hramos and the entire team!
  • Integration test stability: add delay before starting TimersTest (0698b2b) - @dlowder-salesforce
  • Modernize AppContainer and add rootTag in the child context (fb7fe2d) - @fkgozali

Android

Bugfixes

  • Android shouldn't dispatch onLayout if frame didn't change (d4b8ae7) - @hayeah
  • HeadlessTask: Fix memory leak (3af104f)
  • Fix bug in canUseCachedMeasurement causing unneeded double measure (3c5a7ae) - @emilsjolander
  • HeadlessTask: Fix notification task timeout crashing (3580de5)
  • Queue JS calls that come in before JS bundle has started loading instead of crashing (68aeffe) - @astreet

New features and enhancements

iOS

Bugfixes

New features and enhancements

v0.37.0

Choose a tag to compare

@grabbou grabbou released this 08 Nov 10:54

Thanks to 67 contributors who put 160 commits into this release!

Breaking changes

Remove deprecated APIs and modules (fa5ad85) - @satya164

Removed Alternative
AppStateIOS AppState
ActivityIndicatorIOS ActivityIndicator
IntentAndroid, LinkingIOS Linking
SliderIOS Slider
SwitchAndroid, SwitchIOS Switch

Remove callback support from following modules, use promises instead:

General

Bugfixes

New features and enhancements

Android

Bugfixes

  • Fix crash when resolveView fails to find a view (8e91843)
  • Prevent app from crashing when getCurrentActivity returns null (9c3bfe0) - @cmcewen

New features and enhancements

  • ART: Use TextureView and pass Surface from the view to draw on it asynchronously instead of passing the bitmap (d294e15) - @tepamid
  • ART: Support dashes in ARTShape (d294e15) - @tepamid

iOS

Bugfixes

New features and enhancements

v0.36.0

Choose a tag to compare

@grabbou grabbou released this 25 Oct 18:34

Thanks to 67 contributors who put 139 commits into this release!

Breaking changes

General

  • Default scrollview to flexShrink to allow views below it (c43a3f5) - @emilsjolander

  • Fix unconstraint sizing in main axis (0a9b6be) - @emilsjolander

    Most of your layouts will continue to function as before however some of them might not. Typically this is due to having a flex: 1 style where it is currently a no-op due to being measured with an undefined size but after this change it may collapse your component to take zero size due to the implicit flexBasis: 0 now being correctly treated. Removing the bad flex: 1 style or changing it to flexGrow: 1 should solve most if not all layout issues your see after this change.

Android

General

Bugfixes

  • Add null check for keyboardFrame variable in KeyboardAvoidingView component (770091f) - @Isakdl
  • XMLHttpRequest.getAllResponseHeaders should use CRLF (24c72f5) - @arv
  • Emit willfocus from immediatelyResetRouteStack (95b1fc4) - @dzautner
  • Dump invalid json when call Value::fromJSON failed (9a7e4b4) - @leeight
  • Fix no "window" in react native (1941450) - @sunnylqm

New features and enhancements

Android

Bugfixes

New features and enhancements

  • Add ability to lazy load Native Java Modules (797ca6c) - @AaaChiuuu
  • Android: add support for headless js tasks (3080b8d) - @foghina
  • Add flag to enable lazy view managers (1296cb2) - @AaaChiuuu
  • StatusBar: barStyle support for Android (API 23+) (c4ac8b3) - @alwx
  • Android: enable foreground ripple (6d175f2) - @foghina

iOS

Bugfixes

  • Find correct local IP address when running on iOS device (8adf78f) - @guilhermebruzzi
  • Fix Modal to handle in-call status bar (0ce2bbd) - @mmmulani
  • Fix ScrollView's snap index when scrolling forward and user taps the screen again while still scrolling (72e203b) - @anttimo
  • Fixed crash when setting custom shadow props to null (cfae3e3) - @majak
  • Sync support for new ios bridge (97e3c09) - @mhorowitz
  • Cancel network requests from the correct queue (64dd140) - @javache

New features and enhancements

  • Add support for new ios bridge to FBReactBridgeJSExecutor (af5c8a8) - @mhorowitz
  • Add destination to e2e xcode build (f0a3a25)
  • Apple TV support 1: existing Objective C code should compile for tvOS (d368ebf) - @dlowder-salesforce
  • Apple TV support 2: Xcode projects and CI (scripts/objc-test.sh) (8622998) - @dlowder-salesforce

Windows

Bugfixes

v0.35.0

Choose a tag to compare

@grabbou grabbou released this 11 Oct 11:27

Thanks to 68 contributors who put 132 commits into this release!

General

Bug fixes

New features and ehancements

  • Expose hot & live reload, remote debug, profiling (38354c4) - @dozoisch
  • Add a way to enable / disable lazy native modules (a4916b8) - @AaaChiuuu
  • Add shorcuts for windows & linux to debugger.html (f4e3e19) - @mdamien
  • Add option to bundle server to generate full sourcemaps from babel (e6bec9c) - @cwdick
  • Add Dependency Injection, nodes support for RN/Components integration (6f42603) - @astreet
  • Add "assetPlugin" option to allow arbitrary asset processing (5ac7706) - @ide
  • Add a PushFromLeft animation to Navigator (8ebe66d) - @LinesWan
  • Add jest and jest babel preset to the react-native init command (8689b0f) - @kentaromiura
  • Adjust rnpm link to colorize skipped linking steps (db870f8) - @GantMan
  • packager: dedupe symlinks if they point to already covered paths (4ab455b) - @philikon
  • Allow rn-cli.config.js to specify the default transformer, again (111ed8d) - @philikon
  • Support false mappings in "browser" fields (5710b23) - @davidaurelio
  • Close open rows on scroll in SwipeableListView (5c13eac) - @fred2028

Android

Bugfixes

New features and enhancements

iOS

Bugfixes

New features and enhancements

v0.34.1

Choose a tag to compare

@grabbou grabbou released this 01 Oct 20:04

Thanks to 87 contributors who put 201 commits into this release!

Special thanks to @charpeni for writing these release notes!

General

Bugfixes

New features and enhancements

Android

Bugfixes

New features and enhancements

  • Add "npm i --save react" to Android docs (6729df3)
  • Add TextInput controlled selection prop on Android (3c1b69c) - @janicduplessis
  • Android: Add support for having borders on & components (28ba749) - @rigdern
  • Add onContentSizeChange prop to WebView (22de655)
  • Add performance tracking for rendering (16f76d4)
  • Add annotation processor to create static ReactModule infos (605a0a6) - @AaaChiuuu
  • Add separate JSBunldeLoader for assets (0c2fdf4) - @michalgr
  • Bring back missing android command (993cfa1) - @grabbou
  • Implement flex properties in java version as well (e63a7ea) - @emilsjolander
  • Remove all @ReactModule runtime annotation processing (2889343) - @AaaChiuuu
  • Don't clear queue in ProxyExecutor (b4999fc) - @lexs
  • Update gradle version and android gradle plugin version (6bfabee) - @felipecsl
  • Make Spacing.release() public (1eddd01)
  • Codemod away buck_flags in Libraries/FBR* (708efcf) - @adamjernst
  • Clean up fresco cache clearing code (d3282e3) - @foghina
  • Expose image cache interrogation to JS (69c8898) - @foghina
  • Cleanup FBReactKit BUCK paths (7430820) - @javache
  • Include image dimensions & url in Image's onLoad callback (bcf48e7) - @rigdern
  • Improve ReactRootView's onMeasure error message (00d6587)
  • Convert CoreModulesPackage to use @ReactModuleList (367c712) - @AaaChiuuu
  • Improve loading error handling on Android WebView (5ba40fe)
  • Improve ellipsizeMode prop (cd1a86d) - @rigdern
  • Listen to device orientation changes (f07ca31) - @andreicoman11
  • Smart textinput scroll (372d001) - @andreicoman11
  • Remove ReactRootView's MeasureSpec assertion (300cb03)
  • Evacuate part of optimized bundle logic from react code (d323856) - @michalgr
  • Enable developers to force Fresco to resize an image (b6735f3) - @rigdern
  • Allow UnpackingJSBundleLoader's client to queue action to perform after unpacking (2618ba2) - @michalgr
  • Rename native event timeStamp to timestamp (8aeeb4d) - @andreicoman11
  • Show a redbox when scripts fail to load (bbd1e45)
  • Brings accessibilityLabel into PickerAndroid (efd8b10) - @isnifer
  • Use the c.f.react.bridge.ReactMarker (e70d1db) - @AaaChiuuu
  • break down production startup with more markers (cc30d2f) - @AaaChiuuu
  • Android package name validator consistent with docs (9289e4f) - @radko93
  • Actually close packager websocket connection when destroying instance (588f0b8) - @foghina

iOS

Bugfixes

New features and enhancements

Read more

v0.34.0

Choose a tag to compare

@grabbou grabbou released this 27 Nov 00:30

Thanks to 87 contributors who put 201 commits into this release!

Special thanks to @charpeni for writing these release notes!

General

Bugfixes

New features and enhancements

Android

Bugfixes

New features and enhancements

  • Add "npm i --save react" to Android docs (6729df3)
  • Add TextInput controlled selection prop on Android (3c1b69c) - @janicduplessis
  • Android: Add support for having borders on & components (28ba749) - @rigdern
  • Add onContentSizeChange prop to WebView (22de655)
  • Add performance tracking for rendering (16f76d4)
  • Add annotation processor to create static ReactModule infos (605a0a6) - @AaaChiuuu
  • Add separate JSBunldeLoader for assets (0c2fdf4) - @michalgr
  • Bring back missing android command (993cfa1) - @grabbou
  • Implement flex properties in java version as well (e63a7ea) - @emilsjolander
  • Remove all @ReactModule runtime annotation processing (2889343) - @AaaChiuuu
  • Don't clear queue in ProxyExecutor (b4999fc) - @lexs
  • Update gradle version and android gradle plugin version (6bfabee) - @felipecsl
  • Make Spacing.release() public (1eddd01)
  • Codemod away buck_flags in Libraries/FBR* (708efcf) - @adamjernst
  • Clean up fresco cache clearing code (d3282e3) - @foghina
  • Expose image cache interrogation to JS (69c8898) - @foghina
  • Cleanup FBReactKit BUCK paths (7430820) - @javache
  • Include image dimensions & url in Image's onLoad callback (bcf48e7) - @rigdern
  • Improve ReactRootView's onMeasure error message (00d6587)
  • Convert CoreModulesPackage to use @ReactModuleList (367c712) - @AaaChiuuu
  • Improve loading error handling on Android WebView (5ba40fe)
  • Improve ellipsizeMode prop (cd1a86d) - @rigdern
  • Listen to device orientation changes (f07ca31) - @andreicoman11
  • Smart textinput scroll (372d001) - @andreicoman11
  • Remove ReactRootView's MeasureSpec assertion (300cb03)
  • Evacuate part of optimized bundle logic from react code (d323856) - @michalgr
  • Enable developers to force Fresco to resize an image (b6735f3) - @rigdern
  • Allow UnpackingJSBundleLoader's client to queue action to perform after unpacking (2618ba2) - @michalgr
  • Rename native event timeStamp to timestamp (8aeeb4d) - @andreicoman11
  • Show a redbox when scripts fail to load (bbd1e45)
  • Brings accessibilityLabel into PickerAndroid (efd8b10) - @isnifer
  • Use the c.f.react.bridge.ReactMarker (e70d1db) - @AaaChiuuu
  • break down production startup with more markers (cc30d2f) - @AaaChiuuu
  • Android package name validator consistent with docs (9289e4f) - @radko93
  • Actually close packager websocket connection when destroying instance (588f0b8) - @foghina

iOS

Bugfixes

New features and enhancements

Read more

v0.33.0

Choose a tag to compare

@grabbou grabbou released this 10 Sep 08:37

Thanks to 96 contributors who put 175 commits into this release!

This release requires React ~15.3.0.

Breaking Changes

Android

  • Add Activity to onActivityResult listener interface (fbd2e13) - @foghina
  • Add ReactFragmentActivity, share delegate with ReactActivity (3c4fd42) - @foghina

General

Bugfixes

New features and enhancements

  • Add --config option to CLI to allow passing a path to an rn-cli.config.js (757ab0b) - @skevy
  • Add support for flex-grow, flex-shrink, and flex-basis (0ea4198) - @emilsjolander
  • Remove shouldComponentUpdate policy from NavigationCard and NavigationCardStack (6c4d3c3) - @ericvicenti
  • Make reloads faster for simple file changes (3f504ec) - @davidaurelio
  • Define Flow types for style and stylesheet objects, more checking (8eed600) - @ide
  • Run adb reverse for all devices using run-android with multiple devices (dd6370f) - @jreziga
  • Add onComplete callback to animation config (26e8ae7) - @vaukalak
  • Provide RTL support in NavigationCardStack (fc864a2) - @MengjueW
  • Scroll multiline textinputs when focused (0082517)

Android

Bugfixes

New features and enhancements

iOS

Bugfixes

New features and enhancements