Releases: heap/heap-swift-core-sdk
0.5.0
Fixed
-
Fixed crash on
Heap.attachWebViewwhen called twice on the same web view prior to iOS 15.
Now, subsequent calls are ignored. -
Fixed small memory leak when an attached
WKWebViewis deallocated. This was caused by the
WKUserContentControllermaintaining a strong self reference when it has message handlers
attached. This change may trigger a warning message from WebKit onWKWebViewdeallocation,
which can be resolved by callingHeap.detachWebViewwhen removing the web view. -
Heap.removeHeapJsCookieis now public.
Changed
-
Heap.shared.resetIdentity()andHeap.shared.identify()no longer clear event properties by
default when a new user is identified.The previous behavior is available using the option
.clearEventPropertiesOnNewUser. -
Changed uploader behavior around server errors.
Added
-
Added option
.clearEventPropertiesOnNewUserto continue using existing SDK behavior where event
properties are cleared when a new user is identified. -
Added
Heap.detachWebView. This method removes most integrations added with
Heap.attachWebViewwith the exception of the heap.js cookie. This method is optional and
intended to be used before deallocating aWKWebView.
0.4.0
Added
- Added
.captureVendorIdoption to enable capture of iOS Vendor ID and
Initial iOS Vendor ID fromUIDevice.current.identifierForVendor.
This supports a behavior change discussed in the Changed section.
Changed
-
Target Text and Target accessibilityLabel are now trimmed of whitespace.
-
Properties from
addEventPropertieswill no longer show up on sessions, matching Classic SDK behavior. Pageviews and events are not affected by the change. -
The SDK no longer captures iOS Vendor ID and Initial iOS Vendor ID by default.
This change allows developers to opt into Vendor ID tracking after they've validated
their use complies with Apple's user privacy and data use guidelines.
To enable these properties, use the.captureVendorIdoption instartRecording.
0.3.1
Fixed
- Fixed code signing on macOS. The issue was caused by the HeapSwiftCoreInterfaces zip file not
preserving symlinks.
Added
- Exposed
+[HeapSourceInfo sourceInfoWithName:version:platform:properties:]and
-[Heap track:properties:sourceInfo:]to Objective-C.
0.3.0
Added
- Added app version change and install events. These will fire when an environment first
encounters a different application identifier, app name, or version at session start.
Changed
- Changed process to retrieve iOS device model. 'sysctlbyname' is now used to retrieve the
detailed hardware identifier (e.g., "iPhone10,3"). This results in more specific
model identification than the genericUIDevice.modelapproach which is now used
as a fallback.
0.2.1
0.2.0
Added
- Added option
startSessionImmediatelyto begin tracking sessions immediately.
Changed
- Default behavior for sessions has been changed (
startSessionImmediately = false).
Tracking of sessions is now delayed until one of the following is called:Heap.shared.track()Heap.shared.trackPageview()Heap.shared.trackInteraction()Heap.shared.uncommittedInteractionEvent()Heap.shared.fetchSessionId()
0.1.2
0.1.1
Fixed
- Omits properties containing empty keys and values.