Releases: react/react-native
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').fontScaleDimensions.get('screen').fontScalePixelRatio.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
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
elifwithifin BUCK files. (f294f61) - @bolinfest - Eliminate the need for
import rein 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'scssNodeproperty toyogaNode(e361ce8) - @shergin - Remove leading space from accessibilityLabel (6fbc2c9) - @rigdern
- Better support of UIKit layout stuff for RCTRootView an co. (9dccff0) - @shergin
- RCTRootView's
intrinsicSizeproperty was deprecated in favour ofintrinsicContentSize(e7cc1bc) - @shergin - Expose
accessibilityViewIsModalproperty 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: strechoverridingalign-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
getItemLayoutflow 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 (
itemVisiblePercentThresholdmistyped) (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
Experimentaldirectory (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
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
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
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 anyzoomaffected 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
styleandimageStyleprops 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/invariantinstead 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
ReactNativeHostsubclass.
Nodes is an experimental, alternate version of UIImplementation for ReactNative on Android. It has two main advantages over the existing UIImplementation:
- Support for
overflow:visibleon 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.sepreplacement 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
.hfiles
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
deprecatedflag 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
shouldThrowOnUnresolvedErrorsoption (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
isPolyfilltotype = '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
toStringon 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
New features and enhancements
- Add the scheme configuration option to the run-ios command (ca7cbde) - @SandroMachado
- Add
--indexed-unbundleflag to force iOS ra-bundle format (112bdc9) - @davidaurelio - Add getContentSizeMultiplier & event (eddc2c9) - @rigdern
- Add onScroll event to TextInput (c609aee) - @rigdern
- Added support for
<Text>'sselectableattribute 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)
v0.38.0
Thanks to 72 contributors who put 157 commits into this release.
Breaking changes
See this document for a complete list of breaking changes (one) and actions required.
General
Bugfixes
- Unbreak custom animated components (7b2ee71) - @oblador
- Navigator - Fix wrong scene transformation after pop (f645389) - @sooth-sayer
- Prevent crash when accessing child count, but child list is NULL. (bb84c37) - @dshahidehpour
- Fix initial value of native Animated.Value (2b49edd) - @janicduplessis
- Fix symbolication failure caused by attempt to modify frozen frame (0fe1c7a) - @vladimir-kotikov
- Fix missing methods in Keyboard module (5105c09) - @satya164
- Fix NavigationCardStackPanResponder to work with native animations (ac19276) - @janicduplessis
- Make sure xhr req header’s value is String type (f9e36a0) - @leeight
- Fix DebuggerWorker.js having code incompatible with node 5 (a16d728) - @mhidou
New features and enhacements
- Deprecate MapView in favor of airbnb/react-native-maps (dca53fe) - @mkonicek
- CSSLayout: Update CSSNodeFree for C#, Java and Objective-C (31d3926) - @splhack
- CSSLayout: Suggest the compiler to inline smaller functions (942f724) - @emilsjolander
- CSSLayout: Don’t preallocate child lists (d932c96) - @swolchok
- CSSLayout: Exposing layout cache check publicly (e7dc71b)
- Use native animations in TouchableBounce and TouchableOpacity (1bb323e) - @skevy
- Show Warning for Background Remote Debuggers (8b653cd) - @yungsters
- Adding Jest preset so that people can configure Jest using react-native as preset (6d3e074)
- Use yarn when available (94711bf) - @mkonicek
- Fallback to JS Animation if native animated is not present (3237ade) - @fkgozali
- Upgrade to lodash@^4.16.6, results in faster packager and smaller npm install size (237ab33) - @zertosh
- Bunch of documentation updates, including better user experience, more detailed explanations and more. Thanks to @aybb, @lacker, @hramos and the entire team!
- Integration test stability: add delay before starting TimersTest (0698b2b) - @dlowder-salesforce
- Modernize AppContainer and add rootTag in the child context (fb7fe2d) - @fkgozali
Android
Bugfixes
- Android shouldn't dispatch onLayout if frame didn't change (d4b8ae7) - @hayeah
- HeadlessTask: Fix memory leak (3af104f)
- Fix bug in canUseCachedMeasurement causing unneeded double measure (3c5a7ae) - @emilsjolander
- HeadlessTask: Fix notification task timeout crashing (3580de5)
- Queue JS calls that come in before JS bundle has started loading instead of crashing (68aeffe) - @astreet
New features and enhancements
- Enable TLS 1.1 and TLS 1.2 on Android 4.1-4.4 (55ebb89) - @fkoester
- Implement NativeAnimated offsets (8e81644) - @ryangomba
- Implement NativeAnimated modulus node (9b4927c) - @ryangomba
- Remove underline colour in text inputs (6ed4934) - @fred2028
- WebSocket: include cookies in request (be4afdd) - @antoinerousseau
- Simplify react-native overrides when building from source (cd6f9f9) - @mikelambert
- Dont go down through JNI to figure out that no margin/padding/border/position was set (2df4faa) - @emilsjolander
iOS
Bugfixes
- Ensure notification payload is passed to completion handler (9661d72) - @npomfret
- Fix timing issues in RCTLoggingTests.m (bdff1c3) - @dlowder-salesforce
- Fix Xcode build error on non-standard setup (9d86a12) - @caabernathy
- Fix setAnimatedNodeValue in Native Animated on iOS (34c7e76) - @janicduplessis
- Fix Alert memory leak (49667db)
- Fix some warnings in React.xcodeproj (8bc30af) - @javache
- Fix for Unicode decoding issue when using incremental networking. (3ac3749) - @LeoNatan
- Fix UIView borderWidths not rendering correctly (95cb4ea) - @javache
New features and enhancements
- Add support for native animated events on iOS (fc11a5f) - @janicduplessis
- Remove getter for RCTShadowView flex (4ea359a) - @javache
- Replace
CGFloatwithfloatin RCTShadowView (82911a8) - @javache - Move Platform constants to RCTPlatform (384ea33) - @javache
- Guard against bad values set in RCTCustomScrollView (97153d6) - @mmmulani
- Support static values in NativeAnimated transforms (cdd2d79) - @janicduplessis
- Don't receive touches in RCTRootView (761e06b) - @javache
- Allow serializing underlying NSError objects (c144bbf) - @neilsarkar
- Add remote notification completion handler (e000b71) - @JAStanton
- Warn when height/width is set in style without correct flex (a96b4ab) - @mmmulani
- Only retain the previousViews that need to be validated (a4bb4d2) - @ephemer
v0.37.0
Thanks to 67 contributors who put 160 commits into this release!
Breaking changes
Remove deprecated APIs and modules (fa5ad85) - @satya164
| Removed | Alternative |
|---|---|
AppStateIOS |
AppState |
ActivityIndicatorIOS |
ActivityIndicator |
IntentAndroid, LinkingIOS |
Linking |
SliderIOS |
Slider |
SwitchAndroid, SwitchIOS |
Switch |
Remove callback support from following modules, use promises instead:
General
Bugfixes
- Fix justify content + min dimension usage in root (d376155) - @emilsjolander
- Fix justify content + min dimension when children overflow (3e332d9) - @emilsjolander
- Fix flex-shrink when shrinking to zero size (0699a30) - @emilsjolander
- Fix for TouchableNativeFeedback having Animated.Component direct child (f930270) - @tonysherbondy
- Override onContentSizeChange prop on ScrollView before rendering (a5698f5) - @jingc
- Fix Warning: bind(): You are binding a component method to the component (ddb1e44) - @leeight
- Fix CLI errors if no package.json is found (41f4f1e) - @benhughes
- Change flex basis to override main axis size (a9d94c2) - @emilsjolander
- Jest: Mock requireNativeComponent so manual mocking of UIManager properties isn't needed (487171f) - @cpojer
- Dont override flexShrink, flexGrow, and flexBasis with shorthand flex (dc142ad) - @emilsjolander
- CSSLayout: Compatibility with Apple TVOS (ef02134)
New features and enhancements
- Introduce Button Component (2ae73ff) - @ericvicenti
- Add disabled prop to Button (c32ab7e) - @gitim
- Add HorizontalSwipeJumpFromLeft animation to Navigator (2230117) - @yuya-fujimoto
- Increase laziness in InitializeJavaScriptAppEngine (606fc11) - @javache
- Implement a postMessage function and an onMessage event for webviews (abb8ea3) - @jacobp100
- Enable native animations when possible in NavigationExperimental (f9779e3) - @ericvicenti
Android
Bugfixes
- Fix crash when resolveView fails to find a view (8e91843)
- Prevent app from crashing when getCurrentActivity returns null (9c3bfe0) - @cmcewen
New features and enhancements
- ART: Use TextureView and pass Surface from the view to draw on it asynchronously instead of passing the bitmap (d294e15) - @tepamid
- ART: Support dashes in ARTShape (d294e15) - @tepamid
iOS
Bugfixes
- Fix devmenu on iPad (fd554c3) - @frantic
- Add viewConfig to RCTSlider Component, Fixes #10158 (c996081) - @leeight
- Fix CameraRoll to support custom user groups (0010df5) - @gre
- Fix error in react-native run-ios when Product Name and Scheme are different (8b55e50) - @StevePotter
- NavigatorIOS: stopPropagation on navigationComplete event. Fixes #1241 (73c5360) - @ephemer
- Fix react-native link for apps with extra xcode projects in the root folder (157a03d) - @robclouth
- Grab port from Bundle URL (54f48de) - @omeid
- Cancel network requests from the correct queue (26be005) - @javache
- TextInput: don't let user more than maxLength when TextInput already exceeds it (40e8d89) - @mmmulani
New features and enhancements
- Add repeatInterval to PushNotificationIOS (9a8b5fc) - @cmcewen
- Add lock to RCTHTTPRequestHandler (4b7f84a) - @javache
- Add the RCTNetwork to the podfile (56ac2a4) - @SandroMachado
- Add a default context name to RCTJSCExecutor (8355ef9) - @javache
- Add support for clamping for NativeAnimated on iOS (5794ff6) - @ryangomba
- Add support for springs for NativeAnimated on iOS (d950db4) - @ryangomba
- Add multipart response download task (2nd edition) (84eaeb0) - @frantic
- Lazily instantiate native modules (9ed9bca) - @javache
v0.36.0
Thanks to 67 contributors who put 139 commits into this release!
Breaking changes
General
-
Default scrollview to flexShrink to allow views below it (c43a3f5) - @emilsjolander
-
Fix unconstraint sizing in main axis (0a9b6be) - @emilsjolander
Most of your layouts will continue to function as before however some of them might not. Typically this is due to having a
flex: 1style where it is currently a no-op due to being measured with an undefined size but after this change it may collapse your component to take zero size due to the implicitflexBasis: 0now being correctly treated. Removing the badflex: 1style or changing it toflexGrow: 1should solve most if not all layout issues your see after this change.
Android
- Fix modal resizing on keyboard show (404b7cc) - @andreicoman11
General
Bugfixes
- Add null check for keyboardFrame variable in KeyboardAvoidingView component (770091f) - @Isakdl
- XMLHttpRequest.getAllResponseHeaders should use CRLF (24c72f5) - @arv
- Emit
willfocusfrom immediatelyResetRouteStack (95b1fc4) - @dzautner - Dump invalid json when call Value::fromJSON failed (9a7e4b4) - @leeight
- Fix no "window" in react native (1941450) - @sunnylqm
New features and enhancements
- Adds
Keyboard.dismiss()function and document Keyboard (542ab86) - @GantMan - Introduced AnimatedDivision (0a0dd30) - @fkgozali
Android
Bugfixes
- Fix Modal size on Android tablet (12a97e1) - @davepack
- Fix inspector on top of Modal (05de4db) - @andreicoman11
- Fix ReactSwipeRefreshLayout (30989dd) - @andreicoman11
- Fix webview crash when trying to display local html files (a2aab62) - @andy9775
- Allow code to check android permissions when run from a Service as well as Activity (1502e66) - @mikelambert
- Show touchable feedback for short touches (8915507) - @foghina
- Prevent app from crashing when getCurrentActivity is null (486f3b) - @cmcewen
New features and enhancements
- Add ability to lazy load Native Java Modules (797ca6c) - @AaaChiuuu
- Android: add support for headless js tasks (3080b8d) - @foghina
- Add flag to enable lazy view managers (1296cb2) - @AaaChiuuu
- StatusBar: barStyle support for Android (API 23+) (c4ac8b3) - @alwx
- Android: enable foreground ripple (6d175f2) - @foghina
iOS
Bugfixes
- Find correct local IP address when running on iOS device (8adf78f) - @guilhermebruzzi
- Fix Modal to handle in-call status bar (0ce2bbd) - @mmmulani
- Fix ScrollView's snap index when scrolling forward and user taps the screen again while still scrolling (72e203b) - @anttimo
- Fixed crash when setting custom shadow props to null (cfae3e3) - @majak
- Sync support for new ios bridge (97e3c09) - @mhorowitz
- Cancel network requests from the correct queue (64dd140) - @javache
New features and enhancements
- Add support for new ios bridge to FBReactBridgeJSExecutor (af5c8a8) - @mhorowitz
- Add destination to e2e xcode build (f0a3a25)
- Apple TV support 1: existing Objective C code should compile for tvOS (d368ebf) - @dlowder-salesforce
- Apple TV support 2: Xcode projects and CI (scripts/objc-test.sh) (8622998) - @dlowder-salesforce
Windows
Bugfixes
- Fix ENOENT when react-native init with --verbose on Windows (2289909) - @flyskywhy
v0.35.0
Thanks to 68 contributors who put 132 commits into this release!
General
Bug fixes
- Fix InteractionManager promise issue with some OSS setups (3b5e4cc) - @sahrens
- Fix HMR after adding RA-Bundle groups (fd84447) - @davidaurelio
- Fix 'isRelativeImport' to allow require('.') and require('..') (b3ee595) - @aleclarson
- Protect against roots that are contained within other roots (d4dff25) - @aleclarson
- Add lodend event to XMLHttpRequest (04d870b) - @arv
New features and ehancements
- Expose hot & live reload, remote debug, profiling (38354c4) - @dozoisch
- Add a way to enable / disable lazy native modules (a4916b8) - @AaaChiuuu
- Add shorcuts for windows & linux to debugger.html (f4e3e19) - @mdamien
- Add option to bundle server to generate full sourcemaps from babel (e6bec9c) - @cwdick
- Add Dependency Injection, nodes support for RN/Components integration (6f42603) - @astreet
- Add "assetPlugin" option to allow arbitrary asset processing (5ac7706) - @ide
- Add a PushFromLeft animation to Navigator (8ebe66d) - @LinesWan
- Add jest and jest babel preset to the react-native init command (8689b0f) - @kentaromiura
- Adjust rnpm link to colorize skipped linking steps (db870f8) - @GantMan
- packager: dedupe symlinks if they point to already covered paths (4ab455b) - @philikon
- Allow rn-cli.config.js to specify the default transformer, again (111ed8d) - @philikon
- Support
falsemappings in"browser"fields (5710b23) - @davidaurelio - Close open rows on scroll in SwipeableListView (5c13eac) - @fred2028
Android
Bugfixes
- ViewPagerAndroid: FIX folly::toJson: JSON object value was a NaN or INF (6efe8e1) - @leeight
- Fix invalid package name and Remove unsupported prop in Image.android.js (3182b60) - @leeight
- Fix Text incorrect line height (c79f617) - @andreicoman11
- Fix modal size (4941cbc) - @andreicoman11
- Fix text, textinput padding (bdff10b) - @andreicoman11
- Don't crash if OEM has replaced OverScroller in ScrollView (5deb528) - @astreet
- Fix Modal freeze (922cd6d) - @andreicoman11
- Fix dev menu on top of modals (3318483) - @andreicoman11
- Support orientation change on modals (82c8c97) - @andreicoman11
- WebSocket: include cookies with request (04392f2) - @bradleyboy
New features and enhancements
- Add ability to detect if location was mocked (c6024f6) - @GantMan
- Add support for image onLoad, onLoadEnd, onError events for IgReactImageView (1721972) - @donyu
- Add support for native animated events (6565929) - @janicduplessis
iOS
Bugfixes
- Fix unchanged local assets refetched from packager in development (1a3e6eb) - @jeanregisser
- RCTLocationObserver: Fix reporting of timeout error (779f9e2) - @rh389
- Fix adding IOSPicker items (2e4ab9f) - @ajwhite
- Fix crashes in RCTImageLoader (b2dac83) - @pfeiffer
New features and enhancements
v0.34.1
Thanks to 87 contributors who put 201 commits into this release!
Special thanks to @charpeni for writing these release notes!
General
Bugfixes
- Fix handling of bad utf16 passed out of JS (ccdc57d) - @cjhopman
- Incremental: Fix require of performanceNow (b01feb4) - @rigdern
- Fix memory leak in MessageQueue (5d748b2) - @rigdern
- Fix and add tests for cssedge priority (e5aa29c) - @emilsjolander
- Fix sizing of absolutely positioned nodes inside overflow:hidden parent (6897f40) - @rigdern
- Add more profiling, fix existing profiling, perf fix (3940f06) - @mhorowitz
- Re-enable and fix tests (13994d5) - @davidaurelio
- Fix NativeAnimated event listener bug (64009b6) - @jmurzy
- Fix _processAssetsRequest when url contains non-latin letter (8d013c2) - @wusuopu
- Fix dimensions on orientation change (8451585) - @andreicoman11
- Fix(packager): support node-haste browser and react-native replacements on Windows (4647b62) - @rozele
- Fix bad type specification in animated (3ff4ee9)
- Fix typo in new ModuleCache args (29febb9) - @aleclarson
- Do not reset layout state if they are the same in NavigationTransitioner (dadfe40)
New features and enhancements
- Add logging level for RNPM previous linking (85a2d6a) - @GantMan
- Add AnimatedDiffClamp node (cd1d652) - @janicduplessis
- Add pre/postunlink (e7521a1) - @geof90
- Add missing KeyboardAvoidingView documentation (0a1d728) - @skv-headless
- Add values to JSC heap capture visualizaion (c06c1e1) - @cwdick
- Add support for extrapolation (6d978c3) - @janicduplessis
- Add support for DiffClamp node (e26c135) - @janicduplessis
- Check bundle file exists for release builds (ea7b2ef) - @alexanderjarvis
- Allow the disabling of navigation gestures. (0cf9505) - @rmevans9
- Remove legacy bridge config conversion (61b21bc) - @lexs
- Remove unnecessary indirection (50b0943) - @emilsjolander
- Use const where possible (25f2a26) - @emilsjolander
- Further RNPM integration (0af640b) - @grabbou
- Remove terrible ReadableNativeArray::getMap() hack (9a5d3ba) - @cjhopman
- Use -std=c++1y for lambda capture initializers (1557325) - @cjhopman
- Added way to not launch packager during CI build, as it hangs CI builds (8fd2d7d) - @BretJohnson
- Improvements to the Activity API (11488d0)
- High resolution timers (20c80e4)
- Allow finding the rootTag of any reactTag inside UIManager (35e7a26) - @fkgozali
- Attach origin of a 3rd party command (ab8c00e) - @grabbou
- Even less deep copying of flags (2cd9939) - @adamjernst
- Expose flexGrow, flexShrink, and flexBasis properties (899adf5) - @emilsjolander
- Text component: Pass event object to onPress and onLongPress handlers (158a73b) - @rigdern
- Fix polyfill for BackAndroid (150fe7c) - @fkgozali
- Configure glog sink for custom jsc (7db93a3) - @bnham
- _getText defaults to blank string when no default value set (61832b4) - @m3vaz
- Use mergeFast in a hotspot (5d7227a) - @rigdern
- Improve swipable row gestures to feel more natural (1e5d52b)
- Telemetry for update bundle event (46e47aa)
- Don't use the same throw for calling into JSC, and calling into native modules (1d571c5) - @mhorowitz
- Change how values are captured in JSC heap snapshots (a0f55c9) - @cwdick
- Update to Jest 15 (d7fdc44) - @cpojer
- 'silent' option for Activity events (2ea65ec)
- Include CSSLayout.h consistently with other project includes (6e216d2) - @rh389
- Deploy v0.32.0 (85a6f01) - @gabelevi
- Introduce Batchinator (5eaef1c) - @sahrens
- Enable RTL layout by default for all apps (96de161) - @fkgozali
- Flow-ify and cleanup JSTimers (66ce129) - @javache
- Log timer identifiers in systrace (a1f31d1) - @javache
- Remove the unnecessary 'var' in
runVerbose(f799fa1) - @dragonwong - Use Batchinator in WindowedListView (6fb1495) - @sahrens
- Disables munging in animated to make dynamic dispatch work for private methods (3eb4bae)
- Exit with error code 11 when port is taken (7398780) - @frantic
- Updating Websocket readyState in case of websocketFailed event (6b42d5c) - @tepamid
- Check if this._navBar has immediatelyRefresh method (7b18b2c) - @andrewgrewell
- Remove 'new' keyword before Promise.race() (8cfa734) - @aleclarson
Android
Bugfixes
- Fix code example: NSNumber should be marked
nonnullfor compatibility with Android (a02c238) - @arian - Fix timestamps on android touch events to use milliseconds, to be (79f3950) - @andreicoman11
- Fix Text incorrect line height (483953d) - @andreicoman11
- Fix gradle clean task (e6de198) - @rigdern
- Fix race condition in EventDispatcher (fd34844) - @rigdern
- Fix bug in timer clean up (06e52f8) - @rigdern
- Fix TextInput contentSize (7c268b3) - @andreicoman11
- Fix
requestDisallowInterceptTouchEventfor nested react native views (dea6b0e) - @andreicoman11 - Fix rounding resulting in choppy timing animations (40baf6a) - @foghina
- Make RN background drawable respect bounds (38a14ff) - @lexs
- Fixes paths to robolectric when they are downloaded from maven into buck-out (b59fde8) - @bestander
- Fixes empty lines added in strings.xml by RNPM (107fc72) - @grabbou
- On Android
geolocationErrorreturn PositionError object. (99d742c) - @leeight
New features and enhancements
- Add "npm i --save react" to Android docs (6729df3)
- Add TextInput controlled selection prop on Android (3c1b69c) - @janicduplessis
- Android: Add support for having borders on & components (28ba749) - @rigdern
- Add onContentSizeChange prop to WebView (22de655)
- Add performance tracking for rendering (16f76d4)
- Add annotation processor to create static ReactModule infos (605a0a6) - @AaaChiuuu
- Add separate JSBunldeLoader for assets (0c2fdf4) - @michalgr
- Bring back missing android command (993cfa1) - @grabbou
- Implement flex properties in java version as well (e63a7ea) - @emilsjolander
- Remove all @ReactModule runtime annotation processing (2889343) - @AaaChiuuu
- Don't clear queue in ProxyExecutor (b4999fc) - @lexs
- Update gradle version and android gradle plugin version (6bfabee) - @felipecsl
- Make Spacing.release() public (1eddd01)
- Codemod away buck_flags in Libraries/FBR* (708efcf) - @adamjernst
- Clean up fresco cache clearing code (d3282e3) - @foghina
- Expose image cache interrogation to JS (69c8898) - @foghina
- Cleanup FBReactKit BUCK paths (7430820) - @javache
- Include image dimensions & url in Image's onLoad callback (bcf48e7) - @rigdern
- Improve ReactRootView's onMeasure error message (00d6587)
- Convert CoreModulesPackage to use @ReactModuleList (367c712) - @AaaChiuuu
- Improve loading error handling on Android WebView (5ba40fe)
- Improve ellipsizeMode prop (cd1a86d) - @rigdern
- Listen to device orientation changes (f07ca31) - @andreicoman11
- Smart textinput scroll (372d001) - @andreicoman11
- Remove ReactRootView's MeasureSpec assertion (300cb03)
- Evacuate part of optimized bundle logic from react code (d323856) - @michalgr
- Enable developers to force Fresco to resize an image (b6735f3) - @rigdern
- Allow UnpackingJSBundleLoader's client to queue action to perform after unpacking (2618ba2) - @michalgr
- Rename native event
timeStamptotimestamp(8aeeb4d) - @andreicoman11 - Show a redbox when scripts fail to load (bbd1e45)
- Brings accessibilityLabel into PickerAndroid (efd8b10) - @isnifer
- Use the c.f.react.bridge.ReactMarker (e70d1db) - @AaaChiuuu
- break down production startup with more markers (cc30d2f) - @AaaChiuuu
- Android package name validator consistent with docs (9289e4f) - @radko93
- Actually close packager websocket connection when destroying instance (588f0b8) - @foghina
iOS
Bugfixes
- Fix crash in RCTJSStackFrame (ea3bb35) - @javache
- Remove guard that we used in iOS 7 to avoid a JS crash (ad24bcf) - @ide
- Fix setImage clownyness (3fb7669) - @javache
- Fix some unsafe thread behavior (a8cf12a) - @mhorowitz
- Fix images not reloading after memory warning (3efe95d) - @javache
- Make bridge logger thread-safe and fix noisy in bridge core time (a31a291) - @alexeylang
- Don't use ios border rendering if we use default black color (a686816) - @majak
- RefreshControl Position Bug (dcdf16a) - @GantMan
- Registration error event (4f89fa9) - @nevir
New features and enhancements
- Add TextInput controlled selection prop on iOS (f0a3c56) - @janicduplessis
- Send down image source to RCTImageView onLoad callback on iOS (84f68c3) - @javache
- Rename RCTImageView source to imageSources (bfa01f0) - @javache
- Remove deprecated RCTImageSource method (a718f14) - @javache
- Allow
<Modal />to be configured with a custom presentation/dismissal block (d8b2bab) - @mmmulani - Ios: complete iOS vibration pattern supports (js) (2cfe774) - @zxcpoiu
- Support RCTNetworking#clearCookies on iOS (63931b1) - @nevir
- Avoid sending out multiple requests for the same image (86fbf23) - @javache
- Avoid reloading images that are already the source size (6f7898e) - @javache
- Verify exported modules only once to support dynamic context in DEBUG-mode (101190f) - @kasper
- Display React Native Modals with transparent background (029f568) - @mmmulani
- Expose overflow prop to layout engine (4178d21) - @rigdern
- Clean up NSClassFromString in Libraries/ (8a8ac77) - @swolchok
- Modulo node (82dba51) - @ryangomba
- Only initialize FrescoModule once (c0de1a7) - @oprisnik
- Support bundle argument for image loading (46b54fd) - @javache
- Update React Native minimum OS version to iOS8 (07553d0) - @javache
- Use NSURLComponents.queryItems instead of parsing query strings (6abacc8) - @javache
- Remove -RCTJSExecutor errorForJSError: - @indragiek
- Support sync method calls in the objc bridge (dda3c5f) - @javache
- Remove last arg from RCTProfileEnd, make macro's function-like (1a7c231) - @javache
- For file uploads, don't stomp on developer's Content-Type header (9304df3) - @rigdern
- ActionSheetIOS - Pass URL, not file contents to UIActivityViewController for file URLs. (4f004fa) - @sheparddw
- Impr...