Skip to content

Releases: axeptio/axeptio-android-sdk

v2.1.2 - Critical Kotlin Compatibility Fix

16 Jan 18:53
915179e

Choose a tag to compare

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.kts publishing 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:


Previous Version: 2.1.1

v2.1.1

10 Dec 15:49
a30891e

Choose a tag to compare

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=0 with 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
  • 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:


Previous Version: 2.1.0
GitHub Release: https://github.com/axeptio/axeptio-android-sdk-sources/releases/tag/v2.1.1

v2.1.0

27 Nov 15:12
67b3014

Choose a tag to compare

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

2.0.9

08 Oct 13:00
3b515ea

Choose a tag to compare

  • 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

06 Aug 18:35
3b515ea

Choose a tag to compare

  • 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

28 Aug 22:04
247012f

Choose a tag to compare

What's Changed

  • feat: TCF vendor management improvements

2.0.6

24 Apr 11:32
247012f

Choose a tag to compare

bug fix.

2.0.5

10 Mar 07:44

Choose a tag to compare

Opt out edge to edge for api 35

2.0.4

21 Feb 17:01

Choose a tag to compare

Null token will not be taken into account.
To clean the token from SharedPreferences, it must be passed as an empty String.

2.0.3-alpha01

11 Feb 08:51

Choose a tag to compare

Added onConsentCleared() callback.
Allow for several initialization to update user token.