Releases: axeptio/axeptio-android-sdk
v2.1.2 - Critical Kotlin Compatibility Fix
Axeptio Android SDK - Version 2.1.2 Release Notes
Release Date: January 14, 2026
Package: io.axept.android:android-sdk:2.1.2
Overview
Version 2.1.2 is a critical patch release that fixes a dependency compatibility issue preventing customers from upgrading the SDK. Since version 2.0.9, the SDK forced kotlin-stdlib 2.1.0 on all consumers, causing build failures for projects using Kotlin 1.9.x or earlier.
What's Fixed
Critical Kotlin stdlib Compatibility Issue (MSK-146)
Issue: Since version 2.0.9, the SDK's published Maven artifacts forced kotlin-stdlib:2.1.0 as a transitive dependency on all consumers. This prevented partners using Kotlin 1.9.x or earlier from upgrading the SDK without forcing their entire project to Kotlin 2.1.0.
Root Cause: Gradle's Maven publishing plugin automatically includes kotlin-stdlib in the published POM with the exact version used to build the SDK. When we upgraded to Kotlin 2.1.0, this forced all consumers to use kotlin-stdlib 2.1.0.
Fix: Modified the Maven publishing configuration to exclude kotlin-stdlib from published dependencies. Consumers can now use any Kotlin version 1.8+ without being forced to upgrade.
Impact: Partners who were unable to upgrade from version 2.0.8 to versions 2.0.9-2.1.1 can now safely upgrade to 2.1.2 while maintaining their current Kotlin version.
Technical Details:
- Modified
android/build.gradle.ktspublishing block to filter kotlin-stdlib from POM dependencies - SDK remains built with Kotlin 2.1.0 and produces Java 1.8 bytecode
- Consumers are responsible for including their preferred kotlin-stdlib version (minimum 1.8.0)
- All other dependencies preserved (iabtcf-decoder, androidx.*, okhttp, moshi, etc.)
Kotlin Compatibility
For SDK Consumers
Minimum Kotlin Version: 1.8.0
The Axeptio Android SDK is built with Kotlin 2.1.0 but compiles to Java 1.8 bytecode. You do not need to use Kotlin 2.1.0 in your application.
Supported Kotlin Versions: 1.8.0 and higher
The SDK does NOT force a specific kotlin-stdlib version on your project. You can use any Kotlin version that:
- Supports Java 1.8 bytecode consumption
- Is version 1.8.0 or higher
Versions 2.0.9 - 2.1.1 Note
Versions 2.0.9 through 2.1.1 contained a publishing bug that forced kotlin-stdlib 2.1.0 on consumers. This issue is fixed in version 2.1.2.
If you're stuck on 2.0.9-2.1.1, you can use this workaround:
configurations.all {
resolutionStrategy {
force("org.jetbrains.kotlin:kotlin-stdlib:YOUR_KOTLIN_VERSION")
}
}Recommended: Upgrade directly to version 2.1.2 which removes this constraint.
Testing
This patch release maintains full test coverage:
- All 95 unit tests passing
- 95%+ code coverage maintained
- Verified POM excludes kotlin-stdlib dependency
- Sample apps (Kotlin and Java) build successfully
- 100% backward compatible - no API changes
Migration Guide
Updating from 2.0.8 or earlier
Simply update your dependency version - no code changes required:
dependencies {
implementation("io.axept.android:android-sdk:2.1.2")
}Updating from 2.0.9 - 2.1.1
If you added workarounds to force a specific kotlin-stdlib version, you can now remove them:
// You can remove this workaround
configurations.all {
resolutionStrategy {
force("org.jetbrains.kotlin:kotlin-stdlib:YOUR_VERSION")
}
}
// Just update to 2.1.2
dependencies {
implementation("io.axept.android:android-sdk:2.1.2")
}This is a backward-compatible patch release with no breaking changes or API modifications.
Installation
Gradle (Kotlin DSL)
Update your build.gradle.kts:
dependencies {
implementation("io.axept.android:android-sdk:2.1.2")
}GitHub Packages Authentication
Ensure your settings.gradle.kts includes GitHub Maven credentials:
repositories {
maven {
url = uri("https://maven.pkg.github.com/axeptio/axeptio-android-sdk")
credentials {
username = "YOUR_GITHUB_USERNAME"
password = "YOUR_GITHUB_TOKEN"
}
}
}Requirements
- Minimum SDK: Android 8.0 (API level 26)
- Target SDK: Android 14+ (API level 35)
- Kotlin: 1.8.0+ (consumer applications)
- Java: 8+
Technical Details
Modified Files
android/build.gradle.kts- Added POM withXml customization to exclude kotlin-stdlib from published dependencies
CHANGELOG.md- Added entry for version 2.1.2
Related Linear Issues
- MSK-146: Android SDK forces kotlin-stdlib 2.1.0 on consumers since 2.0.9
Full Changelog
See the releases directory for detailed changes.
Dependencies
All SDK dependencies support Kotlin 1.8+:
- kotlinx-serialization-json 1.9.0 (requires Kotlin 1.8+)
- kotlinx-coroutines 1.8.0 (requires Kotlin 1.8+)
- All AndroidX libraries (Kotlin 1.5+)
- iabtcf-decoder 2.0.10
- OkHttp 4.12.0
- Moshi 1.15.1
Support
For issues, questions, or feature requests:
- GitHub Issues: https://github.com/axeptio/axeptio-android-sdk/issues
- Documentation: https://github.com/axeptio/sample-app-android
Previous Version: 2.1.1
v2.1.1
Axeptio Android SDK - Version 2.1.1 Release Notes
Release Date: December 10, 2025
Package: io.axept.android:android-sdk:2.1.1
Overview
Version 2.1.1 is a critical patch release that fixes a bug where the SDK incorrectly cleared all application cookies in BRANDS mode, which could break customer authentication and other cookie-dependent functionality.
What's Fixed
Critical Cookie Clearing Bug (MSK-135)
Issue: In BRANDS mode, calling clearConsent() would delete ALL cookies stored by the application, including authentication tokens and user session data. This caused apps using the SDK to lose user login state and break other cookie-dependent features.
Fix: Modified cookie clearing logic to selectively delete only Axeptio-specific cookies while preserving all other application cookies.
Impact: Apps using BRANDS mode that experienced unexpected logout or session loss issues should upgrade immediately.
Technical Details:
- Only three Axeptio cookies are now deleted:
axeptio_cookies,axeptio_all_vendors,axeptio_authorized_vendors - All other application cookies are preserved
- Cookie deletion uses
Max-Age=0with proper path specification - Changes are synchronously flushed to ensure immediate persistence
Testing
This patch release includes comprehensive test coverage:
- Added 11 new unit tests specifically for cookie clearing behavior
- All 83 unit tests passing (72 existing + 11 new)
- Verified selective cookie deletion in BRANDS mode
- Verified PUBLISHERS_TCF mode unchanged
- 100% backward compatible - no API changes
Migration Guide
Updating from 2.1.0 or earlier
Simply update your dependency version - no code changes required:
dependencies {
implementation("io.axept.android:android-sdk:2.1.1")
}This is a backward-compatible patch release with no breaking changes or API modifications.
Installation
Gradle (Kotlin DSL)
Update your build.gradle.kts:
dependencies {
implementation("io.axept.android:android-sdk:2.1.1")
}GitHub Packages Authentication
Ensure your settings.gradle.kts includes GitHub Maven credentials:
repositories {
maven {
url = uri("https://maven.pkg.github.com/axeptio/axeptio-android-sdk")
credentials {
username = "YOUR_GITHUB_USERNAME"
password = "YOUR_GITHUB_TOKEN"
}
}
}Requirements
- Minimum SDK: Android 8.0 (API level 26)
- Target SDK: Android 14+ (API level 35)
- Kotlin: 2.1.0+
- Java: 8+
Technical Details
Modified Files
android/src/main/java/io/axept/android/view/WebViewExtensions.kt- Replaced
CookieManager.getInstance().removeAllCookies()with selective deletion - Added
clearAxeptioCookies()private function
- Replaced
android/src/test/java/io/axept/android/view/WebViewExtensionsTest.kt- Added comprehensive unit tests for cookie clearing behavior
Related Linear Issues
- MSK-135: SDK in BRANDS mode clears all app cookies, breaking authentication
Full Changelog
See CHANGELOG.md for detailed technical changes.
Support
For issues, questions, or feature requests:
- GitHub Issues: https://github.com/axeptio/axeptio-android-sdk-sources/issues
- Documentation: https://github.com/axeptio/sample-app-android
Previous Version: 2.1.0
GitHub Release: https://github.com/axeptio/axeptio-android-sdk-sources/releases/tag/v2.1.1
v2.1.0
Axeptio Android SDK v2.1.0
Release Date: November 27, 2025
Package: io.axept.android:android-sdk:2.1.0
What's New
Configurable Consent Expiration
Control consent data storage duration with the new cookiesDurationDays parameter.
Axeptio.initialize(
context = this,
clientId = "your-client-id",
cookiesVersion = "your-version",
cookiesDurationDays = 365 // New parameter
)Widget Testing Modes
Test different widget environments during development:
PRODUCTION- Live production widget (default)PR- Test specific pull request versions
Session-Only Consent Support
Configure consent banners to reappear after each session with storage scope support.
Enhanced TCF Compliance
Improved parsing and handling of TCF vendor consent strings for better IAB TCF 2.2 compliance.
Installation
dependencies {
implementation("io.axept.android:android-sdk:2.1.0")
}Full Documentation
See releases/2.1.0.md for complete release notes including:
- Migration guide from 2.0.x
- Code examples and use cases
- Requirements and dependencies
- Testing validation
- Support information
Requirements
- Minimum SDK: Android 8.0 (API level 26)
- Target SDK: Android 14+ (API level 35)
- Kotlin: 2.1.0+
Related
- Linear Issues: MSK-119, MSK-79, MSK-95, MSK-101
- Source Repository: https://github.com/axeptio/axeptio-android-sdk-sources
- Sample Apps: https://github.com/axeptio/sample-app-android
2.0.9
- fix: TCF Fields API Inconsistency Between Main SDK and Sample Apps
- fix: solve MSK-102 enhance timeout mechanism
- feat: MSK-87 align samplejava features with samplekotlin
- feat: MSK-74 add application name in the event metadata
- fix: add android user agent
- chore: MSK-106 Migrate Android SDK from Kotlin 1.9.0 to 2.1.0
- feat: standardize TCF PublisherRestrictions, enhance loading timeout, and add Android user agent
2.0.7
-
Added a debug utility to display detailed consent status for each vendor, including which vendors are accepted or rejected and their configuration.
-
New Features:
Exposes a method to fetch consent debug info for vendors.
Shows current consent status and configuration for each vendor in the sample app. -
Fixes a regression where the Axeptio CMP buttons were hidden behind the bottom navigation bar on Android 15 (API 35) and Android 16 (API 36). This issue was previously addressed in SDK version 2.0.5 for Android 15, but it reappeared in Android 16 due to system UI changes.
2.0.8
2.0.6
2.0.5
2.0.4
2.0.3-alpha01
Added onConsentCleared() callback.
Allow for several initialization to update user token.