Android Kotlin SDK release notes
Release notes for the Amplitude Analytics Android Kotlin SDK. For the full engineering changelog, go to the Amplitude Kotlin CHANGELOG on GitHub.
1.36.0
Released October 21, 2026.
Features
- Add shared identity properties with an atomic setter, allowing multiple SDK instances to share and synchronize user identity without race conditions (#574).
- Capture ANR (Application Not Responding) events as SDK diagnostics when
enableDiagnosticsistrue(the default), making it easier to identify app freezes (#551). - Capture uncaught exceptions as SDK diagnostics when
enableDiagnosticsistrue(the default), making it easier to identify app crashes (#549).
Fixes
- Harden event file migration and callback cleanup to prevent data loss during SDK upgrades and ensure event callbacks release after use (#569).
- Reduce memory usage during event uploads and add diagnostic logging when the event upload backlog grows unexpectedly large (#568).
1.35.0
Released October 16, 2026.
Features
- Align streaming event names and properties to the Streaming taxonomy, making naming consistent for Media3/ExoPlayer tracking (#553). Requires
com.amplitude:streaming-analytics-android. Review your charts and queries for renamed events or properties after upgrading. - Capture non-tap gestures (such as swipe and long press) in element interactions autocapture, expanding tracked interactions beyond taps on Android (#544).
Fixes
- Capture selectable Jetpack Compose controls such as
CheckboxandSwitchin element interactions autocapture (#554). - Validate saved sessions after opting in on cold start, preventing stale session IDs from carrying over when a user opts back in (#572).
1.34.0
Released October 8, 2026.
Features
- Align the delayed-event pulse interval, TTL, and ad duration with iOS, making cross-platform streaming event timing consistent (#542).
- Add diagnostic logging for upload requests that do not complete, surfacing stalled or dropped network requests in the SDK diagnostic output (#563).
- Measure
play_timefrom playhead progress instead of wall-clock time, and exclude seek and wait stops, making streaming playback tracking more accurate (#545). - Route streaming ad events through the delayed heartbeat pipeline so they flush on the same schedule as other delayed events (#543).
Fixes
- Delete acknowledged event files immediately after receipt confirmation instead of deferring cleanup, reducing the chance of duplicate event uploads (#556).
- Include the API key in the remote config URL path to route requests to the correct project configuration (#548).
- Use the process lifecycle instead of activity lifecycle for Android foreground tracking, fixing foreground detection in multi-activity and background-started apps (#566).
1.33.0
Released September 24, 2026.
Features
- Streaming analytics is now available as a separate Maven artifact,
com.amplitude:streaming-analytics-android. This is the first release of that artifact. It instruments Media3/ExoPlayer playback. CalltrackPlayerto start tracking a player anduntrackPlayerto stop. Content identity comes from the player'sMediaItem(#507). - Add a standalone
AmplitudeContextconstructor to the core module (#530).
Fixes
- Report the full rage-click burst instead of capping the reported click count at 4 (#539).
- Standardize frustration-click timestamps (#500).
- Restore
compileSdk35 and OkHttp 4.12 for React Native consumers (#516).
1.32.0
Released September 16, 2026.
Fixes
- Consume identify batches exactly once to prevent duplicate processing (#503).
1.31.0
Released September 14, 2026.
Features
- Introduce an exponential backoff schedule for upload retries. Retries are unbounded; remove any
flushMaxRetriesconfiguration (#446). - Add
@JvmOverloadstoNetworkTrackingOptionsconstructors, allowing Java callers to omit trailing parameters that have default values (#476). - Add core interface change signals to allow the SDK to detect and react to changes in core interface implementations (#498).
Fixes
- Fix parsing of non-JSON 4xx upload responses so the SDK correctly handles plain-text or HTML server error bodies (#469).
- Preserve coroutine cancellation in catch blocks, ensuring structured concurrency cancels correctly in coroutine-heavy applications (#468).
1.30.1
Released July 30, 2026.
Features
- Use the shared
Dispatchers.IOthread pool instead of SDK-owned pools to reduce thread resource consumption (#426).
Fixes
- Drop events with an empty
eventTypebefore upload to prevent invalid data from reaching Amplitude (#444). - Prevent a memory leak on Android where network callbacks held a strong reference to
Amplitudeinstances (#433). - Automatically replace a same-name
Amplitudeinstance on Android instead of leaving the previous instance running (#432). - Allow abandoned
Amplitudeinstances to be garbage collected to prevent unintended memory retention (#425). - Fix a null pointer exception in
EventsFileManagerwhen the filename filter encounters anullentry (#423).
1.20.7
Released May 2, 2025.
Fixes
- Default
locationListeningtofalse, so the SDK no longer attaches latitude and longitude unless you turn it on (#270). - Deprecate
DefaultEventUtilsevent type and property constants (#268). - Update the network listener to detect networks that are connected but blocked (#267).
1.10.2
Released June 23, 2023.
Fixes
- Turn on legacy data migration by default, so
migrateLegacyDataistrueunless you set it (#130).
Was this helpful?
For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.