Releases: klaviyo/klaviyo-android-sdk
3.0.0
Release Notes:
- The SDK now automatically tracks changes to the user's notification permission whenever the app is opened or resumed.
- After you call resetProfile, the SDK will hold the push token internally and automatically attach the token to the next profile. This is a change from past behavior where the token would need to be explicitly set again after resetting.
- Fixed a bug where 429 rate limit retry times could be impacted by network fluctuations
- Updated
setProfileAttribute
where any serializable is accepted instead of only strings - Prevent duplicate push notifications from displaying on a device through tagging
- Removing identifiers from state if format issues are present
Breaking Changes
- Modified visibility of the
ProfileKey
options deprecated in 2.3.0 Klaviyo.lifecycleCallbacks
deprecated in2.1.0
has been removed
See all breaking changes here
What's Changed
- Release branch 3.0.0 by @evan-masseau in #161
Full Changelog: 2.4.1...3.0.0
2.4.1
What's Changed
- Updating readme with min kotlin version by @dan-peluso in #183
- ConcurrencyModification Issue Fix by @dan-peluso in #187
Full Changelog: 2.4.0...2.4.1
2.4.0
What's Changed
- Flush network queue immediately after opened push is enqueued by @evan-masseau in #175
- In-memory buffer to allow opened push events to be handled prior to initialize by @evan-masseau in #174
Full Changelog: 2.3.0...2.4.0
2.3.0
What's Changed
- Deprecate duplicative
ProfileKey
constants in favor of explicit setter/getter methods and properties by @evan-masseau in #150 - Added request headers and use
Retry-After
response header to improve retry logic under heavy load or rate limit conditions by @evan-masseau in #149 - Added basic validation -- empty string checks, trim whitespace, improved de-duping -- to identifier setters by @evan-masseau in #157
Full Changelog: 2.2.1...2.3.0
2.2.1
What's Changed
We've implemented a set of changes to the networking layer that should reduce redundant API calls to lower our SDK's resource usage.
- Update network retry behavior to extend retries, add jitter by @evan-masseau in #148
- Stateful push notification API to avoid unneeded calls, reducing 429s for high volume clients by @evan-masseau in #151
Full Changelog: 2.1.1...2.2.1
2.2.0
Superceded by 2.2.1
2.2.1 was never fully rolled out. We discovered during pre-release that it contained a bug that could cause a crash for users of our Klaviyo React Native SDK (the bug was never pushed live to the RN SDK).
What's Changed
We've implemented a set of changes to the networking layer that should reduce redundant API calls to lower our SDK's resource usage.
- Update network retry behavior to extend retries, add jitter by @evan-masseau in #148
- Stateful push notification API to avoid unneeded calls by @evan-masseau in #151
Full Changelog: 2.1.1...2.2.0
2.1.1
Release Notes:
- Added support for setting notification icon color from manifest.xml
- Use big text style for expanded notifications
- Notifications bugfix for react-native android to decouple notifications from SDK initialization.
- Documentation and administrative fixes.
What's Changed
- Consolidate versions.gradle and versions.properties files by @evan-masseau in #141
- Doc-bot: commit straight to documentation branch by @evan-masseau in #139
- Update contribution guidelines by @evan-masseau in #140
- Correct doc bot token for pushing by @evan-masseau in #142
- Use notification compat to check permission by @evan-masseau in #143
- Improve notification display styles by @evan-masseau in #145
- Bump to Version 2.1.1 by @evan-masseau in #146
Full Changelog: 2.1.0...2.1.1
2.1.0
What's Changed
- Catch internal errors rather than crash the host app, in particular we wanted to log an error rather than crash when SDK methods are invoked prior to initializing.
- Wrap SDK methods in try/catch by @evan-masseau in #129
- Add logging to release builds, with configurable output level.
- Logging updates by @evan-masseau in #130
- Reduce amount of code required to integrate our SDK by attaching lifecycle listeners internally.
- Attach lifecycle listeners internally in initialize method by @evan-masseau in #131
- Version 2.1.0 bump by @evan-masseau in #137
Full Changelog: 2.0.0...2.1.0
2.0.0
What's Changed
See MIGRATION_GUIDE for instructions on major release breaking changes.
- Removed deprecated class
EventName
in favor ofEventMetric
by @evan-masseau - Corrected type
Event.value
fromString
toDouble
by @evan-masseau - Upgrade target and compile Android SDK from 33 to 34 by @evan-masseau
- Required dependency upgrades to support the Android SDK change, including Gradle, AGP, JVM by @evan-masseau in #115
- Add
refreshVersions
plugin to better manage dependencies in future.
Full Changelog: 1.4.1...2.0.0
2.0.0-alpha.3
What's Changed
- SDK 34 and other gradle upgrades by @evan-masseau in #115
- Replace lateinit property in PushTokenApiRequest @evan-masseau in #117
- Corrected compiler mistake from alpha.2
Full Changelog: 2.0.0-alpha.1...2.0.0-alpha.3