Changelog History
Page 5
-
v1.11.0 Changes
✨ Features and improvements
- ➕ Add an option to scale the default
Marker
icon.(#9414) (h/t @adrianababakanian) - Improving the shader compilation speed by manually getting the run-time attributes and uniforms.(#9497)
- ➕ Added
clusterMinPoints
option for clustered GeoJSON sources that defines the minimum number of points to form a cluster.(#9748)
🛠 🐞 Bug fixes
- 🛠 Fix a bug where map got stuck in a DragRotate interaction if it's mouseup occurred outside of the browser window or iframe.(#9512)
- 🛠 Fix potential visual regression for
*-pattern
properties on AMD graphics card vendor.(#9681) - 🛠 Fix zooming with a double tap on iOS Safari 13.(#9757)
- ✂ Removed a misleading
geometry exceeds allowed extent
warning when using Mapbox Streets vector tiles.(#9753) - 🛠 Fix reference error when requiring the browser bundle in Node. (#9749)
- ➕ Add an option to scale the default
-
v1.10.2 Changes
🛠 🐞 Bug fixes
- 🛠 Fix zooming with a double tap in iOS Safari 13.(#9757)
-
v1.10.1 Changes
🛠 🐞 Bug fixes
- 🛠 Fix markers interrupting touch gestures (#9675, fixed by #9683)
- 🛠 Fix bug where
map.isMoving()
returned true while map was not moving (#9647, fixed by #9679) - 🛠 Fix regression that prevented
touchmove
events from firing during gestures (#9676, fixed by #9685) - 🛠 Fix
image
expression evaluation which was broken under certain conditions (#9630, fixed by #9685) - 🛠 Fix nested
within
expressions in filters not evaluating correctly (#9605, fixed by #9611) - 🛠 Fix potential
undefined
paint variable inStyleLayer
(#9688) (h/t mannnick24)
-
v1.10.0 Changes
✨ Features
- ➕ Add
mapboxgl.prewarm()
andmapboxgl.clearPrewarmedResources()
methods to allow developers to optimize load times for their maps (#9391) - ➕ Add
index-of
andslice
expressions to search arrays and strings for the first occurrence of a specified value and return a section of the original array or string (#9450) (h/t lbutler) - 🔌 Correctly set RTL text plugin status if the plugin URL could not be loaded. This allows developers to add retry logic on network errors when loading the plugin (#9489)
🍏 Gestures
🚀 This release significantly refactors and improves gesture handling on desktop and mobile. Three new touch gestures have been added:
two-finger swipe
to adjust pitch,two-finger double tap
to zoom out, andtap then drag
to adjust zoom with one finger (#9365). In addition, this release brings the following changes and bug fixes:- It's now possible to interact with multiple maps on the same page at the same time (#9365)
- 🛠 Fix map jump when releasing one finger after pinch zoom (#9136)
- Stop mousedown and touchstart from interrupting
easeTo
animations when interaction handlers are disabled (#8725) - Stop mouse wheel from interrupting animations when
map.scrollZoom
is disabled (#9230) - 👀 A camera change can no longer be prevented by disabling the interaction handler within the camera change event. Selectively prevent camera changes by listening to the
mousedown
ortouchstart
map event and calling .preventDefault() (#9365) - 🚚 Undocumented properties on the camera change events fired by the doubleClickZoom handler have been removed (#9365)
🛠 🐞 Improvements and bug fixes
- 🖨 Line labels now have improved collision detection, with greater precision in placement, reduced memory footprint, better placement under pitched camera orientations (#9219)
- 🛠 Fix
GlyphManager
continually re-requesting missing glyph ranges (#8027, fixed by #9375) (h/t oterral) - Avoid throwing errors when calling certain popup methods before the popup element is created (#9433)
- 🛠 Fix a bug where fill-extrusion features with colinear points were not returned by
map.queryRenderedFeatures(...)
(#9454) - 🛠 Fix a bug where using feature state on a large input could cause a stack overflow error (#9463)
- 🛠 Fix exception when using
background-pattern
with data driven expressions (#9518, fixed by #9520) - 🛠 Fix a bug where UI popups were potentially leaking event listeners (#9498) (h/t mbell697)
- 🛠 Fix a bug where the
within
expression would return inconsistent values for points on tile boundaries (#9411, #9428) - 🛠 Fix a bug where the
within
expression would incorrectly evaluate geometries that cross the antimeridian (#9440) - 🛠 Fix possible undefined exception on paint variable of style layer (#9437) (h/t mannnick24)
- 🔒 Upgrade minimist to 1.2.5 to get fix for security issue CVE-2020-7598 upstream (#9425, fixed by #9425) (h/t watson)
- ➕ Add
-
v1.9.1 Changes
🛠 🐞 Bug fixes
- 🛠 Fix a bug #9477 in
Map#fitBounds(..)
wherein thepadding
passed to options would get applied twice. - 🛠 Fix rendering bug #9479 caused when data-driven
*-pattern
properties reference images added withMap#addImage(..)
. - 🛠 Fix a bug #9468 in which an exception would get thrown when updating symbol layer paint property using
setPaintProperty
.
- 🛠 Fix a bug #9477 in
-
v1.9.0 Changes
🚀 With this release, we're adding [a new changelog policy](./CONTRIBUTING.md#changelog-conventions) to our contribution guidelines.
🚀 This release also fixes several long-standing bugs and unintentional rendering behavior with
line-pattern
. The fixes come with a visual change to how patterns added withline-pattern
scale. Previously, patterns that became larger than the line would be clipped, sometimes distorting the pattern, particularly on mobile and retina devices. Now the pattern will be scaled to fit under all circumstances. #9266 showcases examples of the visual differences. For more information and to provide feedback on this change, see #9394.✨ Features
- ➕ Add
within
expression for testing whether an evaluated feature lies within a given GeoJSON object (#9352).- We are aware of an edge case in which points with wrapped coordinates (e.g. longitude -185) are not evaluated properly. See (#9442) for more information.
- An example of the
within
expression:"icon-opacity": ["case", ["==", ["within", "some-polygon"], true], 1, ["==", ["within", "some-polygon"], false], 0]
- 🏗 Map API functions such as
easeTo
andflyTo
now supportpadding: PaddingOptions
which lets developers shift a map's center of perspective when building floating sidebars (#8638)
🍏 Improvements
- Results from
queryRenderedFeatures
now have evaluated property values rather than raw expressions (#9198) - 👌 Improve scaling of patterns used in
line-pattern
on all device resolutions and pixel ratios (#9266) - 🖨 Slightly improve GPU memory footprint (#9377)
LngLatBounds.extend
is more flexible because it now accepts objects withlat
andlon
properties as well as arrays of coordinates (#9293)- ⬇️ Reduce bundle size and improve visual quality of
showTileBoundaries
debug text (#9267)
🛠 🐞 Bug fixes
- Correctly adjust patterns added with
addImage(id, image, pixelRatio)
by the asset pixel ratio, not the device pixel ratio (#9372) - 👍 Allow needle argument to
in
expression to be false (#9295) - 🛠 Fix exception thrown when trying to set
feature-state
for a layer that has been removed, fixes #8634 (#9305) - 🛠 Fix a bug where maps were not displaying inside elements with
dir=rtl
(#9332) - 🛠 Fix a rendering error for very old versions of Chrome (ca. 2016) where text would appear much bigger than intended (#9349)
- 👻 Prevent exception resulting from
line-dash-array
of empty length (#9385) - 🛠 Fix a bug where
icon-image
expression that evaluates to an empty string (''
) produced a warning (#9380) - 🛠 Fix a bug where certain
popup
methods threw errors when accessing the container element before it was created, fixes #9429(#9433)
- ➕ Add
-
v1.8.0 Changes
✨ Features and improvements
- ⬇️ Reduce size of line atlas by removing unused channels (#9232)
- Prevent empty buffers from being created for debug data when unused (#9237)
- ➕ Add space between distance and unit in scale control (#9276) (h/t gely) and (#9284) (h/t pakastin)
- ➕ Add a
showAccuracyCircle
option to GeolocateControl that shows the accuracy of the user's location as a transparent circle. Mapbox GL JS will show this circle by default. (#9253) (h/t Meekohi) - 🚀 Implemented a new tile coverage algorithm to enable level-of-detail support in a future release (#8975)
🛠 🐞 Bug fixes
line-dasharray
is now ignored correctly whenline-pattern
is set (#9189)- 🛠 Fix line distances breaking gradient across tile boundaries (#9220)
- 🛠 Fix a bug where lines with duplicate endpoints could disappear at zoom 18+ (#9218)
- 🛠 Fix a bug where Ctrl-click to drag rotate the map was disabled if the Alt, Cmd or Windows key is also pressed (#9203)
- Pass errors to
getClusterExpansionZoom
,getClusterChildren
, andgetClusterLeaves
callbacks (#9251) - 🛠 Fix a rendering performance regression (#9261)
- 🛠 Fix visual artifact for
line-dasharray
(#9246) - 🛠 Fixed a bug in the GeolocateControl which resulted in an error when
trackUserLocation
wasfalse
and the control was removed before the Geolocation API had returned a location (#9291) - 🛠 Fix
promoteId
for line layers (#9210) - 👌 Improve accuracy of distance calculations (#9202) (h/t Meekohi)
-
v1.7.0 Changes
✨ Features
- ➕ Add
promoteId
option to use a feature property as ID for feature state (#8987) - ➕ Add a new constructor option to
mapboxgl.Popup
,closeOnMove
, that closes the popup when the map's position changes (#9163) - 👍 Allow creating a map without a style (an empty one will be created automatically) (h/t @stepankuzmin) (#8924)
map.once()
now allows specifying a layer id as a third parameter making it consistent withmap.on()
(#8875)
🍏 Improvements
- 👌 Improve performance of raster layers on large screens (#9050)
- 👌 Improve performance for hillshade and raster layers by implementing a progressive enhancement that utilizes
ImageBitmap
andOffscreenCanvas
(#8845) - 👌 Improve performance for raster tile rendering by using the stencil buffer (#9012)
- 📚 Update
symbol-avoid-edges
documentation to acknowledge the existence of global collision detection (#9157) - ✂ Remove reference to
in
function which has been replaced by thein
expression (#9102)
🛠 🐞 Bug Fixes
- 🔄 Change the type of tile id key to string to prevent hash collisions (#8979)
- Prevent changing bearing via URL hash when rotation is disabled (#9156)
- 🛠 Fix URL hash with no bearing causing map to fail to load (#9170)
- 🛠 Fix bug in
GeolocateControl
where multiple instances of the control on one page may result in the user location not being updated (#9092) - 🛠 Fix query
fill-extrusions
made from polygons with coincident points and polygons with less than four points (#9138) - 🛠 Fix bug where
symbol-sort-key
was not used for collisions that crossed tile boundaries (#9054) - 🛠 Fix bug in
DragRotateHandler._onMouseUp
getting stuck in drag/rotate (#9137) - 🛠 Fix "Click on Compass" on some mobile devices (add
clickTolerance
toDragRotateHandler
) (#9015) (h/t Yanonix)
- ➕ Add
-
v1.6.1 Changes
🛠 🐞 Bug Fixes