### 3.4.21
- Added support for `com.google.android.gms:play-services-location:21.0.1`.

### 3.4.0
- Addressed an issue with a recently released version of Google Play Services (the device side library) which increased the payload sizes of batch location updates and caused issues when processing those in the background.

### 3.3.0
- Added Pilgrim [Journeys](https://docs.foursquare.com/developer/docs/ios-add-features#android-add-features#journeys), a framework designed to accurately monitor origin-destination movement.
- Added Android 13 support for SDK & Toolkit.

### 3.1.0
- Added Android 12 support for SDK & Toolkit.
- Added work version support for API 31 and targeted API 31 in Toolkit.
- Replaced `evernote/android-job` library with `WorkManager` library.
- Added `speed` and `direction` properties to geofence events.
- Included a notice file referencing libraries used and available under Apache 2.0 license.

### 3.0.1
- Fixed a runtime crash caused by the OS around monitoring for connected network changes.

### 3.0.0
- Added support for IDFA alternatives via Custom User Data.
- Added Location Context to User States.
- Add support for exporting Pilgrim data to Amazon S3.

### 2.4.2
- Added support for `disableAdIdentitySharing` to prevent device AdId from being sent to Foursquare.
- Updated reference docs to 2.4.2.

### 2.4.1
- Fixes a crash related to a Roboelectric issue regarding their handling of the android OS lifecycle.

### 2.4.0
- This release brings Pilgrim into full compliance with the latest version of the Android OS (Q/10), and adds support for custom geofence properties, along with several other improvements and fixes.
- Migrated from Android Support libraries to AndroidX.
- Pilgrim SDK debugging module migrated to AndroidX.
- Android Q support: Background and When In Use location support when targeting API 29.
- New Activity Tracking permission request added.
- Add custom properties to geofences on the Pilgrim Developer Console.
- New safer encryption mechanism used to store data locally.
- New live console event debugging support.
- Removed deprecated support for Manifest key initialization.
- Removed enableLogs, replaced with new behavior live debug logs.

### 2.2.0
- **Breaking:** Initializing via the content provider is now deprecated and will be removed in the next version.
- Added support for arbitrary latitude and longitude geofences.
- Added support for polygon-shaped geofences.
- Added support for adding geofences via an API.

### 2.1.2
- Geofence events are now more reliable when the device is in Doze.
- Add helper to persist user info for later sessions.
- Play Services has been upgraded to version 16.0.0.
- Nearby Venues callback has been deprecated.

### 2.1.0
- Added `getCurrentLocation` method to actively request the current place a device is at.
- Added support for user segments.
- Added Android O optimizations.

### 2.0.0
- **Breaking:** Authenticate with Android Hash Key set in your Foursquare App configuration.
- Added a debug view.
- Added support for geofences at venues, categories or chains.
- Added a new support class `PilgrimNotificationTester` to help debug visits from your development environment.

### 1.2.32
- Brings back the PilgrimSdk.with method to optionally remove consumer key and secret in the manifest file.
- Fixes a database migration issue when upgrading from multiple versions back.
- Fixes some proguard obfuscation issues.
- Adds chain name to payload.

### 1.2.20
- Fixes an issue that showed excessive background wifi scans entry in the Play Store "Android Vitals" dashboard.
- Fixed crashes on devices that target Android O.

### 1.2.10
- **Mandatory:** Added TLS1.2 support for Android versions 4.4 and older.
- **Breaking:** Auto initialize SDK by adding API credentials to the manifest.
- **Deprecated:** `getCurrentLocation()`, use `getCurrentPlace().getLocation()` instead, which is equivalent.
- Added a `getProbability()` method on the venue object which returns the probability that the venue is associated with the visit.
- Added additional check-in methods `checkInAtVenueWithFoursquareVenueId` and `checkInAtVenueWithPartnerVenueId`.

### 1.1.13
- Fixes a crash caused by a bug in a small number of devices that called Application#onCreate() more than once.

### 1.1.10
- Included a workaround for the timestamp bug by getting the timestamp from an alternative system API. This may result in a 1-10% lift in users/visits depending on your app.
- The `otherPossibleVenues` array will now be included for backfilled visits as well if you have this feature enabled.
- Silenced exceptions around `startService()` being called at invalid times when targeting Android O. This will prevent the errors seen in Issue 1 and Issue 3.
- Also, we removed the `WRITE_EXTERNAL_STORAGE` manifest-declared permission.
- Calling `PilgrimSdk.with()` more than once will result in an `IllegalStateException`. Ensure that this call is done exactly once, in your `Application.onCreate()`, before you call any other `PilgrimSdk` methods.

### 1.1.8
- Update firebase job dispatcher library to pull in fix for incompatibility between it and Google Play Services 11.
- Remove `-dontoptimize` flag from our consumer proguard configuration so that we don't prevent consumers of the app from optimizing their own apps.

### 1.1.7
- Bug fix for an issue causing certain older Samsung devices to crash.
- Other minor fixes.

### 1.1.6
- Bug fixes for issues where backfills could sometimes report an incorrect location type.

### 1.1.2
- Fix for OOM errors on some newer devices that occur when Pilgrim receives a location with a bad timestamp.

### 1.1.1-alpha1
- Fix for a `VerifyError` during compilation due to proguard configuration. ( [https://github.com/robolectric/robolectric/issues/2750](https://github.com/robolectric/robolectric/issues/2750))

### 1.1.0
- Add a `PilgrimSdk#sendConnectedTestNotification` to the API that allows testing your pilgrim configuration and trigger a client-side notification.
- Start logging persistent debug data if `PilgrimSdk#enablePersistentLogs` is set to true.
- Create an additional `pilgrimsdk-debugging` artifact that contains prebuilt views for viewing debug logs in app.
- Start depending on and using the [Firebase JobDispatcher API](https://github.com/firebase/firebase-jobdispatcher-android) to schedule background visits.

### 1.0.6
- Include wifi signals for more accurate visit detection.
- Fixes issue where the `UserInfo` user ID was not being properly sent up.

### 1.0.5
- Minor bug fixes.

### 1.0.4
- Adds support for `partnerVenueId` to Venue. This will be populated when you are an approved Venue Harmonizer and will contain your place id for the Foursquare venue if it exists.
- Fixed some possible race conditions when using `PilgrimSdk#clear()`.
- Internal bookkeeping updates.
