React Native August 2017 (v0.48.0) released

v0.48.0 on GitHub (npm)


Breaking changes

iOS

General

Bugfixes

New features and enhancements

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) from RCTRootView (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