build(deps)!: upgrade AGP to 9.3.0 and bump compileSdk to 37 - #2464
Merged
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request upgrades the Android Gradle Plugin to version 9.3.0, updates Firebase BOM dependencies from implementation to api across multiple modules, and removes consumer ProGuard files from common and storage modules. Additionally, it replaces the experimental postprocessing block with standard minification properties in the proguard-tests module. The reviewer recommends specifying default Android ProGuard rules when enabling minification to prevent potential runtime crashes due to aggressive shrinking or obfuscation.
russellwheatley
approved these changes
Sep 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dependabot's
com.vanniktech.maven.publishbump (0.34.0 → 0.37.0, #2364) fails CI because 0.36.0+ requires AGP ≥ 8.13.0, and no AGP 8.x release is compatible with this repo's Gradle 9.7.0 wrapper (AGP 8.11–8.13.x depend on an internal Gradle API removed in 9.6.0). This upgrades AGP to 9.3.0 to unblock it — that part alone has no consumer impact, verified by publishing tomavenLocal()and confirming the AAR metadata is unchanged from the pre-upgrade baseline.It also bumps
compileSdk36 → 37, to unblock a separate cluster of stuck dependabot PRs (#2430 glide, #2371 core-ktx, #2451 compose-bom) whose newer versions were themselves built against compileSdk 37 and can't be consumed while we're at 36. This part does have real consumer impact: the published AAR now stampsminCompileSdk=37, so consumers still on AGP 8.10.0 (max recommended compileSdk 36) will need to upgrade AGP to pick up the next FirebaseUI-Android release. That's a deliberate, accepted tradeoff for unblocking those PRs, not an oversight.#2429is dependabot's own attempt at this same AGP bump (8.10.0 → 9.3.1) - it hit the identicalorg.jetbrains.kotlin.android/AGP-9-defaults wall this PR already resolves, so merging this supersedes it.gradle.properties: addedandroid.builtInKotlin=falseandandroid.newDsl=falseto keeporg.jetbrains.kotlin.androidworking under AGP 9's defaults - both flags are deprecated and removed in AGP 10, so the real Kotlin/new-DSL migration is deferred to a follow-up.proguard-tests/build.gradle.kts: migrated the removedpostprocessing {}block toisMinifyEnabled/isShrinkResources.common/build.gradle.kts,storage/build.gradle.kts: removed a danglingconsumerProguardFiles("proguard-rules.pro")pointing at a file that's never existed — silently ignored under AGP 8, hard-fails release builds under AGP 9. Neither module has dependencies needing consumer keep rules.auth,database,firestore,storage:implementation(platform(libs.firebase.bom))→api(platform(libs.firebase.bom)), fixing an AGP 9 dependency-resolution regression where the BOM's version constraint wasn't propagating to modules already exposing these artifacts viaapi.buildSrc/src/main/kotlin/Config.kt:compileSdk36 → 37 (targetSdkintentionally left at 36 - all modules set it explicitly, so AGP 9's "target defaults to compile" default never fires;target ≤ compileis a valid combination).Maintainer note: Fixes internal CPRN-146