Releases: react/react-native
v0.34.0
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...
v0.33.0
Thanks to 96 contributors who put 175 commits into this release!
This release requires React ~15.3.0.
Breaking Changes
Android
- Add Activity to onActivityResult listener interface (fbd2e13) - @foghina
- Add ReactFragmentActivity, share delegate with ReactActivity (3c4fd42) - @foghina
General
Bugfixes
- Fix off-by-one error in range requests (a241706) - @nikki93
- Fix CSSNodeList memory leak (7b02c1d) - @ymmuse
- Fix method overriding when using native animations (b7903e4) - @foghina
- Fix error handling in react native heap capture server middleware (c43c80b) - @cwdick
- Fix building without writing a source map (a567898) - @davidaurelio
- Fix Scrolling in YellowBox (c36d356) - @yungsters
- Fix module IDs of initial require calls (f83c869) - @davidaurelio
- Ensure NavigationTransitioner props.onTransitionEnd happens after scene cleanup (de9d22e) - @ericvicenti
- Accept children of all types for NavigationHeaderTitle (02557d2) - @nevir
New features and enhancements
- Add
--configoption to CLI to allow passing a path to anrn-cli.config.js(757ab0b) - @skevy - Add support for flex-grow, flex-shrink, and flex-basis (0ea4198) - @emilsjolander
- Remove shouldComponentUpdate policy from NavigationCard and NavigationCardStack (6c4d3c3) - @ericvicenti
- Make reloads faster for simple file changes (3f504ec) - @davidaurelio
- Define Flow types for style and stylesheet objects, more checking (8eed600) - @ide
- Run
adb reversefor all devices using run-android with multiple devices (dd6370f) - @jreziga - Add onComplete callback to animation config (26e8ae7) - @vaukalak
- Provide RTL support in NavigationCardStack (fc864a2) - @MengjueW
- Scroll multiline textinputs when focused (0082517)
Android
Bugfixes
- Fix scale transform on Android (12fb313) - @janicduplessis
- Fix onItemSelected firing for ReactPicker on initial layout. (a2a8d7f) - @donyu
- Fix border color (805d060) - @emilsjolander
- InterpolationAnimatedNode fromDoubleArray should support the string type (53c1da0) - @leeight
- Fix setting numberOfLines to 0 behaves differently than on iOS. (dba1ce4) - @manicakes
- Store borderColor in a non lossy way (8095707) - @manicakes
New features and enhancements
- Add transform support for native animated on Android (df05311) - @janicduplessis
- Add JS library for requesting Android M Permissions (0fb2ccf) - @cmcewen
- Add 'center' to the allowed values in Android Image.resizeMode proptype (862b657) - @alonsch
- Add
checkAndroidback (6f7ade1) - @jreziga - Always log exception in DevSupportManager (e4d5dcb) - @lexs
- Add RedBoxHandler & UIImplementation to ReactNativeHost (baf5a5b) - @foghina
- Add @ReactModule annotation (0561336) - @AaaChiuuu
- Add
isPrefSetandsetPrefto make I18nUtil cleaner (380830e) - @MengjueW - Add LazyReactPackage (1feb462) - @AaaChiuuu
- Support for spring animations (8f75d73) - @kmagiera
- Implement cancelable option for Alerts (8e2906a) - @kraffslol
- Support 64 bit platforms (fc5bed8) - @emilsjolander
- Add native decay animation (2a7f4be) - @foghina
iOS
Bugfixes
- Fix memory leak bug in RCTModalHost (915345b) - @Roshanjossey
- Fix tabs in project.pbxproj of iOS template (f89f09f) - @jhen0409
- Fix static jsc build for ios (94ac3e4) - @bnham
- Fix RCTRootView invalidation using the wrong bridge (4afaf5e) - @javache
- Fix loading of dynamic linked JavaScriptCore on iOS simulator (ce2f119) - @bnham
- Fix warning on unused return values in RCTSRWebSocket (2f78852) - @javache
- Fix styling of system fonts (e30327c) - @javache
- Fix missing font constants on iOS7 (6b9406e) - @javache
- Fix image source prop change updating image (7cdd4c9) - @alexanderjarvis
- Fix snapshottests under iOS10 (a0b3565) - @javache
- Centre text in case where the distance between baselines is larger than the font size (68d483e) - @jacobp100
New features and enhancements
- Add iOS support for CSS property font-variant, accepting tabular-nums… (f951da9) - @jacobp100
- Add some defensive cleanup of cancelBlock in RCTImageLoader (1418828) - @javache
- Add support for animated value listener (0e204e1) - @janicduplessis
- Initial implementation of adjustsFontSizeToFit. (c6b6f53) - @MattFoley
v0.32.0
Thanks to 106 contributors who put 240 commits into this release!
This release requires React ~15.3.0.
Breaking changes
General
- NavigationExperimental: Rename
renderOverlaytorenderHeader(ca85311) - @hedgerwang - NavigationExperimental: Stop using absolute position for NavigationHeader. (38979f9) - @hedgerwang
Android
Android
Bugfixes
- Fix BackAndroid subscriptions calls (b857631) - @webzepter
- Fix onLayout support in for Android (2ca2f87) - @antoinerousseau
- Fix ViewPager behavior with Nodes (5f41769) - @ahmedre
- Fix NullPointerException Caused by manageChildren (c21d3a1) - @ASCE1885
- Webview: Fix broken fullscreen modals due to zero body height. (1bb1385) - @danielbraun
- Fix cleanReactNdkLib task failure caused by module not found (37df151) - @xinthink
- Fix ScrollView bounce back bug in open source (36ca1a0) - @astreet
- Support API "scrollTo" in RecyclerViewBackedScrollView on Android (235c059) - @lebronJ
- Stop Reload Android Webview On Same URL Before (9fa4fe2) - @skatpgusskat
- Make sure multiline TextInput is scrollable within a ScrollView (b05c7f7) - @shengmin
- Fix inset padding handling for TextInput in LTR/RTL (46bac5f) - @MengjueW
- Change the textalign setter to support RTL (54a4450) - @MengjueW
New features and enhancements
- Add missing resizeMode prop on Image Android (f634a0f) - @Bhullnatik
- Add Report Button for Android Redbox, enabled in Ads Manager, Groups and FB4A (75e404b) - @lebronJ
- Add Share module (3b35732) - @deminoth
- Activity indicator: add size prop (63d15af) - @fadils
- Add GIF and WebP support specification with Fresco 0.11 (55bc825) - @charpeni
- Make getCurrentActivity public on ReactContext (7606564) - @marcshilling
- Implement native Animated value listeners on Android (158d435) - @janicduplessis
iOS
New features and enhancements
- Implement multi-source Images on iOS (fd48bc3) - @DavidGoldman
General
Bugfixes
- Fix double React perflogger creation (82c8129) - @javache
- Fix navigation card stack pan responder (c658cc5) - @ahanriat
- Fix CSSLayout to Support RTL (873c6ff) - @MengjueW
- Fix scoped modules in
react-native link(8ad748a) - @Kureev - Fix corrupted
options()call for link and other commands (504b516) - @grabbou - Fix console.table polyfill when entries are missing (0dd93b6) - @sahrens
- Open to correct line on Webstorm, IntelliJ and AppCode (c3e8c82) - @rh389
- Fix --reset-cache no longer accepting a boolean parameter. (b21c8f1) - @danielbraun
- Don't show keyboard shortcuts with redbox on device (0093dcc) - @brentvatne
New features and enhancements
- Add UI to show intercepted network information in the inspector (ecea0ce) - @lebronJ
- Intercept XMLHttpRequest network operations and gather their information in inspector tool (f20d5ed) - @lebronJ
- Enable websocket interception in RN network inspector tool (43f73f6) - @lebronJ
- Add method popN() to Navigator. (bbe95c2) - @yueshuaijie
- Add TextInput.dataDetectorTypes prop. (15bf2c5) - @yueshuaijie
- Add partial support for symlinks in packager (5cf7f04) - @Kureev
- Don't collect warnings if yellow box is disabled (654a360) - @davidaurelio
- Improve error message when packager is not running (73f3713) - @javache
- Add a
statusBarHeightprop for NavigationHeader (341b29d) - @corbt
v0.31.0
Thanks to 101 contributors who put 228 commits into this release!
Special thanks to @satya164 for writing these release notes!
General
Bugfixes
- Fix the getRowData method of SwipeableListViewDataSource in SwipeableListView (ba3c7ef) - @sscaff1
- Fix bug in cancelling last task in TaskQueue (9b184cc) - @sahrens
- Fix Navigator transition (5189c94) - @hedgerwang
- Use active scene passed in
propsbyNavigationTransitioner(46a6851) - @jmurzy - Change NavigatorSceneConfig for RTL (cadc753) - @MengjueW
- Don't block scroll when using non-touchable visible row for SwipeableRow (13a19a8) - @chirag04
- RN: Change Time Drift Error into Warning (ed4db63) - @yungsters
New features and enhancements
- Merge
rnpm(e8b5081) - @grabbou @Kureev - Add JSCHelper function to easily install native hooks outside of JSCExecutor (f534560) - @astreet
- Add MessageQueue method for executing function and returning its result (7fa677f) - @javache
- Add completion callback to enqueueJSCall (23e28ec) - @javache
- Add RTL support for SwipeableRow (7e5fc17) - @MengjueW
- Export SwipeableListView component. (a2c6a7b) - @chenxsan
- Implement TextInput onContentSizeChange (2537157) - @janicduplessis
- Better error message when trying to parse a empty body in fetch (eeb9cd8) - @astreet
- Provide RTL support for new Navigator -- Make RTL works in NUX (38a6eec) - @MengjueW
- Open in editor button for yellow box (c65eb4e) - @skv-headless
- Initial implementation of requestIdleCallback (18394fb, 5618c3f) - @janicduplessis
- Throw flow error when trying to access a style that is not defined on a stylesheet to catch typos and unused styles (a564af8) - @brentvatne
Android
Bugfixes
- Fix padding with Text on Android (c3f2bba) - @dmmiller
- Fix timestamps on android touch events to use milliseconds, to be consistent with iOS (4f5c2b4) - @mikelambert
- Don't hard crash if you get a null stack trace in Android (b5c3550) - @astreet
- Fix removing views from ViewPagerAndroid (b0c023c) - @foghina
- Fix handling of line height with inline images (c4ffc7d) - @rigdern
- Fix Spacing lifecycle issue introduced by D3516692 (8c9f190) - @dmmiller
- Fix 'Unexpected EOF' in old bridge (6d3c7b8) - @astreet
- Fixed position of ripple-effect (d73446c) - @noerK
- Fixed the issue due to which js assets are not bundled in the apk when separate build for different CPU architectures is enabled (c0316c6) - @kgritesh
- Fix Android WebView additional schemes, e.g.- “tel:” (33a1f28) - @sathyapriya-31
New features and enhancements
- Make getCurrentActivity public on ReactContext (7606564) - @marcshilling
- Add support for layout gravity to ToastAndroid (12ec213) - @donyu
- Support RefreshControl in RecyclerViewBackedScrollView in Android (0c0ac6e) - @tegon
- Support geolocation in android webview (b7bf24b) - @jvassbo
- Add new FileSourceProvider (5d06918) - @tadeuzagallo
- Add API to CatalystInstanceImpl for executing optimized bundle (1331e20) - @michalgr
- Allow apps to provide JSBundleLoader of their choice (e632025) - @michalgr
iOS
Bugfixes
- Fix double completion callback in RCTJavascriptLoader (4aedcc7) - @javache
- Wrap native module I18nManager with a new RCTI18nManager.js and fix current use of native module I18nManager (471ee87) - @MengjueW
- Fix misusage of NSUInteger * in RCTImageStoreManager (f317b9f) - @jesseluo
- Fix description of AlertIOS.prompt()'s parameter defaultValue. (f38d9a1) - @yueshuaijie
- Provide correct initial value for AppState.currentState (68b0ce6) - @rigdern
- Fix TextInput stack overflow when pasting text in multiline input with maxlength (23e087f) - @javache
- Create a CSSLayout CocoaPods subspec that preserves the header directories (ee89ffc) - @ide
- Fix RCTImageLoader's priority (ffb690f) - @nathanajah
New features and enhancements
- Add the ability to pre-create the JavaScript thread with RCTJSCExecutor (39cb110) - @adamjernst
- Add responseType as a concept to RCTNetworking, send binary data as base64 (08c375f) - @philikon
- Add ability to customize error messages and stacks within the iOS redbox (9d2e6a2) - @DavidGoldman
- Add Image resizeMode center to iOS (bee1180) - @aleclarson
- Add more profiling markers to RCTJSCExecutor (63e0e6c) - @javache
- Add [RCTShadowView isCSSLeaf] for skipping css tree of children (0587c85) - @emilsjolander
- Expose a way to get the JSContext from a RCTJSCExecutor (5323b77) - @adamjernst
- Make bridge initialization configurable (4269003) - @javache
v0.30.0
Thanks to 90 contributors who put 217 commits into this release!
Special thanks to @satya164 for writing this release notes!
Breaking Changes
Genral
Android
- Native modules implementing
ActivityEventListenernow need to implementonNewIntent(Intent intent)
General
Bug Fixes
- Touchables: Expose Accessibility prop. Fix #6550 (4f18707) - @omeid
- Fix Navigator bug where jumping to the same route would show a blank screen (6982f5a) - @fred2028
- Migrate NavigationCardStack to NavigationTransitioner (47a7289) - @jmurzy
- Fix banner for old node version (523d39a) - @johannes-scharlach
- Fix measure callback for TextInput on Nodes (c95d3ef) - @ahmedre
- NavigationExperimental: Fix stale scene cleanup (b4d15d3) - @ericvicenti
- Fix navigation jump on multi-tap (b388665) - @fred2028
- If ExceptionsManager.handleException throws, throw the original error (8feb1dc) - @mhorowitz
- Fixing Syntax Error "errorMessage" is read-only (57d85f1) - @K-Leon
- Avoid Infinite Loop w/ Polyfills (9cb28b9) - @yungsters
- Fix transtion props layout in NavigationTransitioner. (37e41d2) - @hedgerwang
- Fix incorrect style props passed to Android Image when using children (7f9ec4e) - @jeanregisser
- Add null check in ExceptionsManager.js to Never Update JS Exception with a Null Stack (6fb110e) - @lebronJ
- Fix EventEmitter#once arguments not getting passed to the listener (73bea8f) - @erickreutz
- Fix Fetch error when debugging in Chrome (034b645) - @bestander
- Read navigation title from
scene.route.title(730619d) - @SunnyGurnani
New Features & Improvements
- Support VSCode as a React Editor (d1690a8) - @PatoBeltran
- Pass the current and previous transition props to render, onTransitionStart and onTransitionEnd. (c57bac4) - @hedgerwang
- Add
NavigationStateUtils.back()andNavigationStateUtils.forward(). (614f3c6) - @hedgerwang - Pass TransitionProps to configureTransition for (d72f844) - @hedgerwang
- Allow to specify simulator OS version from cli (b046b2d) - @tomkur
- Add zIndex support (3d3b067) - Tucker Connelly
iOS
Bug Fixes
- Set state to
LOADINGon reload() inWebView(b2c5584) - @stereodenis - Fix hardcoded path in
run-ios(5276db4) - @mroswald - Fix sending accessibility events to RN modals (fdcb865) - @cjhopman
- Fix multi-character TextInput (cc95927) - @javache
- Add the ability to set an image title in the NavigatorIOS (9bd80cb) - @alvaromb
- Fix ActivityIndicatorIOS doesn't hide initially (a589985) - @redmar
- Respect scale in RCTPhotoLibraryImageLoader (9a8fb9c) - @paulshen
- Allow RCTPhotoLibraryImageLoader to handle assets-library request (98f06c8) - @nathanajah
- Set LayoutParams in ReactTextView to fix crash (a8011bb) - @ide
New Features & Improvements
- Add Image resizeMode repeat (4c83237) - @janicduplessis
- Implement onTextInput events for RCTTextView (d29e8ae) - @javache
Android
Bug Fixes
- Implement addUIBlock to allow third party to resolve a view (af28de5) - @gre
- Persistent WebSocket connection from Android to Packager (adcb949) - @frantic
- Fix GIF Disappear when return from background (a87c9d5) - @wenzhao.yin
- Remove iOS platform check for running devtools (1c290d6) - @kageurufu
- Enable zoom on WebViews on Android (ca0c6db) - @dmmiller
- Return empty bundle when passing an empty map to toBundle (31f30aa) - @Bhullnatik
New Features & Improvements
- Decompose transform matrix in native (for android) (a59afb9) - @kmagiera
- Automatically run adb reverse tcp:8081 tcp:8081 when starting packager (1cc7ef0) - @burgalon
- Support selectable={true} property on Text fields on Android. (6cd7127) - @mikelambert
- Allow for customization of the RootViewManager (7476139) - @ahmedre
- Add the onNewIntent listener to React Native Android (2fc0f40) - @ginandi
- Add Copy and Dismiss Button in RN Android Red Box (dc3fce0) - @lebronJ
- Add ping to WebSocket (4ac4f86) - @dbasedow
v0.29.2
v0.29.1
0.29.0
Thanks to 97 contributors who put 218 commits into this release!
Special thanks to @satya164 for writing this release notes!
Breaking changes
General
- Kill NavigationReducers (3a8b50a) - @hedgerwang
- NavigationExperimental - Clean up NavigationStateUtils (67002e8) - @hedgerwang
- Remove the logic that lets NavigationStateUtils accept empty value as input and return a new state.
- Remove the method
NavigationStateUtils.getParent,NavigationStateUtils.set.
- NavigationExperimental - Remove prop
onNavigate(fb0007d) - @hedgerwang - NavigationExperimental - Define the generic
renderprop for NavigationTransitioner to render scenes (3a62314) - @hedgerwang
Android
-
Change the application template (49f20f4) - @foghina
- Plugins which pass activity reference in the constructor need to be updated to extend
ReactContextBaseJavaModuleusegetCurrentActivityto get the activity reference. This change is backward compatible. - Apps need to be migrated to use the latest template
Migration instructions for apps
- Create a new file
MainApplication.javain the same folder asMainActivity.java - Update it to match - https://github.com/facebook/react-native/blob/0.29-stable/local-cli/generator-android/templates/package/MainApplication.java and move your customisations from
MainActivity.javato this file - Update
MainActivity.javato match - https://github.com/facebook/react-native/blob/0.29-stable/local-cli/generator-android/templates/package/MainActivity.java - Add
android:name=".MainApplication"in the<application />section ofAndroidManifest.xml. It should now look like,
<application + android:name=".MainApplication" android:allowBackup="true" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">- Clean gradle cache -
./gradlew clean
The experience might vary according to the level of customization you've made. Check this commit to see how UIExplorer and MoviesApp were migrated - dcc2abc
- Plugins which pass activity reference in the constructor need to be updated to extend
-
Remove support for password property and only use secureTextEntry (f3507f9) - @dmmiller
-
Remove the Profiler Option in RN Android Dev Menu (4b19db3) - @lebronJ
iOS
- Automatically clip subviews when
removeClippedSubviewsprop is used (1048e5d) - @nicklockwood - Remove deprecated methods from StatusBarIOS (4de616b) - @javache
General
Bug fixes
- Fix left button moving in instead of fading in in NavigationBar (8731494) - @dragonwong
- Fix incorrect import reference for
emptyFunctioninSwipeableListView(2fd537c) - @glawson - Fix onLayout support in
<TextInput>(92926f9) - @paulshen - Don't clobber user-defined environment variables (402e7ea) - @vkarpov15
- Fix polyfillLazyGlobal to work with allowTopLevelThis = false (f9e26b3) - @janicduplessis
New features and enhancements
- Add
log-iosandlog-androidcommands (cf97c9a) - @vitalis - Show stacktrace in YellowBox (8d03857) - @skv-headless
- Add
StyleSheet.absoluteFillconvenience constant (e79f5d7) - @sahrens - Changed version of React dependency to ~ (592d5fb) - @bestander
- Open sourced KeyboardAvoidingView (8b78846) - @nicklockwood
- Allow CameraRoll to export videos (7357ccc) - @corbt
- Clear Debug Console on Reload JS (b03a725) - @yungsters
- Make InteractionManager tasks cancellable (be09ccc) - @sahrens
- Add support for reverse flex directions on Android and iOS (d43e0db) - @feichngr
- Add support for
lineBreakModeprop on<Text>(c03b166) - @skv-headless - Fix an issue where scrollview wouldn't unclip its cells (1fcd73f) - @majak
- Make module IDs deterministic when bundling (62bb09d) - @davidaurelio
Android
Bug fixes
- Enable Double R shortcut to reload JS when redbox is shown (4959b21) - @lebronJ
- Fix deletion layout animations to work with custom view managers (49a5fe4) - @astreet
- Fix crash when Modal is displayed as a result of touch handling code (837aafd) - Olivier Notteghem
- Properly validate layout animation config (d4e7c8a) - @janicduplessis
- Fix potential NPE in layout animation deletion code (bb9ed2d) - Olivier Notteghem
- Fix bug where UIOperations aren't executed after hosting Activity is paused (eef03fd) - @astreet
- Remove iOS platform check for running devtools (1b40db7) - @kageurufu
- Fix dialogmodule crashing with no fragment manager in onHostResume (bf79352) - @foghina
New features and enhancements
- Open source permissions module (b7352b4) - @andreicoman11
iOS
Bug fixes
- Fixed bug where layoutSubviews was called continuously for scrollview (329c716) - @nicklockwood
- Explicitly set default background color in RCTTextView (1fce891) - @bnham
- Fixed MapView's draggable annotation (993a928) - @nathanajah
- Handle the case where redirect URL is relative (39eca05) - @maartenschumacher
- Fix unbale to scroll in image cropper (13dfb62) - Wenjing Wang
- Correctly passes localNotification to app on wakeup (57d4523) - @corbt
New features and enhancements
- Add
getScheduledLocalNotifications(5b4b027) - @joshuapinter - Implement CSS z-index for iOS (d64368b) - @nicklockwood
- Add support for native animations on iOS (19e2388) - @buba447
- Prevent images from flickering when component is reloaded (c8f39c3) - @nicklockwood
- Implemented automatic IP detection for iOS (8c29a52) - @nathanajah
- Support {min,max}{Width,Height} on RCTView (78b8929) - @javache
0.28.0
Thanks to 87 contributors who put 182 commits into this release!
Special thanks to @satya164 for writing this release notes!
General
Breaking changes
- NavigationExperimental - Rename
NavigationStatetoNavigationRoute, renameNavigationParentStatetoNavigationState(807726b) - @hedgerwang - NavigationExperimental - Rename
scene.navigationStatetoscene.route(fb5d0ff) - @hedgerwang - NavigationExperimental - Rename
navigationState.childrentonavigationState.routes. (1e62602) - @hedgerwang - Remove deprecated
PullToRefreshViewAndroidandonRefreshStart/endRefreshing(a71a9ef) - @janicduplessis - NavigationExperimental - Remove
keyfromNavigationState. (f7279b4) - @hedgerwang - Updates to css-layout leading to many fixes but requiring some breaking changes:
- flex styling property behavior now behaves slightly differently. If you previously used
flex: 1where not necessary this change will likely break your layout as the measuring behavior is slightly different than before due to performance optimizations. Removing that unnecessaryflex: 1will solve your layout in most cases. - Due to performance tweaks
flexWrap: wrapno longer works together withalignItems: 'stretch'(the default). If you useflexWrap: wrapyou probably will want to add thealignItems: 'flex-start'style as well.
- flex styling property behavior now behaves slightly differently. If you previously used
Bug fixes
- Prevent Systrace from including React in the preloaded modules section (4880309) - @javache
- Set statics on the NavigationCard container (1343248) - @ide
- Respect original enumerability/writability when polyfilling globals (3d8725d) - @davidaurelio
- Fixed multiline textinput onChange event (57e9df4) - @nicklockwood
- Fix TextInput autocorrect (#7496) (26aa27d) - @rigdern
- Fixed "Sending
didSendNetworkDatawith no listeners registered" warning (bdcdfb0) - @nicklockwood - Fix prop update perf issue with windowed list view (4455426) - @sahrens
- Removed hard-coded DatePicker width (002024c) - @nicklockwood
- Correct semantics for
XMLHttpRequest.responseText(e293502) - @philikon - Fix header elevation of NavigationExperimental (3f92e09) - @marcobonaldo
- Fix for "Unable to resolve module nullthrows" (1facfb7) - @jgibbons
New features and enhancements
- Show better error message when accessing React APIs on React Native (6069fdd) - @satya164
- Add a removeListener method to DeviceEventEmitter (0e8c3ff) - @rahuljiresal
- Expose Systrace from the 'react-native' package (1e4d9d4) - @philikon
- Add
Array.prototype.includespolyfill (ed47efe) - @Kerumen - Improve how inspector handles native components (bdab834) - @frantic
- Add cross platform
ActivityIndicator(26e8426) - @janicduplessis - Hook react-native link calls into rnpm (7028929) - @mkonicek
- Inline
Platform.select(8c3db97) - @davidaurelio
Android
Bug fixes
- Fix the WebSocket sendBinary error (6c3306d) - @sreesharp
- Add Fresco to ProGuard (3716ce7) - @charpeni
- Fix layout animation to be executed when it shouldn't (a7a34a1)
- Don't close reference to image in getSize (ccd0181) - @ahmedre
- Fix NPE when NetworkingModule runs onCatalystInstanceDestroy (4378ecb) - @bestander
- Fix RefreshControl race condition (bb5aede) - @janicduplessis
- Correctly implement measure callback with measure modes (1767a0a) - @emilsjolander
- Fix leak in Nodes due to removeClippedSubviews (caa2bae) - Ahmed El-Helw
- Use RN version from node_modules instead of jcenter (84f82e5) - @devfd
- Prevent race condition leading to deadlock when destroying activity w/ catalyst instance (80741a1) - Olivier Notteghem
- Fix can't use binary number on android except on debug mode (#7526) (98dd918) - @RobRoseKnows
- Fix Modal when the Activity is paused or resumed (a0562c7) - @dmmiller
- Correctly cancel network calls in catalyst instance destroy (7914d33) - @andreicoman11
- Fix NPE in cancelling network calls (5de1151) - @andreicoman11
New features and enhancements
- Add
Image#getSizefor Android (c1558bc) - @cornedor - Move new bridge java stuff to OSS (3b3b46d) - @cjhopman
- Add support for delete animation in LayoutAnimation on Android (0fb5ccf) - @janicduplessis
- Make "Debug JS" dev menu option persist across app restarts on RN Android (60e0d2c) - @lebronJ
- Build new bridge with gradle (5e8f171) - @cjhopman
- Allow app/build.gradle to specify additional packager arguments (1f2027a) - @philikon
- Allow app/build.gradle to specify how node gets invoked for the packager (58fb91e) - @philikon
- Add progressListener for android when using FormData to upload files (e63ea3a) - @tantan
- Hook up Android intent to Linking.js #7079 (c36430a) - @rreusser
iOS
Bug fixes
- ActionSheetIOS - support share sheet on modals (4446e31) - @grabbou
- TabBarIOS itemPositioning - Fixes #4136 (a45d025) - @grabbou
- Added small decoded image cache to prevent images flashing when component is reloaded (c8f39c3) - @nicklockwood
- Reduce boxing overhead of arrays in uiBlockWithLayoutUpdateForRootView (fc14f85) - @nicklockwood
- Fix scrolling issue on iOS devices. (d31a54a) - @Andreyco
- Fix the Origin: header used in WebSocket requests. (03512fb) - @ewanmellor
- Changed RCTTextView to check for failed focus (7241347) - @nathanajah
- Recenter RCTScrollView when width or height are equal (5961764) - @devknoll
New features and enhancements
- Log image url when image size doesn't match. (eb69d03) - @cpunion
- Enable views to be nested within
<Text>(486dbe4) - @rigdern - Enable ATS w/ localhost exception for generated iOS proj (0f57702) - @andrewsardone
- Add Shortcut "Double R" to Reload JS (2d32a6d) - @lebronJ
- Support HTTP headers for source prop on
components (ee8496f) - @rigdern
- Promisify PushNotificationIOS requestPermission (f4dbf37) - @JAStanton
v0.27.0
Thanks to 87 contributors who put 210 commits into this release!
Special thanks to @satya164 for writing this release notes!
General
Breaking changes
- Kill NavigationLegacyNavigator (ef44781) - @hedgerwang
- Kill NavigationExperimental Containers (14eb427) - @ericvicenti
- Kill NavigationView (c3714d7) - @hedgerwang
Deprecations
- Keyboard events should now be registered via
Keyboardmodule:
// previously
const { DeviceEventEmitter } = require('react-native');
DeviceEventEmitter.addListener('keyboardWillShow', func);
// on 0.27.2 and newer
const { Keyboard } = require('react-native');
Keyboard.addListener('keyboardWillShow', func);
// 0.27.0 & 0.27.1
const Keyboard = require('Keyboard');
Keyboard.addListener('keyboardWillShow', func);New features and enhancements
- Animated: Implement toJSON method of Animated (17f0807) - @wusuopu
- Make RefreshControl properly controlled by JS (9aa37e8) - @janicduplessis
- Add SwipeableListView (052cd7e 9b1a3c7 2a7f6ae) - @fred2028
- Expose a new prop
transitionfor scene renderer. (55c3086) - @hedgerwang - Add support for custom files in BugReporting (610cfdc) - @lexs
- Add "Open file" button to elements inspector (f203c5d) - @frantic
- Add
transform-react-jsx-sourceto react-native preset (858643d) - @frantic - Fork NavigationAnimatedView to NavigationTransitioner (7db7f78) - @hedgerwang
- Merge rnpm into react-native (149d0b9) - @grabbou 🎉
Bug fixes
- Protect against JS module call race condition while initializing react instance (a1ba091) - @astreet
- Fix propType check for NavigationCard. (b1cd1cb) - @hedgerwang
- Fix RefreshControl race condition (8fbce30) - @janicduplessis
- NavigationExperimental:
didFocusevent should fired after transition finishes. (8975bb8) - @hedgerwang - Fix RefreshControl on initial render will not beginRefresh when refreshing (cac5ce3) - @aforty
- Fix a bug where NavigationPropTypes.SceneRenderer was a plain object (0e997c6) - @joenoon
- Prevent
SwipeableRowbleed (5146775) - @fred2028 - Fix 95% of WindowedListView jumpiness (5e91a2a) - @sahrens
- Fix Android flash and iOS juttering (62e588b) - @fred2028
- Fixed incorrect rows reported in onChangeVisibleRows (0aea74e) - @dmueller39
Android
New features and enhancements
- Add pagingEnabled to HorizontalScrollView (a3146e4) - @dmmiller
- Open sourced SwipeRefreshLayoutRecordingModule (457e348) - @bestander
- Implement returnKeyType/returnKeyLabel (dd8caf4) - @Bhullnatik
- Add progressViewOffset to RefreshControl (f7ce0c1) - @UnoDeTantos
- Ability to disable/lock the android ViewPager scroll from props (31250ad) - @kevinejohn
- Fix race condition when clicks are received on react root view and react context is pending (fd37666) - Olivier Notteghem
- Add FpsListener to React Scroll Views (b67d4a2) - Nathan Spaun
- Upgrade to OkHttp3 (6bbaff2) - @AndrewJack
- Fix NetworkingModule construction with interceptors (921d0de) - @bestander
- More helpful error message when react-native start is forgotten (bc634ea) - @codeheroics
Bug fixes
- Fix Android picker controlling (0cd2904) - @spicyj
- Make Modal Status Bar Translucent (191d278) - @jemise111
- Increase the stack size for the React queue on older Android phones (d4f6f61) - @nikki93
- Update the timestamp we send in touch events to be the more accurate (f2c1868) - @dmmiller
iOS
New features and enhancements
- NavigatorIOS: Expose interactivePopGestureEnabled property (4d2c72b) - @rigdern
- Make the root view background color explicit (fa5d1fe) - @shaneosullivan
- Callback with image height and width from IOSImagePicker (df40f48) - @thans
- Enable views to be nested within
<Text>(fe5c0d2) - @rigdern - Add Copy Stack button to Red Box (5047f6f) - Chris Evans
Bug fixes
- Fix distanceFilter caching for LocationObserver (2310494) - @jrichardlai
- ScrollView: Always fire onScroll event for the resting scroll position (deef8aa) - @rigdern
- Fixed crash due to inserting a nil object into an array in Image loader (ed1ee9b) - @nicklockwood
- Provide correct animation function for hiding keyboard (03edc75) - @rigdern
- Fixed NativeEventListener deregistration (516bf7b) - @nicklockwood