React Native April 2017 (v0.44.0) released
v0.44.3 on GitHub (npm)
This is April 2017 release, also known as v0.44.0
.
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
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.
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
DeviceInfo
as 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
copyProperties
withObject.assign
(a34956f) - @davidaurelio - Only use
EventValidator
in 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
.
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 scale
transfrom breakinghitTest
mechanism (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
toggleElementInspector
event send whenjsLoaded
(f352aa1) - @jhen0409 - Eagerly change the listeners count (08c404d) - @fourlastor
- Make the choice of bridge based on an optional delegate method (d9ac007) - @mhorowitz
- Ability to remove notifications from notification center (3df654e) - @gperdomor
- Fixed previously broken support for negative
scale
(transform
style property) (c87c4d0) - @skv-headless
Android
Bugfixes
- Fix
java.lang.RuntimeException: Tried to get non-existent cookie
(d2939ea) - Apply numeric text event bubbling fix (17cb70e) - @sebmarkbage
- CLI: Update
run-android
to work on Windows (f891985) - @jrodiger - Don't crash in StackTraceHelper.convertJsStackTrace (957b55c) - @petterh
- Fix crash if native code tries to update the size of a modal view after JS has removed it (5873a22) - @astreet
- Fix FrescoModule not initialised in Nodes (63fa621)
- Fix NullPointerException in ReactShadowNode.toString() (242a58f) - @petterh
- Fix ClassCastException in ReactModuleSpecProcessor (379b60d)
- Fix order of width and height in Fresco (c311096)
New features and enhancements
- PickerAndroid: Convert children to an array before accessing with a position (720e195) - @justim
- Allow DeviceInfoModule to be instantiated with only an android Context (ec4b854) - @mhorowitz
- Explain how to package app for or Nexus/Maven deployment (a0b5a6e) - @MattFoley
- Profiler: Remove the old heap profiler visualization code (af590b0) - @cwdick
- Profiler: Download files through RN packager connection (373eb61) - @cwdick
- Warn when long timers are set with AlarmManager (3637bce) - @astreet
- Extract PackagerConnectionSettings to ensure easier reusability of PackagerConnection module (60142ad)
- Ensure
ResourceDrawableIdHelper
is thread-safe (11814a5) - @ashwinb - Don't call clearFrameCallback() if we don't have a ReactChoreographer to clear the frame callback on (ba75d99) - @AaaChiuuu
- Update PositionError to be an object as per docs (94d93f7) - @dabit1
- Optimize ReactShadowNode by more manually converting between string and enums (436a9a5) - @emilsjolander
- Set hasNewLayout on children when changing their layout due to display none parent (4bf2d8c) - @emilsjolander
- Replace string comparison with enum (63035a4) - @BruinBear
- Make bridge load module lazy (f804af2)
- Make SystraceRequestListener extend BaseRequestListener (01a0e10) - @kirwan