# Changelog

# Version 2.3.0 (Oxygen)

# 2.3.11

February 11, 2020

Bug Fixes

  • Fixed an issue where we would never retry polygon downloads if download failed due to poor internet connectivity
  • Synchronized creation of identifiers

# 2.3.10

February 06, 2020

Bug Fixes

  • Fixed an issue where aggregation would sometimes fail during first data upload when app or sdk version is incremented

Behavior Changes

  • SDK production mode status is now appended to installation events
  • Added timestamp to sessions
  • Internal Pinch database will be emptied upon update to this version

# Version 2.3.9

February 04, 2020

Bug Fixes

  • Reserved characters whitespace and forward slash in version or app name is now replaced with dash and percentage respectively when generating UserAgent

# Version 2.3.8

February 03, 2020

Behavior Changes

  • Appended calibratedPower to beacon events to allow more accurate measurement of signal levels

# Version 2.3.7

January 31, 2020

Behavior Changes

  • Rolled back to location aggregator shipped with 2.2.1

# Version 2.3.6

January 30, 2020

Bug Fixes

  • Fixes an issue where aggregated location id would always be geohash

# Version 2.3.5

January 30, 2020

Behavior Changes

  • Upload logs immediately after retrieving new configuration from remote. This is to ensure logs are always uploaded, even if upload workers die.
  • Data uploads through DataUploadWorker is now synchronized and performed on the same thread. This may possibly fix an issue where parent thread would be killed, resulting in the orphaned threads being cleaned up and never finish uploading events.

# Version 2.3.4

January 29, 2020

Behavior Changes

  • Current consents are now added to authorization header

# Version 2.3.3

January 29, 2020

Bug Fixes

  • Fixes a bug where events would be attempted to be saved, without initializing the database

# Version 2.3.2

January 29, 2020

Caution

This build introduced an unintended database error, and has been removed from the repository.

Behavior Changes

  • Resurrection timer is now set dynamically by remote
  • Logs can now be uploaded by remote configuration without disabling production mode for Pinch
  • Aggregate location to geohash if current location can't be placed in a polygon
  • Upload worker won't be disabled when Pinch is disabled. This is to ensure we always get rid of pending events. This should have no impact, as the job exits immediately if there is nothing to upload.
  • Moved to use work-runtime-ktx dependency 2.3.0 instead of 2.3.0-alpha03
  • Moved to use room-runtime dependency 2.2.3 instead of 2.2.1
  • Moved to use room-compiler dependency 2.2.3 instead of 2.2.1

# Version 2.3.1

January 28, 2020

New Features

  • Exposed a read-only variable to PublicApi to retrieve API key. This is a method added to enhance wrappers.

Behavior Changes

  • Previously, SDK would only reinitialize on SDK version change. Now it will reinitialize on app version change.

# Version 2.3.0

January 27, 2020

New Features

  • Added messaging center to retrieve incoming messages

Behavior Changes

  • Database containing polygons is now periodically purged to remove infrequently visisted locations
  • URL to retrieve aggregation polygons is now dynamically configurable by remote

Bug Fixes

  • Strips all whitespaces from User-Agent from values set by implementing application (e.g. app version name)

# Version 2.2.0 (Nitrogen)

# Version 2.2.1

January 02, 2020

Bug Fixes

  • Fixes a bug where stop() would never disable SDK during a specific constraint
  • Fixes location request intervals not obeying remote

# Version 2.2.0

December 19, 2019

Breaking Changes

  • grant() and revoke() no longer starts or stops the SDK based on available consents
  • start() no longer accepts an api key

New Features

  • Added additional start() and stop() which accepts data collection providers

Behavior Changes

  • Test mode is appended to header, no longer points towards a different base url

Bug Fixes

  • Fixes calibratedPower missing from data transfer object for beacon events

# Version 2.1.0 (Lithium)

# Version 2.1.2

December 13, 2019

Bug Fixes

  • Fixed an issue where an incorrect consent would be reported to remote if SDK was started without specifying consents

# Version 2.1.1

December 12, 2019

Behavior Changes

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

# Version 2.1.0

December 12, 2019

Behavior Changes

  • Changed key for privacy dashboard to expire instead of living forever
  • All network requests to pinch services must now have an authorization header in addition to Api-Key
  • Checksum generated with a unique token for installation must be accompanied with every request
  • Added fallback URL for privacy dashboard

# Version 2.0.0 (Helium)

# Version 2.0.15

December 05, 2019

Breaking API Changes

  • Converted onboardingVersion in PinchMetrics from Int to String

Behavior Changes

  • Changed PinchMetrics to use public api directly instead of going through Pinch

# Version 2.0.11

December 04, 2019

Behavior Changes

  • Route metric events to own endpoint
  • Changed internal class that exposes private api to public api
  • Exposed application context to public api
  • Updated ProGuard definitions for core that causes issues with public api

# Version 2.0.10

December 03, 2019

New Features

  • Added convenience class PinchMetrics.Onboarding to collect onboarding metrics

Behavior Changes

  • Only retrieve telemetry for relevant beacons

# Version 2.0.9

November 27, 2019

New Features

  • Enhance beacon events with telemetry data on Android 8+

Bug Fixes

  • Fixes an issue where beacons would not be detected

# Version 2.0.7

November 21, 2019

Bug Fixes

  • Fixes an issue where user agent would be invalid

Behavior Changes

  • Enqueues worker to update configuration when SDK is initialized

# Version 2.0.6

November 18, 2019

Bug Fixes

  • Fixes a critical issue where SDK can never recover when app or PinchSDK version changes

Behavior Changes

  • Destroys existing database if underlying schema is out of sync

# Version 2.0.5

Novemer 14, 2019

New Features

  • Added Pinch.deleteCollectedData which makes it easy to request deletion of personally identifiable information
  • PinchSDK now depends on kotlinx-coroutines-android:1.3.2

Behavior Changes

  • Uses internal app installation id as default messaging id
  • Retries custom data & metadata upload at a later time if it fails due to network issues

Bug Fixes

  • Fixes an issue which caused information about current installation to be uploaded every 10 seconds

# Version 2.0.2

November 12, 2019

Behavior Changes

  • Added ability to only scan for specific beacons
  • Added remote configurable beacon collection rules
  • Added ability to remotely disable SDK

# Version 2.0.0

November 11, 2019

PinchSDK 2.0.0 is released. This version is a complete rewrite of PinchSDK with AndroidX dependencies. All active development will target 2.x and 1.x is no longer supported.