February 2017
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()
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
(ReactScrollView.java
) 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.
General
Bugfixes
- Fix sizing of container with child overflowing parent (8d2a034) - @emilsjolander
- Fix skew transform on native side (c681959) - @MaxGraey
New features and enahcements
- Add a injectJavaScript method to the WebView component (da9a712) - @lukemiles
Android
Bugfixes
- Fix JSC crash in dev (d2de604) - @AlbertBrand
- Fix startup exception (237ee2d) - @philikon
- Fix debugging doc (dd8231a) - @AgtLucas
- Fix Scroll blocking (0426732) - @K-Leon
- Fix some typos in NativeModulesAndroid.md (fa21822) - @Minishlink
- Fix UIExplorer getting in a broken state (9f10b85) - @andreicoman11
- Fix: webview.postMessage throws not a constructor in WebView 4.1 ~ 4.3 (af5c21b) - @pinqy520
- Fix TextInput placeholder font when using custom fonts (1100c40) - @janicduplessis
- Fix potential NPE in UIViewOperationQueue (cfb9028)
- Fix .gitignore of HelloWorld template to commit third party JARs (a45246e) - @peggyrayzis
- Fix layout animations for views with a transform (ee737e7) - @janicduplessis
- Reset pointerEvents on null value (866ac17) - @astreet
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
iOS
Bugfixes
- Fixed calling TextInput.onChange() on applying autocorrection (9a9ecea a341e9d) - @shergin
- Fix template release build: Add -ObjC and -lc++ to tests target (e0c3d56) - @rh389
- Fix passThroughTouches (7412340) - @javache
- Fix nil TVView on pop (65513e5) - @ericvicenti
- Fix build warning about inferring incorrect type (40f2b1b) - @rh389
- Fix other build warnings by marking __unused args (9e1e52f) - @rh389
- Make CocoaPods work again (031cb20) - @alloy
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 NativeComponentsIOS.md (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 anyzoom
affected view hierarchy (f839b58) - @shergin- Expose environment and arguments to JS (91b7499) - @mmmulani
- Disable yellow box warnings based on environment variable (49d7c00) - @mmmulani
General
Bugfixes
- Fix minor typo in PixelRatio.md (a1d77af) - @Kerumen
- Fix babel only regexp on windows (6b1bc4a) - @janicduplessis
- Fix direction of VerticalSwipeJump gestures (09801aa) - @phorust
- Fix packager breakages on node4 (9a4e4e8) - @davidaurelio
- Fix loading minified bundle over HTTP (09072b9) - @davidaurelio
- Fix wraping calculation if min-size constraint exists (e93ccfd) - @woehrl01
- Fix skew transformation (b850af7) - @MaxGraey
- Fix typo in generated Yoga classes (43dedbb) - @ahmedre
- Fix typo for messaging test in webview example (577fd0c) - @lukemiles
- Fix typo in ResolutionRequest.js (f521e99) - @radko93
- Fix absolute position if align-item or justify-content is center or flex-end (48e3461) - @woehrl01
- Fix Navigator scene being falsely collapsed (a83af44) - @hedgerwang
- Fix aspect ratio with margins (81fe1a3) - @emilsjolander
- Fix Gratuitous app crash (412acd2) - @skv-headless
- Break infinite loop that happens only in debug environments (a6844bd) - @johnislarry
New features and enhancements
- Update React version to ~15.4.1 (ead6dcd) - @ide
- Add percentage support to react native (3f49e74) - @emilsjolander
- JSC Heap Capture add other roots to visualization (936c62a) - @cwdick
- Add scrollToEnd to ScrollView and ListView (9dee696) - @mkonicek
- Packager: add utilities to log errors internally (abf75fa) - @jeanlauliac
- Add symlinks under node_modules as part of projectRoots (bce6ece) - @harshil07
- Add cell size to JSC heap capture visualization (76e3d45) - @cwdick
- Add
style
andimageStyle
props to Navigation.Header.BackButton (7812b82) - @danscan - CLI: Add support for project templates (3a6dff4) - @mkonicek
- CLI: Add README to app template, lint (021e754) - @mkonicek
- CLI: Add basic Navigation template to
init
(Chat) (3ee3d2b) - @mkonicek - CLI: Use Yarn for Install/Uninstall when available (1c249e4) - @n3tr
- Run application using package.json scripts (bc8b23a) - @Kureev
- Even faster source map generation (3b3d294) - @davidaurelio
- High-perf source map builder (7ca5316) - @davidaurelio
- Allow project-specific config for RN CLI using providesModuleNodeModules (09a83f9) - @andrewimm
- Added AnimatedValueXY.removeAllListeners (6d2ae35) - @scarlac
- Cache policy control for image source (52d8851) - @salanki
- Support copy to clipboard on Windows (10a29aa) - @janicduplessis
- Use a project's custom platforms when creating a production bundle (a1cd5e0) - @andrewimm
- Require
fbjs/lib/invariant
instead ofinvariant
(517abba) - @davidaurelio - Enable setting custom styles on scenes stack (2cfb3f1) - @oyvindkinsey
- Deal with 0.38 'FlowFixMe's (7a4166c) - @rh389
- Move C++ bridge into oss directory (b774820) - @mhorowitz
- XHR: support typed arrays for request payloads (16bb6e8) - @philikon
- Drive any numerical prop via NativeAnimated (7e869b9) - @ryangomba
- Ensure documentation has consistent relative links (8378f0f) - @PaulMest
- Guard against empty _inputRef in TextInput (5a09b28)
- Allow for dark background in the debugger view (5e6f39a) - @pvinis
- Properly clear openRowID when a row is swiped to closed position (2edd455) - @cryptobiote
- Remove max children limitation on SwipeableQuickActions (d211995) - @chirag04
- Allow aspect ratio to expand beyond bounds of parent (7c2f8a9) - @emilsjolander
- Transfer TextUpdate padding info onto text input view (669c84f) - @emilsjolander
- Dont constrain absolute children to zero sized parents (018b853) - @emilsjolander