Skip to content

Releases: heap/heap-swift-core-sdk

0.7.2

08 Oct 22:35
c4a7608
Compare
Choose a tag to compare

Fixed

  • Zero length events (Heap.shared.track("")) are no longer uploaded to the server, where they were
    being rejected.

0.7.1

28 Aug 23:20
79bac91
Compare
Choose a tag to compare

Added

  • The SDK now sends identity to the Live data feed.

0.7.0

21 Aug 23:30
cc303a3
Compare
Choose a tag to compare

Added

  • Added new interfaces for upcoming autocapture release.

0.6.1

23 May 17:57
a81e88d
Compare
Choose a tag to compare

Fixed

  • Fixed session creation from integration code.

0.6.0

22 May 15:49
c2aaec8
Compare
Choose a tag to compare

Added

  • Added new startRecording option, resumePreviousSession, which resumes the previous session on
    start if the session has not yet expired.
  • Added new signature stopRecording(deleteUser: Bool) which deletes the current user state.
    Subsequent calls to startRecording will have a new user and session as a result.
  • Added several internal interfaces to support an upcoming integration.

0.5.3

10 Apr 20:52
b7f209e
Compare
Choose a tag to compare

Changed

  • Improved trace logging for failed Sqlite queries.

0.5.2

28 Mar 20:42
7701987
Compare
Choose a tag to compare

Added

  • Added enableInteractionReferencingPropertyCapture, which will be used in heap-ios-autocapture
    0.5.0 and later to enable "Target Ivar" capture. The feature is off-by-default to avoid edge
    conditions that can cause Swift's Mirror functionality to crash.

Deprecated

  • Deprecated disableInteractionReferencingPropertyCapture in favor of off-by-default behavior.

0.5.1

26 Feb 18:40
dfd194d
Compare
Choose a tag to compare

Fixed

  • Native track calls now preserve session expiration dates set by heap.js when using
    Heap.attachWebView.

Added

  • Added Heap.shared.environmentId, which returns the current environment ID or nil if not
    recording.
  • Added sourceProperties to trackInteraction (for use by autocapture frameworks).

0.5.0

30 Nov 23:17
74661cf
Compare
Choose a tag to compare

Fixed

  • Fixed crash on Heap.attachWebView when called twice on the same web view prior to iOS 15.
    Now, subsequent calls are ignored.

  • Fixed small memory leak when an attached WKWebView is deallocated. This was caused by the
    WKUserContentController maintaining a strong self reference when it has message handlers
    attached. This change may trigger a warning message from WebKit on WKWebView deallocation,
    which can be resolved by calling Heap.detachWebView when removing the web view.

  • Heap.removeHeapJsCookie is now public.

Changed

  • Heap.shared.resetIdentity() and Heap.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 .clearEventPropertiesOnNewUser to 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.attachWebView with the exception of the heap.js cookie. This method is optional and
    intended to be used before deallocating a WKWebView.

0.4.0

31 Aug 19:05
6f41aae
Compare
Choose a tag to compare

Added

  • Added .captureVendorId option to enable capture of iOS Vendor ID and
    Initial iOS Vendor ID from UIDevice.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 addEventProperties will 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 .captureVendorId option in startRecording.