Skip to content

android-v10.5.0

Compare
Choose a tag to compare
@yunikkk yunikkk released this 05 May 13:27
· 956 commits to main since this release
138f223

10.5.0 May 5, 2022

Features ✨ and improvements 🏁

  • Make map projection part of the style-spec and introduce new methods StyleInterface.setProjection / StyleInterface.getProjection. Setting projection supports Style DSL as well. (#1255, #1314)
  • Automatic transition between the globe and mercator projection updated to appear visually more subtle. (#1315)
  • Avoid repeated tile loading from network (or repeated tile decompression when the tile is fetched from the cache database) and repeated vector tile data allocation and parsing when loading render tiles referring to the same logical tile. (#1315)
  • Switch to use shader to calculate the 'line-trim-offset' property update. (#1315)
  • Layer properties transitions performance improved if the layer is transitioning to the same constant value or if transitioning from/to data-driven property. (#1315)
  • New line layer paint property introduced: '{"line-trim-offset", [trim-start, trim-end]}', to take the line trim-off percentage range based on the whole line range [0.0, 1.0]. The property will only be effective when 'line-gradient' property is set. The line part between [trim-start, trim-end] will be marked as transparent to make a line gradient a vanishing effect. If either 'trim-start' or 'trim-end' offset is out of valid range, the default range [0.0, 0.0] will be set. (#1315)
  • Globe view controls revamped for more intuitive interaction with touch controls. (#1315)
  • OfflineRegion::getStatus() API added to get the completion status and the local size of the existing legacy offline regions. (#1315)
  • Refactor all Mapbox logs so that Logcat tag will always be 'Mapbox' allowing easier filtering. Previous log tag will become part of the log message now. (#1276)
  • Optimize how plugins handle settings changes. Call applySettings only when settings value changes. (#1189)
  • Add MapboxMap.isValid() and Style.isValid() methods. MapboxMap becomes invalid when MapView.onDestroy() is called. Style becomes invalid when MapView.onDestroy() is called or new style has been loaded. Accessing any method on invalid object will print an error log. Also unsubscribe map observers automatically when MapboxMap.onDestroy() is invoked. (1193) (1202 (1230) (1241))
  • Add MapboxMap.coordinateBoundsForCameraUnwrapped method for API consistency. (1222)
  • Add LocationIndicatorLayer.bearingTransition API to control transition of bearing property. (1207)
  • Add MapboxConcurrentGeometryModificationException with detailed information instead of ConcurrentModificationException that is thrown when GeoJson data is mutated. (1248)
  • Introduce line-trim-offset property for LineLayer. (1252)
  • Deprecate FollowPuckViewportStateOptions.animationDurationMs, the initial transition will be handled properly by the Viewport plugin internally. (1256, 1261, 1262)
  • Mark MapView.viewAnnotationManager as non-experimental meaning View Annotation API will not have breaking changes in upcoming minor releases. (1260)

Bug fixes 🐞

  • Fix geojson missing updates with persistent layer after style change. (#1324)
  • Fix render tasks being skipped when creating the map that could lead to missing tiles. (#1304)
  • The legacy offline region observer instance is not unnecessarily retained inside the engine. #1315
  • Fix a bug of querying rendered feature for circle layer with map-pitch-alignment when the pitch is zero. #1315
  • Fix a bug where zooming was not possible with terrain enabled and exaggeration 0. #1315
  • Fix an issue where internal hsla() function was converted to an invalid rgba expression. #1315
  • Fix a bug that 'line-trim-offset' calculation did not property cover 'round' or 'square' line cap in line ends. #1315
  • Dispatched in-flight events will not be delivered if 'unsubscribe' is called before an event is delivered. #1315
  • Fix an issue where some of the visible tiles could be erroneously culled during transition between globe and mercator projection. #1315
  • Fixes issues where camera appears under terrain, or map gets bumpy repositioning after exaggeration change. #1315
  • Disable terrain rendering if GPU does not support Vertex Texture Fetch. #1315
  • Fixed a bug that occasionally prevents symbols from loading. #1315
  • Fixed a bug that causes line layers to flicker. #1325
  • Fix NaN latitude native crash rarely happening during MapboxMap.flyTo. (#1271)
  • Limit MapboxMap.pixelForCoordinate to the bounds of MapView. (#1226)
  • Fix PolygonAnnotation and PolylineAnnotation being distorted while dragging with 3D terrain. (#1223)

Dependencies

  • Bump gl-native to v10.5.1, mapbox-common to v21.3.1 (#1315, #1325)