> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sprig.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Android Changelog

<Info>
  **How to read this changelog:** [Understanding SDK changelog urgency and impact](/docs/developer-center/sdk-changelog)
</Info>

<Update label="Sep 23, 2026" tags={["Low"]}>
  ## v2.30.1

  **Recommended if you use:** Session Replays

  * add: \[impact: performance] `turnOffSessionReplayCapture()` turns session replay off for the rest of the app session. It replaces `stopRecording()`, now deprecated, which no longer stops only the recording in progress.
  * fix: \[impact: performance] Session replay now stops for the rest of the app session under sustained memory pressure or when capture costs the main thread more than the configured threshold, rather than restarting on the next request.
</Update>

<Update label="Sep 16, 2026" tags={["Low"]}>
  ## v2.30.0

  **Recommended if you use:** URL Prompt Question Type

  * chore: Updated the bundled Web SDK to [v2.53.0](https://docs.sprig.com/docs/developer-center/sdk-changelog/web-changelog#v2-53-0), which carries survey enhacements into this release.
  * add: \[impact: behavior] Added the ability to launch an in-app web browser for URL Prompt question types.
  * add: Added new lifecycle event displayInAppBrowser which fires when the in-app experience is triggered.
</Update>

<Update label="Aug 27, 2026" tags={["High"]}>
  ## v2.29.0

  **Recommended if you use:** survey lifecycle events, or apps with multiple Activities

  * chore: Updated the bundled Web SDK to [v2.51.0](/docs/developer-center/sdk-changelog/web-changelog#v2-51-0), which carries its survey and Session Replay fixes into this release.
  * add: \[impact: behavior] Refactor of the survey lifecycle events for better accuracy with the addition of the new surveyReturned event, the removal of surveyWillPresent, a change to when the surveyAppeared emits and the addition of the new surveyDidNotAppear event.
  * add: Passing the surveyId of the previous survey when a previousSurveyReady state is returned.
  * fix: \[impact: performance] Memory leak fix for multiple Activities.
</Update>

<Update label="Aug 6, 2026" tags={["Low"]}>
  ## v2.28.0

  **Recommended if you use:** Session Replay

  * add: Wireframe session replay recording (optional)
</Update>

<Update label="Jul 22, 2026">
  ## v2.27.2

  * chore: Updated WebSDK to v2.49.0
</Update>

<Update label="Jul 17, 2026">
  ## v2.27.1

  * chore: Removal of unnecessary library dependency
  * chore: Logging improvements
</Update>

<Update label="Jul 9, 2026">
  ## v2.27.0

  * chore: Updated WebSDK to v2.48.2
</Update>

<Update label="Jun 15, 2026">
  ## v2.26.2

  * chore: Changes to error logging
</Update>

<Update label="Jun 9, 2026">
  ## v2.26.1

  * add: Updated WebSDK to v2.46.1
  * fix: Single select answer selection color for Conversational UI in Dark Mode
</Update>

<Update label="Jun 4, 2026">
  ## v2.26.0

  * add: Updated WebSDK to v2.46.0
  * fix: Survey sliding animation issue with text field questions under Material 1.10+
</Update>

<Update label="May 21, 2026">
  ## v2.25.0

  * add: Updated WebSDK to v2.45.0
  * add: JIT survey web view creation for improved long-term reliability
  * fix: Survey text fields were covered by the keyboard in certain React Native environments
  * chore: Error logging optimizations
</Update>

<Update label="Apr 24, 2026">
  ## v2.24.0

  * add: Updated WebSDK to v2.44.0
  * add: New function to override device light/dark mode in surveys
  * fix: Ensure light/dark mode is always enabled for current activity
  * fix: Certain lifecycle events are no longer reported twice
  * chore: The surveyId in SprigSurveyResult is no longer optional, keeping in parity with iOS
</Update>

<Update label="Apr 6, 2026">
  ## v2.23.0

  * add: Updated WebSDK to v2.43.0
  * add: Survey ID provided in track callbacks via new SprigSurveyResult
  * add: New PREVIOUS\_SURVEY\_READY state to indicate pending surveys
  * add: New SURVEY\_STATE\_RETURNED and SURVEY\_COMPLETED lifecycle events
  * add: Light/dark mode support with custom CSS
  * fix: Pending surveys now cause newly tracked surveys to be ignored
</Update>

<Update label="Mar 17, 2026">
  ## v2.22.1

  * fix: Conversational UI surveys having incorrect height in landscape
</Update>

<Update label="Mar 10, 2026">
  ## v2.22.0

  * add: Updated WebSDK to v2.41.3
  * add: Support for the new AI Follow-up question type
  * add: Display Logic support
</Update>

<Update label="Feb 27, 2026">
  ## v2.21.3

  * fix: Ensures the active UI context is used for surveys in multi-activity apps
  * fix: Corrects a bounded memory leak during configuration
</Update>

<Update label="Feb 14, 2026">
  ## v2.21.2

  * fix: Delays set for surveys had stopped working
  * fix: Surveys were getting cut off in landscape mode
</Update>

<Update label="Feb 10, 2026">
  ## v2.21.1

  * fix: Memory leak with ConnectivityManager
</Update>

<Update label="Feb 9, 2026">
  ## v2.21.0

  * add: Updated WebSDK to v2.40.3
  * add: Support for Attribute Piping
</Update>

<Update label="Feb 3, 2026">
  ## v2.20.0

  * add: Ability to pause and unpause displaying of surveys
  * add: Dismissing active surveys also dismisses any pending surveys
</Update>

<Update label="Jan 28, 2026">
  ## v2.19.7

  * add: Keyboard height override
</Update>

<Update label="Jan 23, 2026">
  ## v2.19.6

  * add: Call to configure is now thread and coroutine safe
  * fix: Crash that could occur during replays with complex composite views
</Update>

<Update label="Dec 19, 2025">
  ## v2.19.5

  * add: Launch time configuration
</Update>

<Update label="Dec 17, 2025">
  ## v2.19.4

  * add: Updated WebSDK to v2.39.3
  * add: Support for new Conversational Survey format
  * add: Support for SURVEY\_WILL\_PRESENT lifecycle event
  * add: Support for SURVEY\_PRESENTED lifecycle event
  * add: Support for SURVEY\_WILL\_CLOSE lifecycle event
  * add: Support for SURVEY\_CLOSED lifecycle event
  * add: Support for SURVEY\_HEIGHT lifecycle event
  * fix: Removed SURVEY\_DIMENSIONS lifecycle event no longer being emitted
</Update>

<Update label="Dec 5, 2025">
  ## v2.19.3

  * fix: Passing an Activity when presenting surveys is now optional
</Update>

<Update label="Nov 19, 2025">
  ## v2.19.2

  * fix: Corrected the stopRecording function
  * fix: Addressed a minor memory leak
</Update>

<Update label="Nov 11, 2025">
  ## v2.19.1

  * fix: Memory leak when presenting surveys from multiple activities
</Update>

<Update label="Oct 30, 2025">
  ## v2.19.0

  * add: Updated WebSDK to v2.37.1
  * add: Support for new Rank Order question type
  * add: Response piping support
  * fix: Improved keyboard behavior for text input questions
  * fix: Improved survey dismiss behavior under certain app state changes
  * fix: Improved Android activity management for multiple app activities
</Update>

<Update label="Oct 9, 2025">
  ## v2.18.5

  * add: Updated WebSDK to v2.34.0
  * add: New property to add space on screen below surveys
  * fix: Improved keyboard behavior for text input questions
  * fix: Improved survey dismiss behavior under certain app state changes
</Update>

<Update label="Aug 28, 2025">
  ## v2.18.4

  * fix: Improved low-memory handling for session replays
</Update>

<Update label="Aug 5, 2025">
  ## v2.18.3

  * fix: Crash that could occur during replays and device rotation
  * fix: Surveys are now masked during replays
</Update>

<Update label="Jul 14, 2025">
  ## v2.18.2

  * add: Made the SDK version available to host applications
  * fix: Improved replay masking performance
</Update>

<Update label="Jun 9, 2025">
  ## v2.18.1

  * add: Modals are now included in session replay recordings
</Update>

<Update label="May 29, 2025">
  ## v2.18.0

  * add: Additional Sprig lifecycle events available to monitor
  * add: Web views are now included in session replay recordings
  * fix: Session replay attached to surveys are only uploaded after a question has been answered
  * fix: Increase display size of tap gesture
  * fix: Start-up performance optimizations
</Update>

<Update label="Mar 27, 2025">
  ## v2.17.8

  * fix: Fix for survey closing on screen rotation.
</Update>

<Update label="Mar 11, 2025">
  ## v2.17.7

  * fix: Fix for bug that was keeping surveys displayed after the user tapped close.
</Update>

<Update label="Feb 14, 2025">
  ## v2.17.6

  * fix: Improve memory performance by recycling bitmaps, only start Session Replay when event tracked
</Update>

<Update label="Nov 18, 2024">
  ## v2.17.5

  * fix: update SURVEY\_CLOSED callback to provide initiator 'close.click' if dismissed by tapping out of study
</Update>

<Update label="Nov 1, 2024">
  ## v2.17.4

  * add: support for matrix questions
  * fix: clear activity reference in onActivityPaused
</Update>

<Update label="Jul 31, 2024">
  ## v2.17.3

  * fix: application context fallback for WebView when activity context is unavailable
</Update>

<Update label="Jul 25, 2024">
  ## v2.17.2

  * add: reactFragmentActivity to configure method to better support React Native
</Update>

<Update label="Jun 27, 2024">
  ## v2.17.1

  * fix: Prevent web sdk reset on initial load
  * chore: Improved internal logging
  * chore: Update web sdk to 2.30.1
</Update>

<Update label="May 23, 2024">
  ## v2.17.0

  * add: Session Replay support
</Update>

<Update label="May 9, 2024">
  ## v2.16.6

  * chore: Update web sdk to 2.28.1
</Update>

<Update label="Feb 29, 2024">
  ## v2.16.5

  * fix: Escape single quotes in event names
</Update>

<Update label="Jan 25, 2024">
  ## v2.16.4

  * add: None of the Above question option for MCMS questions
</Update>

<Update label="Jan 22, 2024">
  ## v2.16.3

  * add: `x-ul-package-version` header to report mobile SDK plugin versions
  * fix: Add network status listener to handle disconnects
</Update>

<Update label="Jan 18, 2024">
  ## v2.16.2

  * fix: reduce delay in subsequent survey presentations
  * fix: hold weak reference to provided activity for improved memory management
</Update>

<Update label="Dec 20, 2023">
  ## v2.16.0

  * add: Add `dismissActiveSurvey()` function to dismiss any visible surveys
  * add: Add a `QUESTION_ANSWERED` event that is emitted after the user answers a question
  * chore: Update LICENSE
</Update>

<Update label="Nov 3, 2023">
  ## v2.15.2

  * fix: Improve right-to-left language formatting
</Update>

<Update label="Sep 26, 2023">
  ## v2.15.1

  * fix: Load `shouldDismissOnPageChange` before notifying listeners that the SDK is ready
  * fix: Resolve race condition with `shouldDismissOnPageChange` when event is tracked before the SDK is ready
  * fix: `setPreviewKey` was not working because of old web sdk version
  * chore: Update web sdk to 2.24.4
</Update>

<Update label="Aug 18, 2023">
  ## v2.15.0

  * fix: Prevent a crash if loading the bundled JS fails. Only fixes the crash on Android 26+
  * add: Add support for SDK event listeners
  * add: Add `setPreviewKey` method deep linking
  * chore: Update the test app to allow setting the user ID and properly log the user out
</Update>

<Update label="Jul 7, 2023">
  ## v2.14.0

  * add: Add a callback to `EventPayload` that allows surveys to be suppressed
  * chore: Update web sdk to 2.24.0
</Update>

<Update label="Jun 1, 2022">
  ## v2.13.1

  * fix: Handle multiple events being tracked with \`dismissOnPageChange\`\` in user navigation
  * chore: Update web sdk to 2.23.2
</Update>

<Update label="Mar 31, 2023">
  ## v2.13.0

  * add: Add support for \`dismissOnPageChange\`\` to not show surveys after navigation
  * chore: Update web sdk to 2.21.7
</Update>

<Update label="Mar 22, 2023">
  ## v2.12.1

  * fix: Prevent the SDK from crashing when running on a known bad version of Chrome
  * chore: Update web sdk to 2.21.6
</Update>

<Update label="Feb 24, 2023">
  ## v2.12.0

  * fix: Update the publishing action to use the correct publishing plugin
  * add: Add new optional parameter to configure function
  * chore: Update gradle plugin version to 7.2.0
  * chore: Updated auto publishing steps in automation
  * chore: Update web sdk version to 2.21.3
</Update>

<Update label="Dec 6, 2022">
  ## v2.11.0

  * fix: Prevent a crash when attempting to show a second survey with an initial survey still showing
</Update>

<Update label="Nov 17, 2022">
  ## v2.10.0

  * fix: Gracefully handle process death
  * add: Optimizely Integration
  * chore: Updated web sdk to 2.20.0
</Update>

<Update label="Nov 2, 2022">
  ## v2.9.0

  * chore: Updated web sdk to 2.19.5
</Update>

<Update label="Oct 17, 2022">
  ## v2.8.0

  * fix: Handle no callback provided on track event
  * add: Support for required questions
  * chore: Updated web sdk to 2.19.1
</Update>

<Update label="Oct 10, 2022">
  ## v2.7.0

  * add: Support event properties
</Update>

<Update label="Oct 6, 2022">
  ## v2.6.10

  * chore: Updated web sdk to 2.17.5
</Update>

<Update label="Sep 2, 2022">
  ## v2.6.9

  * chore: Updated Material and AppCompat libraries
</Update>

<Update label="Aug 31, 2022">
  ## v2.6.8

  * chore: Improved release automation
</Update>

<Update label="Aug 22, 2022">
  ## v2.6.7

  * fix: Check that activity is active before presenting survey
</Update>

<Update label="Aug 19, 2022">
  ## v2.6.6

  * chore: Updated web sdk to 2.17.2
</Update>

<Update label="Aug 17, 2022">
  ## v2.6.5

  * fix: Gracefully handle empty attributes
</Update>

<Update label="Aug 16, 2022">
  ## v2.6.4

  * add: Support for identifyAndSetVisitorAttributes
  * add: Support Other Specify and rating scale questions
  * chore: Updated web sdk to 2.17.1
</Update>

<Update label="Aug 1, 2022">
  ## v2.6.3

  * add: setPartnerAnonymousd, setVisitorAttributes and removeVisitorAttributes
  * fix: Edge case where queued up function calls were being cleared near initialization
</Update>

<Update label="Jul 25, 2023">
  ## v2.6.2

  * chore: Updated web sdk to 2.16.20
</Update>

<Update label="Jul 25, 2022">
  ## v2.6.1

  * fix: Set webview background color to transparent
  * fix: Reset webview after presenting a survey
  * add: Handle device rotation
  * chore: Removed coroutine dependencies
</Update>

<Update label="Mar 21, 2022">
  ## v2.6.0

  * chore: Updated LICENSE
  * chore: Updated web sdk to 2.15.5
</Update>
