# Change Log
All notable changes to the Heap Android Core SDK will be documented in this file.

The format is based on [Keep a Changelog][cl] and this project adheres to
[Semantic Versioning][sv].

[cl]: http://keepachangelog.com/
[sv]: http://semver.org/

## [Unreleased]

## [0.8.7] 2025-11-20
- Adds support for XPF pageviews coming from the Contentsquare integration [MOBILE-18552]

## [0.8.6] 2025-10-17
- Fixes an issue where empty hierarchy strings caused the SDK to bail [MOBILE-18193]
- Fixes an issue where user insertion could fail in rare cases leading to a foreign key issue [MOBILE-18119]

## [0.8.5] 2025-09-25
- Updates the simplified `trackInteraction` call to accept a timestamp [MOBILE-17807]
- Adds an internal `trackWebViewInteraction` API for One WebView Tag support [MOBILE-17739] & [MOBILE-17640]
- Adds Heap environment ID and CS project ID to all API requests [MOBILE-17817]
- Adds an option to disable upload attempts while the app is in the background [MOBILE-17881]
- Adds the `Heap.getEventProperties` API to allow customers to easily retrieve the currently set event properties [MOBILE-17835] 

## [0.8.4] 2025-08-15
- Updates the simplified `trackInteraction` call to accept a pageview and moves custom properties to the appropriate field [MOBILE-17432]

## [0.8.3] 2025-07-22
- Added the ability to change the default log tag for HeapLogger [MOBILE-17122]
- Fixed a bug where calling `optIn` from the CSQ SDK would sometimes cause uploads to not start [MOBILE-17110]

## [0.8.2] 2025-06-18
- Added the ability to intercept http requests using the Heap Contentsquare Bridge SDK [MOBILE-16773]
- Added internal API methods to support the Contentsquare Unified SDK [MOBILE-16404]
- Deprecated `startSessionImmediately` with scheduled removal in 0.9.0 [MOBILE-16773]

## [0.8.1] 2025-05-05
- Updated class loader operations to use a loader from the current process for apps that utilize the `sharedUserId` application property [SUP-18300]

## [0.8.0] 2025-04-02
- Updated data collection endpoint to point to the unified collection service [MOBILE-15914]
- Updated the Heap Contentsquare bridge to be compatible with version 4.37.0 and above of the CS Android SDK [SUP-17712]
- Added a simplified version of the `trackInteraction` API for the rare instances where a custom event needs to look like a built-in [MOBILE-16043]
- Fixed a bug where registering an autocapture source while the application is in the foreground required a new pageview before autocapture events would start processing [MOBILE-16069]
- Added support for the Unified SDK text masking API [MOBILE-13423]
- Added support for basic telemetry with the Contentsquare SDK for when recording starts [MOBILE-12359]

## [0.7.6] 2025-01-08
- Changed the database limiting behavior to drop old events instead of failing to store new events when the limit is reached [MOBILE-13027]
- Added a configuration option to limit the number of batches that are uploaded in a single upload cycle [MOBILE-13026]
- Added a configuration option to start recording with an existing session and user ID [MOBILE-13005]

## [0.7.5] 2024-12-12
- Fixed a bug where session replays weren't being properly linked to a PA environment [SUP-16724]

## [0.7.4] 2024-12-09
- Added a configuration option to limit the size of the local database to prevent storage overruns on limited device [MOBILE-12800]
- Added a configuration option to change the current data retention period from 6 days to any number of days between 1 and 30 [MOBILE-12799]

## [0.7.3] 2024-11-22
- Exposed an API to extend the current session [MOBILE-12801]
- Added an entitlement system to expose functionality only to specific customers [MOBILE-12801]

## [0.7.2] 2024-10-14
- Updated protobuf to resolve a vulnerability [MOBILE-12370]
- Added Heap Android Core to the Google Play SDK Console [MOBILE-12196]

## [0.7.1] 2024-08-31
- Fixed an issue where addon artifacts had conflicting BuildConfig class names [MOBILE-11975]

## [0.7.0] 2024-08-28
- Added support for notification interaction events [MOBILE-10908]
- Added support for sending identity to live view [MOBILE-11947]

## [0.6.2] 2024-07-25
- Updated ID generation to use SecureRandom [MOBILE-11473]

## [0.6.1] 2024-07-02
- Fixed a bug where `restorePreviousSession` wasn't being set properly through the support bridge [MOBILE-11377]

## [0.6.0] 2024-06-11
- Added support for Heap Contentsquare Android Bridge [PA-3206]

## [0.5.2] 2024-03-21
- Fixed a bug where the mobile library version wasn't being reported properly [PA-3654]

## [0.5.1] 2024-02-23
- Fixed a bug where switching between environment IDs could prevent events from being stored properly [PA-54]
- Fixed a bug where tracking a native event after a WebView event would improperly change the session expiration time [PA-2186]
- Added support for tracking pageviews across a JavaScript bridge [HEAP-37212]
- Added support for tracking interactions across a JavaScript bridge [HEAP-37224]

## [0.5.0] 2024-01-04
- Added an option to capture vendor ID [HEAP-47652]
- Added an option to configure the number of messages sent in each upload batch [HEAP-48415]
- Added an option to configure whether event properties should be cleared when the current user changes [HEAP-49112]
- Updated the network behavior to continue sending events when receiving a 400 for a user or session [HEAP-49302]
- Removed the dependencies for advertiser ID, vendor ID, and WebView integrations and split into separate artifacts [HEAP-48300] [HEAP-47652] [HEAP-48416]
- New artifact for Google advertiser ID capture `io.heap.core.identifier:ad-id-google` [HEAP-48300]
- New artifact for Amazon advertiser ID capture `io.heap.core.identifier:ad-id-amazon` [HEAP-48300]
- New artifact for Google vendor ID capture `io.heap.core.identifier:vendor-id-google` [HEAP-47652]
- New artifact for WebView integration `io.heap.core.web:webview-heapjs` [HEAP-48416]

## [0.4.0] 2023-09-25
- Added an option to disable accessibility label capture [HEAP-47328]
- `Heap.addEventProperties` no longer attaches properties to session messages [HEAP-46562]
- Target text is now trimmed of leading and trailing whitespace [HEAP-46472]
- Added a builder to `Options` to make setting options easier in Java apps [HEAP-44983]
- Messages are now limited to 0.78 MB in size [HEAP-36467]

## [0.3.0] 2023-06-23
- Added support for AndroidX Fragment transition events [HEAP-41749]
- Added support to track app version changes [HEAP-42158]

## [0.2.0] 2023-05-15
- Fixed a race condition that could prevent capture of the Android Advertiser ID property. [HEAP-42385]
- Changed the default behavior of `Heap.startRecording` to delay the start of a session until an event or pageview occurs. In order to override the default behavior and start a session immediately, initialize an `Options` instance with `startSessionImmediately` set to `true` and invoke `Heap.startRecording` with that `Options` instance. NOTE: If you are using the Heap Android View Autocapture SDK, you must also upgrade that dependency's version to 0.2.0. [HEAP-43105]

## [0.1.1] 2023-03-14
- Event properties with empty keys or values will be omitted. [HEAP-41456]

## [0.1.0] 2023-03-09
- Initial release of Heap Android Core SDK [HEAP-33889]
