fix(map): raise android-maps-utils to 5.1.1 so KML import survives xmlutil 1.0.x - #6811
Conversation
…lutil 1.0.x Every KML/KMZ map overlay import has crashed with a fatal NoSuchMethodError since 2.8.0. The transitive android-maps-utils-data 5.0.0 (via maps-compose 8.4.0 → maps-utils-ktx 6.2.0) is compiled against xmlutil 0.91.x's XmlConfig.Builder.policyBuilder(), which xmlutil 1.0.0 removed — and the app has shipped xmlutil 1.0.x for its CoT XML since the Renovate bump in #5998, which wins conflict resolution over data-5.0.0's 0.91.3 request. Upstream already fixed the parser: 5.1.1 (2026-08-11) is built against xmlutil 1.0.x's compat builder (XmlConfig.CompatBuilder.policyBuilder(), present in 1.0.2). Declare android-maps-utils 5.1.1 directly so it raises the whole 5.0.0 submodule set; drop the declaration once maps-compose's own chain requires >= 5.1.1. The 6.0.0-rc01 line is not a fix: its published bytecode still calls the removed 0.91.x API despite declaring xmlutil 1.0.1. KmlParserLinkageTest (google unit tests) now parses a minimal KML document through the real resolved classpath, so a future bump on either side of the maps-utils/xmlutil pairing fails CI instead of crashing users on map import. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 4 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe Google build adds ChangesKML parser compatibility
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR updates the map dependency and adds a regression test for KML imports; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 8✅ Passed checks (8 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Every KML/KMZ custom-overlay import on the google flavor has crashed with a fatal
NoSuchMethodErrorsince 2.8.0 (Crashlytics issue ac7ca3a7da92ca90d730d96f17b8148b — the app's #1 FATAL by event count on 2.8.1, and repetitive: users retry the import ~5x each). This fixes it while keeping the app on the latest xmlutil.Root cause. The transitive
android-maps-utils-data:5.0.0(via maps-compose 8.4.0 → maps-utils-ktx 6.2.0) is compiled against xmlutil 0.91.x'sXmlConfig.Builder.policyBuilder(), which xmlutil 1.0.0 removed. The app has shipped xmlutil 1.0.x for its CoT XML since the Renovate major bump (#5998, first released in 2.8.0), and in conflict resolution the app's 1.0.x wins over data-5.0.0's 0.91.3 request — soKmlParser's lazy XML-config init throws on first use, every time. Verified by inspecting the published bytecode of each artifact.🐛 Bug Fixes
com.google.maps.android:android-maps-utils:5.1.1directly (google flavor), raising the whole 5.0.0 submodule set. Upstream fixed the parser in 5.1.1 (2026-08-11): itsKmlParseruses xmlutil 1.0.x'sXmlConfig.CompatBuilder.policyBuilder(), which is present in the 1.0.2 the app ships. xmlutil itself is untouched.downgrade-to-0.91.3 approachfor reference) but it would hold the whole app and TAKPacket-SDK back on a pre-1.0 line.Testing Performed
KmlParserLinkageTest(google unit tests): parses a minimal KML document throughKmlParseron the real resolved classpath. This is a linkage canary — it failed correctly against the broken pairing during development, and will fail CI if a future Renovate bump moves either side of the maps-utils/xmlutil pairing out of step, instead of leaving the mismatch to be discovered by users opening map overlays.dependencyInsightconfirmsandroid-maps-utils-dataresolves to 5.1.1 ongoogleDebugRuntimeClasspath(no residual 5.0.0), xmlutil stays 1.0.2.spotlessApply spotlessCheck detekt assembleDebug test allTests.Notes for reviewers
🤖 Generated with Claude Code
Summary by CodeRabbit
Bug Fixes
Tests