github Gurupreet/ComposeCookBook latest-master
Staging Build

latest release: 2.0.0
pre-releaseone month ago

Rolling staging build of master. This is a debug APK — unminified, debuggable=true, signed with the standard Android debug key — rebuilt and republished on every push to master. For testing only; it is not a production artifact.

Contents as of the Android 15 / Kotlin 2.1 modernization merged on 2026-09-12.

✨ Highlights

  • Kotlin 2.1.20 with the K2 compiler and the org.jetbrains.kotlin.plugin.compose Gradle plugin.
  • Targets Android 15 (SDK 35) with AGP 8.7.3 and Gradle 8.9.
  • Compose BOM (2024.12.01), ExoPlayer 2.x replaced by AndroidX Media3, Coil upgraded to 3.x.
  • Dependency management migrated to a Gradle Version Catalog (libs.versions.toml).
  • Six new demo screens, plus the swipe-to-dismiss list demo completed with delete, archive, and undo.
  • Compose UI tests and Roborazzi screenshot testing added; CI workflows hardened and Dependabot enabled.

🛠️ Toolchain & platform

  • Kotlin 2.1.20 / K2; composeOptions and kotlinCompilerExtensionVersion replaced by the Compose Compiler Gradle plugin.
  • AGP 8.7.3, Gradle 8.9, JDK 17 in CI.
  • compileSdk and targetSdk raised to 35 (Android 15).
  • KSP 2.1.20-1.0.31 for annotation processing.
  • ktfmt 0.22.0.

📦 Libraries

Library Version
Compose BOM 2024.12.01
Compose 1.7.6
Material3 1.3.1
Lifecycle 2.8.7
Navigation Compose 2.8.9
Media3 1.5.1
Coil 3.1.0
Room 2.7.1
Coroutines 1.10.2
Roborazzi 1.46.1
Robolectric 4.14.1
Activity Compose 1.10.1
Core KTX 1.16.0

🎨 New demos

  • Pull-to-Refresh, using Material3 PullToRefreshBox — #209, closes #187
  • Adaptive Layout / Large Screen support across window size classes — #211, closes #190
  • Infinite looping carousel/pager with auto-advance — #212, closes #13
  • Predictive Back gesture, using PredictiveBackHandler — #220, closes #200
  • Contrast-aware Material 3 theme — #221, closes #202
  • Shared Element / Shared Bounds transitions — #222, closes #203

🧪 Testing & CI

  • Compose UI tests added to the tags, carousel, and login modules — #213, refs #68
  • Roborazzi screenshot / golden UI testing — #223, closes #201
  • Workflow hardening: least-privilege tokens, SHA-pinned release action, Gradle wrapper validation — #216, refs #215
  • Dependabot enabled for Gradle and GitHub Actions — #217, refs #215

⚠️ Breaking changes

  • Kotlin 2.x / K2 — remove composeOptions/kotlinCompilerExtensionVersion and apply the org.jetbrains.kotlin.plugin.compose Gradle plugin.
  • Media playback — migrate from ExoPlayer 2.x to the androidx.media3 package and API.
  • Image loading — update from Coil 2.x to the Coil 3.x package and API.
  • Room — switch annotation processing from KAPT to KSP.
  • Dependency coordinates — versions now resolve from gradle/libs.versions.toml, not Versions.kt.

📋 Full changelog

PR Issue Change
#196 closes #182 Upgrade Kotlin to 2.1.20 and adopt the Compose Compiler Gradle plugin
#197 closes #185 Bump compileSdk/targetSdk to 35 (Android 15), AGP 8.7.3, Gradle 8.9
#204 closes #186 Adopt the Compose BOM (2024.12.01) — Compose 1.7.6 / Material3 1.3.1
#205 closes #192 Upgrade AndroidX Lifecycle to 2.8.7
#206 closes #193 Upgrade Navigation Compose to 2.8.9 and adopt type-safe navigation
#207 closes #183 Migrate from ExoPlayer 2.x to AndroidX Media3
#208 closes #191 Upgrade Coil to 3.x
#209 closes #187 Add Pull-to-Refresh demo using Material3 PullToRefreshBox
#210 closes #188 Complete Swipe-to-Dismiss list demo (delete + archive + undo)
#211 closes #190 Add Adaptive Layout / Large Screen support demo
#212 closes #13 Add infinite looping carousel/pager with auto-advance
#213 refs #68 Add Compose UI tests to library modules (tags, carousel, login)
#214 closes #189 Migrate to Gradle Version Catalog (libs.versions.toml)
#216 refs #215 Harden workflows — least-privilege tokens, SHA-pinned release action, wrapper validation
#217 refs #215 Add Dependabot for gradle and github-actions
#219 closes #199 Refresh foundational dependencies to SDK-35 baselines
#220 closes #200 Add Predictive Back gesture demo (PredictiveBackHandler)
#221 closes #202 Add contrast-aware Material 3 theme demo
#222 closes #203 Add Shared Element / Shared Bounds transitions demo
#223 closes #201 Add Roborazzi screenshot / golden UI testing

Still open: #68 (UI tests cover 5 of 31 modules) and #215 (CodeQL and dependency-review workflows pending in #225).

Don't miss a new ComposeCookBook release

NewReleases is sending notifications on new releases.