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 enableDiagnostics is true (the default), making it easier to identify app freezes (#551).
  • Capture uncaught exceptions as SDK diagnostics when enableDiagnostics is true (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 Checkbox and Switch in 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_time from 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. Call trackPlayer to start tracking a player and untrackPlayer to stop. Content identity comes from the player's MediaItem (#507).
  • Add a standalone AmplitudeContext constructor 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 compileSdk 35 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 flushMaxRetries configuration (#446).
  • Add @JvmOverloads to NetworkTrackingOptions constructors, 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.IO thread pool instead of SDK-owned pools to reduce thread resource consumption (#426).

Fixes

  • Drop events with an empty eventType before upload to prevent invalid data from reaching Amplitude (#444).
  • Prevent a memory leak on Android where network callbacks held a strong reference to Amplitude instances (#433).
  • Automatically replace a same-name Amplitude instance on Android instead of leaving the previous instance running (#432).
  • Allow abandoned Amplitude instances to be garbage collected to prevent unintended memory retention (#425).
  • Fix a null pointer exception in EventsFileManager when the filename filter encounters a null entry (#423).

1.20.7

Released May 2, 2025.

Fixes

  • Default locationListening to false, so the SDK no longer attaches latitude and longitude unless you turn it on (#270).
  • Deprecate DefaultEventUtils event 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 migrateLegacyData is true unless 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.

On this page