Skip to content

Releases: heap/heap-swift-core-sdk

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.

0.3.1

25 Jul 20:11
8b4cb48
Compare
Choose a tag to compare

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

06 Jun 23:18
5d85c1f
Compare
Choose a tag to compare

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 generic UIDevice.model approach which is now used
    as a fallback.

0.2.1

06 Jun 17:12
e1f4118
Compare
Choose a tag to compare

Fixed

  • Added missing Objective-C module to HeapSwiftCoreInterfaces to unblock CocoaPods release.

0.2.0

19 May 22:50
ee41788
Compare
Choose a tag to compare

Added

  • Added option startSessionImmediately to 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

29 Mar 15:39
ee5fb05
Compare
Choose a tag to compare

Changed

  • Split out public APIs into a ABI-stable XCFramework to better support heap-ios-autocapture-sdk.

Fixed

  • Removed usage of unsafeFlags in Package.swift.

0.1.1

20 Mar 21:52
9aebbae
Compare
Choose a tag to compare

Fixed

  • Omits properties containing empty keys and values.