Update all dependencies to March 2026 versions

Major version bumps:
- AGP 8.7.3 → 9.1.0 (remove kotlin-android plugin, now built-in)
- Kotlin 2.0.21 → 2.3.20
- Gradle 8.9 → 9.4.0
- Compose BOM 2024.12.01 → 2026.03.00
- compileSdk/targetSdk 35 → 36

Library updates:
- core-ktx 1.15.0 → 1.18.0
- lifecycle 2.8.7 → 2.10.0
- activity-compose 1.9.3 → 1.13.0
- CameraX 1.4.1 → 1.5.1
- exifinterface 1.3.7 → 1.4.2

AGP 9 migration: removed org.jetbrains.kotlin.android plugin (Kotlin
support is now built into AGP), removed kotlinOptions block (JVM
target handled by compileOptions).

Bump version to 1.1.4.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2026-03-18 17:46:37 +01:00
commit 5b9aedd109
6 changed files with 15 additions and 22 deletions

View file

@ -99,5 +99,5 @@ Bitmaps emitted to `StateFlow`s are **never eagerly recycled** immediately after
## Known limitations / future work ## Known limitations / future work
- `minSdk = 35` (Android 15) — intentional for personal use. Lower to 26-29 if distributing. - `minSdk = 35` (Android 15) — intentional for personal use. Lower to 26-29 if distributing.
- Dependencies are pinned to late-2024 versions; periodic bumps recommended. - Dependencies updated to March 2026 versions (AGP 9.1, Kotlin 2.3, Compose BOM 2026.03).
- Fragment shader uses `int` uniform branching in GLSL ES 1.00 — works but could be cleaner with ES 3.00. - Fragment shader uses `int` uniform branching in GLSL ES 1.00 — works but could be cleaner with ES 3.00.

View file

@ -2,7 +2,6 @@ import java.util.Properties
plugins { plugins {
alias(libs.plugins.android.application) alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.compose)
} }
@ -25,7 +24,7 @@ val vCode = versionProperties["versionCode"].toString().toInt()
android { android {
namespace = "no.naiv.tiltshift" namespace = "no.naiv.tiltshift"
compileSdk = 35 compileSdk = 36
signingConfigs { signingConfigs {
create("release") { create("release") {
@ -42,7 +41,7 @@ android {
defaultConfig { defaultConfig {
applicationId = "no.naiv.tiltshift" applicationId = "no.naiv.tiltshift"
minSdk = 35 minSdk = 35
targetSdk = 35 targetSdk = 36
versionCode = vCode versionCode = vCode
versionName = "$vMajor.$vMinor.$vPatch" versionName = "$vMajor.$vMinor.$vPatch"
@ -70,10 +69,6 @@ android {
targetCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17
} }
kotlinOptions {
jvmTarget = "17"
}
buildFeatures { buildFeatures {
compose = true compose = true
} }

View file

@ -1,6 +1,5 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins { plugins {
alias(libs.plugins.android.application) apply false alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.kotlin.compose) apply false
} }

View file

@ -1,12 +1,12 @@
[versions] [versions]
agp = "8.7.3" agp = "9.1.0"
kotlin = "2.0.21" kotlin = "2.3.20"
coreKtx = "1.15.0" coreKtx = "1.18.0"
lifecycleRuntimeKtx = "2.8.7" lifecycleRuntimeKtx = "2.10.0"
activityCompose = "1.9.3" activityCompose = "1.13.0"
composeBom = "2024.12.01" composeBom = "2026.03.00"
camerax = "1.4.1" camerax = "1.5.1"
exifinterface = "1.3.7" exifinterface = "1.4.2"
playServicesLocation = "21.3.0" playServicesLocation = "21.3.0"
junit = "4.13.2" junit = "4.13.2"
@ -41,5 +41,4 @@ junit = { group = "junit", name = "junit", version.ref = "junit" }
[plugins] [plugins]
android-application = { id = "com.android.application", version.ref = "agp" } android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }

View file

@ -1,5 +1,5 @@
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab distributionSha256Sum=0f6ba231b986276d8221d7a870b4d98e0df76e6daf1f42e7c0baec5032fb7d17
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View file

@ -1,4 +1,4 @@
versionMajor=1 versionMajor=1
versionMinor=1 versionMinor=1
versionPatch=3 versionPatch=4
versionCode=5 versionCode=6