Skip to content

Releases: facebook/react-native

May 2017

12 Jul 06:58

Choose a tag to compare

General

Breaking changes

Remove React forwarding and wrong import warnings

(f3dbddc) - @janicduplessis

Importing ‘react’ modules from ‘react-native’ has been deprecated since 0.25 and is now an error.

Bugfixes

New features and enhancements

Yoga

Packager

iOS

Breaking changes

Update podspecs to support and default to the C++ bridge

(5aca739) - @mhorowitz

If you are using Cocoapods, you will have to update your Podfile by adding a dependency of ‘BatchedBridge’ or ‘CxxBridge’ to the React subspec depending on your choice.

Bugfixes

New features and enhancements

Android

Bugfixes

New features and enhancements

  • Expose setPointScaleFactor to java (19e1ef9) - @emilsjolande
  • Expose print function to java (924b869) - @emilsjolande
  • Allow Android videos to be shown in the CameraRoll selector (a324dfb) - @fred202
  • Add symbol...
Read more

April 2017

12 Jul 06:58

Choose a tag to compare

General

Breaking change

Remove support for @provides

6cbb57d - @jetzhliu

If you were using @provides NameOfModule, you should now switch to @providesModule

Only call batchDidComplete when there were actually native calls dispatched

c8d922b - @facebook/team-jest

This is breaking because it affects the contract for onBatchComplete, but modules really shouldn't (and probably aren't) depending on it being called without any actual native module method calls having happened.

Navigator has been deprecated

92d985f - @ericvicenti

Navigator has been deprecated in favor of React Navigation. If you wish to continue using Navigator, you can install the react-native-deprecated-custom-components package which provides the legacy Navigator component. Find out more at https://github.com/facebookarchive/react-native-custom-components

Bugfixes

New features and enhancements

Yoga

iOS

Breaking changes

Remove MapViewIOS

48f30ec - @mkonicek

<MapView /> was deprecated for a while, in this release it is removed from react-native. As a workaround, we suggest using react-native-maps by Airbnb. If you cannot migrate to react-native-maps, you can continue using <MapView /> by importing the deprecated-react-native-ios-mapview module into your project with the caveat that the module will no longer receive any updates or bugfixes.

Bugfixes

New features and enhancements

Read more

July 2017

05 Jul 19:57

Choose a tag to compare

July 2017 Pre-release
Pre-release

Changelog coming soon.

June 2017

07 Jun 11:39

Choose a tag to compare

June 2017 Pre-release
Pre-release

Changelog coming later.

v0.45.0

07 Jun 11:39

Choose a tag to compare

[0.45.0] Bump version numbers

March 2017

21 Jul 06:24

Choose a tag to compare

Breaking changes

Switch componentWillMount / componentWillUnmount order

(5eb3ab3) - @sebmarkbage

This switches a React feature flag so that componentWillMount happens before
componentWillUnmount when a child switches. It used to be inconsistent and this
makes it consistent and inline with what React Fiber does.

Correct value of Dimensions.get('screen').fontScale

(186f308) - @rigdern

On Android, the following properties now return a different number:

  • Dimensions.get('window').fontScale
  • Dimensions.get('screen').fontScale
  • PixelRatio.getFontScale()

This is a breaking change to anyone who was using these properties because the meaning of these properties has now changed.

These properties used to return a value representing font scale times density (DisplayMetrics.scaledDensity). Now they return a value representing just font scale (Configuration.fontScale).

Only call batchDidComplete when there were actually native calls dispatched

(5f09ca4) - @astreet

This is breaking because it affects the contract for onBatchComplete, but modules really shouldn't (and probably aren't) depending on it being called without any actual native module method calls having happened.

Android

Bugfixes

New features and enhancements

iOS

Bugfixes

New features and enhancements

General

Bugfixes

New features and enhacements

Read more

February 2017

02 Feb 17:52

Choose a tag to compare

This is February 2017 release, also known as 0.42.0.

Breaking changes

Xcode 8.x is required

Older compilers for iOS such as Xcode 7.x's are no longer supported. Please upgrade to the latest version of Xcode.

Android: windowSoftInputMode for new apps

e3d4ace - @mkonicek

All new apps created with react-native init are going to have windowSoftInputMode:``adjustResize instead of adjustUnspecified, which is default. That change makes keyboard handling on Android automatic and doesn't require any Javascript solutions, like KeyboardAvoidingView to be used. You can see the rationale behind that change along the screenshots here. It shouldn't be breaking for most of the users.

Android: (Re)move JSBundleLoader.getSourceUrl()

89d72c9 - @amnn

If you are using any of the following API's to access the Source URL of the bundle:

  • JSBundleLoader.getSourceUrl()
  • ReactInstanceManager.getSourceUrl()
  • ReactInstanceManager.getJSBundleFile()

you have to now refer to the source of truth for this information, which is at CatalystInstance.getSourceURL(), or the return value of JSBundleLoader.loadScript().

Android: Remove RecyclerViewBackedScrollView

6ec5654 - @mkonicek

RecyclerViewBackedScrollView was added a long time ago to work around the scroll-back-when-data-is-added bug, but that has now been fixed directly in the ScrollView (ReactScrollView.java) in open source and internally.

Both: Improve validation of transform property

0ed31eb - @janicduplessis

This commit improves validations of the transform object that are done on the Javascript side and makes it a bit stricter (hence the breaking change). When moving transform objects parsing to native the validations got out of sync a bit. In this change we make sure JS validations are the same or stricter than the native ones to make sure we get consistent errors across platforms.

General

Bugfixes

New features and enahcements

Android

Bugfixes

New features and enahcements

iOS

Bugfixes

New features and enhancements

General

Bugfixes

New features and enhancements

Read more

January 2017

04 Jan 13:02

Choose a tag to compare

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

04 Jan 11:09

Choose a tag to compare

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

02 Dec 11:22

Choose a tag to compare

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