From 01b5620c87ae3833484a0d7049389fe7c1f2055f Mon Sep 17 00:00:00 2001 From: JakubMrozek Date: Sat, 23 May 2026 10:51:06 +0200 Subject: [PATCH 1/2] Prepare release 0.0.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lower minSdk from 26 to 24 (Android 8.0 Oreo → 7.0 Nougat). No code requires API 26; widens device coverage for consuming SDKs. IAB OMID AAR merges cleanly at minSdk 24. No public API changes. Co-Authored-By: Claude Opus 4.7 --- CHANGELOG.md | 6 ++++++ CLAUDE.md | 2 +- build.gradle.kts | 2 +- gradle/libs.versions.toml | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c618579..84ce965 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.0.7 + +Lower `minSdk` from 26 to 24. + +* `minSdk` 26 → 24 (Android 8.0 Oreo → Android 7.0 Nougat). Nothing in KontextKit requires API 26 — no `@RequiresApi` gates and no `java.time` usage (`InstallIdProvider` uses only `SecureRandom` / `UUID` / `currentTimeMillis`) — so the floor is lowered to widen device coverage for consuming SDKs. The bundled IAB OMID AAR merges cleanly at `minSdk 24` (no `tools:overrideLibrary` needed). No public API changes. + ## 0.0.6 IAB OMID AAR redistribution — consumers can now resolve `so.kontext.kit:kontext-kit-android` from Maven Central without vendoring the IAB OMID AAR locally. diff --git a/CLAUDE.md b/CLAUDE.md index b28d118..3f33a99 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -70,7 +70,7 @@ Versioning: semver. The published version is set via `gradle/libs.versions.toml` ## Conventions -- **Kotlin 1.9.22**, JDK 17, AGP 8.2.0, `compileSdk = 34`, `minSdk = 26`. AndroidX-only (Jetifier off). +- **Kotlin 1.9.22**, JDK 17, AGP 8.2.0, `compileSdk = 34`, `minSdk = 24`. AndroidX-only (Jetifier off). - **`explicitApi()` mode is on** — every top-level and class member must spell out its visibility (`public` / `internal` / `private`) and public functions need an explicit return type. Catches accidentally-public helpers before they become committed surface area. - **No comments** unless the why is non-obvious (hidden constraint, subtle invariant, workaround for a specific bug, behavior that would surprise a reader). Don't ref PRs or tickets in code. - **OMID AAR is loaded reflectively** by `OmManager` — it isn't declared as a Gradle dep because AAR transform fails in CI unit tests. Consuming apps wire the AAR in their own build. diff --git a/build.gradle.kts b/build.gradle.kts index dd0697b..a7e3c74 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -21,7 +21,7 @@ android { namespace = "so.kontext.kit" compileSdk = 34 defaultConfig { - minSdk = 26 + minSdk = 24 } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d62bb06..59cd476 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,7 +14,7 @@ # `./gradlew publish -PkitVersion=1.1.0` so CI can cut releases # without bumping this file. Consumed by build.gradle.kts as the # fallback when the `kitVersion` Gradle property is absent. -kit = "0.0.6" +kit = "0.0.7" # ---- Build tooling ---- agp = "8.7.3" # Android Gradle Plugin From 3c50fe93c3e3898eb79f46a754b3376b60bd2a68 Mon Sep 17 00:00:00 2001 From: JakubMrozek Date: Sat, 23 May 2026 10:54:41 +0200 Subject: [PATCH 2/2] docs(CLAUDE): fix stale toolchain versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kotlin 1.9.22 → 2.1.0 and AGP 8.2.0 → 8.7.3 in the Conventions line — the build has been on these since 0.0.5 (libs.versions.toml). Co-Authored-By: Claude Opus 4.7 --- CLAUDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 3f33a99..f641e19 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -70,7 +70,7 @@ Versioning: semver. The published version is set via `gradle/libs.versions.toml` ## Conventions -- **Kotlin 1.9.22**, JDK 17, AGP 8.2.0, `compileSdk = 34`, `minSdk = 24`. AndroidX-only (Jetifier off). +- **Kotlin 2.1.0**, JDK 17, AGP 8.7.3, `compileSdk = 34`, `minSdk = 24`. AndroidX-only (Jetifier off). - **`explicitApi()` mode is on** — every top-level and class member must spell out its visibility (`public` / `internal` / `private`) and public functions need an explicit return type. Catches accidentally-public helpers before they become committed surface area. - **No comments** unless the why is non-obvious (hidden constraint, subtle invariant, workaround for a specific bug, behavior that would surprise a reader). Don't ref PRs or tickets in code. - **OMID AAR is loaded reflectively** by `OmManager` — it isn't declared as a Gradle dep because AAR transform fails in CI unit tests. Consuming apps wire the AAR in their own build.