Skip to content

Releases: facebook/react-native

May 2017

12 Jul 06:58
Compare
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

  • 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 and getItemCount 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

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

  • 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...
Read more

April 2017

12 Jul 06:58
Compare
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

  • 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, not invariant (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 with Object.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

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

  • 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 when jsLoaded (f352aa1) - @jhen0...
Read more

July 2017

05 Jul 19:57
Compare
Choose a tag to compare
July 2017 Pre-release
Pre-release

Changelog coming soon.

June 2017

07 Jun 11:39
Compare
Choose a tag to compare
June 2017 Pre-release
Pre-release

Changelog coming later.

v0.45.0

07 Jun 11:39
Compare
Choose a tag to compare
[0.45.0] Bump version numbers

March 2017

21 Jul 06:24
Compare
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

  • 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 with if 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

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's cssNode property to yogaNode (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 of intrinsicContentSize (e7cc1bc) - @shergin
  • Expose accessibilityViewIsModal property for any view (b00c1fa) - @shergin

General

Bugfixes

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...
Read more

February 2017

02 Feb 17:52
Compare
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

  • 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 any zoom 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

New features and enhancements

Read more

January 2017

04 Jan 13:02
Compare
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

  • 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

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
Compare
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

  • 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

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

v0.39.0

02 Dec 11:22
Compare
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

  • 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>'s selectable 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)