android-v11.2.0
Note
We now use Android SDK 34 as compileSdk
which means Java 17 is now required. The minimum SDK version is unchanged (21).
✨ Features and improvements
- Toggle tile cache final API (#2723).
This is a new API onMapLibreMap
:setTileCacheEnabled()
andgetTileCacheEnabled()
. This tile cache is used to cache tiles on different zoom levels, disabling it will reduce memory usage. - Add
getOfflineRegion
Kotlin API (#2516). This is the first (code) contribution from @JRWilding! 🎉 - Bump NDK version to 27.0.12077973, replace
ALooper_pollAll
withALooper_pollOnce
(#2663). - Remove OkHttp3 ProGuard rules (#2665).
- Use C++20 (#2659).
- Reuse prefetched tiles to avoid empty screen (#2668).
- Update Android Dependencies, use maplibre-gestures-android (#2714).
- Update dependency gradle to v8.10 (#2721).
- Cleanup
mbgl/actor/mailbox*
implementation for repetition in ensuring valid weakScheduler exists before usage (#2733). - Use latest MapLibre Style Spec (#2756).
This PR adds two new APIs toTransitionOptions
ofLocationIndicatorLayer
:getBearingTransition()
andsetBearingTransition()
. - Use timestamps for attribute updates (#2629).
🐞 Bug fixes
- Fix crash when feature contains invalid UTF-8 data (#2693).
- Fix accidental regression conditional layer evaluation (#2705).
- Ensure
ReentrantLock
is unlocked after being locked, and on same thread (#2759). This is the first (code) contributon from @westnordost! 🎉 - Add guard blocks and checks to
SymbolInstance
(#2744).
This fixes an exceedingly rare crash that a user is seeing in the field. The fix is not pretty, but we hope to better understand the problem in the future (see this open issue).