Releases: maplibre/maplibre-gl-js
v5.14.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.13.0:
✨ Features and improvements
- Prevent redundant DEM border backfilling by tracking state, moved tile manager logic to helper files (#6756) (by @HarelM)
- Improve performance of GeoJSON
updateData,setData, and overzoomed tiles (#6738, #6772) (by @lucaswoj)
🐞 Bug fixes
- Handle consecutive duplicate points in offsetLine to avoid null values in the output. Fixes #5431 (by mmc1718)
⚠️ Gracefully handle internal AbortErrors (e.g., when a TileJSON URL is updated while a request in flight). Previously, such aborted requests would throw an AbortError in an unhandled rejection that was not easily caught in user code. Since aborted requests are fully handled internally, these unhandled rejections were superfluous and resulted in unhelpful client errors. (#6747) (by @andrewda)- Fix canvas sources with power-of-2 dimensions rendering as black squares (#6607) (by Omkarthipparthi)
- Fix
queryTerrainElevationto use higher zoom level tiles when possible (#6791) (by @HarelM) - Fix unwanted movement when moving a pitched terrain map at high latitudes; fix freezes when moving a pitched and rotated terrain map at low zoom (#6775) (by @larsmaxfield)
- Fix issue with
staticmodifier as part of mlt package (#6796) (by @HarelM) LngLatBounds#intersectsnow returnstruewhen bounds touch along an edge or at a corner (#6802) (by @lucaswoj)
v5.13.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.12.0:
✨ Features and improvements
- Text labels can now include relatively uncommon Chinese, Japanese, Korean, and Vietnamese characters, as well as characters from historical writing systems. When using server-side fonts, the map may request glyph PBFs beyond U+FFFF from the server instead of throwing an error as before. (#6640) (by @1ec5)
- GeoJSON Source Diff: improve, abstract, refactor, optimize, and fix regressions. (#6681) (by @wayofthefuture)
- GeoJSONSource setData and updateData waitForCompletion option (#6688) (by @wayofthefuture)
- Improve performance of
GeoJSONSource#updateData(#6668) (by @lucaswoj) - GeoJSON Worker Refactor (#6702) (by @wayofthefuture)
🐞 Bug fixes
v5.12.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.11.0:
✨ Features and improvements
- Add support for MapLibre Tiles (MLT) by using
encoding: 'mlt'in vector source definition (#6570) (by @Salkin975 and @HarelM) - Slice vector tiles to improve over scale vector handling (#6521). It adds the
experimentalZoomLevelsToOverscaleflag toMapOptionsto allow controlling how many zoom levels to slice and how many to scale. It seems to have better performance at high zoom levels. It can prevent Safari crashes in some scenarios by setting it to 4 or less. (by @HarelM) - Add reduceMotion option to Map Options (#6661) (by @wayofthefuture)
🐞 Bug fixes
- Fix missing
constrainOverridesetter inTransformHelper.apply(#6642) (by @larsmaxfield) - Fix blank map after WebGL context restore (#6242) (by @ToHold)
v5.11.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.10.0:
✨ Features and improvements
- Improve performance of
GeoJSONSource#updateDatawhen called on small diffs (#6562) (by @lucaswoj) - If the stylesheet lacks a
glyphsproperty at the root level, interpret thetext-fontproperty as a cascading fallback list of font names and render all text using local or system fonts. (#4564) (by @1ec5) ⚠️ Refactor SourceCache to TileManager (#6635) - this is not a breaking change since SourceCache is not part of the public API, but if you have a plugin that uses internal stuff, it might break... (by @wayofthefuture)
🐞 Bug fixes
- If a required glyph PBF is unavailable or it lacks a glyph for a character in a
text-field, try to render it locally instead of crashing. (#4564) (by @1ec5) - Export
now()function in timeControl API to complete the API and enable external code to read controlled time (#6644) (by @bjperson) - ScaleControl CSS styling contains
white-space: nowrapto prevent wrapping (#6647) (by @stroebjo) - Fix edge fading for unloaded tiles (#6650) (by @wayofthefuture)
v5.10.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.9.0:
✨ Features and improvements
- Add time control API (
setNow,restoreNow,isTimeFrozen) for deterministic rendering, enabling frame-by-frame video export and deterministic testing (6544) - Use styles
isHiddenlogic in the worker by adding a new optionalroundMinZoomparameter (#6547) - Add
transformConstraincallback to theMapoptions to override the transform'sconstrainwith new typeTransformConstrainFunction; refactor transform constructor options to aTransformOptionsobject (#6484) - Use timeControl.now() instead of browser.now() (6573)
🐞 Bug fixes
- Contextmenu events not blocked by scrolling (#5683
- Mousemove events are not blocked by scrolling (#6302)
- Dashed lines have blurry rounded caps (#6554)
- Preserve flyTo padding when prefers-reduced-motion is enabled (#6576)
- Fix setClusterOptions not triggering recluster when no data changes are pending (#6603)
v5.9.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.8.0:
✨ Features and improvements
- Improve fading - dynamic bi-directional raster cross-fading and self fading (#6469)
- Support for usage of line-gradient together with line-dasharray (#6487)
🐞 Bug fixes
v5.8.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.7.3:
✨ Features and improvements
- Enable documentation admonitions in Material for MkDocs. (#6455)
- Switch MapEventType from type to interface to allow declaration merging (#6436)
- Implement data-driven styling support for
line-dasharray(#5812)
🐞 Bug fixes
- Fix raster flickering when using terrain 3D and optimize terrain logic.
- Fix issue where parent tiles are retained when deeper descendant tiles already cover the missing ideal tile. (#6442)
- Fix an issue when GeolocateControl fires outofmaxbounds event with trackUserLocation disabled (#6464)
- Fix an issue with globe+terrain "zooming" in when dragging towards the poles (#6470)
- Fix integer overflow in symbol placement (#6476)
v5.7.3
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.7.2:
✨ Features and improvements
🐞 Bug fixes
v5.7.2
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.7.1:
🐞 Bug fixes
- Fix
_updateRetainedTileschecking for children when children length is 1 overscaled tile "child" (#6388) - Fix evaluating
global-statefor layers added after loading style (#6361) - Change the pathway for passing
global-stateobject fromStyleto expression to fix a hack that was introduced in previous versions (#6366) - Fix triggering
loadandidleevents when source TileJSON fails to load (#5430) - Fix mouse events on heatmap features (#714)
v5.7.1
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v5.7.0:
🐞 Bug fixes
- Fix accuracy circle on locate user control (#5432)
- Fix evaluating
global-statein paint...-patternproperties (6301) - Fix pan moving in the wrong direction when map is pitched (#6111)
- Fix evaluation of
text-colorwhen usingformatwithinstep(#5833) - Fix regression in
mergeSourceDiffs: handle add/remove/removeAll (#6342) - Fix evaluating
global-statein layout propertiesicon-sizeandtext-size(#6308)