# Changelog

# Version 2.0.0

Breaking Change

All references to the public api must now be done through PinchSDK.

# Version 2.0.2

September 28, 2020

Bug Fixes

  • Fixes a case where events could be delivered before the SDK was ready
  • Fixes concurrent array access which could occur in environments with a lot of iBeacons

Behavior Changes

  • Eddystone events are now sent as incomplete batch events if location is missing
  • Consents are added to header for all network requests
  • Location permission state is now included with all location objects. Can be any of: always, foreground, unknown, not_determined, denied, restricted
  • Location accuracy is now included with all location objects. Can be any of: unknown, full, reduced
  • Device accuracy is sent as installation information

# Version 2.0.1

September 21, 2020

Bug Fixes

  • Added missing dependency references to legacy PinchSDK.

# Version 2.0.0

September 21, 2020

Caution

This version is missing dependency references to the legacy PinchSDK and will cause a fatal exception on app launch.
This can be resolved by using version 2.0.1 or by explicitly importing the CocoaPods PinchSDKLegacy and PinchSDKLegacyBluetooth.

Breaking Changes

  • All references to Pinch has been renamed to PinchSDK

New Features

  • Added getGender method to retrieve Pinch.DemographicProfile.Gender based on name. Internet connection required

# Version 1.1.0

# Version 1.1.11

May 29, 2020

  • Fixed an issue where briding headers would be merged incorrectly

# Version 1.1.10

March 26, 2020

  • Adds support for building with latest version of Swift

# Version 1.1.9

March 20, 2020

Bug Fixes

  • Fixes an issue where timestamp on collected events would be incorrect by +/- 10 seconds
  • Fixes an issue where eddystone collection would never work after swipe killing the application

# Version 1.1.8

February 26, 2020

New Features

  • Added class PinchX to access PinchSDK from ObjC

# Version 1.1.7

February 25, 2020

Bug Fixes

  • Fixes crash that could occur due to dispatch group usage
  • Fixes live visits & live events being delayed when location anonymization is turned on
  • Fixes fatal exception in notification tracker

Behavior Changes

  • Add support for bluetoothAuthorization & bluetoothHardwareState
  • Add support for notificationPermission
  • Added support for activity tracking

# Version 1.1.3 – 1.1.6

Caution

An error in the build pipeline caused incorrectly bundled binaries to be uploaded to CocoaPods. The pipeline retried 4 times, causing versions 1.1.3 through 1.1.6 to be published. Adding these versions to your project will cause build failure during compilation of your target application.

# Version 1.1.3

February 12, 2020

Bug Fixes

  • Fixed an issue during initialization which could cause an fatal exception

# Version 1.1.2

February 03, 2020

Behavior Changes

  • SDK is now intialized with default endpoints for events

Bug Fixes

  • Fixed an issue where Api-Key would not be added to header

# Version 1.1.1

January 27, 2020

Bug Fixes

  • Fixed an issue where PinchMessage had incorrect access modifier

# Version 1.1.0

January 27, 2020

New Features

  • Added messaging center

# Version 1.0.0

# Version 1.0.24

January 27, 2020

Breaking Changes

  • Pinch.start() with no providers or .bluetooth no longer triggers bluetooth dialog. Use Pinch.requestBluetoothPermission() to trigger bluetooth dialog.

Behavior Changes

  • Improves handling of applicationDidTerminate
  • Reduces code size by distributing more binaries for different vendors
  • Optimizes internal startup time by skipping some migrations when possible
  • startTracking is no longer requires for requestBluetoothPermission to function correctly

Bug Fixes

  • Fixes a case where an app termination event could cause start / stop tracking to fail
  • Fixes some memory leakage
  • Fixes case where SDK would not provide callback for addCustomData, setMetadata, grant and revoke methods

# Version 1.0.23

January 24, 2020

Breaking Changes

  • Pinch.requestBluetoothPermission() is removed due to a bug that would not trigger permission dialog. Reverted to Pinch.start() with no providers or .bluetooth triggering bluetooth dialog.

New Features

  • Implementing app can manually collect and share IDFA to PinchSDK with Pinch.adid.

Behavior Changes

  • Removed usage of AdSupport. IDFA will no longer be collected by PinchSDK, unless manually given by implementing application.

# Version 1.0.22

January 23, 2020

Breaking Changes

  • The deprecated method, Pinch.started, has been removed
  • Pinch.start() will no longer trigger bluetooth permission request dialog

New Features

  • System dialog for requesting bluetooth permission can be triggered by calling Pinch.requestBluetoothPermission()

Behavior Changes

  • IDFA accompanying event uploads is now disabled by default. Usage of IDFA will be completely removed in the future.

# Version 1.0.21

January 23, 2020

Caution

This version references a wrong version of Pinch Legacy, resulting in bluetooth data not being collected. Please update to the latest version.

# Version 1.0.20

December 19, 2019

New Features

  • Pinch.start() and Pinch.stop() now accepts a list of providers to only start parts of the SDK.

Breaking Changes

  • Pinch.started is deprecated – replaced with Pinch.isTracking() which accepts a closure returning the current tracking state

Bug Fixes

  • Fixes a race condition that could occur on consent grant

# Version 1.0.19

December 19, 2019

Breaking Changes

  • grant() and revoke() no longer starts or stops the SDK based on available consents

New Features

  • Added no-op methods that accepts providers, implementation will follow in a later release

Behavior Changes

  • Encryption for checksum token is temporarily disabled due to a critical issue on a minimal amount of devices

# Version 1.0.18

December 17, 2019

Behavior Changes

  • Use Apple API for encrypting with RSA

# Version 1.0.17

December 13, 2019

Behavior Changes

  • Unique token used to generate checksum is now encrypted when reporting itself to remote

Bug Fixes

  • Fixes an issue where unique token would never be generated, resulting in checksum not matching with remote