UNPKG

@heap/react-native-heap

Version:

React Native event tracking with Heap.

253 lines (169 loc) 8.51 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). __BEGIN_UNRELEASED__ ## [Unreleased] ### Added ### Changed ### Deprecated ### Removed ### Fixed ### Security __END_UNRELEASED__ ## [0.21.0] - 2022-06-29 ### Added - Added `getSessionId()` method for fetching the current Heap Session ID from the underlying native SDK. - Added Expo config plugin to support Android in managed workflows. ## [0.20.0] - 2022-04-28 ### Changed - Upgraded the Android library to use Heap version 1.10.+. ### Fixed - Fixed type definition for `withReactNavigationAutotrack` on React Navigation 6. ## [0.19.0] - 2022-04-12 ### Added - Added support for Event Visualizer on iOS, with a pairing option in the React Native developer menu. - Added iOS-only option to enable Heap SDK debug logging in the iOS console, enabled by default on dev builds. - Disabled tracking of view controllers on iOS when `enableNativeTouchEventCapture` is off. ### Changed - Updated `Heap.setAppId` on iOS to turn off native touch capture on iOS. - Updated `Heap.setAppId` on iOS to enable logging on debug builds. ## [0.18.0] - 2022-02-28 ### Fixed - Fixed iOS build in folders with spaces. - Fixed minSdkVersion build error on React Native 0.64+. ## [0.17.1] - 2021-12-01 ### Fixed - Hotfix for misconfigured iOS event uploads. ## [0.17.0] - 2021-11-09 ### Changed - iOS now consumes the Heap sdk via CocoaPods, linking to versions 8.0.0 and above, but not 9.0.0. - Upgraded the Android library to use 1.9.+. ### Fixed - Linked heap-ios-sdk now supports development on M1 Macs. - Fixed performance issue on iOS where Heap would scan the native view hierarchy despite native touch autocapture being disabled. - Improved TypeScript definitions. - Fixed a path issue in the podspec. ### Removed - Support for manually linking Heap on iOS. - Support for versions below React Native v0.63. ## [0.17.0-alpha1] - 2021-06-09 ### Fixed - Fixed sporadic Babel instrumentation (`Cannot read property 'end' of null`) issues ## [0.16.0] - 2021-06-01 ### Added - Added support for React 17 (resolves #241). ## [0.15.0] - 2021-05-04 ### Added - Added support for `Pressable` components (introduced in React Native v0.63) via HOC instrumentation. ### Changed - Upgraded the native Heap iOS (7.5.0) and Android (1.9.1) libraries ## [0.14.0] - 2020-09-23 ### Added - Added 'enableNativeTouchEventCapture' config option that controls whether the native iOS SDK captures touch-like events. ### Changed - Upgraded the native Heap iOS SDK dependency to 7.2.0. ### Fixed - Fixed bug that broke ref-forwarding on `TextInput` components on React Native v0.62+. ## [0.13.0] - 2020-08-31 ### Added - Added support for `Touchable` components in React Native v0.62+ via HOC instrumentation. - Added support for `TextInput` components in React Native v0.62+ via HOC instrumentation. - Added support for React Navigation 5. ## [0.12.0] - 2020-06-22 ### Changed - Upgraded the native Heap iOS SDK dependency to 6.8.1. This fixes an issue in which Install/Upgrade events would not fire for some installations ### Fixed - Improve support for 'HeapIgnore' and its convenience components in minified apps. - Updated `index.d.ts` typings to include `HeapIgnore` and related components. ## [0.11.0] - 2020-04-10 ### Changed - Upgraded the native Android Heap SDK to v1.6.0. - Upgraded Heap iOS SDK dependency to 6.7.0. ### Fixed - Updated `index.d.ts` typings to include `resetIdentity()` and `getUserId()` methods. ## [0.10.0] - 2020-01-21 ### Added - Added `getUserId()` method for fetching the current Heap User ID from the underlying native SDK. ## [0.9.1] - 2019-12-20 ### Fixed - Fixed bug where app would crash when `Heap.track()` is called if React Navigation autocapture isn't set up. [#165](https://github.com/heap/react-native-heap/issues/165). - Strip additional special characters from props and component names to prevent hierarchy matching/parsing breakages. - Upgraded Heap iOS SDK dependency to 6.5.3 to pick up bug fixes since version 6.5.0. - Don't crash when capturing props with circular references or React JSX elements. ## [0.9.0] - 2019-12-05 ### Changed - Updated the way events are sent to the Heap backend to allow for first-class support of React Native as a library. See [the upgrade guide](https://docs.heap.io//docs/migrating-legacy-react-native-events-for-heap-090) for details. - Upgraded the native Android Heap SDK to v1.3.0. - Upgraded vendored iOS Heap library to 6.5.1. - Updated higher-order components to use display name conventions (described [here](https://reactjs.org/docs/higher-order-components.html#convention-wrap-the-display-name-for-easy-debugging)). ### Fixed - Fixed React Navigation autocapture when [manual screen tracking](https://reactnavigation.org/docs/en/screen-tracking.html) is also used. ## [0.8.0] - 2019-08-26 ### Added - Autocapture of changes to React Native `TextInput` components. ### Fixed - Fixed bug where the iOS build would fail in an obscure way when the `prod` or `dev` field is missing from `heap.config.json`. ## [0.7.1] - 2019-08-15 ### Fixed - Upgraded vendored iOS Heap library to 6.2.1, which fixed an issue where user IDs were not being reused across sessions in some cases. - Now using proper ref forwarding for HeapIgnore HOC. ## [0.7.0] - 2019-08-07 ### Added - `resetIdentity` method for resetting an identified user to an anonymous user. ### Changed - Updated sessionization semantics; sessions now expire after 5 idle minutes, regardless of the app's background/foreground state. ### Fixed - Fixed bug on RN 0.60.4 in which `ScrollView` instrumentation breaks the component. [#119](https://github.com/heap/react-native-heap/issues/119) ## [0.6.0] - 2019-07-24 ### Added - React Navigation screen name + route path properties on autocaptured events. ### Fixed - Fixed bug where iOS settings script might fail when the dev is using `rvm` or `rbenv` to manage Ruby versions. (@marcferna) ## [0.5.1] - 2019-07-03 ### Fixed - Fixed bug where re-rendered React Navigation containers wrapped with the React Navigation HOC would cause a "Cannot read property 'nav' of null" error. ## [0.5.0] - 2019-06-27 ### Added - Autocapture of paging events on React Native `ScrollView` components with `pagingEnabled`. - Added automatic property capture for NativeBase and React Native Elements component libraries. ### Fixed - Ref-forwarding on the React Navigation HOC ## [0.4.0] - 2019-05-22 ### Added - Auto-initialization of Heap for both iOS and Android apps. - Added `HeapIgnore` and `HeapIgnoreTargetText` components. ### Fixed - Prevent Heap library errors from crashing the client app. - Passthrough props on React Navigation autocapture HOC. ## [0.3.0] - 2019-04-23 ### Added - Autotrack for React Native and NativeBase `Switch` components. - Android: use the parent project's version information if available. (@natethebosch) - Use the `Navigate/INITIAL` identifier for the initial React Navigation action. - Capture the `key` property for list items that have it set. ### Fixed - Get Android+Detox tests working after breaking changes in a prior Detox upgrade. ## [0.2.0] - 2019-03-29 ### Added - Debug logging at startup to warn if SDK has not been properly installed or if app is not instrumented successfully - Autotrack for React Navigation - Capturing `testID` for every component - (iOS) Cocoapods configuration so dynamic frameworks can be built alongside Heap. - Autotrack Touchable events - Configurable property capture for React hierarchy ### Fixed - addUserProperties and addEventProperties would fail due to a missing `require`. - Using a TypeScript build now, so everything we ship is vanilla JS. This enables compatibility with some older versions of React Native (tested back to 0.54). - Handles the case of missing or a null properties object passed to `Heap.track`. - Property capture configuration for functional components - Target text capture for functional components - Vendored native iOS libHeap.a library for manual installation. ## [0.1.1] - 2019-01-08 ### Added - Typescript bindings for manual tracking API. ## [0.1.0] - 2018-12-23 ### Added - Ability to manually track events from React Native code. - Ability to use Heap's identity APIs from React Native code. - Instructions for install and use.