Releases: facebook/react-native
May 2017
General
Breaking changes
Remove React forwarding and wrong import warnings
Importing ‘react’ modules from ‘react-native’ has been deprecated since 0.25 and is now an error.
Bugfixes
- XMLHttpRequest withCredentials defaults to "true" (7c3918b) - @DanielZlotin
- Return findNodeHandle to public api (7063261) - @skv-headless
- Fix warnings in
TouchableHighlight
(bd00456) - @zjj010104 - Fix broken default getProjectRoots (f847fbe) - @skevy
New features and enhancements
- TouchableHighlight needs to set _isMounted false when it unmounts. (d40a7ea) - @sahrens
- Custom build options: Move transform options into own property (8533c0d) - @davidaurelio
- Work around a false positive
isMounted()
warning (074c3ce) - @gaearon - CLI: Stronger typing for transformers (73fc439) - @davidaurelio
- CLI: Disable
no-alert
eslint rule for node code (d2505e7) - @davidaurelio - CLI: Get rid of FBism in
Config
(b9fb229) - @davidaurelio - CLI: Resolve path at callsite rather than in
Config.loadFile
(edf1774) - @davidaurelio - CLI: Fix Promise resolve callback error (7dd2cd3) - @johnislarry
- Fixed default placeholder text color for multiline (cf975bb) - @shergi
- Allow calling NativeViewHierarchyManager.addRootView() off the UI thread (20c2ae8) - @AaaChiuuu
- FlatList: use $ReadOnlyArray for section stuff (5084e1b) - @sahrens
- FlatList: Make section key optional (8d373f3) - @sahrens
- FlatList: Many improvements (28aaa88) - @sahrens
- FlatList: Fix and optimize VirtualizedList update triggers (52e50af) - @sahrens
- FlatList: Made
getItem
andgetItemCount
required props (VirtualizedList) (beeffb8) - @mariten - FlatList: Add ListEmptyComponent prop (264d67c) - @Minishlink
- FlatList: flipped leading/trailing separators.updateProps (5c7c65e) - @sahrens
- FindNodeHandle properly handles ReactCurrentOwner.current Fiber type (909fb72) - @bvaughn
- Sync React 16 from alpha 6 to 12 (ef0bd5c) - @bvaughn
- Open in editor fix, show tip instead of error (9934131) - @skv-headless
- Fix parseFloat mistaken uses of "radix" (37f3ce1) - @zertosh
- Add flow to
processColor.js
(c7e0f56) - @TheSavior - Add method on YellowBox to ignore warnings (a974c14)
- Refactor MessageQueue (0a55e42) - @rh389
- Order modules in bundle by path. (978592f) - @amnn
Yoga
- Expose setPointScaleFactor (19e1ef9) - @emilsjolander
- Expose print function (924b869) - @emilsjolander
- Treat measured nodes size as a minimum constraint when rounding (1c0e3b8) - @emilsjolander
- Disable yoga rounding (39f9e7a) - @emilsjolander
- Remove rounding from experimental features (1a72d91) - @emilsjolander
- Move reset into yoga node and don’t set overflow as it has no effect (5bb1e48) - @emilsjolander
- Fix useLegacyStretchBehaviour flag by simplifying its usage (d199d1d) - @emilsjolander
- Fix flex-wrap with max constraint (c660d0c) - @woehrl01
- Fix sizing of non stretch items (992e37c) - @woehrl01
- Let measure behave more like on the web (925ec01) - @woehrl01
- Move YGLogger into YGConfig and associate YGNodeRef with log events (5f2edfc) - @woehrl01
- New round-to-pixel-grid algorithm that fixes possible subpixel gaps between sibling nodes (a8fa904) - @shergin
- Assertion on attempt to get layout metrics from dirtied Yoga node (18fd18e) - @shergin
- Add YGConfigCopy (f71e3b8) - @zcbenz
Packager
- Rename node-haste/index to DependencyGraph (c948ae8) - @jeanlauliac
- Packager - Fix symbolicate on windows (074fd33) - @janicduplessis
- Connect / disconnect with websocket not when starting / stopping (f1d5fdd) - @emilsjolander
- Call onDisconnected() not onConnected() when closing socket (aaab0e9) - @emilsjolander
- Remove unused hash (cb3b744) - @jeanlauliac
- Bump packager's inspector message timeout to 30s (de4d355) - @johnislarry
- ModuleGraph: include all possible asset types (e69b813) - @jeanlauliac
- Buck assets: wrap in __d (2a5959a) - @jeanlauliac
- Optimize assets' JS (7d6fec0) - @jeanlauliac
- Worker-farm: isolate stdout/stderr (fbe6d93) - @jeanlauliac
- Properly handle babel ignored files, returning only the contents (7932b93)
- Force
'default'
transform variant to be present (11eef69) - @davidaurelio - Make bundle building function async (382e633) - @davidaurelio
- Pull reusable logic out of
Bundler
(66d51bb) - @davidaurelio - Separate node polyfills from runtime transforms (1adb318) - @davidaurelio
- Unify source map types (58ba7fc) - @davidaurelio
- Change postprocessing hook to work on
ModuleTransport
instances (414d5a3) - @davidaurelio - Inline plugin: type options (3afbcfc) - @davidaurelio
- Make test independent from side effects (291a497) - @davidaurelio
- Remove irrelevant options from cache key (3e08a28) - @davidaurelio
- Stronger typing for transform options / remove duplication (13f89f4) - @davidaurelio
- Fix paths of module system and polyfills (7eb005b) - @davidaurelio
- Fix support for haste packages (a26e042) - @davidaurelio
- Fix release / minified bundle builds (1a0e78c) - @davidaurelio
- Faster terminal feedback (76d6f90) - @jeanlauliac
- Fork local version of worker-farm (e5920e7) - @jeanlauliac
- ResolutionRequest: keep option object as it is (cc5997a) - @jeanlauliac
- Buck worker: output assets (cf4a98b) - @jeanlauliac
- Buck worker: better types (91ff215) - @jeanlauliac
- Worker: strenghten TransformOptions (0001d3c) - @jeanlauliac
- AssetPathUtils: @flow (aef2867) - @jeanlauliac
- GlobalTransformCache: throat() the file fetching function (f519f16) - @jeanlauliac
- Remove last declareOpts usage and replace by Flow types (e135bac) - @jeanlauliac
- TransformCache: store last cache collection time (eb72d50) - @jeanlauliac
- TransformCache: include UID + do not use base64 (1e6bca2) - @jeanlauliac
- Upgrade to jest-runtime 19.0.3 (ec7a817) - @jeanlauliac
- Buck library: expose asset content (1f8d100) - @jeanlauliac
- Buck library: aggregate assets (b6a7a71) - @jeanlauliac
- AssetServer: @flow (9bbbfb4) - @jeanlauliac
- getAssetDataFromName: @flow (2403b42) - @jeanlauliac
- GlobalTransformCache: cache the transform options digest (de3478c) - @jeanlauliac
- GlobalTransformCache: fix non-bound function (fddb3b0) - @jeanlauliac
- Add support for relative files with custom extensions (4a86f93) - @jeanlauliac
- Correct transform for assets to avoid string (79d9fd8) - @jeanlauliac
- worker-farm/lib/fork.js: cleanup (2de6e54) - @jeanlauliac
- worker-farm: pass explicit execArgv to workers (bc4de00) - @jeanlauliac
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
- Fix run-ios when specifying a scheme as cli arg (c58e19e) - @pesterhazy
- Fix RCTMultipartDataTask memory leaks (47f834a) - @ywz2010
- Fixed crash caused by NaN values in RCTTouchEvent (e7c6a4c) - @shergin
- React.podspec fix for RCTAnimation header issue (7b7d6bb) - @vjeranc
- Ship third-party-podspecs in the npm package (1ea4002) - @jeanregisser
- Fixed issue where the copy item would be added to the tooltips (d5a6152) - @gabrielbull
New features and enhancements
- Allow videos to be shown in the CameraRoll selector (a324dfb) - @fred2028
- More verbose error messages for iOS (e443b73) - @cooperka
- Add API to reset CxxModuleWrapper's module pointer (17020ff) - @javache
- Remove RCTBatchedBridge rule and all uses from the tree (325228d) - @mhorowitz
- Split off websocket related items to RCTPackagerConnection (db8efd9) - @javache
- Immediately trigger renderApplication from RCTRootView init (59378f7) - @javach
- Native Animated - Support decay on iOS (6c434f9) - @janicduplessis
- Port perf metrics used in RCTBatchedBridge (1bc9d44) - @alexeylang
- Added support for synchronous methods in native modules on iOS (db0c221) - @fromcelticpark
- Added tests for synchronous methods in native modules on iOS (971b083) - @fromcelticpark
- Adopting Yoga's YGConfig in RCTShadowView (ca07a5f) - @shergin
- Cleanup Xcode project references to UIExplorer (3544b76) - @ericvicenti
- Merge RCTPackagerClient into RCTPackagerConnection (e768013) - @javache
- Remove RCTPackagerClientResponder references from Xcode projects (1dd7bc1) - @javache
- Introducing
RCTAssertUIManagerQueue()
(2a98432) - @shergin - Introducing
RCTUIManagerObserverCoordinator
new way to subscribe for granular notifications from UIManager (712b1dd) - @shergin - Throw when failing to load script (f09fdcb) - @javache
- Remove WebWorker support from NetworkingModule (ea93577) - @javache
- Remove WebWorker support from Timers (a20882f) - @javache
- Drop support for WebWorkers (34bc6bd) - @javache
- Avoid presenting on view controller that's being dismissed (96d13b6) - @javache
- List nested exception in Redbox (b493208) - @javache
- Apple TV Support: Add tvOS build support for ART library (32eab54) - @danielfarrell
- Expose shake-to-show dev menu setting via the bridge (39d1974) - @wschurman
- Enable dev menu in tvOS simulator (3122328) - @cmcewen
Android
Bugfixes
- Fix crash when tapping "Comments" at Settings (39c73a8) - @minjang
- Fix touch target for views with z-index (6f092a4) - @janicduplessis
- Fix NoSuchMethodError for Inspector#Page's constructor (3240180)
- Fix Nodes not having correct view managers externally (c8bb422) - @sjkirby
- Stop from incorrectly darkening translucent status bars (41518ca) - @dantman
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...
April 2017
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
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
- Fix a typo in navigation doc (0d5620b) - @sunnylqm
- Fix TextInput 'defaultValue' propTypes to 'string' (c53404a) - @feyy
- Fix YellowBox layout to not interfere with app layout when opened. (7ff18f2) - @sahrens
- FlatList: Fix doubled ItemSeparators (7e4c93d) - @sahrens
- FlatList: Fix minimumViewTime (b1a63f0) - @sahrens
- FlatList: Fix Animated.event attach/detach on component re-render (9c3e6ae) - @sahrens
- Fix suggestion to "npm start -- --reset-cache" (06dd083) - @cooperka
- Fixes misleading comment on getInitialURL (c41b29d) - @jeremistadler
- FlatList: Fix nodeHandle crash (93c438d) - @sahrens
- Fix usages of ReactComponentWithPureRenderMixin (a2cfea1) - @javache
- Fix grammar in the "Running on a device" docs (1091868) - @hramos
- Website: Fix broken icons in showcase on Safari (1f15c75) - @hramos
- Website: Fix broken references, remove navigators (3b28644) - @ericvicenti
- Fix PerformanceLogger clearing unfinished events (005fbe6) - @javache
- Animated: Add missing super calls to fix native animated crash (c233191) - @janicduplessis
- Fix ReactNativeEventEmitter not dispatching events when org. instance is gone (23c2a6c) - @shergin
New features and enhancements
- Website: Clean up, add tests, remove dependency on sass (e82c2fb) - @mkonicek
- Added deprecation warning for View.* static accessibility traits accessors (ef3db66) - @bvaughn
- Remove Navigator recommendation (a030432) - @hramos
- Introduce
DeviceInfo
as a new native module (95c1926) - @ashwinb - Add support for animating nested styles (9d32920) - @mlanter
- Added ReactNative feature-flag switch between Stack and Fiber builds (6620b1f) - @bvaughn
- Add support for custom log reporter cli option for local server (5f5da4e) - @brentvatne
- Remove unused onNativeException delegate method (73e81b8) - @javache
- Use verbose module name when requiring module that errored (14fee73) - @davidaurelio
- Better instructions for displaying systrace (c451dd6) - @gaearon
- Support string return type from RN when using Fiber (9344f3a) - @bvaughn
- Don't swallow the error if a module require fails (d731466) - @mhorowitz
- Don't load native module support as part of the initial CS bundle (6dc3a83) - @mhorowitz
- Use
fbjs/lib/invariant
, notinvariant
(80e1dbf) - @davidaurelio - Packager: GlobalTransformCache: ignore errors related to fetching (4cbb645) - @jeanlauliac
- Packager: GlobalTransformCache: reduce asynchronicity for non-cached bundles (439cb76) - @jeanlauliac
- Packager: clear cache (4797701) - @jeanlauliac
- Packager: GlobalTransformCache-test: disable non-deterministic test (d5288e7) - @jeanlauliac
- Packager: Package.js: make read()-based API sync (ebd8b2a) - @jeanlauliac
- Packager: Module.js: make read()-based API sync (5eb954f) - @jeanlauliac
- Packager: Package.js: cover the error cases (909d2e5) - @jeanlauliac
- Packager: Module.js: cover the error cases (3054842) - @jeanlauliac
- Packager: TerminalReporter: stop reporting global cache errors (20ba987) - @jeanlauliac
- Packager: ResolutionRequest.js: sync _resolveNodeDependency() (b96e210) - @jeanlauliac
- Packager: ResolutionRequest.js: resolveDependency() now sync (e0ad425) - @jeanlauliac
- Packager: TransformCache: do not rehash transformOptions every single time (4bd7dc0) - @jeanlauliac
- Packager: TransformCache: use sha1 instead of murmurhash (cc2ec6f) - @jeanlauliac
- Packager: GlobalTransformCache: retry keys fetches (33000c7) - @jeanlauliac
- Packager: sync Module#read() (3ef2055) - @jeanlauliac
- Replace
copyProperties
withObject.assign
(a34956f) - @davidaurelio - Only use
EventValidator
in development mode (2b4762f) - @davidaurelio - FlatList: Invariants around scrollToIndex without getItemLayout (edd5624) - @sahrens
- FlatList: Support sticky headers (72670bf) - @sahrens
- FlatList: onEndReached should clear when data changes (22a4205) - @sahrens
- FlatList: Remove shouldItemUpdate (5c85615) - @sahrens
- FlatList: Show useful error when switching numColumns on the fly (46d6766) - @sahrens
- Use checkPropTypes instead of directly calling PropTypes (d9910a5) - @acdlite
- Move View.propTypes to ViewPropTypes (53905a5) - @bvaughn
- Remove React addons from react-native-implementation (14c31d9) - @janicduplessis
- Improve dark mode for debugger (8a8f34a) - @Kerumen
- Fix findNodeHandle() in Fiber (333dd59) - @bvaughn
- Remove NavigationExperimental (febf3d0) - @ericvicenti
- Expose new ViewPropTypes object on ReactNative renderer (9a88c72) - @bvaughn
- Allow overrides of NativeModules (ff7fb6e) - @javache
- Move takeSnapshot method from UIManager to ReactNative (848593c) - @bvaughn
- Remove CustomComponents folder and license (777e80a) - @ericvicenti
- Refactor Chrome Debugger JS (696b49e) - @yungsters
- Stop yarn error message appearing for Windows users of local-cli (7c90b06) - @dikaiosune
- Protect against fatal YellowBox error when stack frame has no file (106ad85) - @terribleben
- Re-added null inst check to avoid EventPropagators bug (01215c0) - @bvaughn
- Show more meaningful error stack in red box (d4aa42a) - @bvaughn
Yoga
- Expose UseWebDefaults to java (50a6c49) - @emilsjolander
- Don't transfer layout outputs to java for nodes which don't have a new layout (759b8cc) - @woehrl01
- Don't transfer layout outputs to java for unset edges (f1371ec) - @woehrl01
- Fix align-content: center, flex-end alignment with margin (18c239e) - @woehrl01
- Invalidate layout when node is removed from tree (e854775) - @emilsjolander
- Set web defaults when resetting (673093e) - @emilsjolander
iOS
Breaking changes
Remove MapViewIOS
<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
- Fix crashes in RCTPicker (1195a8f)
- Fix property accessor warning in RCTDevSettings (b3be574) - @terribleben
- Fix crash when overriding native modules on RCTJSCExecutor (3f46e59) - @javache
- Fix timing animation delay on iOS when using native animations (fb54a1e) - @janicduplessis
- Fix crash in
RCTJSStackFrame::stackFrameWithDictionary:
(9075fe0) - @terribleben - Fix crash in
RCTRedBox::formatFrameSource:
(1a23902) - @terribleben - Fix ReactCxx xcodeproj (22151d2) - @janicduplessis
- Fix warnings in React.xcodeproj (9d377e9) - @javache
- NativeAnimated: Fix missing update at the end of the batch (f46fd36) - @janicduplessis
- Fix cxx bridge headers when archiving (ec5baf0) - @janicduplessis
- Fixed
zero scale
transfrom breakinghitTest
mechanism (64c327a) - @shergin
New features and enhancements
- Better TextInput: Decouple RCTUITextView from TextInput (b53d76e) - @shergin
- Better TextInput: Improve placeholder feature in RCTUITextView (1433185) - @shergin
- Better TextInput: Removed redundant UIScrollView from RCTTextView (3acafd1) - @shergin
- Better TextInput: Native auto-expandable is here (iOS only) (26e2c08) - @shergin
- Better TextInput: Fixing multiline insets and prepare for auto-expanding feature (1b013cd) - @shergin
- Look for assets beyond mainBundle when not found (4398892)
- Native Animated: Add tests for on iOS (1d37dd0) - @janicduplessis
- Native Animated: Restore default values when removing props on iOS (c9fae2f) - @janicduplessis
- Add iOS Linking location example to docs (ec68c97) - @viktorsec
- Move RCTLinkingManager to the main thread (55f48eb) - @mmmulani
- Make Cxx modules lazy on iOS (ea069b6) - @javache
- Expose RCTImageLocalAssetURL as a utility (f48b54b) - @ashwinb
- RCTRootView is now has empty autoresizing mask by default (d272334) - @shergin
- NavigatorIOS: Remove NavigationContext (7aa2c9a) - @ericvicenti
- Improve feel of scroll snapping behavior on iOS (1d36700) - @spicyj
- Make run-ios --device example copy-pastable (140c5f6) - @bhelx
- Merge RCTPlatform.isTesting and RCTRunningInTestEnvironment (f675434) - @javache
- Update xcode dependency from 0.8.9 -> 0.9.1 (5be8d5f) - @joonhocho
- Match plist indentation with xcode format (8daf985) - @koenpunt
- Move bindKeys to RCTBridge setUp (e12e57e) - @javache
- Add missing
toggleElementInspector
event send whenjsLoaded
(f352aa1) - @jhen0...
July 2017
Changelog coming soon.
June 2017
Changelog coming later.
v0.45.0
March 2017
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
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
- Fix native animated event lag on Android (61d3741) - @janicduplessis
- Fix formatting in DatePickerAndroid.open docs (643925b) - @hramos
- Fix BundleHeader init in CatalystInstanceImpl (09fa9da) - @javache
- Fix copy/paste bug in open source BUCK file for React Native. (f9df89a) - @bolinfest
New features and enhancements
- Add TextInput's prop caretHidden implementation (bb1f851) - @henrikra
- Update "Getting Started" to match latest Android Studio (3135a63) - @gaearon
- Change cursor color when using selectionColor on Android (ae57b25) - @janicduplessis
- Stop logging console logs from webview (cb68b97) - @fkgozali
- Support HTTP headers for source prop on
components (8c0e6ec) - @mkonicek
- Docker Testing Environment for Android & JS (fe2ff12) - @nicktate
- Optional Alert onDismiss callback to support Android default behavior (27928f3) - @Benjamin-Dobell
- Expand the visible parts of the android bridge a little bit (0b921ef) - @mhorowitz
- Support barStyle (48a84df) - @sunnylqm
- Replace top-level
elif
withif
in BUCK files. (f294f61) - @bolinfest - Eliminate the need for
import re
in a BUCK file. (6a4f7c0) - @bolinfest - Introducing Responder and JSONObject to JSPackagerClient (e28a12c)
- Only call onLayout when layout has actually changed (15429e3) - @astreet
- Log ReactContext counters (1744639) - @alexeylang
- Yoga: More efficient decoding of Dynamic value in LayoutShadowNode (fb266fc) - @emilsjolander
iOS
Bugfixes
- Only provide elevation style prop when running on Android (adeb5ff) - @cailenmusselman
- Fix badgeColor for previous iOS 10 versions (ca27416) - @benoitvallon
New features and enhancements
- Don't add duplicate font entries to plist during link (c6c1c02) - @mosesoak
- Add RCTDevSettings module (6a14f0b) - @terribleben
- Recommend installing latest version of Xcode (8589094) - @hramos
- Expose 'RCTConvert UITabBarSystemItem:' in the header file (a512f6d) - @fkgozali
- Replace valueForKey with subscript access in RCTJavascriptLoader (a2000d1) - @javache
- Move RCTFollyConvert to the correct namespace (5d4ff69) - @javache
- Remove unused RCTMessageQueue (c529a06) - @javache
- Make RCTRefreshControl not dependent on order of setting properties (93a263d) - @mmmulani
- Simplifying RCTRootViewSizeFlexibility (ba170ec) - @shergin
- Rename
RCTShadowViews
'scssNode
property toyogaNode
(e361ce8) - @shergin - Remove leading space from accessibilityLabel (6fbc2c9) - @rigdern
- Better support of UIKit layout stuff for RCTRootView an co. (9dccff0) - @shergin
- RCTRootView's
intrinsicSize
property was deprecated in favour ofintrinsicContentSize
(e7cc1bc) - @shergin - Expose
accessibilityViewIsModal
property for any view (b00c1fa) - @shergin
General
Bugfixes
- Fix animated blog lists (7f9876c) - @janicduplessis
- Yoga: Fix align-content strech with multiple lines (0ea4742) - @emilsjolander
- Yoga: Fix up some small issues with YGUnitAuto (1b5eb36) - @emilsjolander
- Yoga: Fix
align-content: strech
overridingalign-item
(1f45636) - @woehrl01 - Yoga: Fix comments about Yoga in LayoutPropType. (bac24dd) - @desmond1121
- Yoga: Fix margin auto for start and end values (d5a381f) - @emilsjolander
- Yoga: Fix percentage in flexing parent (f52d66c) - @woehrl01
- Yoga: Fix behaviour of wrapping container within align-items: not stretch (6ac6bf0) - @emilsjolander
- FlatList: Fix
getItemLayout
flow type to includeindex
(91bda43) - @sahrens - FlatList: API update and bug fixes (6283878) - @sahrens
- FlatList: Fix doubled ItemSeparators (5bec52b) - @sahrens
- FlatList: Fix minimumViewTime (e2578cc) - @sahrens
- Fix error handling for nested exceptions (8987d86) - @javache
- Fix react-native-git-upgrade cache busting (927b356) - @ncuillery
- Fix the website build (a5ea974) - @gmuraleekrishna
- Fix incorrect line numbers in test failures (91b2dbb) - @cpojer
- Fix typo in ResolutionRequest (cf627fb) - @cpojer
- Fix duplicate symbols error in the Creating Native UI Component docs (fab0992) - @hramos
- Fix typo in ViewabilityHelper (
itemVisiblePercentThreshold
mistyped) (9217ff3) - @rexxars - Flow: Fixes type definition of StackFrame (800dc77) - @wietsevenema
- Flow: Fix a bunch of flow annotations (2a3fe06) - @cpojer
- Flow: Fix flow errors (37b91a6) - @cpojer
- Flow: Fix flowconfig in starter project (b0bdbeb) - @skevy
- Fix lint errors 1/n (5403946) - @cpojer
- Fix lint errors 2/2 (4d00df4) - @cpojer
- Fix absolute imports on Windows (5facc23) - @janicduplessis
- Fix the RN OSS gradle build (18eb7ae) - @mhorowitz
New features and enhacements
- Merge AndroidConstants and IOSConstants into PlatformConstants (dba133a) - @javache
- Fixes current CI failures and allows tree shaking of native dev support code. (19caaba) - @alloy
- Add deprecation warning for NavigationExperimental (39eddc1) - @ericvicenti
- Yoga: Add margin auto support to react native (cc27555) - @emilsjolander
- Yoga: Add display:none support to react native (4d69f4b) - @emilsjolander
- Yoga: Rename YGUnitPixel to YGPoint... (67f6b32) - @hartbit
- Yoga: Change flex getters to return the set values (80225fb) - @woehrl01
- Yoga: Expose alignContent to react native (31f848a) - @emilsjolander
- Yoga: Default root node to size of parent contraints (23f2f5f) - @emilsjolander
- Yoga: flex-wrap: wrap-reverse support (30f8380) - @woehrl01
- Yoga: Removed duplicate code by calculating with mainSize/crossSize (167ac49) - @woehrl01
- Yoga: Pass the parent size to YGNodeCalculateLayout instead of the node size (702564f) - @emilsjolander
- Yoga: Move configuration to new YGConfig and pass them down to CalculateLayout (bdd9aed) - @woehrl01
- CLI: Add support for templates fetched from npm (17c175a) - @mkonicek
- Add a hint to a very common AppRegistry error (a6adc50) - @mkonicek
- FlatList: Add SectionSeparatorComponent support (a141e63) - @sahrens
- FlatList: Native animated scroll event support (a9d5a0c) - @sahrens
- FlatList: Rename *Component props to match SectionList (376b586) - @sahrens
- FlatList: Warn about PureComponent in docs (ce0d641) - @sahrens
- FlatList: Simplify scroll interaction stuff (c8b1c73) - @sahrens
- FlatList: Improve flow typing (63d3ea1) - @sahrens
- FlatList: Propagate onScroll (7cfbb79) - @sahrens
- FlatList: configurable Viewability (f2687bf) - @sahrens
- FlatList: minViewTime and waitForScroll viewability config support (dc30203) - @sahrens
- FlatList: Rename flow type Viewable -> ViewToken (a10dbda) - @sahrens
- FlatList: Missed some viewablePercentThreshold references (f7d1060) - @sahrens
- FlatList: Move out of
Experimental
directory (7b35eb3) - @sahrens - Re-enable some failing tests (b2c545d) - @mmmulani
- Move DevTools integration into its own repo (934cd82) - @gaearon
- Expose AppRegistry.getRegistry() for app specific handling (a86559f) - @fkgozali
- Rename callFunction to jniCallFunction (a965f15) - @javache
- Prevent deadlock after bridge reload (bbe0c45) - @javache
- Update grammar and typos in documentation (c728915) - @j2kun
- Allow listener for native Animated.event (33817b8) - @janicduplessis
- Packager: Introducing async/await, return of the yarn (1a5b56d) - @jeanlauliac
- Packager: BatchProcessor: use Promise for queue() (bac576c) - @jeanlauliac
- Packager: BatchProcessor: use Promise for processBatch() (564126f) - @jeanlauliac
- Clean up Animated docs (6ad41a8) - @hramos
- Work around inspector redbox due to Fiber (fa34035) - @fkgozali
- Guard against missing native module (118e883) - @gaearon
- Support QuickPerformanceLogger.js in CxxBridge (ba029be) - @alexeylang
- Inline a bunch of NativeModule requires (1fa95ed) - @AaaChiuuu
- Remove @providesModule from polyfills (e11b9d8) - @voideanvalue
- Remove peculiar web language (c6d56d9) - @ryanflorence
- Update IntegrationWithExistingApps.md (dc52073) - @hramos
- Documented CameraRoll.getPhotos() param and return values (4b26ebd) - @xqwzts
- Ignore event listeners on unmounted components (fd4ad6c) - @sebmarkbage
- Move BatchedBridge module configuration to InitializeCore (68135d9) - @javache
- Update SwipeableListView props and more (3951223) - @fred2028
- Corr...
February 2017
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()
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
- Fix sizing of container with child overflowing parent (8d2a034) - @emilsjolander
- Fix skew transform on native side (c681959) - @MaxGraey
New features and enahcements
- Add a injectJavaScript method to the WebView component (da9a712) - @lukemiles
Android
Bugfixes
- Fix JSC crash in dev (d2de604) - @AlbertBrand
- Fix startup exception (237ee2d) - @philikon
- Fix debugging doc (dd8231a) - @AgtLucas
- Fix Scroll blocking (0426732) - @K-Leon
- Fix some typos in NativeModulesAndroid.md (fa21822) - @Minishlink
- Fix UIExplorer getting in a broken state (9f10b85) - @andreicoman11
- Fix: webview.postMessage throws not a constructor in WebView 4.1 ~ 4.3 (af5c21b) - @pinqy520
- Fix TextInput placeholder font when using custom fonts (1100c40) - @janicduplessis
- Fix potential NPE in UIViewOperationQueue (cfb9028)
- Fix .gitignore of HelloWorld template to commit third party JARs (a45246e) - @peggyrayzis
- Fix layout animations for views with a transform (ee737e7) - @janicduplessis
- Reset pointerEvents on null value (866ac17) - @astreet
New features and enahcements
- Let LayoutAnimation respect style opacity (4c08105) - @vinceyuan
- Add link to Convoy app to showcase (2e8683b) - @jcity
- Add selectionColor prop for Text (72be2d3) - @satya164
- Add overScrollMode prop to ScrollView (12c4868) - @rigdern
- Implement Java bindings for custom baseline function (b5f382c) - @emilsjolander
- TextInput: Avoid firing onSubmitEditing twice (116916b) - @reneweb
- Support ScrollView.scrollToEnd natively (ad8cbb6) - @mkonicek
- Support invoking and returning arbitrary types from Java sync hooks (f8c72f5) - @javache
- Support tintColor and thumbTintColor for Switch (31099aa) - @satya164
- Support customizing thumb, track and progress colors for slider (295a015) - @satya164
- Add null checks for dynamics (b15c042) - @emilsjolander
- Add a missing include in a BUCK file (521e9c6) - @mkonicek
- Introducing
FallbackJSBundleLoader
(c3892fa) - @amnn - Improve error messages when nesting View in Text (963e6e9) - @astreet
- Allow views to be collapsed when pointerEvents is set (88eeea0) - @javache
- Change DomStorageEnabled default value to true in a WebView (8290194) - @sunnylqm
- Allow accessing view managers as Native Modules (5e9db57) - @AaaChiuuu
- Don't require a DevSupportManager to create a DevInternalSettings (fc2936c) - @devknoll
- Delete ModuleRegistryHolder (0e7d0eb) - @javache
- Clarify a message in preferences.xml (725e8ab) - @vonovak
- Make consumption of NativeArray explicit (33fdce9) - @javache
iOS
Bugfixes
- Fixed calling TextInput.onChange() on applying autocorrection (9a9ecea a341e9d) - @shergin
- Fix template release build: Add -ObjC and -lc++ to tests target (e0c3d56) - @rh389
- Fix passThroughTouches (7412340) - @javache
- Fix nil TVView on pop (65513e5) - @ericvicenti
- Fix build warning about inferring incorrect type (40f2b1b) - @rh389
- Fix other build warnings by marking __unused args (9e1e52f) - @rh389
- Make CocoaPods work again (031cb20) - @alloy
New features and enhancements
- Add one more parameter (keyboardType) to AlertIOS.prompt() (94f71a3)
- Make JSCExecutor compile on iOS without android hacks (5bc7e39) - @mhorowitz
- Document subclassing RCTEventEmitter (8729d27) - @rh389
- Update AlertIOS.js (fa3c06d) - @PaulMest
- Remove deprecation warning for RCTExecuteOnMainThread (00d5674) - @neilsarkar
- New way to handle simultaneously active gesture recognizers in RCTTouchHandler (c68a708) - @shergin
- RCTTouchHandler doesn't delay any touches anymore (930010e) - @shergin
- Remove deprecated method 'RCTExecuteOnMainThread' (302d42d) - @neilsarkar
- Updated Systrace and RCTRenderingPerf to sync w/ React changes (212d31e) - @bvaughn
- Disable RCTPerfMonitor on new bridge (9681583) - @javache
- Update NativeComponentsIOS.md (4ff6593) - @upgle
- RCTConvert: Deprecated NSStringArray typedef (9d6d8a2) - @rh389
- Strip off RK/RCT prefix from NativeModules (29616e3) - @AaaChiuuu
- Add option to start sampling profiler on app launch (a407ff9) - @javache
- Use int instead of NSInteger for ABI compatibility (618a14b) - @emilsjolander
- Stop copying unused JS files into the Pods folder (0d78bba) - @ide
- Show redbox when no bundle is present (a94418f) - @javache
- Dismiss redbox upon pressing reload (8e4f33e) - @javache
- The warning 'cannot calculate shadow efficiently' is not a warning anymore (6404166) - @shergin
- Fork React.xcodeproj into ReactCxx.xcodeproj to build the C++ bridge (aeab15d) - @mhorowitz
- Fork UIExplorer.xcodeproj into UIExplorerCxx.xcodeproj (81b2d69) - @mhorowitz
- Better (right) implementation of
intrinsicContentSize
(d1990f8) - @shergin - Deprecating/removing
setFrame
,setLeftTop
, and co. (f33f84e) - @shergin UIManager.measure()
now respects anyzoom
affected view hierarchy (f839b58) - @shergin- Expose environment and arguments to JS (91b7499) - @mmmulani
- Disable yellow box warnings based on environment variable (49d7c00) - @mmmulani
General
Bugfixes
- Fix minor typo in PixelRatio.md (a1d77af) - @Kerumen
- Fix babel only regexp on windows (6b1bc4a) - @janicduplessis
- Fix direction of VerticalSwipeJump gestures (09801aa) - @Phorust
- Fix packager breakages on node4 (9a4e4e8) - @davidaurelio
- Fix loading minified bundle over HTTP (09072b9) - @davidaurelio
- Fix wraping calculation if min-size constraint exists (e93ccfd) - @woehrl01
- Fix skew transformation (b850af7) - @MaxGraey
- Fix typo in generated Yoga classes (43dedbb) - @ahmedre
- Fix typo for messaging test in webview example (577fd0c) - @lukemiles
- Fix typo in ResolutionRequest.js (f521e99) - @radko93
- Fix absolute position if align-item or justify-content is center or flex-end (48e3461) - @woehrl01
- Fix Navigator scene being falsely collapsed (a83af44) - @hedgerwang
- Fix aspect ratio with margins (81fe1a3) - @emilsjolander
- Fix Gratuitous app crash (412acd2) - @skv-headless
- Break infinite loop that happens only in debug environments (a6844bd) - @johnislarry
New features and enhancements
- Update React version to ~15.4.1 (ead6dcd) - @ide
- Add percentage support to react native (3f49e74) - @emilsjolander
- JSC Heap Capture add other roots to visualization (936c62a) - @cwdick
- Add scrollToEnd to ScrollView and ListView (9dee696) - @mkonicek
- Packager: add utilities to log errors internally (abf75fa) - @jeanlauliac
- Add symlinks under node_modules as part of projectRoots (bce6ece) - @harshil07
- Add cell size to JSC heap capture visualization (76e3d45) - @cwdick
- Add
style
andimageStyle
props to Navigation.Header.BackButton (7812b82) - @danscan - CLI: Add support for project templates (3a6dff4) - @mkonicek
- CLI: Add README to app template, lint (021e754) - @mkonicek
- CLI: Add basic Navigation template to
init
(Chat) (3ee3d2b) - @mkonicek - CLI: Use Yarn for Install/Uninstall when available (1c249e4) - @n3tr
- Run application using package.json scripts (bc8b23a) - @Kureev
- Even faster source map generation (3b3d294) - @davidaurelio
- High-perf source map builder (7ca5316) - @davidaurelio
- Allow project-specific config for RN CLI using providesModuleNodeModules (09a83f9) - @andrewimm
- Added AnimatedValueXY.removeAllListeners (6d2ae35) - @scarlac
- Cache policy control for image source (52d8851) - @salanki
- Support copy to clipboard on Windows (10a29aa) - @janicduplessis
- Use a project's custom platforms when creating a production bundle (a1cd5e0) - @andrewimm
- Require
fbjs/lib/invariant
instead ofinvariant
(517abba) - @davidaurelio - Enable setting custom styles on scenes stack (2cfb3f1) - @oyvindkinsey
- Deal with 0.38 'FlowFixMe's (7a4166c) - @rh389
- Move C++ bridge into oss directory (b774820) - @mhorowitz
- XHR: support typed arrays for request p...
January 2017
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
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
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
- Fix sizing of container with child overflowing parent (8d2a034) - @emilsjolander
- Fix babelHelpers.typeof is not a function (ab89b71) - @cmcewen
- Fix jest tests (8305743) - @grabbou
- CLI: Fix error when there is no windows project (5927646) - @rh389
- Inspector: Fix error when Touchables inspector is shown (5f8d7ac) - @magicismight
- Inspector: Fix inspector overflow (21ba956) - @sahrens
- Packager: Fix the
path.sep
replacement of node-haste for Windows (2249af1) - @jhen0409 - Packager: TerminalReporter: remove underline/emoji (04fdf40) - @jeanlauliac
- Packager: TerminalReporter: properly reporting bundle updates (3d12ddb) - @jeanlauliac
- Packager: Module: remove too-many-misses codepath (2f1d1bd) - @jeanlauliac
New features and enhancements
- Expose pressRetentionOffset for Text (550469b) - @evollu
- NavigationExperimental: Support custom card style interpolators (c8a7f9e) - @dingbat
Android
New features and enhancements
- allowFontScaling is now supported (4394419) - @sdg9
- Throw on redundant callback invocations from native modules (e646183) - @theoy
- ART: Support dashes in ARTShape (e1b0d32) - @tepamid
- ART: Fix OutOfMemoryException in ARTSurfaceShadowNode (e1b0d32) - @tepamid
- Yoga: Correctly check if child is flex by also accounting for undefined (18a2c23) - @emilsjolander
- Yoga: Convert max cache count into a define (05e0b67) - @emilsjolander
iOS
Bugfixes
- Fix for dimensions not updating correctly on iPad due to screen rotation (a19c699) - @manicakes
- Fix comparison between NSNumber* and int (7123618) - @kastiglione
- Fix Podspec (6e9fe37) - @ptomasroos
- Fix new projects generated by
init
(e0c3d56) - @rh389
New features and enhancements
December 2016
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
- Add ability to specify main Activity in run-android (9fb520e) - @grabbou
- Add disableExtractUI prop to TextInput on Android (1b870d2) - @rigdern
- Add DatePicker mode configurations (eaccd7e) - @pandiaraj44
- Enable apps to provide a custom configuration to Fresco (8b199a7) - @rigdern
- Speed up EventEmitter
emit()
by ~50% (c4046d6) - @Venryx - Enable ad-hoc dependencies to be pre-downloaded (aac8daf) - @rigdern
- Keep ScrollView content visible after edits (528a3c7) - @rigdern
- Decrease cost of reflection (911c05a) - @rigdern
- Update android gradle plugin version to 2.2.2 (3ee5c5b) - @raycohen
- Expose Android's includeFontPadding for
Text
(7b3e67d) - @benvium - Handle "Never Ask Again" in permissions and add requestMultiplePermissions (51efaab) - @cmcewen
- Remove Jackson dependency (6fef014)
- Remove REACT_HEADERS from RN BUCK file (9024998) - @javache
- Implement onViewAppear by creating a new EventListener on ReactRootView listening for when it's attached to a RN Instance (e06b8db) - @donyu
iOS
Bugfixes
- Fix autoCorrect doesn't revert to initial state (8016d83) - @rigdern
- Fix NativeAnimation invalidation & races on iOS (c858420) - @ryangomba
- Fix an image loader crash (70d4023) - @rigdern
- Fix iOS Picker item colors (4dea892) - @JakeDawkins
- Fix dequeueTasks crash in image loader (d043775) - @rigdern
- Remove deprecated RCTReloadNotification (cd2b384) - @javache
- Fix LayoutAnimation delete scaleXY animation (fc23784) - @rcaferati
- Fix memory leak in Chrome debugging (230de71) - @EmingK
- Fix shake to open Dev Menu only work once (abf1438) - @VojtechBartos
New features and enhancements
- Introduce spellCheck prop to TextInput (0e55f5b) - @rigdern
- Make run-ios find if a device is booted better (0b5ff0d)
- Start exposing RCTWebSocketObserver using a protocol (48cb8d3) - @adamjernst
- Add fastlane to default
.gitignore
(5e008c9) - @KrauseFx - Move all header imports to "<React/..>" (see breaking change notes) (e1577df) - @javache
- Remove deprecated push notification method info (9c7952d) - @sharnik
- Add badgeColor property (a50bafa) - @skv-headless
- UnselectedItemTintColor property available since iOS10 (8378142) - @skv-headless
General
Bugfixes
- Fix up recent fix to flex basis and put it behind an experimental flag (dad5204) - @emilsjolander
- NavigationExperimental: Fix animation in fast navigation between scenes (df43cc7) - @gitim
- Fix invariant in scrollResponderZoomTo (20e99f5) - @gre
- Fix double callback invocation in
ModuleGraph/Graph
(021b313) - @davidaurelio - Fix usage of weak references to check for null (4902a03) - @emilsjolander
- Fix a bug in determining if yarn is available (9b53408) - @mkonicek
- Fix packager asset requests on windows (d77b4fd) - @janicduplessis
- Fix the parse error when specifying an unknown version (c2db59e) - @ncuillery
- Fix babel 'strict mode' error (5478649) - @karpoff
- Red Box should open PyCharm at line number of error (be16907) - @BigSassy
New features and enhancements
- ScrollView: Don't dismiss keyboard when tapping another text input (552c601) - @janicduplessis
- Add support for aspectRatio style prop (5850165) - @emilsjolander
- Packager: add GlobalTransformCache (5d30045) - @jeanlauliac
- Add CLI basics in docs (5e8e6b8) - @GantMan
- Add
deprecated
flag for nativeImageSource (1fe0f4d) - @frantic - Add StyleSheet.setStyleAttributePreprocessor (346858a) - @brentvatne
- Packager: Cache assets only for production environment (d196ca7) - @grabcode
- Dispatch native handled events to JS (b49e7af) - @janicduplessis
- Packager: Bring back programmatic API (f9d80a4) - @davidaurelio
- Read byte code format version from custom JSC executor only if custom JSC is enabled (b4dbf2b) - @indragiek
- Update Flowconfig in CLI template to Flow v0.36.0 (eb45367) - @mkonicek
- Packager: Module: better type for transformOptions (c284e0c) - @jeanlauliac
- Packager: Bundler: use transform module hash instead of mtime (e485f69) - @jeanlauliac
- Packager: Bundler: use stable paths for cache key (188093a) - @jeanlauliac
- Packager: Bundler: hash all the cache key components (6740207) - @jeanlauliac
- Packager: GlobalTransformCache: better aggregation (9b9fd2f) - @jeanlauliac
- Packager: GlobalTransformCache: globalized keyOf (cb254d1) - @jeanlauliac
- Packager: Module: gives global cache more retries (59873d7) - @jeanlauliac
- Packager: Kill
shouldThrowOnUnresolvedErrors
option (b1fd7bd) - @cpojer - Packager: Make legocastle script to write to the global cache (46f8eb0) - @jeanlauliac
- Packager: Support relative paths in haste map (6c65cda) - @davidaurelio
- Packager: ModuleGraph: Also call back with module objects of entry points (88409f6) - @davidaurelio
- Change
isPolyfill
totype = 'module' | 'script'
(da079f7) - @davidaurelio - Kill fastfs (6554ad5) - @cpojer
- CLI: Allow configuring the way CLI installs react-native (8f0aed6) - @mkonicek
- CLI: Show npm / yarn output during 'react-native-init' when installing React and Jest (63804db) - @mkonicek
- CLI: Remove dependency on Yeoman (8fb2440) - @mkonicek
- CLI: Use Yarn if available (ca403f0) - @mkonicek
- GitUpgrade: Upgrade React and React Native at the same time (a0f3a93) - @ncuillery
- Remove HMR require from initialization code (c3e2c30) - @davidaurelio
- Packager: Allow custom platforms on a per-project basis (5b37c3e) - @andrewimm
- Better error for ART (4a216f6) - @grabbou
- Do not call
toString
on functions in buildStyleInterpolator (25fb2ba) - @michalgr - NavigationExperimental: Update type check for NavigationCardStack (6432839) - @lgan1989
- Reworking keyboardShouldPersistTaps to have a middle ground (276485b) - @MaxLap
- Deprecate MapView in favor of airbnb/react-native-maps (5dbdb12) - @mkonicek
v0.39.0
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
- Update RN shadow nodes to hold CSSNode instead of extending CSSNode (0df65bb) - @astreet
- Kill require('image!...') (2214146) - @frantic
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
- Fix flex within max width constraint (72d1191) - @emilsjolander
- Fix view clipping to operate on ui hierachy (26e373c) - @majak
- Workaround fix for Visual Studio (c5f6e86) - @splhack
- Fix usage of old String constructor (2a04569) - @javache
- Navigator: null check on gesture.overswipe to prevent crash (54e9471) - @rigdern
- Update ReactShadowNode to not add CSSNode children if parent has measure defined (10e0aec) - @astreet
- Introduce nativeImageSource API (dcbcda7) - @frantic
- Don't clip if ui and react view hierarchies are different (d5e067f) - @majak
- Dont measure single flex grow+shrink child (4500e4d) - @emilsjolander
- Absolute positioned items should apear inside padding but outside border (7449658) - @emilsjolander
New features and enhancements
- Add the configuration option to the run-android command (2a2d3c6) - @SandroMachado
- Add extractOffset to Animated (6535858) - @ryangomba
- Add a new Navigator SceneConfig swipeFromLeft (1888a0a) - @nverdhan
- Add aspectRatio style property (e1df3c8) - @emilsjolander
- Only skip updating computed flex basis within the same generation (15f848e) - @emilsjolander
- Rewrite 'react-native init' and 'react-native upgrade' without using Yeoman in preparation for templates support (a477aec) - @mkonicek
- Make Modal pass rootTag to AppContainer (4530da8) - @fkågozali
- TouchableOpacity: Respond instantly to first touch (fa8c536) - @ariabuckles
Android
Bugfixes
- Call all android back key handlers before invoking default (b4283ed) - @dltmd6262
- Fix redundant styles on RefreshControl for Android (39c1818) - @linmic
- Prevent hitslop crash on Android (c2a55ba) - @AndrewJack
- Drop CSSNode pool on low memory when app is backgrounded (48bb364) - @astreet
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
- Add the scheme configuration option to the run-ios command (ca7cbde) - @SandroMachado
- Add
--indexed-unbundle
flag to force iOS ra-bundle format (112bdc9) - @davidaurelio - Add getContentSizeMultiplier & event (eddc2c9) - @rigdern
- Add onScroll event to TextInput (c609aee) - @rigdern
- Added support for
<Text>
'sselectable
attribute on iOS (5d03ff8) - @shergin - Included NativeAnimation module on iOS in the starter project (8965f11) - @sreejithr
- Expose NavigatorIOS::replaceAtIndex (b7889e0) - @daniel-nagy
- PushNotificationIOS: Use PushNotificationEventName as the key to store in the handler map (e51cb34) - @ianlin
- Expose RCTDevMenuItem when not in DEV mode (3b4ac79)