Compatibility
| Name | Version | Implementation |
|---|
| Compile SDK | 36 | compileSdk = q2libs.versions.compileSdk.get() |
| Target SDK | 36 | targetSdk = q2libs.versions.targetSdk.get() |
| Min SDK | 29 | minSdk = q2libs.versions.minSdk.get() |
| Android Gradle Plugin | 8.13.0 | id(q2libs.plugins.android.application) |
| Kotlin Gradle Plugin | 2.0.20 | id(q2libs.plugins.kotlin.android) |
| Google Services Plugin | 4.3.15 | id(q2libs.plugins.google.services) |
| Kotlin Serialization | 1.9.0 | id(q2libs.plugins.kotlin.serialization) |
Migration from 25.10.0 to 25.11.0
⚠️ CRITICAL: Required Dependency Change
ACTION REQUIRED: Your DevApp will not work without this change.
As of 25.11.0, the deprecated devapp core middleware library has been removed. You must
update your dependency to directly reference the q2 core library.
Required Change in devapp/build.gradle:
// REMOVE THIS (deprecated, will cause build failure)
implementation "com.q2.devapp:core:$q2Version"
// ADD THIS (required for 25.11.0)
implementation "com.q2.app.core:core:$q2Version"
Required Change in your module's build.gradle (NOT app or root build.gradle):
// REMOVE THIS (hardcoded version)
implementation 'com.q2:Q2MobileSDK:1.1.0'
// ADD THIS (required for 25.11.0)
implementation "com.q2:Q2MobileSDK:$q2Version"
As of 25.11.0, the Q2MobileSDK dependency version will now be tied to the q2Version like
everything else, so after you make this update, you wont need to worry about it again unless
told so in a future release note.
Migration Options:
- Manual Update: Apply both dependency changes directly in your
devapp/build.gradle
and module's build.gradle files
- Automatic Update: Pull down the
25.11.0 tag from the devapp repository to get
the updated configuration
Failure to make these changes will result in build or runtime failures.
Version Updates
This release includes an upgrade to Android SDK 36 (compileSdk and targetSdk) along with updates to
the Android Gradle Plugin and CameraX libraries.
Breaking Changes
SDK Version Upgrade:
- Compile SDK updated from 35 to 36
- Target SDK updated from 35 to 36
- Projects must update to support Android 14 (API 36) requirements
Android Gradle Plugin:
- Updated from 8.2.2 to 8.13.0
- Review AGP 8.13.0 release notes for any build configuration changes
Android 16KB Page Size Support
This release ensures compatibility with Google's upcoming 16KB page size requirement for Android
evices. Starting in 2025, Google Play will require apps to support devices with 16KB memory page
sizes to improve performance and enable future hardware innovations.
Key Compatibility Updates:
- SDK 36 includes necessary APIs and optimizations for 16KB page size devices
- All native libraries and dependencies have been validated for 16KB compatibility
- No additional configuration required - support is automatic with SDK 36
For developers using custom native code (NDK/JNI), ensure your native libraries are built with
16KB page size alignment. Refer to Google's 16KB page size guidance
for native library compatibility requirements.
Library Version Changes
| Library | 25.10.0 Version | 25.11.0 Version | Impact |
|---|
| Compile SDK | 35 | 36 | Breaking - Requires API 36 support |
| Target SDK | 35 | 36 | Breaking - Android 14 compatibility |
| Android Gradle Plugin | 8.2.2 | 8.13.0 | Major - Build system updates |
| CameraX Camera2 | 1.3.0 | 1.5.0 | Minor - Camera API improvements |
| CameraX Lifecycle | 1.3.0 | 1.5.0 | Minor - Lifecycle handling updates |
| Q2 SDK Interfaces | 0.3.4 | 0.3.5 | Patch - Minor SDK updates |
| Navigation | 2.8.9 | 2.8.9 | No change |
| Hilt Navigation | 1.2.0 | 1.2.0 | No change |
| All other deps | - | - | Stable - No additional version changes |
Version Catalog
AndroidX Libraries
| Library | Version | Implementation |
|---|
| AndroidX Core KTX | 1.12.0 | implementation(q2libs.androidx.core.ktx) |
| AndroidX AppCompat | 1.6.1 | implementation(q2libs.androidx.appcompat) |
| AndroidX Activity KTX | 1.8.1 | implementation(q2libs.androidx.activity.ktx) |
| AndroidX Legacy Support | 1.0.0 | implementation(q2libs.androidx.legacy.support) |
| AndroidX Constraint Layout | 2.1.4 | implementation(q2libs.androidx.constraintlayout) |
| AndroidX CardView | 1.0.0 | implementation(q2libs.androidx.cardview) |
| AndroidX Local Broadcast Manager | 1.1.0 | implementation(q2libs.androidx.localbroadcastmanager) |
| AndroidX Percent Layout | 1.0.0 | implementation(q2libs.androidx.percentlayout) |
| AndroidX Biometric | 1.1.0 | implementation(q2libs.androidx.biometric) |
| AndroidX RecyclerView | 1.3.2 | implementation(q2libs.androidx.recyclerview) |
| AndroidX WebKit | 1.8.0 | implementation(q2libs.androidx.webkit) |
| AndroidX Media | 1.6.0 | implementation(q2libs.androidx.media) |
| AndroidX Browser | 1.8.0 | implementation(q2libs.androidx.browser) |
| AndroidX Grid Layout | 1.0.0 | implementation(q2libs.androidx.gridlayout) |
| AndroidX Preference | 1.2.1 | implementation(q2libs.androidx.preference) |
| AndroidX Security Crypto | 1.1.0-beta01 | implementation(q2libs.androidx.security.crypto) |
AndroidX Fragment
| Library | Version | Implementation |
|---|
| AndroidX Fragment | 1.7.0 | implementation(q2libs.androidx.fragment) |
| AndroidX Fragment KTX | 1.7.0 | implementation(q2libs.androidx.fragment.ktx) |
AndroidX Navigation
| Library | Version | Implementation |
|---|
| AndroidX Navigation Fragment KTX | 2.7.4 | implementation(q2libs.androidx.navigation.fragment.ktx) |
| AndroidX Navigation UI KTX | 2.7.4 | implementation(q2libs.androidx.navigation.ui.ktx) |
| AndroidX Navigation Compose | 2.8.9 | implementation(q2libs.androidx.navigation.compose) |
AndroidX Lifecycle
| Library | Version | Implementation |
|---|
| AndroidX Lifecycle Runtime KTX | 2.7.0 | implementation(q2libs.androidx.lifecycle.runtime.ktx) |
| AndroidX Lifecycle ViewModel KTX | 2.7.0 | implementation(q2libs.androidx.lifecycle.viewmodel.ktx) |
| AndroidX Lifecycle Process | 2.7.0 | implementation(q2libs.androidx.lifecycle.process) |
| AndroidX Lifecycle Compiler | 2.7.0 | kapt(q2libs.androidx.lifecycle.compiler) |
| AndroidX Lifecycle Extensions | 2.2.0 (Deprecated) | implementation(q2libs.androidx.lifecycle.extensions) |
| AndroidX Lifecycle ViewModel Compose | 2.7.0 | implementation(q2libs.androidx.lifecycle.viewmodel.compose) |
AndroidX Room
| Library | Version | Implementation |
|---|
| Room Runtime | 2.6.0 | implementation(q2libs.androidx.room.runtime) |
| Room Compiler | 2.6.0 | kapt(q2libs.androidx.room.compiler) |
| Room KTX | 2.6.0 | implementation(q2libs.androidx.room.ktx) |
AndroidX CameraX
| Library | Version | Implementation |
|---|
| CameraX Camera2 | 1.5.0 | implementation(q2libs.androidx.camera.camera2) |
| CameraX Lifecycle | 1.5.0 | implementation(q2libs.androidx.camera.lifecycle) |
| Camera View | 1.0.0-alpha22 | implementation(q2libs.androidx.camera.view) |
AndroidX Compose
| Library | Version | Implementation |
|---|
| Compose BOM | 2024.09.02 | implementation(platform(q2libs.androidx.compose.bom)) |
| Compose Foundation | - | implementation(q2libs.androidx.compose.foundation) |
| Compose UI | - | implementation(q2libs.androidx.compose.ui) |
| Compose UI Graphics | - | implementation(q2libs.androix.compose.ui.graphics) |
| Compose UI Tooling | - | implementation(q2libs.androix.compose.ui.tooling) |
| Compose UI Tooling Preview | - | implementation(q2libs.androix.compose.ui.tooling.preview) |
| Compose UI Test Manifest | - | implementation(q2libs.androix.compose.ui.test.manifest) |
| Compose UI Test JUnit4 | - | implementation(q2libs.androix.compose.ui.test.junit4) |
| Compose Runtime LiveData | - | implementation(q2libs.androidx.compose.runtime.livedata) |
| Material3 | - | implementation(q2libs.material3) |
| Material3 Adaptive | - | implementation(q2libs.androidx.compose.material3.adpative) |
| Activity Compose | 1.8.2 | implementation(q2libs.activity.compose) |
Google Libraries
| Library | Version | Implementation |
|---|
| Material | 1.10.0 | implementation(q2libs.google.material) |
| GSON | 2.10.1 | implementation(q2libs.google.gson) |
| Play Services Vision | 20.1.3 (Deprecated) | implementation(q2libs.google.play.services.vision) |
| ZXing Core | 3.5.1 | implementation(q2libs.google.zxing.core) |
Firebase
| Library | Version | Implementation |
|---|
| Firebase Messaging | 23.3.0 | implementation(q2libs.google.firebase.messaging) |
| Firebase Messaging KTX | 23.3.0 | implementation(q2libs.google.firebase.messaging.ktx) |
| Firebase Instance ID | 21.1.0 | implementation(q2libs.google.firebase.iid) |
| Firebase Core | 21.1.1 | implementation(q2libs.google.firebase.core) |
| Firebase Crashlytics Build Tools | 2.9.9 | implementation(q2libs.google.firebase.crashlytics.buildtools) |
Kotlin & Jetbrains
| Library | Version | Implementation |
|---|
| Kotlinx Coroutines | 1.7.3 | implementation(q2libs.jetbrains.kotlinx.coroutines) |
| Jetbrains Annotations | 20.1.0 | implementation(q2libs.jetbrains.annotations) |
Networking
| Library | Version | Implementation |
|---|
| Retrofit2 | 2.9.0 | implementation(q2libs.retrofit2.retrofit) |
| Retrofit2 Converter GSON | 2.9.0 | implementation(q2libs.retrofit2.converter.gson) |
| Retrofit2 RxJava Adapter | 2.1.0 | implementation(q2libs.retrofit2.adapter.rxjava) |
| OkHttp3 | 4.10.0 | implementation(q2libs.okhttp3.okhttp) |
| OkHttp3 Logging Interceptor | 4.10.0 | implementation(q2libs.okhttp3.logging.interceptor) |
| RxAndroid | 1.2.0 | implementation(q2libs.reactivex.rxandroid) |
Dependency Injection
| Library | Version | Implementation |
|---|
| Dagger | 2.52 | implementation(q2libs.dagger) |
| Dagger Compiler | 2.52 | kapt(q2libs.dagger.compiler) |
| Hilt | 2.52 | implementation(q2libs.hilt) |
| Hilt Compiler | 2.52 | kapt(q2libs.hilt.compiler) |
| Hilt Navigation Compose | 1.2.0 | implementation(q2libs.androidx.hilt.navigation.compose) |
| Glassfish Annotation | 10.0-b28 | implementation(q2libs.glassfish.annotation) |
Dependency Injection (Koin)
| Library | Version | Implementation |
|---|
| Koin Android | 3.4.3 | implementation(q2libs.koin.android) |
| Koin Core | 3.4.3 | implementation(q2libs.koin.core) |
| Koin AndroidX Compose | 3.5.0 | implementation(q2libs.koin.androidx.compose) |
Third-Party Libraries
| Library | Version | Implementation |
|---|
| EventBus | 3.3.1 | implementation(q2libs.eventbus) |
| EventBus Processor | 3.3.1 | kapt(q2libs.eventbus.processor) |
| Commons IO | 2.6 | implementation(q2libs.commons.io) |
| Picasso | 2.8 | implementation(q2libs.picasso) |
| Coil | 2.7.0 | implementation(q2libs.coil) |
| Timber | 5.0.1 | implementation(q2libs.timber) |
| Apache Commons Imaging | 1.0-alpha2 | implementation(q2libs.apache.commons.imaging) |
Q2 SDK Components
| Library | Version | Implementation |
|---|
| Q2 SDK Interfaces | 0.3.5 | implementation(q2libs.q2.sdk.interfaces) |
| Q2 UI Components | 0.1.1 | implementation(q2libs.q2.ui.components) |
Plugin Declarations
| Plugin | ID | Implementation |
|---|
| Android Application | com.android.application | id(q2libs.plugins.android.application) |
| Android Library | com.android.library | id(q2libs.plugins.android.library) |
| Kotlin Android | org.jetbrains.kotlin.android | id(q2libs.plugins.kotlin.android) |
| Kotlin Kapt | org.jetbrains.kotlin.kapt | id(q2libs.plugins.kotlin.kapt) |
| Compose Compiler | org.jetbrains.kotlin.plugin.compose | id(q2libs.plugins.compose.compiler) |
| Hilt | com.google.dagger.hilt.android | id(q2libs.plugins.hilt) |
| Kotlin Parcelize | org.jetbrains.kotlin.plugin.parcelize | id(q2libs.plugins.kotlin.parcelize) |
| Google Services | com.google.gms.google-services | id(q2libs.plugins.google.services) |
| Artifactory | com.jfrog.artifactory | id(q2libs.plugins.artifactory) |
| Kotlin Serialization | org.jetbrains.kotlin.plugin.serialization | id(q2libs.plugins.kotlin.serialization) |
Library Bundles
| Bundle | Libraries | Implementation |
|---|
| Dagger | dagger, glassfish-annotation | implementation(q2libs.bundles.dagger) |
| Retrofit2 | retrofit2-retrofit, retrofit2-converter-gson | implementation(q2libs.bundles.retrofit2) |
| Koin | koin-android, koin-core, koin-androidx-compose | implementation(q2libs.bundles.koin) |