Background & Context
During the review of #1716 (feat!: migrate android-maps-ktx into android-maps-utils (v6.0.0), comment), @kikoso noted that android-maps-utils v6.0.0 introduces ~200 new public Kotlin symbols (canonical extensions plus the @Deprecated com.google.maps.android.ktx.* compatibility shim layer), and all new Kotlin code already declares explicit visibility modifiers.
To prevent accidental public API leakage and guarantee binary compatibility across the 6.x release series (especially for the ktx compatibility shims), we should enable explicitApi() and binary compatibility validation as a fast-follow after #1716 merges.
Tasks
Background & Context
During the review of #1716 (
feat!: migrate android-maps-ktx into android-maps-utils (v6.0.0), comment), @kikoso noted thatandroid-maps-utilsv6.0.0 introduces ~200 new public Kotlin symbols (canonical extensions plus the@Deprecatedcom.google.maps.android.ktx.*compatibility shim layer), and all new Kotlin code already declares explicit visibility modifiers.To prevent accidental public API leakage and guarantee binary compatibility across the
6.xrelease series (especially for thektxcompatibility shims), we should enableexplicitApi()and binary compatibility validation as a fast-follow after #1716 merges.Tasks
kotlin { explicitApi() }across published library modules (:library,:clustering,:data,:heatmaps,:ui) and add any missing visibility/return-type declarations on existing Kotlin classes.org.jetbrains.kotlinx.binary-compatibility-validator(or Kotlin's built-inabiValidation) and commit baseline.apidumps for each published module.apiCheckto the CI Pull Request workflow so binary-breaking signature changes or unintended public declarations are caught automatically.