A framework for building native applications using React
MIT License
Bot releases are hidden (Show)
Published by grabbou over 7 years ago
Changelog coming later.
Published by grabbou over 7 years ago
This is February 2017 release, also known as 0.42.0
.
Older compilers for iOS such as Xcode 7.x's are no longer supported. Please upgrade to the latest version of Xcode.
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.
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()
.
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.
transform
property0ed31eb - @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.
FallbackJSBundleLoader
(c3892fa) - @amnnintrinsicContentSize
(d1990f8) - @sherginsetFrame
, setLeftTop
, and co. (f33f84e) - @sherginUIManager.measure()
now respects any zoom
affected view hierarchy (f839b58) - @sherginstyle
and imageStyle
props to Navigation.Header.BackButton (7812b82) - @danscaninit
(Chat) (3ee3d2b) - @mkonicekfbjs/lib/invariant
instead of invariant
(517abba) - @davidaurelioPublished by grabbou almost 8 years ago
This is 0.41.0 release, referred to as "January 2017" according to the new release schedule.
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:
overflow:visible
on Android.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.
f3c8158773edf418833ff0032414433edbc6cd62 - @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() {
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;
path.sep
replacement of node-haste for Windows (2249af1) - @jhen0409init
(e0c3d56d3a5dcc68c1a7585275a051d781ade914) - @rh389Published by grabbou almost 8 years ago
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.
This change affects all native modules and application code on iOS that refer to react native
.h
files
After https://github.com/facebook/react-native/commit/e1577df1fd70049ce7f288f91f6e2b18d512ff4d, 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.
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.
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.
emit()
by ~50% (c4046d6) - @VenryxText
(7b3e67d) - @benvium.gitignore
(5e008c9) - @KrauseFxModuleGraph/Graph
(021b313) - @davidaureliodeprecated
flag for nativeImageSource (1fe0f4d) - @franticshouldThrowOnUnresolvedErrors
option (b1fd7bd) - @cpojerisPolyfill
to type = 'module' | 'script'
(da079f7) - @davidaureliotoString
on functions in buildStyleInterpolator (25fb2ba) - @michalgrThanks to 74 contributors who put 162 commits into this release.
See this document for a complete list of breaking changes (three) and actions required.
--indexed-unbundle
flag to force iOS ra-bundle format (112bdc9) - @davidaurelio<Text>
's selectable
attribute on iOS (5d03ff8) - @sherginPublished by grabbou almost 8 years ago
Thanks to 87 contributors who put 201 commits into this release!
Special thanks to @charpeni for writing these release notes!
runVerbose
(f799fa1) - @dragonwongnonnull
for compatibility with Android (a02c238) - @arianrequestDisallowInterceptTouchEvent
for nested react native views (dea6b0e) - @andreicoman11geolocationError
return PositionError object. (99d742c) - @leeighttimeStamp
to timestamp
(8aeeb4d) - @andreicoman11<Modal />
to be configured with a custom presentation/dismissal block (d8b2bab) - @mmmulani<Modal />
to be presented in different orientations (de3457f) - @mmmulaniThanks to 72 contributors who put 157 commits into this release.
See this document for a complete list of breaking changes (one) and actions required.
CGFloat
with float
in RCTShadowView (82911a8) - @javacheThanks to 67 contributors who put 160 commits into this release!
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:
Thanks to 67 contributors who put 139 commits into this release!
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 implicitflexBasis: 0
now being correctly treated. Removing the badflex: 1
style or changing it toflexGrow: 1
should solve most if not all layout issues your see after this change.
willfocus
from immediatelyResetRouteStack (95b1fc4) - @dzautnerKeyboard.dismiss()
function and document Keyboard (542ab86) - @GantManThanks to 68 contributors who put 132 commits into this release!
false
mappings in "browser"
fields (5710b23) - @davidaurelioThanks to 87 contributors who put 201 commits into this release!
Special thanks to @charpeni for writing these release notes!
runVerbose
(f799fa1) - @dragonwongnonnull
for compatibility with Android (a02c238) - @arianrequestDisallowInterceptTouchEvent
for nested react native views (dea6b0e) - @andreicoman11geolocationError
return PositionError object. (99d742c) - @leeighttimeStamp
to timestamp
(8aeeb4d) - @andreicoman11<Modal />
to be configured with a custom presentation/dismissal block (d8b2bab) - @mmmulani<Modal />
to be presented in different orientations (de3457f) - @mmmulaniThanks to 96 contributors who put 175 commits into this release!
This release requires React ~15.3.0
.
--config
option to CLI to allow passing a path to an rn-cli.config.js
(757ab0b) - @skevyadb reverse
for all devices using run-android with multiple devices (dd6370f) - @jrezigacheckAndroid
back (6f7ade1) - @jrezigaisPrefSet
and setPref
to make I18nUtil cleaner (380830e) - @MengjueWPublished by grabbou about 8 years ago
Thanks to 106 contributors who put 240 commits into this release!
This release requires React ~15.3.0
.
renderOverlay
to renderHeader
(ca85311) - @hedgerwangreact-native link
(8ad748a) - @Kureevoptions()
call for link and other commands (504b516) - @grabboustatusBarHeight
prop for NavigationHeader (341b29d) - @corbtPublished by grabbou about 8 years ago
Thanks to 101 contributors who put 228 commits into this release!
Special thanks to @satya164 for writing these release notes!
props
by NavigationTransitioner
(46a6851) - @jmurzyrnpm
(e8b508144fdcdea436cf4d80d99daec757505c70) - @grabbou @KureevThanks to 90 contributors who put 217 commits into this release!
Special thanks to @satya164 for writing this release notes!
NavigationAnimatedView
(8ce7ad4) - @jmurzyActivityEventListener
now need to implement onNewIntent(Intent intent)
scene.route.title
(730619d) - @SunnyGurnaniNavigationStateUtils.back()
and NavigationStateUtils.forward()
. (614f3c6) - @hedgerwangLOADING
on reload() in WebView
(b2c5584) - @stereodenisrun-ios
(5276db4) - @mroswaldrnpm
not working with MainApplication.java
https://github.com/facebook/react-native/commit/3c8a2eed92587ef3a79352b71073e4cfccb2a7df
react-native link
214a41d62af6c752bf34e40bc0b046790a009e3dPublished by grabbou over 8 years ago
Thanks to 97 contributors who put 218 commits into this release!
Special thanks to @satya164 for writing this release notes!
NavigationStateUtils.getParent
, NavigationStateUtils.set
.onNavigate
(fb0007d) - @hedgerwangrender
prop for NavigationTransitioner to render scenes (3a62314) - @hedgerwangChange the application template (49f20f4) - @foghina
ReactContextBaseJavaModule
use getCurrentActivity
to get the activity reference. This change is backward compatible.Migration instructions for apps
MainApplication.java
in the same folder as MainActivity.java
MainActivity.java
to this fileMainActivity.java
to match - https://github.com/facebook/react-native/blob/0.29-stable/local-cli/generator-android/templates/package/MainActivity.java
android:name=".MainApplication"
in the <application />
section of AndroidManifest.xml
. It should now look like,<application
+ android:name=".MainApplication"
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">
./gradlew clean
The experience might vary according to the level of customization you've made. Check this commit to see how UIExplorer and MoviesApp were migrated - https://github.com/facebook/react-native/commit/dcc2abc1f63f91e53bf01f4bc56c5b7c76300617
Remove support for password property and only use secureTextEntry (f3507f9) - @dmmiller
Remove the Profiler Option in RN Android Dev Menu (4b19db3) - @lebronJ
removeClippedSubviews
prop is used (1048e5d) - @nicklockwoodemptyFunction
in SwipeableListView
(2fd537c) - @glawson<TextInput>
(92926f9) - @paulshenlog-ios
and log-android
commands (cf97c9a096d00666b24898aa0ca98ca7f88c8a6b) - @vitalisStyleSheet.absoluteFill
convenience constant (e79f5d7) - @sahrenslineBreakMode
prop on <Text>
(c03b166) - @skv-headlessgetScheduledLocalNotifications
(5b4b027) - @joshuapinterPublished by grabbou over 8 years ago
Thanks to 87 contributors who put 182 commits into this release!
Special thanks to @satya164 for writing this release notes!
NavigationState
to NavigationRoute
, rename NavigationParentState
to NavigationState
(807726b) - @hedgerwangscene.navigationState
to scene.route
(fb5d0ff) - @hedgerwangnavigationState.children
to navigationState.routes
. (1e62602) - @hedgerwangPullToRefreshViewAndroid
and onRefreshStart
/ endRefreshing
(a71a9ef) - @janicduplessiskey
from NavigationState
. (f7279b4) - @hedgerwangflex: 1
where not necessary this change will likely break your layout as the measuring behavior is slightly different than before due to performance optimizations. Removing that unnecessary flex: 1
will solve your layout in most cases.flexWrap: wrap
no longer works together with alignItems: 'stretch'
(the default). If you use flexWrap: wrap
you probably will want to add the alignItems: 'flex-start'
style as well.didSendNetworkData
with no listeners registered" warning (bdcdfb0) - @nicklockwoodXMLHttpRequest.responseText
(e293502) - @philikonArray.prototype.includes
polyfill (ed47efe) - @KerumenActivityIndicator
(26e8426) - @janicduplessisPlatform.select
(8c3db97) - @davidaurelioImage#getSize
for Android (c1558bc) - @cornedor<Text>
(486dbe4) - @rigdern