mapbox-gl
3.34.2 · 3 Nov 2026SEE LICENSE IN LICENSE.txt6M / weekRepositoryHomepagenpmAtom feed
0.54.1 is the newest release of 0.39.x.
In short
3 breaking15 new15 fixed4 changed
- breaking
GeolocateControlbreaking changes #4479 - breaking
Anchor
Markers at their center by default #4751 @andrewharvey - breaking
Increase
significantRotateThresholdfor theTouchZoomRotateHandler#4971, @dagjomar
Release note
Breaking changes
- breaking
GeolocateControlbreaking changes #4479The option
watchPositionhas been replaced withtrackUserLocationThe camera operation has changed from
jumpTo(not animated) tofitBounds(animated). An effect of this is the map pitch is no longer reset, although the bearing is still reset to 0.The accuracy of the geolocation provided by the device is used to set the view (previously it was fixed at zoom level 17). The
maxZoomcan be controlled via the newfitBoundsOptionsoption (defaults to 15).
- breaking
Anchor
Markers at their center by default #4751 @andrewharvey - breaking
Increase
significantRotateThresholdfor theTouchZoomRotateHandler#4971, @dagjomar
Features and improvements
Improve performance of updating GeoJSON sources #4069, @ezheidtmann
Improve rendering speed of extrusion layers #4818
Improve line label legibility in pitched views #4781
Improve line label legibility on curved lines #4853
Add user location tracking capability to
GeolocateControl#4479, @andrewharveyNew option
showUserLocationto draw a "dot" as aMarkeron the map at the user's locationAn active lock and background state are introduced with
trackUserLocation. When in active lock the camera will update to follow the user location, however if the camera is changed by the API or UI then the control will enter the background state where it won't update the camera to follow the user location.New option
fitBoundsOptionsto control the camera operationNew
trackuserlocationstartandtrackuserlocationendeventsNew
LngLat.toBoundsmethod to extend a point location by a given radius to aLngLatBoundsobject
Include main CSS file in
package.json#4809, @tomscholzAdd property function (data-driven styling) support for
line-width#4773Add property function (data-driven styling) support for
text-anchor#4997Add property function (data-driven styling) support for
text-justify#5000Add new
icon-pitch-alignmentandcircle-pitch-alignmentproperties #4869 #4871Add
Map#getMaxBoundsmethod #4890, @andrewharvey @lamuertepeludaAdd option (
localIdeographFontFamily) to use TinySDF to avoid loading expensive CJK glyphs #4895If
config.API_URLincludes a path prepend it to the request URL #4995Bump
superclusterversion to exposecluster_idproperty on clustered sources #5002
Bug fixes
Do not display
FullscreenControlon unsupported devices #4838, @stepankuzminFix yarn build on Windows machines #4887
Prevent potential memory leaks by dispatching
loadDatato the same worker every time #4877Fix bug preventing the rtlTextPlugin from loading before the initial style
load#4870Fix bug causing runtime-stying to not take effect in some situations #4893
Prevent requests of vertical glyphs for labels that can't be verticalized #4720
Fix character detection for Zanabazar Square #4940
Fix
LogoControllogic to update correctly, and hide the<div>instead of removing it from the DOM when it is not needed #4842Fix
GeoJSONSource#serializeto include all optionsFix error handling in
GlyphSource#getSimpleGlyphs#4992Fix bug causing
setStyleto reload raster tiles #4852Fix bug causing symbol layers not to render on devices with non-integer device pixel ratios #4989
Fix bug where
Map#queryRenderedFeatureswould error when returning no results #4993Fix bug where
Map#areTilesLoadedwould always be false onsourcedataevents for reloading tiles #4987Fix bug causing categorical property functions to error on non-ascending order stops #4996
Development workflow changes
Use flow to type much of the code base #4629 #4903 #4909 #4910 #4911 #4913 #4915 #4918 #4932 #4933 #4948 #4949 #4955 #4966 #4967 #4973 💪 @jfirebaugh @vicapow
Use style specification to generate flow type #4958
Explicitly list which files to publish in
package.json#4819 @tomscholzMove render test ignores to a separate file #4977
Add code of conduct #5015 💖