August 2017
Breaking changes
- Make RCTDeviceEventEmitter warnings fatal (db3df34) - @javache
iOS
- Removed unused notifications from RCTUIManager (324eba1) - @shergin
- Remove AdSupportIOS (6ad5e2f) - @javache
General
Bugfixes
- Fix incorrect invocation of JSClassCreate (543cd21) - @javache
- Fixes unintended side effects caused by #14684 (4d572cd) - @lprhodes
- Fix missing "getPolyfills" tag in CLI (98e61de) - @mjesun
- Fixed ImageBackground couldn't be wrapped by Touchable* component (dc97e3f) - @patw0929
- Yoga: Fixing edge case issue in Yoga where text node was unnecessary rounded down (671c6ac)
- Yoga: Reset the hadOverflow flag at the beginning of the algorithm (5da0a99) - @woehrl01
- Docs: Fix typo in deeplinking docs (d53d121) - @joeybaker
- Docs: Fix typo in Animations guide (c748d69) - @abi
- Docs: Fix mistake acquireWakeLockNow in headless js section (59da066) - @ivanzotov
- Docs: Fix SectionList examples in documentation (0e93f4f) - @timwangdev
- Docs: Fix type of StatusBar backgroundColor so it is displayed correctly (2781739) - @brentvatne
- Docs: Fix broken Buck installation link (e248980) - @fson
- Docs: Fix navigation menu regression on mobile (471c9da) - @hramos
- Docs: Remove typo (af48b48) - @jDeppen
- Docs: Remove unnatural indent in doc (214f544) - @sunnylqm
New features and enhancements
- Add Blob implementation with WebSocket integration (ed90309) - @philikon
- Add more information to
__fbBatchedBridge is undefined
error (26168d0) - @terribleben - Add missing
assetRegistryPath
to dependencies command (6a4fb5e) - @davidaurelio - Add delay support to Animated.spring (9c2ce53) - @billoosijok
- Enable flow for TouchableHighlight (fc68dfb) - @javache
- Add type for onLayout (9108f98) - @javache
- Allow application/javascript and text/javascript for packager bundle mime type (3149348) - @fkgozali
- Add CODEOWNERS file to automatically request reviews (dedffdc) - @hramos
- Remove unused npm dependencies and add missing ones (1954fd4) - @ide
- Replace React.createClass with create-react-class (9afb71f) - @mojodna
- Enforce Prettier for @Format (1023070) - @TheSavior
- SwipeableRow: Support for preventing swipe left or swipe right (bf1b67e) - @lprhodes
- VirtualizedList: Be able to scroll to last item in list (cad2d9b) - @maartenschumacher
- Added chromium support for devTools on linux (3f16aa5) - @retdop
- Move polyfills to react-native (ad0fe15) - @mjesun
- Rename _remoteNotificationCompleteCalllbackCalled to _remoteNotificationCompleteCallbackCalled (51e258e) - @koenpunt
- Update
throat
dependency to 3.2.0 (9b06a31) - @davidaurelio - Move inspector proxy out of the packager (c00abe5) - @Hypuk
- Avoid creating a new Path instance for performance (6b29fe7) - @jetzhliu
- Change
polyfills
togetPolyfills
function for more configurability (9f87728) - @ide - Try to match React DevTools theme with current Nuclide theme (1d353b4) - @bvaughn
- Wait for packager to start (c885357) - @TheSavior
- React sync for revisions cb32253...5495e49 (221286b) - @bvaughn
- Update Jest to 20.1.0, chi.1 (1fe8f89) - @mjesun
- Removing @NOLINT from flow files (d9f9819) - @TheSavior
- Added info CLI command (95ee3f5) - @tabrindle
- Remove unused focusedOpacity prop and function (85247f9) - @levsero
- Remove legacy JSC profiler (ed3c018) - @javache
- Upgrade to Flow v0.50.0 (8e8fecd) - @nmote
- Remove default polyfills from metro-bundler (7a4eda2) - @mjesun
- Merge allowOffMainQueueRegistration and requiresMainQueueSetup (980d514) - @javache
- Export stringForScriptTag symbol (436218b) - @majak
- Stop native driver animations when value is set (b8fafb4) - @kmagiera
- Native Animated - Override __makeNative in AnimatedInterpolation (1afee0b) - @syaau
- Upgrade metro-bundler to v0.10.0 (70edc2f) - @fromcelticpark
- Improve transform speed by 8.5% (4caf794) - @cpojer
- Rename Hide / Show to Toggle Inspector (a946f86) - @sahrens
- Make Set and Map initialization lazy (0736f5d) - @fromcelticpark
- Make NetInfo API cross platform and expose whether connection is 2g/3g/4g (fc38fe1) - @rigdern
- Deprecate some usage of NetInfo (bca825e) - @zjj010104
- Remove onScrollAnimationEnd (aa9a19a) - @tomasreimers
- Clean up property defines in InitializeCore (5da7629) - @fromcelticpark
- Inline requires in JSTimers (9342f25) - @fromcelticpark
- Adds hook for platform-specific View props (59105f6) - @rozele
- Identify keyboardDismissMode platform-specific options (64899c0) - @jkdf2
- Remove unused nativeTrace*stage methods (4d55ce3) - @javache
- Control whether Metro tells Babel to lookup .babelrc files (113e046) - @ide
- Increase information logged to MessageQueue.spy (cb31356) - @javache
- Docs: Resolved the broken links for all components method in page linking (7aec6ae) - @jordanpapaleo
- Docs: Update Navigation.md (f39f216) - @fecot
- Docs: Improve Headless JS documentation (4de9d64) - @satya164
- Docs: Update Performance.md to reflect existence of
useNativeDriver
(3fadd74) - @abi - Docs: Update IntegrationWithExistingApps.md (a31a012)
- Docs: Update docs for Transforms (404d74b) - @gwmccull
- Docs: Update Modal.js (91493f6) - @jooddang
- Docs: Changed param of setSrc() method (e61257c) - @Niranjan-B
- Docs: FlatList doesn't specify that it accepts ScrollView Props (c694212) - @tomasreimers
- Docs: Adds Danger support (56d4595) - @hramos
- Docs: Update TouchableWithoutFeedback.js (8f36405) - @tspanindra
- Docs: Update podspec integration instructions (6e68f2d) - @javache
- Docs: Improve the documentation for ListView and ListViewDataSource (8117fa1) - @gwmccull
- Docs: Update Images.md with ImageBackground (8dea90b) - @Minishlink
- Docs: Better doc for 'data:' uri scheme (dfd3b22) - @harry-g
- Docs: Clarify JavaScript module naming edge case (dec62ff) - @lyahdav
- Docs: Clarify pagingEnabled description for ScrollView (88fb45d) - @seanyusa
- Docs: Better doc for 'data:' uri scheme & mandatory size (ec8118b) - @harry-g
- Docs: Update IntegrationWithExistingApps.md (0c44b9e)
- Docs: Updated example 'Podfile' to consistently use single quotes. (98b925c) - @brookslyrette
- Docs: Update sectionList keyExtractor (cb9b266) - @fourestfire
- Docs: Add Animated to list of APIs (a616a2d)
- Docs: Add documentation for onMomentumScrollEnd (b8118d1) - @tomasreimers
- Docs: Add docs for onMomentumScrollBegin (3eae3df) - @tomasreimers
iOS
Bugfixes
- Fix build-break in legacy React bridge (a806e90) - @javache
- Fix crash for unsupported device orientation events (2444c54) - @javache
- Fix misspelling UIKit (688c746) - @ajacquelin
- Fix RCTNetworking error message (50f200b)
- Fix font weight resolution (cfeaefb) - @kipricker
- Fix photo orientation from ImagePickerIOS (6555f9b) - @doochik
- Fix typo in RCTDevSettings.mm (99414e9) - @Hypuk
- Fix tvOS build issues with UIDeviceOrientation (6d57726) - @javache
New features and enhancements
- Podspec: Add required "DevSupport" dependency "InspectorInterfaces.{cpp,h} (e43c061) - @HeEAaD
- Add a delegate hook for providing a different JS implementation (05c4de0) - @mhorowitz
- Add FORCE/SKIP_BUNDLING flags for iOS builds (0681887) - @cooperka
- Add 'contentInsetAdjustmentBehavior' (new in iOS 11) to ScrollView (6e28b39) - @skevy
- Remove unused RCTDebugComponentOwnership (8548ca0) - @javache
- Remove deprecated RCTAssert aliases (20224b7) - @javache
- Replace -[RCTConvert folly_dynamic:] with direct calls to convertIdToFollyDynamic (f1cbb11) - @javache
- Support native ViewManager inheritance on iOS (684e035) - @cbrevik
- Clean up -[RCTRootView cancelTouches] header docs (78e2030) - @eliperkins
- MaskedViewIOS: A way to apply alpha masks to views on iOS (8ea6cea) - @skevy
- Generalize/refactor
-[RCTUIManager rootViewForReactTag:withCompletion:]
(fac6207) - @Yu-w - RCTScrollEvent: get all required values injected rather than accessing the scroll view (048a9ab) - @HeEAaD
- Introducing
RCTBackedTextInputDelegate
(ee9697e) - @shergin - ScrollView: Couple of unnecessary checks was removed from RCTCustomScrollView (f5d9b52) - @shergin
- Unified usage of RCTAssertUIManagerQueue (8760b93) - @shergin
- Pass actual loaded image size to load (ced1513)
- Make the js stack bigger in RCT_DEBUG mode (2334899) - @mhorowitz
- Simplify -[RCTModuleMethod processMethodSignature] (98258b4) - @javache
- Removed unused ivar (
_launchOptions
) fromRCTRootView
(1b9b366) - @shergin - Use Apple's significant-change API (for iOS 11 UX) (f704369) - @jasongaare
- Support namedOrientationDidChange on iOS (fbaedfd) - @javache
- RCTCxxBridge: Use C++ atomic (7c528cd) - @Adlai-Holler
- RCTImage: Use C atomics instead of OSAtomic (114b080) - @Adlai-Holler
- RCTProfile: Use C atomics instead of OSAtomic (24df099) - @Adlai-Holler
- Show bundle download progress on iOS (373f7ed)
- Validate the content type of the bundle returned by the packager (3ce3669) - @janicduplessis
- Adding video play duration for camera roll (636a21b)
- TextInput
setSelection
method was moved to base class (da9a183) - @shergin - TextInput: Unified support of
blurOnSubmit
prop (8f93ce6) - @shergin - TextInput: Unified support of
clearsOnBeginEditing
prop (cb96f1d) - @shergin - TextInput: Unified support of
clearTextOnFocus
prop (d69e60b) - @shergin - TextInput: Hacks related to missed
textInputDidChange
were moved to adapter (4ff3e10) - @shergin - TextInput: Actual
reactAccessibilityElement
implementation (42d6323) - @shergin - TextInput:
selection
property was unified (a50c9c8) - @shergin - TextInput: textInputShouldEndEditing and textInputDidEndEditing were moved to base class (f89e132) - @shergin
- ScrollView/TextInput: The amnesty of
scrollRectToVisible
(fa1d4e8) - @shergin - ScrollView: Use autoresizing masks for layouting actual UIScrollView (301830d) - @shergin
- ScrollView: Smart
contentOffset
preserving (1d22f8f) - @shergin - TextInput: Simplified
selectTextOnFocus
logic (7da5ef3) - @shergin - TextInput: Refined contentSize calculation (603cc48) - @shergin
- Improved window.postMessage implementation (42f7b9e) - @tqc
- Support
shadowView.rootView
(5701ae2) - @Yu-w - Apple TV Cocoapods support (f082e6c) - @dlowder-salesforce
- Debugger channel messages should be processed only on a background thread (d94f3e4)
- Replace exported method registration with statically allocated struct (cb12080) - @javache
- Mark non-extern strings static (ca9e26c) - @javache
- CameraRoll: Use C atomic instead of OSAtomic (52d546c) - @Adlai-Holler
- More efficient dynamic->NSString conversion. (886ef0c)
- Reduce log level for connection errors (a6ad4a0) - @theoy
- Apple TV: Enable long presses on TV remote; dev menu on TV device; example code (75284d3) - @dlowder-salesforce
- Standardize project indentation settings on 2 spaces (0f44013) - @Adlai-Holler
- Docs: Updated iOS Component Guide (94b6cda) - @teameh
- Docs: Added documentation for iOS app extensions (bf7cf18) - @simonayzman
Android
Bugfixes
- Fix rotation matrix decomposition (b60a8dc) - @kmagiera
- Fix cropImage crash with float displaySize (f32627f) - @sohobloo
- Fixed new line and prioritise blurOnSubmit in multiline text input (e694199) - @kevinluvian
- Fix
HEAD
http requests in Android (bdd46aa) - @SandroMachado - Fix updating a view z-index on Android (28c7535)
- Convert text to base64 instead of utf8 in WebSocket module (7e29b1f) - @sm2017
New features and enhancements
- Add note to add the service to AndroidManifest (6db97d6) - @LironErman
- Set WebViewManager methods/fields as protected instead of private (e2c87b5) - @cbrevik
- Support setting background color on ARTSurfaceView (09401ed) - @rigdern
- Added support to arrays in toBundle (bc0717c) - @Guichaguri
- Update DrawerLayoutAndroid.android.js (3683ff8) - @sadick254
- Rename ToastAndroid to ToastExample (f193c3f) - @chadbay
- Simplify macro usage in MethodInvoker (a8a29a9) - @javache
- Update Fresco dependency (999851a) - @foghina
- Launch running setupReactContext in background (a3142f5) - @AaaChiuuu
- Show RN Dev Menu after 2 rage shakes (794dddc) - @sumkit
- Request toolbar layout after drawable loads (63c2ab3) - @Benjamin-Dobell
- Make member variables private instead of protected (042f254) - @AaaChiuuu
- Provide default implementation of getConstants (c1c791f) - @javache
- Mark React Native annotation processors as non-ABI-affecting (278cd57) - @dreiss
- Cleanup settings.gradle (292f801) - @janicduplessis
- Check if fresco is initialised before clearing memory caches (7ac6fa7) - @AndrewJack
- Simplifying conditional logic in ScrollView (88a9845) - @tomasreimers
- Separate window dimensions change from orientation (96b32d7) - @atsjenk