React Native September 2017 (v0.49.0) released

v0.49.0 on GitHub (npm)


Breaking changes and deprecations

General

  • New projects have a single entry-point (index.js) from now on (6e99e31) - @fson

    Summary:

    Before

    • When creating a new project with react-native init, generated template has two entry-points: index.ios.js and index.android.js
    • Those two files were always identical

    After

    • When creating a new project, generated template has a single, shared entry-point: index.js

    Updating your code

    When upgrading to this release with react-native-git-upgrade or react-native upgrade, be aware that these tools will automatically update your code to use index.js instead of index.ios.js and index.android.js, as previously. However, they will not create an index.js file for you. This is a side-effect of the react-native-git-upgrade that has to be reverted. After running that tool, you have two options:

    • rename index.ios.js to index.js and remove index.android.js (providing that they were as generated by react-native init)
    • revert changes done by react-native-git-upgrade in order to keep separate entry files. That is, as soon as you upgrade, revert changes made to AppDelegate.m, MainApplication.java and build.gradle.
  • Yoga: Change aspect ratio behavior (67c160c) - @emilsjolander

    Summary:

    Before

    • Aspect ratio would do its best to fit within it's parent constraints
    • Aspect ratio would prioritize alignItems: stretch over other sizing properties.

    After

    • Aspect ratio is allowed to make a node grow past its parent constraints. This matches many other aspects of flexbox where parent constraints are not treated as hard constraints but rather as suggestions.
    • Aspect ratio only takes alignItems: stretch into account if no other size definition is defined. This matches the interaction of other properties with alignItems: stretch.

    Updating your code

    You probably don't need to do anything but in case something does break in your product it should be as easy as adding {width: '100%', height: '100%', flexShrink: 1} to the style declaring the aspectRatio.

Android

  • Rename module name to module path (5d4c6e5)

iOS

Android

Bugfixes

  • Fix updating a view z-index on Android (b103903)
  • Fix scroll events getting skipped on Android (29e5deb) - @janicduplessis
  • Fix content appeared logging (091878a) - @bnham
  • Retrieve correct content uri for videos (1748922)
  • Separate window dimensions change from orientation (c9aeaf6) - @atsjenk
  • Android Oreo (8.0) Support (6b39d64) - @AndrewJack
  • Always set camera distance on transforms, to default 1280 if 0 (b2fe048) - @bartolkaruza
  • Allow reactinstancemanager to set an initialization function (84e80eb)
  • Fix getting correct video width and height metrics in Camera Roll (25f2938)
  • Fix fetching video length in Camera Roll (4000202)
  • Make ResourceDrawableIdHelper work with resource id (dc61f10) - @sriramramani
  • Force original ime option when using multiline with blurOnSubmit (94a2ff9) - @reneweb

New features and enhancements

  • Add --port option to run-android, defaults to 8081 (898790d)
  • Add native Checkbox component (84b11dd)
  • Expose offset parameters for ToastAndroid (546a43b)
  • Refactor MemoryPressureListener to use Android levels (37754c5) - @cwdick
  • Improve getCurrentPosition API (7e11bad) - @rigdern
  • Do not send 'hot' parameter when requesting a bundle from Android (c2b3ee7) - @rafeca
  • Allow whitelisting urls to bypass default webview loading (40a2885) - @fkgozali
  • WebView: Show loading state when reloading (f95153e)
  • Measure height of Android Text component based on includeFontPadding property (9f5bdd7)
  • WebView: Only fire onLoadStart for toplevel page loads (ffbd3db) - @rigdern
  • Support flash scroll indicators for android (2ceed95)
  • Add perf marker that fires first time content is added to root view (d013ba3) - @bnham
  • Add perf markers for reload and download (c080fe5) - @bnham
  • Add more perf counters (caaf7fd) - @alexeylang
  • Run onReactContextInitialized() on the UIThread (43ff9b4) - @AaaChiuuu
  • Allow to fetch files over the network (b4f91be)
  • Expose the ReactApplicationContext to createShadowNodeInstance() (64e9b24)
  • Make JavaScriptExecutor.Factory a configurable property of ReactInstanceManager (73f1790) - @michalgr
  • Remove appcompat dep from react/views/toolbar (c3b47e5)
  • Reduce possible race condition on gc of catalyst instance (f0d9810)
  • Report perf counters always when we call flushPendingBatches() (4aae843) - @alexeylang
  • Expose method to set custom baseline function (9c2caaa)
  • Download bundle atomically (d63cf13) - @bnham
  • Remove v4 support library from RN deps (fe0d081)

iOS

Bugfixes

New features and enhancements

General

Bugfixes

New features and enhancements