Releases: maplibre/maplibre-gl-js
v4.3.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v4.2.0:
✨ Features and improvements
- Add
getData
method for GeoJSON Sources to provide the possibility to obtain all the source's features (#4082) - Allow cross-fading between raster tile source updates at the same zoom level (#4072)
🐞 Bug fixes
- Fix normalizeSpriteURL before transformRequest throwing an Error with relative URLs (#3897)
- Fix return type of map.cameraForBounds (#3760)
- Fix to run benchmark with MAPLIBRE_STYLES environment variable (#2122)
- Fix symbol collisions using inaccurate and sometimes entirely wrong collision boxes when the map is pitched or rotated (#210)
- Fix
text-translate
andicon-translate
behaving weirdly and inconsistently with other-translate
properties (#3456) - Fix symbol collision debug view (
showCollisionBoxes
) not showing the actual bounding boxes used for collision and click areas. The displayed boxes now match actual collision boxes exactly (#4071) - Fix symbol collision boxes not being accurate for variable-anchor symbols (#4071)
- Fix icon collision boxes using
text-translate
property for translation instead of the correcticon-translate
(#4071)
v4.2.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v4.1.3:
✨ Features and improvements
v4.1.3
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v4.1.2:
✨ Features and improvements
- Added const enum for actor messages to improve readability and maintainability. In tsconfig.json,
isolatedModules
flag is set to false in favor of generated JS size. (#3879)
🐞 Bug fixes
- Fix different unwanted panning changes at the end of a panning motion, that happen on a large screen (#3935)
- Fix image sources not being marked as loaded on error (#3981)
- Fix ScaleControl options should be optional. (#4002)
- Fix race condition in
SourceCache
that makes unit tests unstable. Eliminate a redundant 'visibility' event fired from Style class. (#3992) - Fix paint property not being updated by setPaintProperty (#2651)
v4.1.2
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v4.1.1:
✨ Features and improvements
- Hide Popup when its parent Marker is behind terrain (#3865)
🐞 Bug fixes
v4.1.1
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v4.1.0:
✨ Features and improvements
- Improve animation curve when easeTo and flyTo with constraints (#3793)
🐞 Bug fixes
- Fix unwanted zoom changes at the end of a panning motion (#2094)
v4.1.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v4.0.2:
✨ Features and improvements
- Add option to position popup at subpixel coordinates to allow for smooth animations (#3710)
- Constrain horizontal panning when renderWorldCopies is set to false (3738)
🐞 Bug fixes
- Fix popup appearing far from marker that was moved to a side globe (3712)
- Set text color to ensure contrast in the attribution pill (3737)
- Fix memory leak in Worker when map is removed (3734)
- Fix issue with
FullscreenControl
when MapLibre is within a ShadowRoot (#3573)
v4.0.2
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v4.0.1:
🐞 Bug fixes
v4.0.1
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v4.0.0:
✨ Features and improvements
- Add
setUrl
method to RasterTileSource to dynamically update existing TileJSON resource. (3700)
🐞 Bug fixes
v4.0.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v3.6.2:
✨ Features and improvements
-
⚠️ Remove all global getters and setters frommaplibregl
, this means the the following methods have changed:maplibregl.version
=>getVersion()
maplibregl.workerCount
=>getWorkerCount()
,setWorkerCount(...)
maplibregl.maxParallelImageRequests
=>getMaxParallelImageRequests()
,setMaxParallelImageRequests(...)
maplibregl.workerUrl
=>getWorkerUrl()
,setWorkerUrl(...)
This is to avoid the need to use a global object and allow named exports/imports (#3601)
-
⚠️ Change attribution to be on by default, changeMapOptions.attributionControl
to be the type that the control handles, removedMapOptions.customAttribution
(#3618)
Note: showing the logo of MapLibre is not required for using MapLibre. -
⚠️ Changed cooperative gesture config and removed the strings from it in favor of the locale variable (#3621) -
⚠️ Changed the terrain enable disable locale key to match the other keys' styles, updated the typings to allow using locale with more ease (#3621) -
⚠️ Add the ability to import a script in the worker thread and calladdProtocol
andremoveProtocol
there (#3459) - this also changed howaddSourceType
works since now you'll need to load the script withmaplibregl.importScriptInWorkers
. -
⚠️ ChangesaddProtocol
to be promise-based without the usage of callbacks and cancelable (#3433) -
⚠️ Moved theaddSourceType
to be a part of the global maplibregl object instead of being per map object (#3420) -
⚠️ Removed callback usage frommap.loadImage
in continue to below change (#3422) -
⚠️ Changed theGeoJSONSource
'sgetClusterExpansionZoom
,getClusterChildren
,getClusterLeaves
methods to return aPromise
instead of a callback usage (#3421) -
⚠️ Changed thesetRTLTextPlugin
function to return a promise instead of using callback (#3418) this also changed how the RTL pluing code is handled internally by splitting the main thread and worker thread code. -
⚠️ RemovesetCooperativeGestures
andgetCooperativeGestures
functions in favor ofcooperativeGestures
handler which now has anenabled()
ordisabled()
methods (#3430) -
⚠️ Changed the undeling worker communication from callbacks to promises. This has a breaking effect on the implementation of customWorkerSource
and how it behaves (#3233) -
⚠️ Changed theSource
interface to return promises instead of callbacks (#3233) -
⚠️ Changed all the sources to be promises based. (#3233) -
⚠️ Changed themap.loadImage
method to return aPromise
instead of a callback usage (#3233) -
Add "opacity" option and
setOpacity
method to Marker (#3620) -
Created a new example showing how to place a threejs scene as a
CustomLayer
over maplibre 3d-terrain (#3429) -
Changed
ImageRequest
to bePromise
based (#3233) -
Improved precision and added a subtle fade transition to marker opacity changes (#3431)
-
Adds support for terrain in
setStyle
with diff method (#3515, #3463) -
Upgraded to use Node JS 20 and removed the dependency of
gl
package from the tests to allow easier develpment setup. (#3452)
🐞 Bug fixes
- Fix wheel zoom to be into the same direction above or under the horizon (#3398)
- Fix _cameraForBoxAndBearing not fitting bounds properly when using asymettrical camera viewport and bearing.(#3591)
- Fix missing export
Map
type in thed.ts
file (#3564) - Fix the shifted mouse events after a css transform scale on the map container (#3437)
- Fix markers remaining transparent when disabling terrain (#3431)
- Fix labels disappearing when enabling terrain at high zoom (#3545)
- Fix zooming outside the central globe when terrain 3D is enabled (#3425)
- Fix cursor being shown indefinitely as a pointer when removing a popup with its
trackPointer
method active (#3434) - Fix a bug in showing cooperative gestures when scroll zoom is disabled (#2498)
- Handle loading of empty raster tiles (204 No Content) (#3428)
- Fixes a security issue in
Actor
against XSS attacks in postMessage / onmessage (#3239)
v4.0.0-pre.6
Bump version to 4.0.0-pre.6 (#3633) * Bump version to 4.0.0-pre.6 * remove bugs entry --------- Co-authored-by: HarelM <[email protected]> Co-authored-by: HarelM <[email protected]>