Skip to content

February 2017

Choose a tag to compare
@grabbou grabbou released this 02 Feb 17:52
· 22289 commits to main since this release

This is February 2017 release, also known as 0.42.0.

Breaking changes

Xcode 8.x is required

Older compilers for iOS such as Xcode 7.x's are no longer supported. Please upgrade to the latest version of Xcode.

Android: windowSoftInputMode for new apps

e3d4ace - @mkonicek

All new apps created with react-native init are going to have windowSoftInputMode:``adjustResize instead of adjustUnspecified, which is default. That change makes keyboard handling on Android automatic and doesn't require any Javascript solutions, like KeyboardAvoidingView to be used. You can see the rationale behind that change along the screenshots here. It shouldn't be breaking for most of the users.

Android: (Re)move JSBundleLoader.getSourceUrl()

89d72c9 - @amnn

If you are using any of the following API's to access the Source URL of the bundle:

  • JSBundleLoader.getSourceUrl()
  • ReactInstanceManager.getSourceUrl()
  • ReactInstanceManager.getJSBundleFile()

you have to now refer to the source of truth for this information, which is at CatalystInstance.getSourceURL(), or the return value of JSBundleLoader.loadScript().

Android: Remove RecyclerViewBackedScrollView

6ec5654 - @mkonicek

RecyclerViewBackedScrollView was added a long time ago to work around the scroll-back-when-data-is-added bug, but that has now been fixed directly in the ScrollView ( in open source and internally.

Both: Improve validation of transform property

0ed31eb - @janicduplessis

This commit improves validations of the transform object that are done on the Javascript side and makes it a bit stricter (hence the breaking change). When moving transform objects parsing to native the validations got out of sync a bit. In this change we make sure JS validations are the same or stricter than the native ones to make sure we get consistent errors across platforms.



New features and enahcements



New features and enahcements

  • Let LayoutAnimation respect style opacity (4c08105) - @vinceyuan
  • Add link to Convoy app to showcase (2e8683b) - @jcity
  • Add selectionColor prop for Text (72be2d3) - @satya164
  • Add overScrollMode prop to ScrollView (12c4868) - @rigdern
  • Implement Java bindings for custom baseline function (b5f382c) - @emilsjolander
  • TextInput: Avoid firing onSubmitEditing twice (116916b) - @reneweb
  • Support ScrollView.scrollToEnd natively (ad8cbb6) - @mkonicek
  • Support invoking and returning arbitrary types from Java sync hooks (f8c72f5) - @javache
  • Support tintColor and thumbTintColor for Switch (31099aa) - @satya164
  • Support customizing thumb, track and progress colors for slider (295a015) - @satya164
  • Add null checks for dynamics (b15c042) - @emilsjolander
  • Add a missing include in a BUCK file (521e9c6) - @mkonicek
  • Introducing FallbackJSBundleLoader (c3892fa) - @amnn
  • Improve error messages when nesting View in Text (963e6e9) - @astreet
  • Allow views to be collapsed when pointerEvents is set (88eeea0) - @javache
  • Change DomStorageEnabled default value to true in a WebView (8290194) - @sunnylqm
  • Allow accessing view managers as Native Modules (5e9db57) - @AaaChiuuu
  • Don't require a DevSupportManager to create a DevInternalSettings (fc2936c) - @devknoll
  • Delete ModuleRegistryHolder (0e7d0eb) - @javache
  • Clarify a message in preferences.xml (725e8ab) - @vonovak
  • Make consumption of NativeArray explicit (33fdce9) - @javache



New features and enhancements

  • Add one more parameter (keyboardType) to AlertIOS.prompt() (94f71a3)
  • Make JSCExecutor compile on iOS without android hacks (5bc7e39) - @mhorowitz
  • Document subclassing RCTEventEmitter (8729d27) - @rh389
  • Update AlertIOS.js (fa3c06d) - @PaulMest
  • Remove deprecation warning for RCTExecuteOnMainThread (00d5674) - @neilsarkar
  • New way to handle simultaneously active gesture recognizers in RCTTouchHandler (c68a708) - @shergin
  • RCTTouchHandler doesn't delay any touches anymore (930010e) - @shergin
  • Remove deprecated method 'RCTExecuteOnMainThread' (302d42d) - @neilsarkar
  • Updated Systrace and RCTRenderingPerf to sync w/ React changes (212d31e) - @bvaughn
  • Disable RCTPerfMonitor on new bridge (9681583) - @javache
  • Update (4ff6593) - @upgle
  • RCTConvert: Deprecated NSStringArray typedef (9d6d8a2) - @rh389
  • Strip off RK/RCT prefix from NativeModules (29616e3) - @AaaChiuuu
  • Add option to start sampling profiler on app launch (a407ff9) - @javache
  • Use int instead of NSInteger for ABI compatibility (618a14b) - @emilsjolander
  • Stop copying unused JS files into the Pods folder (0d78bba) - @ide
  • Show redbox when no bundle is present (a94418f) - @javache
  • Dismiss redbox upon pressing reload (8e4f33e) - @javache
  • The warning 'cannot calculate shadow efficiently' is not a warning anymore (6404166) - @shergin
  • Fork React.xcodeproj into ReactCxx.xcodeproj to build the C++ bridge (aeab15d) - @mhorowitz
  • Fork UIExplorer.xcodeproj into UIExplorerCxx.xcodeproj (81b2d69) - @mhorowitz
  • Better (right) implementation of intrinsicContentSize (d1990f8) - @shergin
  • Deprecating/removing setFrame, setLeftTop, and co. (f33f84e) - @shergin
  • UIManager.measure() now respects any zoom affected view hierarchy (f839b58) - @shergin
  • Expose environment and arguments to JS (91b7499) - @mmmulani
  • Disable yellow box warnings based on environment variable (49d7c00) - @mmmulani



New features and enhancements