Skip to content

Deps: combine Dependabot #44, #46, #52 (AGP 9.4.1, Gradle 9.8.0, AndroidX) - #53

Merged
Marcogn merged 2 commits into
mainfrom
ccr-e8953616-9km4lf
Oct 18, 2026
Merged

Marcogn merged 2 commits into
mainfrom
ccr-e8953616-9km4lf

Conversation

@Marcogn

@Marcogn Marcogn commented Oct 18, 2026

Copy link
Copy Markdown
Owner

What and why

Supersedes #44, #46 and #52. The three PRs block each other, so none of them can merge alone:

Versions:

  • Gradle 9.8.0. The wrapper was regenerated: the jar is byte-identical to Dependabot's, and distributionSha256Sum was added.
  • AGP 9.4.1, Kotlin 2.4.21, KSP 2.3.12, Compose BOM 2026.09.00.
  • Hilt 2.60.1, Room 2.8.5, core-ktx 1.19.1, navigation 2.10.2, hilt-navigation-compose 1.4.0, appcompat 1.8.0, lifecycle 2.11.0 (already resolved transitively), coroutines/serialization 1.11.0, Robolectric 4.17.

Build changes:

  • Built-in Kotlin (AGP 9). Removed org.jetbrains.kotlin.android. kotlinOptions is now a top-level kotlin { compilerOptions } block. No opt-out properties.
  • SDK levels. compileSdk 37. targetSdk stays 36 and minSdk stays 24.
  • Room schema assets. They use assets.directories.add(...) because srcDirs is deprecated.

Test fix: AnalysisViewModelTest failed intermittently under Room 2.8 with "connection is closed". Its ViewModels were never cleared, so their Room flows ran another query after @After had closed the DB. The new TrackedViewModels test helper puts them in a ViewModelStore, and the store is cleared before the DB is closed. The same change is applied to SurpriseMeViewModelTest.

Reasoning and sources: docs/implementation-decisions.md, "Dependabot #44, #46 and #52 combined".

How it was checked

  • lintDebug, testDebugUnitTest, assembleDebug green locally: 377 tests, 0 failures, lint 0 errors and 21 warnings. The two ViewModel test classes were also run 3 times in a row, all green. No new tests: TrackedViewModels is a test helper.
  • Reviewed against REVIEW.md / CLAUDE.md rules: /code-review and architecture-reviewer, twice. The fixes are in the second commit.
  • CHANGELOG.md [Unreleased] updated (no user-visible change intended)
  • CLAUDE.md / docs/ updated: compileSdk 37, the Robolectric gotcha, a new ViewModel teardown gotcha, and the preflight in docs/plan/README.md.

Device checks

  • Install over the current version (2.1.1): teams and roster are still there (Room 2.6 → 2.8).
  • Navigation between the screens and the system back gesture (navigation 2.10).
  • In-app language switch (appcompat 1.8).
  • Theme, dropdowns and the slot editor look as before (Compose BOM 2026.09 / Material 3).
  • Release build: the update check and the Info screen.

Open points


Generated by Claude Code

The three groups cannot land separately: AGP 9.4.1 needs Gradle >= 9.6,
Gradle 9.8 breaks AGP 8.13, Hilt 2.60 needs AGP 9, and the new AndroidX
releases need AGP >= 9.1 and compileSdk 37.

- Gradle 8.13 -> 9.8.0, AGP 8.13.0 -> 9.4.1, Kotlin 2.0.21 -> 2.4.21,
  KSP -> 2.3.12, Compose BOM -> 2026.09.00, Hilt -> 2.60.1, Room -> 2.8.5,
  core-ktx 1.19.1, navigation 2.10.2, hilt-navigation-compose 1.4.0,
  appcompat 1.8.0, coroutines/serialization 1.11.0, Robolectric 4.17.
- Built-in Kotlin: drop org.jetbrains.kotlin.android, move kotlinOptions
  to kotlin { compilerOptions }.
- compileSdk 37 (targetSdk stays 36).
- Room schema assets: directories.add instead of deprecated srcDirs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012dPqf24mFuiYz4kAyALEnG
…teardown

- Regenerate the Gradle wrapper for 9.8.0 (jar identical to Dependabot's)
  and add distributionSha256Sum.
- lifecycle 2.8.7 -> 2.11.0: what navigation 2.10 / hilt-navigation 1.4
  already resolve, so the catalogue states what ships.
- AnalysisViewModelTest failed intermittently under Room 2.8 with
  "connection is closed": its ViewModels were never cleared, so their
  Room flows re-queried after @after closed the database. New
  TrackedViewModels test helper holds them in a ViewModelStore that both
  ViewModel-over-Room tests clear before closing.
- Docs: Robolectric's default SDK follows targetSdk, not compileSdk;
  mergeDebugUnitTestAssets still absent on AGP 9.4.1 (re-checked); preflight
  curls the AGP 9.4.1 POM; new CLAUDE.md gotcha for the teardown order.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012dPqf24mFuiYz4kAyALEnG
@Marcogn
Marcogn marked this pull request as ready for review October 18, 2026 17:30
@Marcogn
Marcogn merged commit 519dba7 into main Oct 18, 2026
2 checks passed
@Marcogn
Marcogn deleted the ccr-e8953616-9km4lf branch October 18, 2026 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants