From 019fee3d44ffd60931302328ac47cbe7008bf3ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 1 Feb 2026 21:21:50 +0100 Subject: [PATCH 01/24] Bump AGP --- build.gradle | 13 +------------ cpd.gradle | 12 ------------ dbinspector-no-op/build.gradle | 7 ++----- dbinspector/build.gradle | 7 ++----- gradle/libs.versions.toml | 5 +---- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 2 -- 7 files changed, 7 insertions(+), 41 deletions(-) delete mode 100644 cpd.gradle diff --git a/build.gradle b/build.gradle index bf43ea73..01467a35 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,6 @@ buildscript { dependencies { classpath libs.tools.gradle classpath libs.kotlin.gradle - classpath libs.cpd classpath libs.detekt.gradle classpath libs.ktlint classpath libs.dokka @@ -29,7 +28,6 @@ allprojects { } subprojects { - apply from: "$rootDir/cpd.gradle" apply from: "$rootDir/detekt.gradle" apply from: "$rootDir/ktlint.gradle" apply from: "$rootDir/dokka.gradle" @@ -65,19 +63,10 @@ task ktlintAll(dependsOn: [ description = "Run Ktlint on all modules" } -task cpdAll(dependsOn: [ - ':dbinspector:cpdCheck', - ':dbinspector-no-op:cpdCheck' -]) { - group = "Verification" - description = "Run CPD on all modules" -} - task runStaticChecks(dependsOn: [ ':lintAll', ':detektAll', - ':ktlintAll', - ':cpdAll' + ':ktlintAll' ]) { group = "Verification" description = "Run static checks on all modules" diff --git a/cpd.gradle b/cpd.gradle deleted file mode 100644 index aa9c4fa9..00000000 --- a/cpd.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply plugin: "cpd" - -cpd { - language = 'kotlin' -} - -cpdCheck { - reports { - xml.enabled = true - } - source = allprojects*.file("src/main/kotlin") -} diff --git a/dbinspector-no-op/build.gradle b/dbinspector-no-op/build.gradle index 5aa5b004..9e9f5b01 100644 --- a/dbinspector-no-op/build.gradle +++ b/dbinspector-no-op/build.gradle @@ -10,18 +10,15 @@ android { defaultConfig { minSdkVersion buildConfig.minSdk targetSdkVersion buildConfig.targetSdk - versionCode releaseConfig.versionCode - versionName releaseConfig.version } buildTypes { debug { - testCoverageEnabled true - debuggable true minifyEnabled false + enableUnitTestCoverage true + enableAndroidTestCoverage true } release { - debuggable false minifyEnabled true proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.txt" } diff --git a/dbinspector/build.gradle b/dbinspector/build.gradle index 4f373177..d05b7307 100644 --- a/dbinspector/build.gradle +++ b/dbinspector/build.gradle @@ -13,18 +13,15 @@ android { defaultConfig { minSdkVersion buildConfig.minSdk targetSdkVersion buildConfig.targetSdk - versionCode releaseConfig.versionCode - versionName releaseConfig.version } buildTypes { debug { - testCoverageEnabled true - debuggable true minifyEnabled false + enableUnitTestCoverage true + enableAndroidTestCoverage true } release { - debuggable false minifyEnabled true proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.txt" } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b40f3f3c..b3115c44 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] dbinspector = "5.4.9" -gradle = "7.3.1" +gradle = "8.13.2" kotlin = "1.7.20" coroutines = "1.7.3" core = "1.9.0" @@ -22,7 +22,6 @@ koin = "3.2.2" detekt = "1.21.0" ktlintplugin = "10.3.0" ktlint = "0.45.2" -cpd = "3.2" dokka = "1.7.20" kover = "0.6.1" jacoco = "0.8.8" @@ -75,8 +74,6 @@ detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", ktlint = { module = "org.jlleitschuh.gradle:ktlint-gradle", version.ref = "ktlintplugin" } -cpd = { module = "de.aaschmid:gradle-cpd-plugin", version.ref = "cpd" } - dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } kover = { module = "org.jetbrains.kotlinx:kover", version.ref = "kover" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661e..2733ed5d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index 448751e1..792f1e5f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,5 +1,3 @@ -enableFeaturePreview("VERSION_CATALOGS") - rootProject.name="DbInspector" include ":dbinspector" From 621b3b5110a9f1a5fa2cf48ff2e6225957b51f2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 1 Feb 2026 21:27:36 +0100 Subject: [PATCH 02/24] Remove ktlint --- build.gradle | 13 +------------ gradle/libs.versions.toml | 4 ---- ktlint.gradle | 7 ------- 3 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 ktlint.gradle diff --git a/build.gradle b/build.gradle index 01467a35..9e182c76 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,6 @@ buildscript { classpath libs.tools.gradle classpath libs.kotlin.gradle classpath libs.detekt.gradle - classpath libs.ktlint classpath libs.dokka classpath libs.protobuf.gradle classpath libs.kover @@ -29,7 +28,6 @@ allprojects { subprojects { apply from: "$rootDir/detekt.gradle" - apply from: "$rootDir/ktlint.gradle" apply from: "$rootDir/dokka.gradle" } @@ -55,18 +53,9 @@ task detektAll(dependsOn: [ description = "Run Detekt on all modules" } -task ktlintAll(dependsOn: [ - ':dbinspector:ktlintCheck', - ':dbinspector-no-op:ktlintCheck' -]) { - group = "Verification" - description = "Run Ktlint on all modules" -} - task runStaticChecks(dependsOn: [ ':lintAll', - ':detektAll', - ':ktlintAll' + ':detektAll' ]) { group = "Verification" description = "Run static checks on all modules" diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b3115c44..deccb91d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -20,8 +20,6 @@ protobuf-core = "3.21.8" protobuf-plugin = "0.9.1" koin = "3.2.2" detekt = "1.21.0" -ktlintplugin = "10.3.0" -ktlint = "0.45.2" dokka = "1.7.20" kover = "0.6.1" jacoco = "0.8.8" @@ -72,8 +70,6 @@ koin-junit5 = { module = "io.insert-koin:koin-test-junit5", version.ref = "koin" detekt-gradle = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" } detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" } -ktlint = { module = "org.jlleitschuh.gradle:ktlint-gradle", version.ref = "ktlintplugin" } - dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } kover = { module = "org.jetbrains.kotlinx:kover", version.ref = "kover" } diff --git a/ktlint.gradle b/ktlint.gradle deleted file mode 100644 index 9424250a..00000000 --- a/ktlint.gradle +++ /dev/null @@ -1,7 +0,0 @@ -apply plugin: "org.jlleitschuh.gradle.ktlint" - -ktlint { - version = libs.versions.ktlint.get() - debug = false - android = true -} \ No newline at end of file From a94312f33efac4ba7781ed954a1e8316334dc5de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 1 Feb 2026 21:28:50 +0100 Subject: [PATCH 03/24] Remove deprecated gradle option --- gradle.properties | 3 +-- sample/build.gradle | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1ab1326b..c45e2186 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,4 @@ org.gradle.jvmargs=-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 android.useAndroidX=true -android.enableJetifier=false -android.disableAutomaticComponentCreation=true \ No newline at end of file +android.enableJetifier=false \ No newline at end of file diff --git a/sample/build.gradle b/sample/build.gradle index 6c48b2cf..df74d5e8 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -47,6 +47,7 @@ android { } buildFeatures { + buildConfig = true viewBinding = true } From 708fb27bf17c75aedcadcb690b592d98e69512c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 1 Feb 2026 21:32:06 +0100 Subject: [PATCH 04/24] Bump build tools, misSdk, compileSdk and targetSdk --- config.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config.gradle b/config.gradle index 9d2cb3ca..af995a19 100644 --- a/config.gradle +++ b/config.gradle @@ -4,10 +4,10 @@ ext { def patch = 9 buildConfig = [ - "minSdk" : 21, - "compileSdk": 33, - "targetSdk" : 33, - "buildTools": "33.0.0" + "minSdk" : 24, + "compileSdk": 36, + "targetSdk" : 36, + "buildTools": "35.0.0" ] releaseConfig = [ "group" : "com.infinum.dbinspector", From 97371c305deff7e1b95181b202dfc709be3abb88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 1 Feb 2026 21:39:01 +0100 Subject: [PATCH 05/24] Use locally build libs in sample app --- dbinspector/build.gradle | 1 + sample/build.gradle | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dbinspector/build.gradle b/dbinspector/build.gradle index d05b7307..b2516bf9 100644 --- a/dbinspector/build.gradle +++ b/dbinspector/build.gradle @@ -88,6 +88,7 @@ android { } buildFeatures { + buildConfig = true viewBinding true } diff --git a/sample/build.gradle b/sample/build.gradle index df74d5e8..5e1ee3dc 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -72,6 +72,8 @@ dependencies { implementation libs.material implementation libs.koin.android - debugImplementation libs.library - releaseImplementation libs.librarynoop + debugImplementation project(":dbinspector") + releaseImplementation project(":dbinspector-no-op") + //debugImplementation libs.library + //releaseImplementation libs.librarynoop } \ No newline at end of file From 792ed884bd022a2e8b176da04161c8792bed38a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 1 Feb 2026 21:41:00 +0100 Subject: [PATCH 06/24] Fix CI flow --- .github/workflows/CI.yml | 40 +--------------------------------------- 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 38825c75..032c119e 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -56,47 +56,9 @@ jobs: - name: Stop Gradle run: ./gradlew --stop - ktlint: - name: ktlint - needs: [ validation ] - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6 - - name: Save Gradle Caches - uses: actions/cache@v4 - with: - path: ~/.gradle/caches/ - key: gradle-caches-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - gradle-caches-${{ runner.os }}- - - name: ktlint - run: ./gradlew ktlintAll - - name: Stop Gradle - run: ./gradlew --stop - - cpd: - name: CPD - needs: [ validation ] - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6 - - name: Save Gradle Caches - uses: actions/cache@v4 - with: - path: ~/.gradle/caches/ - key: gradle-caches-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - gradle-caches-${{ runner.os }}- - - name: CPD - run: ./gradlew cpdAll - - name: Stop Gradle - run: ./gradlew --stop - tests: name: Tests - needs: [ validation, lint, detekt, ktlint, cpd ] + needs: [ validation, lint, detekt ] runs-on: ubuntu-latest steps: - name: Checkout From f72d3f0cc13a250ac779075874d332f52c83db82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 1 Feb 2026 21:41:50 +0100 Subject: [PATCH 07/24] Bump dependencies --- gradle/libs.versions.toml | 50 +++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index deccb91d..9a30bc52 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,34 +1,34 @@ [versions] dbinspector = "5.4.9" gradle = "8.13.2" -kotlin = "1.7.20" -coroutines = "1.7.3" -core = "1.9.0" -appcompat = "1.5.1" -activity = "1.6.0" -fragment = "1.5.3" -lifecycle = "2.5.1" -viewpager = "1.0.0" -paging = "3.1.1" -recyclerview = "1.2.1" -startup = "1.1.1" -swiperefresh = "1.1.0" -datastore = "1.0.0" -dynamicanimation = "1.0.0" -design = "1.7.0" -protobuf-core = "3.21.8" -protobuf-plugin = "0.9.1" -koin = "3.2.2" -detekt = "1.21.0" -dokka = "1.7.20" +kotlin = "2.2.21" +coroutines = "1.10.2" +core = "1.17.0" +appcompat = "1.7.1" +activity = "1.12.3" +fragment = "1.8.9" +lifecycle = "2.10.0" +viewpager = "1.1.0" +paging = "3.4.0" +recyclerview = "1.4.0" +startup = "1.2.0" +swiperefresh = "1.2.0" +datastore = "1.2.0" +dynamicanimation = "1.1.0" +design = "1.13.0" +protobuf-core = "4.33.5" +protobuf-plugin = "0.9.6" +koin = "4.1.1" +detekt = "1.23.8" +dokka = "2.1.0" kover = "0.6.1" jacoco = "0.8.8" intellij = "1.0.647" -junit5 = "5.9.1" -mockk = "1.13.2" -mockito = "4.8.1" -mockitokotlin = "4.0.0" -turbine = "1.0.0" +junit5 = "6.0.2" +mockk = "1.14.9" +mockito = "5.21.0" +mockitokotlin = "6.2.3" +turbine = "1.2.1" [libraries] library = { module = "com.infinum.dbinspector:dbinspector", version.ref = "dbinspector" } From 87371be89454c5386a95f94fab7897122b2247fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 1 Feb 2026 21:43:55 +0100 Subject: [PATCH 08/24] Fix compile warning for default param property --- dbinspector-no-op/build.gradle | 3 ++- dbinspector/build.gradle | 3 ++- sample/build.gradle | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dbinspector-no-op/build.gradle b/dbinspector-no-op/build.gradle index 9e9f5b01..1eb89e8f 100644 --- a/dbinspector-no-op/build.gradle +++ b/dbinspector-no-op/build.gradle @@ -36,7 +36,8 @@ android { jvmTarget = JavaVersion.VERSION_1_8.toString() freeCompilerArgs += [ '-Xexplicit-api=strict', - '-Xjvm-default=all' + '-Xjvm-default=all', + '-Xannotation-default-target=param-property' ] } diff --git a/dbinspector/build.gradle b/dbinspector/build.gradle index b2516bf9..4ffcab05 100644 --- a/dbinspector/build.gradle +++ b/dbinspector/build.gradle @@ -44,7 +44,8 @@ android { freeCompilerArgs += [ '-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', '-Xexplicit-api=strict', - '-Xjvm-default=all' + '-Xjvm-default=all', + '-Xannotation-default-target=param-property' ] } diff --git a/sample/build.gradle b/sample/build.gradle index 5e1ee3dc..552c62ac 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -57,6 +57,7 @@ android { } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() + freeCompilerArgs += '-Xannotation-default-target=param-property' } sourceSets.forEach { From 311120b868a9e32d4edafcb14798136d70869a82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 1 Feb 2026 21:45:59 +0100 Subject: [PATCH 09/24] Fix VM deprecated package warning --- .../src/main/kotlin/com/infinum/dbinspector/ui/Presentation.kt | 2 +- .../main/kotlin/com/infinum/dbinspector/sample/DbSampleApp.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dbinspector/src/main/kotlin/com/infinum/dbinspector/ui/Presentation.kt b/dbinspector/src/main/kotlin/com/infinum/dbinspector/ui/Presentation.kt index eefa251e..0f0b1340 100644 --- a/dbinspector/src/main/kotlin/com/infinum/dbinspector/ui/Presentation.kt +++ b/dbinspector/src/main/kotlin/com/infinum/dbinspector/ui/Presentation.kt @@ -22,7 +22,7 @@ import com.infinum.dbinspector.ui.schema.tables.TablesViewModel import com.infinum.dbinspector.ui.schema.triggers.TriggersViewModel import com.infinum.dbinspector.ui.schema.views.ViewsViewModel import com.infinum.dbinspector.ui.settings.SettingsViewModel -import org.koin.androidx.viewmodel.dsl.viewModel +import org.koin.core.module.dsl.viewModel import org.koin.core.module.Module import org.koin.dsl.module diff --git a/sample/src/main/kotlin/com/infinum/dbinspector/sample/DbSampleApp.kt b/sample/src/main/kotlin/com/infinum/dbinspector/sample/DbSampleApp.kt index 0523e123..f01e5494 100644 --- a/sample/src/main/kotlin/com/infinum/dbinspector/sample/DbSampleApp.kt +++ b/sample/src/main/kotlin/com/infinum/dbinspector/sample/DbSampleApp.kt @@ -5,7 +5,7 @@ import com.infinum.dbinspector.sample.data.AssetsDatabaseProvider import com.infinum.dbinspector.sample.data.DatabaseProvider import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger -import org.koin.androidx.viewmodel.dsl.viewModel +import org.koin.core.module.dsl.viewModel import org.koin.core.context.startKoin import org.koin.core.logger.Level import org.koin.dsl.module From 0e55a8038f41e717db077e8f4e4588e32075e0a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Mon, 2 Feb 2026 21:50:04 +0100 Subject: [PATCH 10/24] Fix detekt --- .../infinum/dbinspector/domain/shared/models/dsl/Select.kt | 4 +--- .../dbinspector/domain/shared/models/dsl/conditions/Eq.kt | 4 ++-- .../dbinspector/domain/shared/models/dsl/conditions/Like.kt | 6 ++---- .../kotlin/com/infinum/dbinspector/extensions/ByteArray.kt | 6 +++--- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/Select.kt b/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/Select.kt index 36c11c04..7182f90b 100644 --- a/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/Select.kt +++ b/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/Select.kt @@ -35,9 +35,7 @@ internal class Select { fun orderBy(sort: Sort, vararg columns: String?) { this.orderByDirection = sort - if (columns.isEmpty()) { - throw IllegalArgumentException("At least one column should be defined") - } + require(columns.isNotEmpty()) { "At least one column should be defined" } if (this.orderByColumns.isNotEmpty()) { error("Detected an attempt to re-define ORDER BY columns.") } diff --git a/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/conditions/Eq.kt b/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/conditions/Eq.kt index 9a047327..3644580b 100644 --- a/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/conditions/Eq.kt +++ b/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/conditions/Eq.kt @@ -8,8 +8,8 @@ internal class Eq( ) : Condition() { init { - if (value != null && value !is Number && value !is String) { - throw IllegalArgumentException("Only null, number and string values can be used in the 'WHERE' clause") + require(value == null || value is Number || value is String) { + "Only null, number and string values can be used in the 'WHERE' clause" } } diff --git a/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/conditions/Like.kt b/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/conditions/Like.kt index 1289aaf8..dd239b2e 100644 --- a/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/conditions/Like.kt +++ b/dbinspector/src/main/kotlin/com/infinum/dbinspector/domain/shared/models/dsl/conditions/Like.kt @@ -8,10 +8,8 @@ internal class Like( ) : Condition() { init { - val isNotNumber = value !is Number - val isNotString = value !is String - if (isNotNumber && isNotString) { - throw IllegalArgumentException("Only number and string values can be used in the 'LIKE' condition") + require(value is Number || value is String) { + "Only number and string values can be used in the 'LIKE' condition" } } diff --git a/dbinspector/src/main/kotlin/com/infinum/dbinspector/extensions/ByteArray.kt b/dbinspector/src/main/kotlin/com/infinum/dbinspector/extensions/ByteArray.kt index 766b1507..504347b1 100644 --- a/dbinspector/src/main/kotlin/com/infinum/dbinspector/extensions/ByteArray.kt +++ b/dbinspector/src/main/kotlin/com/infinum/dbinspector/extensions/ByteArray.kt @@ -26,7 +26,7 @@ internal fun ByteArray.toHexString(): String { return buffer.toString() } -@Suppress("MagicNumber") +@Suppress("MagicNumber", "UnusedPrivateProperty") internal fun ByteArray.toBase64String(): String { val table = (CharRange('A', 'Z') + CharRange('a', 'z') + CharRange('0', '9') + '+' + '/').toCharArray() val output = ByteArrayOutputStream() @@ -36,14 +36,14 @@ internal fun ByteArray.toBase64String(): String { var b = this[position].toInt() and 0xFF shl 16 and 0xFFFFFF if (position + 1 < this.size) b = b or (this[position + 1].toInt() and 0xFF shl 8) else padding++ if (position + 2 < this.size) b = b or (this[position + 2].toInt() and 0xFF) else padding++ - (0 until 4 - padding).forEach { _ -> + for (i in 0 until 4 - padding) { val c = b and 0xFC0000 shr 18 output.write(table[c].code) b = b shl 6 } position += 3 } - (0 until padding).forEach { _ -> + for (i in 0 until padding) { output.write('='.code) } return String(output.toByteArray()) From a3076f08640dba302386468fb38e3f68871adf05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Mon, 2 Feb 2026 22:05:03 +0100 Subject: [PATCH 11/24] Fix edge to edge --- .../com/infinum/dbinspector/ui/shared/base/BaseActivity.kt | 2 ++ .../src/main/res/layout/dbinspector_activity_content.xml | 3 ++- .../src/main/res/layout/dbinspector_activity_databases.xml | 3 ++- dbinspector/src/main/res/layout/dbinspector_activity_edit.xml | 3 ++- .../src/main/res/layout/dbinspector_activity_edit_database.xml | 3 ++- .../src/main/res/layout/dbinspector_activity_pragma.xml | 1 + .../src/main/res/layout/dbinspector_activity_schema.xml | 1 + .../src/main/res/layout/dbinspector_activity_settings.xml | 3 ++- .../main/kotlin/com/infinum/dbinspector/sample/MainActivity.kt | 2 ++ sample/src/main/res/layout/activity_main.xml | 1 + 10 files changed, 17 insertions(+), 5 deletions(-) diff --git a/dbinspector/src/main/kotlin/com/infinum/dbinspector/ui/shared/base/BaseActivity.kt b/dbinspector/src/main/kotlin/com/infinum/dbinspector/ui/shared/base/BaseActivity.kt index ee3d691e..50c9b01e 100644 --- a/dbinspector/src/main/kotlin/com/infinum/dbinspector/ui/shared/base/BaseActivity.kt +++ b/dbinspector/src/main/kotlin/com/infinum/dbinspector/ui/shared/base/BaseActivity.kt @@ -1,6 +1,7 @@ package com.infinum.dbinspector.ui.shared.base import android.os.Bundle +import androidx.activity.enableEdgeToEdge import androidx.annotation.CallSuper import androidx.annotation.RestrictTo import androidx.appcompat.app.AppCompatActivity @@ -16,6 +17,7 @@ internal abstract class BaseActivity : AppCompatActivity(), BaseVi @CallSuper override fun onCreate(savedInstanceState: Bundle?) { + enableEdgeToEdge() super.onCreate(savedInstanceState) WindowInsetsControllerCompat(window, window.decorView).isAppearanceLightStatusBars = false diff --git a/dbinspector/src/main/res/layout/dbinspector_activity_content.xml b/dbinspector/src/main/res/layout/dbinspector_activity_content.xml index 2b254a66..671442fb 100644 --- a/dbinspector/src/main/res/layout/dbinspector_activity_content.xml +++ b/dbinspector/src/main/res/layout/dbinspector_activity_content.xml @@ -1,7 +1,8 @@ + android:layout_height="match_parent" + android:fitsSystemWindows="true"> + android:layout_height="match_parent" + android:fitsSystemWindows="true"> + android:layout_height="match_parent" + android:fitsSystemWindows="true"> + android:layout_height="match_parent" + android:fitsSystemWindows="true"> + android:layout_height="match_parent" + android:fitsSystemWindows="true"> Date: Wed, 4 Feb 2026 19:50:58 +0100 Subject: [PATCH 12/24] Update JVM compatibility to 17 --- dbinspector-no-op/build.gradle | 6 +++--- dbinspector/build.gradle | 6 +++--- sample/build.gradle | 10 +++------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/dbinspector-no-op/build.gradle b/dbinspector-no-op/build.gradle index 1eb89e8f..7d74d226 100644 --- a/dbinspector-no-op/build.gradle +++ b/dbinspector-no-op/build.gradle @@ -28,12 +28,12 @@ android { resourcePrefix "dbinspector_" compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = JavaVersion.VERSION_17.toString() freeCompilerArgs += [ '-Xexplicit-api=strict', '-Xjvm-default=all', diff --git a/dbinspector/build.gradle b/dbinspector/build.gradle index 4ffcab05..a1f39f73 100644 --- a/dbinspector/build.gradle +++ b/dbinspector/build.gradle @@ -35,12 +35,12 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = JavaVersion.VERSION_17.toString() freeCompilerArgs += [ '-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', '-Xexplicit-api=strict', diff --git a/sample/build.gradle b/sample/build.gradle index 552c62ac..6aa5afe2 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -28,8 +28,8 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } buildTypes { @@ -51,12 +51,8 @@ android { viewBinding = true } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = JavaVersion.VERSION_17.toString() freeCompilerArgs += '-Xannotation-default-target=param-property' } From f641b58696bbcb161ac8c8cc4a0c1dde1be26625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Wed, 4 Feb 2026 19:57:08 +0100 Subject: [PATCH 13/24] Downgrade Junit to avoid conflict with koin-junit --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9a30bc52..b6296c9e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,7 +24,7 @@ dokka = "2.1.0" kover = "0.6.1" jacoco = "0.8.8" intellij = "1.0.647" -junit5 = "6.0.2" +junit5 = "5.11.2" mockk = "1.14.9" mockito = "5.21.0" mockitokotlin = "6.2.3" From 8b8e602a088144f43e8457f4c7179980146ae72f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 19:04:22 +0000 Subject: [PATCH 14/24] Initial plan From 473a24c4b2fa8dc44c7a98f00e24617beff2690e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 19:07:03 +0000 Subject: [PATCH 15/24] Fix DatabasesActivity crash in no-op version by calling finish() in onCreate() Co-authored-by: KCeh <20267231+KCeh@users.noreply.github.com> --- .../dbinspector/ui/databases/DatabasesActivity.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dbinspector-no-op/src/main/kotlin/com/infinum/dbinspector/ui/databases/DatabasesActivity.kt b/dbinspector-no-op/src/main/kotlin/com/infinum/dbinspector/ui/databases/DatabasesActivity.kt index c61639b4..a90073d2 100644 --- a/dbinspector-no-op/src/main/kotlin/com/infinum/dbinspector/ui/databases/DatabasesActivity.kt +++ b/dbinspector-no-op/src/main/kotlin/com/infinum/dbinspector/ui/databases/DatabasesActivity.kt @@ -1,5 +1,12 @@ package com.infinum.dbinspector.ui.databases import android.app.Activity +import android.os.Bundle -internal class DatabasesActivity : Activity() +internal class DatabasesActivity : Activity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + finish() + } +} From 2fb535caffab6adbfc28c7b738a48c5ce74fbed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Thu, 5 Feb 2026 19:53:22 +0100 Subject: [PATCH 16/24] Bump version --- config.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config.gradle b/config.gradle index af995a19..eb888483 100644 --- a/config.gradle +++ b/config.gradle @@ -1,7 +1,7 @@ ext { - def major = 5 - def minor = 4 - def patch = 9 + def major = 6 + def minor = 0 + def patch = 0 buildConfig = [ "minSdk" : 24, From 39909d0d72f1feb8556a1120d0f2f0f10c7218f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 8 Feb 2026 16:12:48 +0100 Subject: [PATCH 17/24] Refactor deprecated kotlin options --- dbinspector-no-op/build.gradle | 18 +++++++++++------- dbinspector/build.gradle | 20 ++++++++++++-------- sample/build.gradle | 12 +++++++++--- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/dbinspector-no-op/build.gradle b/dbinspector-no-op/build.gradle index 7d74d226..b7917ce6 100644 --- a/dbinspector-no-op/build.gradle +++ b/dbinspector-no-op/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id "com.android.library" id "kotlin-android" @@ -32,13 +34,15 @@ android { targetCompatibility JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - freeCompilerArgs += [ - '-Xexplicit-api=strict', - '-Xjvm-default=all', - '-Xannotation-default-target=param-property' - ] + kotlin { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_17) + freeCompilerArgs.addAll([ + '-Xexplicit-api=strict', + '-Xjvm-default=all', + '-Xannotation-default-target=param-property' + ]) + } } sourceSets.each { diff --git a/dbinspector/build.gradle b/dbinspector/build.gradle index a1f39f73..c867de56 100644 --- a/dbinspector/build.gradle +++ b/dbinspector/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id "com.android.library" id "kotlin-android" @@ -39,14 +41,16 @@ android { targetCompatibility JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - freeCompilerArgs += [ - '-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', - '-Xexplicit-api=strict', - '-Xjvm-default=all', - '-Xannotation-default-target=param-property' - ] + kotlin { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_17) + freeCompilerArgs.addAll([ + '-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', + '-Xexplicit-api=strict', + '-Xjvm-default=all', + '-Xannotation-default-target=param-property' + ]) + } } testOptions { diff --git a/sample/build.gradle b/sample/build.gradle index 6aa5afe2..3a99b0b7 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id "com.android.application" id "kotlin-android" @@ -51,9 +53,13 @@ android { viewBinding = true } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - freeCompilerArgs += '-Xannotation-default-target=param-property' + kotlin { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_17) + freeCompilerArgs.addAll([ + '-Xannotation-default-target=param-property' + ]) + } } sourceSets.forEach { From 09d1b73b4c122cb2257267699874c720ac1533c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 8 Feb 2026 16:20:33 +0100 Subject: [PATCH 18/24] Update dokka for publishing tasks --- dbinspector-no-op/publish.gradle | 6 +++--- dbinspector/publish.gradle | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dbinspector-no-op/publish.gradle b/dbinspector-no-op/publish.gradle index 132cb156..02f73477 100644 --- a/dbinspector-no-op/publish.gradle +++ b/dbinspector-no-op/publish.gradle @@ -6,9 +6,9 @@ task sourcesJar(type: Jar) { from android.sourceSets.main.kotlin.srcDirs } -task javadocsJar(type: Jar, dependsOn: "dokkaJavadoc") { - archiveClassifier.set("javadoc") - from dokkaJavadoc.outputDirectory +task javadocsJar(type: Jar, dependsOn: "dokkaGenerate") { + getArchiveClassifier().set("javadoc") + from layout.buildDirectory.dir("javadoc") } afterEvaluate { diff --git a/dbinspector/publish.gradle b/dbinspector/publish.gradle index 0ff3e9da..80e663b1 100644 --- a/dbinspector/publish.gradle +++ b/dbinspector/publish.gradle @@ -6,9 +6,9 @@ task sourcesJar(type: Jar) { from android.sourceSets.main.kotlin.srcDirs } -task javadocsJar(type: Jar, dependsOn: "dokkaJavadoc") { - archiveClassifier.set("javadoc") - from dokkaJavadoc.outputDirectory +task javadocsJar(type: Jar, dependsOn: "dokkaGenerate") { + getArchiveClassifier().set("javadoc") + from layout.buildDirectory.dir("javadoc") } afterEvaluate { From 02d4d9a4406b8fd8120aa854b6f0f95bdabc95dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 8 Feb 2026 17:21:58 +0100 Subject: [PATCH 19/24] Update changelog --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8302e977..6265e5b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,17 @@ Changelog ========= +## Version 6.0.0 + +_2026-02-10_ + +* minSdk bumped to 24 +* Compile with SDK 36 +* Update Kotlin to 2.2.21. +* Update dependencies to stable version. +* Fix edge-to-edge +* Fix edge case no-op DatabasesActivity crash + ## Version 5.4.9 _2022-10-21_ From 144e9aefea5e661695347d09b663ac4dc6ee4633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Sun, 8 Feb 2026 17:31:40 +0100 Subject: [PATCH 20/24] Add test output to console --- dbinspector/build.gradle | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dbinspector/build.gradle b/dbinspector/build.gradle index c867de56..5dae4e9a 100644 --- a/dbinspector/build.gradle +++ b/dbinspector/build.gradle @@ -56,6 +56,14 @@ android { testOptions { unitTests.returnDefaultValues = true unitTests.all { + testLogging { + events "passed", "skipped", "failed", "standardOut", "standardError" + exceptionFormat "full" + showExceptions true + showCauses true + showStackTraces true + } + kover { enabled = name == "testDebugUnitTest" includes = [ From 96cb14c4330fcfbf1f9e74926fcae0ecdd159dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Mon, 9 Feb 2026 19:05:31 +0100 Subject: [PATCH 21/24] Bump versions in readme --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fe6c8c33..e11a8632 100644 --- a/README.md +++ b/README.md @@ -60,13 +60,13 @@ Then add the following dependencies in your app `build.gradle` or `build.gradle. **Groovy** ```groovy -debugImplementation "com.infinum.dbinspector:dbinspector:5.4.9" -releaseImplementation "com.infinum.dbinspector:dbinspector-no-op:5.4.9" +debugImplementation "com.infinum.dbinspector:dbinspector:6.0.0" +releaseImplementation "com.infinum.dbinspector:dbinspector-no-op:6.0.0" ``` **KotlinDSL** ```kotlin -debugImplementation("com.infinum.dbinspector:dbinspector:5.4.9") -releaseImplementation("com.infinum.dbinspector:dbinspector-no-op:5.4.9") +debugImplementation("com.infinum.dbinspector:dbinspector:6.0.0") +releaseImplementation("com.infinum.dbinspector:dbinspector-no-op:6.0.0") ``` ## Usage From deba8bf03d32154d4ef3e34d1cab53f4fa59697c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Mon, 9 Feb 2026 19:13:25 +0100 Subject: [PATCH 22/24] Bump db inspector version in libs.versions file --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b6296c9e..77da5ed3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -dbinspector = "5.4.9" +dbinspector = "6.0.0" gradle = "8.13.2" kotlin = "2.2.21" coroutines = "1.10.2" From cf16dd8061ceb0c2be466ebd598646479be58dc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Mon, 9 Feb 2026 20:06:45 +0100 Subject: [PATCH 23/24] Update publishing config --- .../infinum/maven/GithubConfiguration.groovy | 41 ------------------- dbinspector-no-op/publish.gradle | 22 ++++------ dbinspector/publish.gradle | 22 ++++------ maven.gradle | 8 ---- 4 files changed, 14 insertions(+), 79 deletions(-) delete mode 100644 buildSrc/src/main/groovy/com/infinum/maven/GithubConfiguration.groovy diff --git a/buildSrc/src/main/groovy/com/infinum/maven/GithubConfiguration.groovy b/buildSrc/src/main/groovy/com/infinum/maven/GithubConfiguration.groovy deleted file mode 100644 index f569f743..00000000 --- a/buildSrc/src/main/groovy/com/infinum/maven/GithubConfiguration.groovy +++ /dev/null @@ -1,41 +0,0 @@ -package com.infinum.maven - -import com.infinum.maven.shared.BaseConfiguration - -class GithubConfiguration implements BaseConfiguration { - - private Properties properties = new Properties() - - @Override - void load() { - File file = new File("publish.properties") - if (file.exists()) { - properties.load(new FileInputStream(file)) - } else { - properties.setProperty("github.name", "") - properties.setProperty("github.url", "") - properties.setProperty("github.user", "") - properties.setProperty("github.token", "") - } - } - - @Override - String name() { - return properties.getProperty("github.name").toString() - } - - @Override - String url() { - return properties.getProperty("github.url").toString() - } - - @Override - String username() { - return properties.getProperty("github.user").toString() - } - - @Override - String password() { - return properties.getProperty("github.token").toString() - } -} \ No newline at end of file diff --git a/dbinspector-no-op/publish.gradle b/dbinspector-no-op/publish.gradle index 02f73477..e93303bd 100644 --- a/dbinspector-no-op/publish.gradle +++ b/dbinspector-no-op/publish.gradle @@ -22,14 +22,6 @@ afterEvaluate { password sonatype.password() } } - maven { - name github.name() - url github.url() - credentials { - username github.username() - password github.password() - } - } } publications { release(MavenPublication) { @@ -52,15 +44,15 @@ afterEvaluate { url = "https://github.com/infinum/android_dbinspector/blob/master/LICENSE" } } + organization { + name = 'Infinum Inc.' + url = 'https://infinum.com' + } developers { developer { - id = "reisub" - name = "Dino Kovač" - } - developer { - id = "knobtviker" - name = "Bojan Komljenović" - email = "bojan.komljenovic@infinum.com" + id = 'Infinum' + name = 'Infinum Inc.' + url = 'https://infinum.com' } } scm { diff --git a/dbinspector/publish.gradle b/dbinspector/publish.gradle index 80e663b1..62d73601 100644 --- a/dbinspector/publish.gradle +++ b/dbinspector/publish.gradle @@ -22,14 +22,6 @@ afterEvaluate { password sonatype.password() } } - maven { - name github.name() - url github.url() - credentials { - username github.username() - password github.password() - } - } } publications { release(MavenPublication) { @@ -52,15 +44,15 @@ afterEvaluate { url = "https://github.com/infinum/android_dbinspector/blob/master/LICENSE" } } + organization { + name = 'Infinum Inc.' + url = 'https://infinum.com' + } developers { developer { - id = "reisub" - name = "Dino Kovač" - } - developer { - id = "knobtviker" - name = "Bojan Komljenović" - email = "bojan.komljenovic@infinum.com" + id = 'Infinum' + name = 'Infinum Inc.' + url = 'https://infinum.com' } } scm { diff --git a/maven.gradle b/maven.gradle index 86ff46d1..79d8b9ae 100644 --- a/maven.gradle +++ b/maven.gradle @@ -1,12 +1,5 @@ -import com.infinum.maven.GithubConfiguration import com.infinum.maven.SonatypeConfiguration -GithubConfiguration.metaClass.constructor = { -> - def constructor = GithubConfiguration.class.getConstructor() - def instance = constructor.newInstance() - instance.load() - instance -} SonatypeConfiguration.metaClass.constructor = { -> def constructor = SonatypeConfiguration.class.getConstructor() @@ -16,6 +9,5 @@ SonatypeConfiguration.metaClass.constructor = { -> } ext { - github = new GithubConfiguration() sonatype = new SonatypeConfiguration() } \ No newline at end of file From 4c5e369be1f21768f77339a76cfcda5890b10f99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20=C4=8Ceh?= Date: Mon, 9 Feb 2026 20:24:34 +0100 Subject: [PATCH 24/24] Fix changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6265e5b5..95ba84c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ Changelog ## Version 6.0.0 -_2026-02-10_ +_2026-02-09_ * minSdk bumped to 24 * Compile with SDK 36