Releases: react/react-native
v0.48.0
July 2017
Breaking changes
Android
iOS
- Fix font weight resolution (cfeaefb) - @kipricker
General
Bugfixes
- VirtualizedList: Fix problems if _updateCellsToRender gets called too early (1ee602b) - @mikelambert
- VirtualizedList: Fix deltatime calculation (5840a90) - @mikelambert
- VirtualizedList: Fix initial-render triggering a render of all items (ebcf5fd) - @mikelambert
- CLI: Fix broken default getProjectRoots (f847fbe) - @skevy
- Fix license headers (2cc1195) - @passy
- Fix deepFreezeAndThrowOnMutationInDev-test for Node v8.1.0 (82edc13) - @yungsters
- Fix reference to invariant (3e4a892) - @javache
- Fix configure glog script when building from xcodebuild (5c53f89) - @janicduplessis
- Fix error caused by first argument short when calling warning function (09ba07e) - @alanwyf
New features and enhancements
- Add Components and APIs Overview Guide (4f3da46) - @hramos
- Add marker surrounding entire native module creation (2984628) - @bnham
- Add documentation for supporting custom require types (94116db) - @andrewlinfoot
- Add https options to RN CLI server (2c32acb) - @andrewimm
- Add basic nested VirtualizedList support (63f7efc) - @sahrens
- Add --maxWorkers flag and allow transformers to run in-band (29d9c35) - @cpojer
- FlatList: Add dev validation of the object returned by getItemLayout (a2b0ee0) - @janicduplessis
- FlatList: Add setNativeProps (75508c1) - @reneweb
- Warn when setting pagingEnabled when snapToInterval at the same time (afa4792) - @sahrens
- Add
closeto SwipeableRow (c28595e) - @yungsters - Add a new babel transformer for inlining regenerator-runtime per file (e7c1cf5) - @mjesun
- Add Wix.com to showcase (70ca432) - @hramos
- Remove react-native/packager folder. (236e9e4) - @cpojer
- Docs: New Handling Touches (f42f2df) - @hramos
- Docs: Restore proper ordering in the sidebar (71c812a) - @hramos
- Disable auto-mock by default in as many places as possible @bypass-lint (3360999)
- Remove worker from local-cli (cbb8d6f) - @cpojer
- Promise support for C++ bridge (d062cc2)
- Exposed progressViewOffset to VirtualizedList and FlatList (a0a7d97)
- Implement Systrace integration for Fiber (32a0ee0) - @gaearon
- Check before overriding global.performance (9d4cc7c) - @bvaughn
- Move type definitions used for metro bundler from React Native (4990c5c) - @davidaurelio
- Cleanup
local-cli/core/__tests__(223eab9) - @yungsters - Node v8 Workaround for
local-cli/core/__tests__(6407071) - @yungsters - Update remaining PropTypes references (50b11aa) - @andrewimm
- Improved (7707905) - @shergin
- Remove
retainLinesandsourceMapsoptions (5c57601) - @davidaurelio - Move jest to version 20 (c9a39b3) - @mjesun
- Update guidelines (0d3b7fe) - @hramos
- Make preset a function to account for different dev settings (bc22a4d) - @davidaurelio
- Native Animated - Call x.__makeNative before super.__makeNative (f704441) - @janicduplessis
- Don't require prettyFormat in every single bundle (5d51511) - @cpojer
- Use possessive 'its' not 'it's' (fd34018) - @jkdf2
- Yoga: The total flex factores need to be a minimum of 1 if any (3b93ba9) - @woehrl01
- Yoga: Fixed assertion caused by invalid layout of hidden Yoga nodes (ac3f345) - @shergin
- Yoga: Refined type for
displaystyle property (b1e64a4) - @shergin - ImageBackground: use cached styles (8377b30) - @doochik
- Keyboard will show documentation (3ba8e6a) - @DukeNukem1990
- Improve Audio for Maintaining Priority (a26d876) - @yungsters
- Expose
unstable_batchedUpdateson react-native (5550a25) - @yungsters - Disable subview clipping when sticky headers are enabled (407ec00) - @janicduplessis
- Replace React.createClass with create-react-class (5f8c3e0) - @mojodna
- Control whether Metro tells Babel to lookup .babelrc files (9194b9d) - @ide
- Stop using Map in JSTimers (e9f657f) - @javache
- Merge JSTimers and JSTimersExecution (0ae11f1) - @javache
- Update native references to JSTimers (d795fa1) - @javache
- Allow no args to be passed to rejection callback (b6cfad2) - @javache
- Fixed an incorrect word in the blurTextInput() documentation (bc718fd) - @jstheoriginal
- Clearer code in Button.js (7ee051d) - @dpgao
- Setting bridge up for sharing: allowing native modules to register after init (5c54104)
- react@16 did away with PropTypes; require prop-types instead (8e9322c) - @mojodna
- Remove RN fiber createClass wrapper around View (1199592) - @bvaughn
- Rename Executor to JSExecutor (e2628f9) - @javache
- Improve choco command in docs (6aea140) - @TerribleDev
- Fixing typo in AppContainer (937568b) - @sumkit
- Adding an optional wrapper component to app components (162d92d) - @sumkit
- Jest Mocks for NetInfo and Linking (0797dae) - @hnryjms
- Overflow detection in Yoga (ecd5829)
Android
Bugfixes
- Fixing drawing bug in ReactArt (a660796)
- Fix dev reloading (c639a1f) - @AaaChiuuu
- Don't crash if Window permission isn't granted for dev loading view (56969d5)
- Fix dev loading indicator (e82ceb2)
- Fix package order on ReactInstanceManager (4566f01)
New features and enhancements
- Update overflow docstring to add note on Android (fa147f0) - @joerick
- Add cmd+opt+ctrl+D to globally invoke dev menu for Android (01adc71) - @Yu-w
- Add dev bundle download listener on Android (960e5db) - @janicduplessis
- Add peeking feature in AndroidViewPager (c42080e)
- Corrected spelling of the word "properties" in error message in ReactAndroid/build.gradle (e8df8d9) - @owenauch
- Report Java stack traces in synchronous native module calls (534bbfa) - @javache
- Document URI for Android asset folder images (a38f5b6) - @benvium
react-native linksupport for native Android modules developed in Kotlin (d666f30) - @rauliyohmc- Add support for multiple bridge listeners (80bc07f) - @bnham
- Add a bunch of debug log statements (a1321ae) - @AaaChiuuu
- Remove SetBuilder (559805d) - @javache
- Tag INITIALIZE_MODULE marker with the non-zero instance key (e48ad96) - @AaaChiuuu
- Only load core modules once (2b89416)
- Separate port constant for inspector proxy server (1ae54b5) - @Hypuk
- API check for removeOnGlobalLayoutListener in ReactRootView (ecccd06)
- Simplify Catalyst handleMemoryPressure (83faa4b) - @javache
- Bunch of props was unified (1081b21) - @shergin
- Splitting packages into core bridge and core RN (e301a36)
- Disable multipart bundle transmission for now (33057aa) - @jeanlauliac
- Translating NativeArray into NativeMap on getConstants (25d19e3)
iOS
Bugfixes
- Fix scalesPageToFit default property for iOS WebView. (1859486) - @peterp
- Use #import "..." instead of #import <RCTText/...> (5470bb2) - @mhorowitz
- Fix Apple TV compile errors (31fe832) - @dlowder-salesforce
- Fix timers not firing when running in JS debugger (6482538) - @javache
- Avoid crash when accessing jsContextRef without an executor (c25f356) - @javache
- Fix crash in AccessibilityManager (112e376) - @mmmulani
- Fix references to deprecated assets in separate bundles (12ab236) - @javache
- Fix text node rounding with fractional dimensions matching the rounding factor (b437d61) - @woehrl01
- Fix visibility of installGlobalFunction (e2dff82) - @alexeylang
blurOnSubmitshould betrueby default for single line (b6cf4ee) - @shergin
New features and enhancements
- Add a section about Platform.Version on iOS (390c8cf) - @zubko
- Add a type cast to RCT_ENUM_CONVERTER for C++ compatibility (eaac3b5) - @jballer
- Update default blue on iOS (f7c89b4) - @xavier-villelegier
- Correct its/it's homophone in NativeModulesIOS.md (2083516) - @elillie
- Make RCTPackagerConnection not depend on RCTBridge (d27ff20) - @fromcelticpark
- Make RCTSamplingProfilerPackagerMethod not depend on RCTBridge (c143313) - @fromcelticpark
- Work around the broken way CocoaPods/Xcode deals with header maps (f3f44ee) - @mhorowitz
- Remove unused folly/File.{h,cpp} from OSS React Xcode project (4fd427e) - @mhorowitz
- Expose content-available APS key for iOS silent push (60783aa)
- Removed support of mysterious "deprecated" scale in RCTImageSource (d0ad6ad) - @shergin
- Introducing -[RCTShadowView canHaveSubviews] (abfa63c) - @shergin
- Support
display: none;style (a04322f) - @shergin - Implement nativeID prop to allow native code to reference react managed views (70e0455) - @Yu-w
- Implement
presentationStylemodal appearance (ec68536) - @hnryjms - Remove unused RCTRenderingPerf (94d9f00) - @javache
- Implement
editableproperty for RCTUITextField (719f000) - @shergin - Rename
placeholderTexttoplaceholderin RCTTextView (2bf4167) - @shergin - Introducing
RCTBackedTextInputViewProtocol(6ba8e29) - @shergin - Introducing
RCTTextInput, base class for both text inputs (3364488) - @shergin - RCTTextInput: Common layout logic was moved to base class (a8c45ac) - @shergin
- Support
<TextInput keyboardType="numeric" returnKeyType="done" />(2b1795c) - @shergin - Allow RCTModuleData to explicitly opt out from performing its set up on the main queue (2f193b9) - @fromcelticpark
- RCTAnimation & RCTLayoutAnimation were decoupled from RCTUIManager (6312d67) - @shergin
- New (actually old) way to make RCTUITextField editable/non-editable (0fd061e) - @shergin
- Podspec: add required "DevSupport" dependency "InspectorInterfaces.{cpp,h} (5c9cf44) - @HeEAaD
- ScrollView:
updatedChildFramesdata controlled by prop (62b20ce) - Handle fatal errors thrown by the Chrome debugger (2e42842) - @javache
- Allow video uploads (8dd15f2) - @fred2028
- Make startup errors in the websocket executor invalidate the bridge (c5004d5) - @javache
- TextInput: Fixed
textWasPasteprop for single line TextInput (44310da) - @shergin - Make OSS CocoaPods build ...
August 2017
Changelog coming soon.
Maintainers, urgent fixes can be nominated for cherry-picking into this release here: #15318
June 2017
General
Breaking changes
react-native-xcode.sh now lives in a different location
If you're seeing this error during iOS builds:
../node_modules/react-native/packager/react-native-xcode.sh: No such file or directory
then you need to go into Xcode, click the root of your project, go to 'Build Phases', find the one that says 'React Native', then update the command to point to:
export NODE_BINARY=node
../node_modules/react-native/scripts/react-native-xcode.sh
This change is caused by react-native-packager being extracted into a separate project (now, named metro-bundler). Further discussion happens here: #13976 (comment)
Other
- Better TextInput:
contentSizeproperty was removed fromTextInput.onChangeevent (bac84ce) - @shergin - Using Image with nested content now causes warning (yellowbox) (279f5f1) - @shergin
Bugfixes
- Fix code generation for indexed RAM bundles (f91e376) - @davidaurelio
- Fix
react-native linkissue when using multiple manifests (1ad08aa) - @dantman - Fix stickySectionHeader re-render issue (872fbc2) - @nihgwu
- Fix
KeyboardAvoidingViewcomponent (a975c1e) - Fix Native Animated - Call x.__makeNative before super.__makeNative (08f41bc) - @janicduplessis
- Fix TextInput's padding and border size computation and layout (44af4d1) - @shergin
- Fixed ListViewMock unique key error when many sections (a324965) - @tszajna0
- Replace React.PropTypes with prop-types (8e9322c, 50b11aa) - @mojodna,
@andrewimm - Replace React.createClass with create-react-class (658c7bb9) - @mojodna
- Fix configure glog script when building from xcodebuild (5c53f89) - @janicduplessis
- Removing test-driver symlink in ios third party install script (713ca68) - @ArturKlajnerok
New features and enhancements
- Native Animated: Prevent views driven by native animated from being optimized away (c87524e) - @janicduplessis
- Fail gracefully for node<4 in react-native-cli (const->var) (699a0be) - @rh389
- Add more prop type for View (05ec850) - @mjmahone
- Add flexWrap warning when used with FlatList (eac399b)
- Add error message when calling sync methods from the Chrome debugger (7837bdb) - @javache
- Add message to remind user to enable wifi (f1284b8) - @sebirdman
- Introducing ImageBackground, replacement for Image which supports nesting views (9637dd4) - @shergin
- Only call callImmediates once per batch (07ee2fb) - @javache
- Automatically request location permission when accessing geolocation (9e026ec)
- Exposes requestAuthorization method (3c64d95)
- Render section footer in SectionList sections with no data (f702cbe)
- ART: Call toString on fontWeight else throws error if passed an integer (7cddaa0) - @davidlrnt
- XMLHttpRequest withCredentials defaults to "true" (9b4a644) - @DanielZlotin
- CLI: Adding shebang to setup_env.sh script (f16df60) - @gabriel-laet
- Forcing to
alignSelf: stretchwas removed from TextInput (4e40521) - @shergin - Singleline TextInput now has intrinsic size (ea9d674) - @shergin
- Multiline TextInput was fixed to match layout logic of singlelined one (4865022) - @shergin
- VirtualizedList: Pass data prop instead of props to _updateViewableItems in _onScroll (803a916) - @Ashoat
- Update inquirer package to better support interactive command line prompts (bada25d) - @Yu-w
- Allow lazy modules registration with the BatchedBridge (485bb70) - @fromcelticpark
- Refactor of Fiber integration with React Fiber + Stack (59e41b4) - @trueadm
- Improve View props and style stuff (1f3140c) - @sahrens
- Cleanup PerformanceLogger (2a3de8f) - @sahrens
- Support
optionsparam forrequestIdleCallback(cf51aee) - @jhen0409 - Adding the ability to run GC on a different thread than the one JSContext was created in (578227d)
- Create JS executor and context on main thread w/ custom JSC (e284a9d)
Docs
- Update Getting Started, Upgrading for CRNA (2d1c721) - @hramos
- Additional doc improvements (9bde0fb) - @hramos
- Expand Getting Started, Debugging, Running on Device guides. (674a642) - @hramos
- Clarify pros/cons on different navigation libraries (84f6880) - @hramos
- Update ListView Basics to use FlatList, SectionList. (c419ae8) - @hramos
- Fixed grammar/sentence structure (6b6d269) - @panzer-planet
Yoga
- Fix print edge value (cf5535b) - @yihuang
- Fix right/bottom in absolute layout (130a821) - @yihuang
- Fix absolute positioning in reverse wrapping container (adaa966) - @emilsjolander
- Fix absolute position if wrap-reverse and align-items: flex-end (7c980c5) - @woehrl01
- Parse YogaValue from string. inverse of toString() (e656adc) - @emilsjolander
- Fixing potential measure call with negative size value (2e24197)
- Changed pointScaleFactor usage to avoid accumulating error (6be550d)
- Replace lineBreakMode with ellipsizeMode (e5e3591) - @koenpunt
Packager
- Fix integration test for OSS (a33dd76) - @jeanlauliac
- Use buildID instead of entry path for reporting (b74b2d5) - @jeanlauliac
- ResolutionRequest: extract FileNameResolver (3aedbbb) - @jeanlauliac
- Terminal: remove global state (365c1bf) - @jeanlauliac
- AssetServer: remove fs timeouts (b975342) - @jeanlauliac
- Add
"node"env to packager.eslintrc(8d60605) - @davidaurelio - Add preprocess for buck worker (bfc0e8c) - @jeanlauliac
- Add missing dep (d500a8a) - @jeanlauliac
- Add basic top-level integration test (32d35c3) - @jeanlauliac
- Add --dev flag to the packager's dependencies command (d41c9d9) - @fkgozali
- ResolutionRequest: factor error handling in resolution (eb9e4d4) - @jeanlauliac
- Run packager.sh using '.' instead of 'source'. (2f71270) - @sebbarg
- ResolutionRequest: empty module is special case (9aeed39) - @jeanlauliac
- DependencyGraph: @Format (0040b02) - @jeanlauliac
- ResolutionRequest: use _loadAsFile from _loadAsDir (306c929) - @jeanlauliac
- ResolutionRequest: refactor _loadAsDir and dependents (a790430) - @jeanlauliac
- Move packager launcher scripts outside of
packager/(a710f9a) - @davidaurelio - TransformCache: extract choice of root path outside of class (0b4e772) - @jeanlauliac
- Move packager core logic from
local-clitopackager(bea7659) - @davidaurelio - TransformCaching: make choice of cache explicit in the API (a4badb8) - @jeanlauliac
- Upgrade jest-haste-map version (7c06a0d) - @jeanlauliac
- Module: get rid of callbacks (21e3d4d) - @jeanlauliac
- Stop requiring setupBabel from within packager/ folder. (414da08) - @cpojer
- AsyncTaskGroup: @flow (dfb0812) - @jeanlauliac
- Server: more consistent error handling (994d500) - @jeanlauliac
- Separate build modules from require calls when bundling (3f17600) - @davidaurelio
- Change
sourceMappingURLto line comment (225c4c0) - @davidaurelio - Create an
OutputFnthat can build indexed RAM bundles (918bae2) - @davidaurelio - Simplify
Filetype:mapis nullable, but not optional (6b2122b) - @davidaurelio - Covariant properties for
ModuleTransportLike(f9f1245) - @davidaurelio - Use
ModuleTransportLikeonly with$ReadOnlyArray(9a91ea4) - @davidaurelio - Properly mock
pathin DependencyGraph-test (657ea49) - @cpojer - Remove setupBabel call from main entry point (17e0478) - @cpojer
iOS
Bugfixes
- Native Animations - Fix edge case with restore default values (fc45471) - @janicduplessis
- Fix data race on read/write _instance variable in ModuleData class (5e97be8) - @makadaw
New Features and enhancements
- Add ART library to UIExplorer for iOS, with sample and snapshot test (9e8a39c) - @dlowder-salesforce
- Add newly recommended method for RCTLinkingManager due to deprecation (ff78a8d) - @jasonnoahchoi
- Add support for flashScrollIndicators on iOS (5114b61) - @jeanregisser
- Introduce API for moving screen reader's focus (e40d1a1) - @rigdern
- Support Animated.loop on iOS (11424a8) - @janicduplessis
- Improve z-index implementation on iOS (1658f36) - @janicduplessis
- Introduce API for making screen reader announcements (cfe0032) - @rigdern
- Introducing
-[RCTView reactAccessibleView](072d270) - @shergin - Improve accessibility of multiline TextInputs (863f585) - @rigdern
- Expose category property of iOS notifications (dd8ed62) - @webmariner
- Add note for DevSupport in Podfile (152dbcb) - @sunnylqm
- Minimize time holding lock in UIViewOperationQueue (53169b0) - @javache
- Added Cookie Header to XML and Websocket request (047961f)
- Using
drawViewHierarchyInRectinstead ofrenderInContextfor snapshot tests (3df537a) - @shergin - Play sound in local notification only if soundName is specified (9fae268) - @aljs
- Ignore "Frame load interrupted" errors in UIWebView (23a34d4) - @adamjmcgrath
- Fixing compiler warning (407b8b4)
Android
Bugfixes
- Fix memory leak in AccessibilityInfoModule (e9ae31d) - @rigdern
- Fixed TextInput.onContentSizeChange on Android (3539352) - @shergin
- Fixed ImageLoader Mock for Android (7c2ef32) - @kpink224
- Fix memory leak (9dc0385) - @yk3372
- Fixing a race condition that may be caused by the reloadable executor. (63ffa7c)
- Avoid using path for normal border cases (5db2638) - @sjkirby
New Features and enhancements
- Add viewIsDescendantOf for UIManager on Android (663df57) - @Swordsman-Inaction
- Add missing Java files to RN fbjni sync (f0e4a6c) - @javache
- Allow WebView to handle about:blank (26ee9b9) - @rigdern
- Update CatalystInstanceImpl.java (c2eb9f4) - @chnfeeeeeef
- Updating shake handling for Android in ShakeDetector and DevSupportManagerImpl (aeccbd6) - @sumkit
- Remove DialogWhenLarge style from devsupport (37d4fd3)
- Stop SystraceMessage markers with SystraceMessage.endSection (46b3a89) - @michalgr
- Don't include JNI dep in OSS build (964c3a1) - @javache
- Add prop on WebView to enable third p...
July
Changelog coming. For list of changes, please compare this release with 0.46-stable branch.
May 2017
General
Breaking changes
Remove React forwarding and wrong import warnings
Importing ‘react’ modules from ‘react-native’ has been deprecated since 0.25 and is now an error.
Bugfixes
- XMLHttpRequest withCredentials defaults to "true" (7c3918b) - @DanielZlotin
- Return findNodeHandle to public api (7063261) - @skv-headless
- Fix warnings in
TouchableHighlight(bd00456) - @zjj010104 - Fix broken default getProjectRoots (f847fbe) - @skevy
New features and enhancements
- TouchableHighlight needs to set _isMounted false when it unmounts. (d40a7ea) - @sahrens
- Custom build options: Move transform options into own property (8533c0d) - @davidaurelio
- Work around a false positive
isMounted()warning (074c3ce) - @gaearon - CLI: Stronger typing for transformers (73fc439) - @davidaurelio
- CLI: Disable
no-alerteslint rule for node code (d2505e7) - @davidaurelio - CLI: Get rid of FBism in
Config(b9fb229) - @davidaurelio - CLI: Resolve path at callsite rather than in
Config.loadFile(edf1774) - @davidaurelio - CLI: Fix Promise resolve callback error (7dd2cd3) - @johnislarry
- Fixed default placeholder text color for multiline (cf975bb) - @shergi
- Allow calling NativeViewHierarchyManager.addRootView() off the UI thread (20c2ae8) - @AaaChiuuu
- FlatList: use $ReadOnlyArray for section stuff (5084e1b) - @sahrens
- FlatList: Make section key optional (8d373f3) - @sahrens
- FlatList: Many improvements (28aaa88) - @sahrens
- FlatList: Fix and optimize VirtualizedList update triggers (52e50af) - @sahrens
- FlatList: Made
getItemandgetItemCountrequired props (VirtualizedList) (beeffb8) - @mariten - FlatList: Add ListEmptyComponent prop (264d67c) - @Minishlink
- FlatList: flipped leading/trailing separators.updateProps (5c7c65e) - @sahrens
- FindNodeHandle properly handles ReactCurrentOwner.current Fiber type (909fb72) - @bvaughn
- Sync React 16 from alpha 6 to 12 (ef0bd5c) - @bvaughn
- Open in editor fix, show tip instead of error (9934131) - @skv-headless
- Fix parseFloat mistaken uses of "radix" (37f3ce1) - @zertosh
- Add flow to
processColor.js(c7e0f56) - @TheSavior - Add method on YellowBox to ignore warnings (a974c14)
- Refactor MessageQueue (0a55e42) - @rh389
- Order modules in bundle by path. (978592f) - @amnn
Yoga
- Expose setPointScaleFactor (19e1ef9) - @emilsjolander
- Expose print function (924b869) - @emilsjolander
- Treat measured nodes size as a minimum constraint when rounding (1c0e3b8) - @emilsjolander
- Disable yoga rounding (39f9e7a) - @emilsjolander
- Remove rounding from experimental features (1a72d91) - @emilsjolander
- Move reset into yoga node and don’t set overflow as it has no effect (5bb1e48) - @emilsjolander
- Fix useLegacyStretchBehaviour flag by simplifying its usage (d199d1d) - @emilsjolander
- Fix flex-wrap with max constraint (c660d0c) - @woehrl01
- Fix sizing of non stretch items (992e37c) - @woehrl01
- Let measure behave more like on the web (925ec01) - @woehrl01
- Move YGLogger into YGConfig and associate YGNodeRef with log events (5f2edfc) - @woehrl01
- New round-to-pixel-grid algorithm that fixes possible subpixel gaps between sibling nodes (a8fa904) - @shergin
- Assertion on attempt to get layout metrics from dirtied Yoga node (18fd18e) - @shergin
- Add YGConfigCopy (f71e3b8) - @zcbenz
Packager
- Rename node-haste/index to DependencyGraph (c948ae8) - @jeanlauliac
- Packager - Fix symbolicate on windows (074fd33) - @janicduplessis
- Connect / disconnect with websocket not when starting / stopping (f1d5fdd) - @emilsjolander
- Call onDisconnected() not onConnected() when closing socket (aaab0e9) - @emilsjolander
- Remove unused hash (cb3b744) - @jeanlauliac
- Bump packager's inspector message timeout to 30s (de4d355) - @johnislarry
- ModuleGraph: include all possible asset types (e69b813) - @jeanlauliac
- Buck assets: wrap in __d (2a5959a) - @jeanlauliac
- Optimize assets' JS (7d6fec0) - @jeanlauliac
- Worker-farm: isolate stdout/stderr (fbe6d93) - @jeanlauliac
- Properly handle babel ignored files, returning only the contents (7932b93)
- Force
'default'transform variant to be present (11eef69) - @davidaurelio - Make bundle building function async (382e633) - @davidaurelio
- Pull reusable logic out of
Bundler(66d51bb) - @davidaurelio - Separate node polyfills from runtime transforms (1adb318) - @davidaurelio
- Unify source map types (58ba7fc) - @davidaurelio
- Change postprocessing hook to work on
ModuleTransportinstances (414d5a3) - @davidaurelio - Inline plugin: type options (3afbcfc) - @davidaurelio
- Make test independent from side effects (291a497) - @davidaurelio
- Remove irrelevant options from cache key (3e08a28) - @davidaurelio
- Stronger typing for transform options / remove duplication (13f89f4) - @davidaurelio
- Fix paths of module system and polyfills (7eb005b) - @davidaurelio
- Fix support for haste packages (a26e042) - @davidaurelio
- Fix release / minified bundle builds (1a0e78c) - @davidaurelio
- Faster terminal feedback (76d6f90) - @jeanlauliac
- Fork local version of worker-farm (e5920e7) - @jeanlauliac
- ResolutionRequest: keep option object as it is (cc5997a) - @jeanlauliac
- Buck worker: output assets (cf4a98b) - @jeanlauliac
- Buck worker: better types (91ff215) - @jeanlauliac
- Worker: strenghten TransformOptions (0001d3c) - @jeanlauliac
- AssetPathUtils: @flow (aef2867) - @jeanlauliac
- GlobalTransformCache: throat() the file fetching function (f519f16) - @jeanlauliac
- Remove last declareOpts usage and replace by Flow types (e135bac) - @jeanlauliac
- TransformCache: store last cache collection time (eb72d50) - @jeanlauliac
- TransformCache: include UID + do not use base64 (1e6bca2) - @jeanlauliac
- Upgrade to jest-runtime 19.0.3 (ec7a817) - @jeanlauliac
- Buck library: expose asset content (1f8d100) - @jeanlauliac
- Buck library: aggregate assets (b6a7a71) - @jeanlauliac
- AssetServer: @flow (9bbbfb4) - @jeanlauliac
- getAssetDataFromName: @flow (2403b42) - @jeanlauliac
- GlobalTransformCache: cache the transform options digest (de3478c) - @jeanlauliac
- GlobalTransformCache: fix non-bound function (fddb3b0) - @jeanlauliac
- Add support for relative files with custom extensions (4a86f93) - @jeanlauliac
- Correct transform for assets to avoid string (79d9fd8) - @jeanlauliac
- worker-farm/lib/fork.js: cleanup (2de6e54) - @jeanlauliac
- worker-farm: pass explicit execArgv to workers (bc4de00) - @jeanlauliac
iOS
Breaking changes
Update podspecs to support and default to the C++ bridge
(5aca739) - @mhorowitz
If you are using Cocoapods, you will have to update your Podfile by adding a dependency of ‘BatchedBridge’ or ‘CxxBridge’ to the React subspec depending on your choice.
Bugfixes
- Fix run-ios when specifying a scheme as cli arg (c58e19e) - @pesterhazy
- Fix RCTMultipartDataTask memory leaks (47f834a) - @ywz2010
- Fixed crash caused by NaN values in RCTTouchEvent (e7c6a4c) - @shergin
- React.podspec fix for RCTAnimation header issue (7b7d6bb) - @vjeranc
- Ship third-party-podspecs in the npm package (1ea4002) - @jeanregisser
- Fixed issue where the copy item would be added to the tooltips (d5a6152) - @gabrielbull
New features and enhancements
- Allow videos to be shown in the CameraRoll selector (a324dfb) - @fred2028
- More verbose error messages for iOS (e443b73) - @cooperka
- Add API to reset CxxModuleWrapper's module pointer (17020ff) - @javache
- Remove RCTBatchedBridge rule and all uses from the tree (325228d) - @mhorowitz
- Split off websocket related items to RCTPackagerConnection (db8efd9) - @javache
- Immediately trigger renderApplication from RCTRootView init (59378f7) - @javach
- Native Animated - Support decay on iOS (6c434f9) - @janicduplessis
- Port perf metrics used in RCTBatchedBridge (1bc9d44) - @alexeylang
- Added support for synchronous methods in native modules on iOS (db0c221) - @fromcelticpark
- Added tests for synchronous methods in native modules on iOS (971b083) - @fromcelticpark
- Adopting Yoga's YGConfig in RCTShadowView (ca07a5f) - @shergin
- Cleanup Xcode project references to UIExplorer (3544b76) - @ericvicenti
- Merge RCTPackagerClient into RCTPackagerConnection (e768013) - @javache
- Remove RCTPackagerClientResponder references from Xcode projects (1dd7bc1) - @javache
- Introducing
RCTAssertUIManagerQueue()(2a98432) - @shergin - Introducing
RCTUIManagerObserverCoordinatornew way to subscribe for granular notifications from UIManager (712b1dd) - @shergin - Throw when failing to load script (f09fdcb) - @javache
- Remove WebWorker support from NetworkingModule (ea93577) - @javache
- Remove WebWorker support from Timers (a20882f) - @javache
- Drop support for WebWorkers (34bc6bd) - @javache
- Avoid presenting on view controller that's being dismissed (96d13b6) - @javache
- List nested exception in Redbox (b493208) - @javache
- Apple TV Support: Add tvOS build support for ART library (32eab54) - @danielfarrell
- Expose shake-to-show dev menu setting via the bridge (39d1974) - @wschurman
- Enable dev menu in tvOS simulator (3122328) - @cmcewen
Android
Bugfixes
- Fix crash when tapping "Comments" at Settings (39c73a8) - @minjang
- Fix touch target for views with z-index (6f092a4) - @janicduplessis
- Fix NoSuchMethodError for Inspector#Page's constructor (3240180)
- Fix Nodes not having correct view managers externally (c8bb422) - @sjkirby
- Stop from incorrectly darkening translucent status bars (41518ca) - @dantman
New features and enhancements
April 2017
General
Breaking change
Remove support for @provides
If you were using @provides NameOfModule, you should now switch to @providesModule
Only call batchDidComplete when there were actually native calls dispatched
c8d922b - @facebook/team-jest
This is breaking because it affects the contract for onBatchComplete, but modules really shouldn't (and probably aren't) depending on it being called without any actual native module method calls having happened.
Navigator has been deprecated
Navigator has been deprecated in favor of React Navigation. If you wish to continue using Navigator, you can install the react-native-deprecated-custom-components package which provides the legacy Navigator component. Find out more at https://github.com/facebookarchive/react-native-custom-components
Bugfixes
- Fix a typo in navigation doc (0d5620b) - @sunnylqm
- Fix TextInput 'defaultValue' propTypes to 'string' (c53404a) - @feyy
- Fix YellowBox layout to not interfere with app layout when opened. (7ff18f2) - @sahrens
- FlatList: Fix doubled ItemSeparators (7e4c93d) - @sahrens
- FlatList: Fix minimumViewTime (b1a63f0) - @sahrens
- FlatList: Fix Animated.event attach/detach on component re-render (9c3e6ae) - @sahrens
- Fix suggestion to "npm start -- --reset-cache" (06dd083) - @cooperka
- Fixes misleading comment on getInitialURL (c41b29d) - @jeremistadler
- FlatList: Fix nodeHandle crash (93c438d) - @sahrens
- Fix usages of ReactComponentWithPureRenderMixin (a2cfea1) - @javache
- Fix grammar in the "Running on a device" docs (1091868) - @hramos
- Website: Fix broken icons in showcase on Safari (1f15c75) - @hramos
- Website: Fix broken references, remove navigators (3b28644) - @ericvicenti
- Fix PerformanceLogger clearing unfinished events (005fbe6) - @javache
- Animated: Add missing super calls to fix native animated crash (c233191) - @janicduplessis
- Fix ReactNativeEventEmitter not dispatching events when org. instance is gone (23c2a6c) - @shergin
New features and enhancements
- Website: Clean up, add tests, remove dependency on sass (e82c2fb) - @mkonicek
- Added deprecation warning for View.* static accessibility traits accessors (ef3db66) - @bvaughn
- Remove Navigator recommendation (a030432) - @hramos
- Introduce
DeviceInfoas a new native module (95c1926) - @ashwinb - Add support for animating nested styles (9d32920) - @mlanter
- Added ReactNative feature-flag switch between Stack and Fiber builds (6620b1f) - @bvaughn
- Add support for custom log reporter cli option for local server (5f5da4e) - @brentvatne
- Remove unused onNativeException delegate method (73e81b8) - @javache
- Use verbose module name when requiring module that errored (14fee73) - @davidaurelio
- Better instructions for displaying systrace (c451dd6) - @gaearon
- Support string return type from RN when using Fiber (9344f3a) - @bvaughn
- Don't swallow the error if a module require fails (d731466) - @mhorowitz
- Don't load native module support as part of the initial CS bundle (6dc3a83) - @mhorowitz
- Use
fbjs/lib/invariant, notinvariant(80e1dbf) - @davidaurelio - Packager: GlobalTransformCache: ignore errors related to fetching (4cbb645) - @jeanlauliac
- Packager: GlobalTransformCache: reduce asynchronicity for non-cached bundles (439cb76) - @jeanlauliac
- Packager: clear cache (4797701) - @jeanlauliac
- Packager: GlobalTransformCache-test: disable non-deterministic test (d5288e7) - @jeanlauliac
- Packager: Package.js: make read()-based API sync (ebd8b2a) - @jeanlauliac
- Packager: Module.js: make read()-based API sync (5eb954f) - @jeanlauliac
- Packager: Package.js: cover the error cases (909d2e5) - @jeanlauliac
- Packager: Module.js: cover the error cases (3054842) - @jeanlauliac
- Packager: TerminalReporter: stop reporting global cache errors (20ba987) - @jeanlauliac
- Packager: ResolutionRequest.js: sync _resolveNodeDependency() (b96e210) - @jeanlauliac
- Packager: ResolutionRequest.js: resolveDependency() now sync (e0ad425) - @jeanlauliac
- Packager: TransformCache: do not rehash transformOptions every single time (4bd7dc0) - @jeanlauliac
- Packager: TransformCache: use sha1 instead of murmurhash (cc2ec6f) - @jeanlauliac
- Packager: GlobalTransformCache: retry keys fetches (33000c7) - @jeanlauliac
- Packager: sync Module#read() (3ef2055) - @jeanlauliac
- Replace
copyPropertieswithObject.assign(a34956f) - @davidaurelio - Only use
EventValidatorin development mode (2b4762f) - @davidaurelio - FlatList: Invariants around scrollToIndex without getItemLayout (edd5624) - @sahrens
- FlatList: Support sticky headers (72670bf) - @sahrens
- FlatList: onEndReached should clear when data changes (22a4205) - @sahrens
- FlatList: Remove shouldItemUpdate (5c85615) - @sahrens
- FlatList: Show useful error when switching numColumns on the fly (46d6766) - @sahrens
- Use checkPropTypes instead of directly calling PropTypes (d9910a5) - @acdlite
- Move View.propTypes to ViewPropTypes (53905a5) - @bvaughn
- Remove React addons from react-native-implementation (14c31d9) - @janicduplessis
- Improve dark mode for debugger (8a8f34a) - @Kerumen
- Fix findNodeHandle() in Fiber (333dd59) - @bvaughn
- Remove NavigationExperimental (febf3d0) - @ericvicenti
- Expose new ViewPropTypes object on ReactNative renderer (9a88c72) - @bvaughn
- Allow overrides of NativeModules (ff7fb6e) - @javache
- Move takeSnapshot method from UIManager to ReactNative (848593c) - @bvaughn
- Remove CustomComponents folder and license (777e80a) - @ericvicenti
- Refactor Chrome Debugger JS (696b49e) - @yungsters
- Stop yarn error message appearing for Windows users of local-cli (7c90b06) - @dikaiosune
- Protect against fatal YellowBox error when stack frame has no file (106ad85) - @terribleben
- Re-added null inst check to avoid EventPropagators bug (01215c0) - @bvaughn
- Show more meaningful error stack in red box (d4aa42a) - @bvaughn
Yoga
- Expose UseWebDefaults to java (50a6c49) - @emilsjolander
- Don't transfer layout outputs to java for nodes which don't have a new layout (759b8cc) - @woehrl01
- Don't transfer layout outputs to java for unset edges (f1371ec) - @woehrl01
- Fix align-content: center, flex-end alignment with margin (18c239e) - @woehrl01
- Invalidate layout when node is removed from tree (e854775) - @emilsjolander
- Set web defaults when resetting (673093e) - @emilsjolander
iOS
Breaking changes
Remove MapViewIOS
<MapView /> was deprecated for a while, in this release it is removed from react-native. As a workaround, we suggest using react-native-maps by Airbnb. If you cannot migrate to react-native-maps, you can continue using <MapView /> by importing the deprecated-react-native-ios-mapview module into your project with the caveat that the module will no longer receive any updates or bugfixes.
Bugfixes
- Fix crashes in RCTPicker (1195a8f)
- Fix property accessor warning in RCTDevSettings (b3be574) - @terribleben
- Fix crash when overriding native modules on RCTJSCExecutor (3f46e59) - @javache
- Fix timing animation delay on iOS when using native animations (fb54a1e) - @janicduplessis
- Fix crash in
RCTJSStackFrame::stackFrameWithDictionary:(9075fe0) - @terribleben - Fix crash in
RCTRedBox::formatFrameSource:(1a23902) - @terribleben - Fix ReactCxx xcodeproj (22151d2) - @janicduplessis
- Fix warnings in React.xcodeproj (9d377e9) - @javache
- NativeAnimated: Fix missing update at the end of the batch (f46fd36) - @janicduplessis
- Fix cxx bridge headers when archiving (ec5baf0) - @janicduplessis
- Fixed
zero scaletransfrom breakinghitTestmechanism (64c327a) - @shergin
New features and enhancements
- Better TextInput: Decouple RCTUITextView from TextInput (b53d76e) - @shergin
- Better TextInput: Improve placeholder feature in RCTUITextView (1433185) - @shergin
- Better TextInput: Removed redundant UIScrollView from RCTTextView (3acafd1) - @shergin
- Better TextInput: Native auto-expandable is here (iOS only) (26e2c08) - @shergin
- Better TextInput: Fixing multiline insets and prepare for auto-expanding feature (1b013cd) - @shergin
- Look for assets beyond mainBundle when not found (4398892)
- Native Animated: Add tests for on iOS (1d37dd0) - @janicduplessis
- Native Animated: Restore default values when removing props on iOS (c9fae2f) - @janicduplessis
- Add iOS Linking location example to docs (ec68c97) - @viktorsec
- Move RCTLinkingManager to the main thread (55f48eb) - @mmmulani
- Make Cxx modules lazy on iOS (ea069b6) - @javache
- Expose RCTImageLocalAssetURL as a utility (f48b54b) - @ashwinb
- RCTRootView is now has empty autoresizing mask by default (d272334) - @shergin
- NavigatorIOS: Remove NavigationContext (7aa2c9a) - @ericvicenti
- Improve feel of scroll snapping behavior on iOS (1d36700) - @spicyj
- Make run-ios --device example copy-pastable (140c5f6) - @bhelx
- Merge RCTPlatform.isTesting and RCTRunningInTestEnvironment (f675434) - @javache
- Update xcode dependency from 0.8.9 -> 0.9.1 (5be8d5f) - @joonhocho
- Match plist indentation with xcode format (8daf985) - @koenpunt
- Move bindKeys to RCTBridge setUp (e12e57e) - @javache
- Add missing
toggleElementInspectorevent send whenjsLoaded(f352aa1) - @jhen0...
July 2017
Changelog coming soon.
June 2017
Changelog coming later.