Releases: maplibre/maplibre-gl-js
Releases · maplibre/maplibre-gl-js
v6.0.0-9
Immutable
release. Only release title and notes can be modified.
✨ Features and improvements
- Adopt isolatedDeclarations and switch dts emitter from tsgo to oxc (#7566) (by @birkskyum)
🐞 Bug fixes
- Fix feature state bulk remove + feature set per-id set does not remove state of first feature (#7554) (by @xavierjs)
- Remove error when actor doesn't have a registered message type for better usability of custom messages in workers (#7589) (by @HarelM)
- Auto-load worker module for CDN usage (#7595) (by @birkskyum)
- Fix Large number of feature state keys leads to zoom lag when loading cached tiles (#7590) (by @xavierjs)
v6.0.0-8
v6.0.0-7
Immutable
release. Only release title and notes can be modified.
✨ Features and improvements
- Replace dts-bundle-generator with rolldown-plugin-dts for 78.2x faster .d.ts generation. (#7564) (by @birkskyum)
- Replace ts-node with Node 24's native TypeScript support for build scripts. (#7565) (by @birkskyum)
- Bump typescript to v7 beta - 3.5x faster typecheck (#7556) (by @birkskyum)
🐞 Bug fixes
⚠️ Fix transparent, overlapping lines creating artefacts. This is fixed forline-opacity, but purposefully not for transparentline-colorproperties, thus still allowing transparent colors to stack their effect. (#7490) (by @CommanderStorm)- Fix issue when map's max zoom and source max zoom are close to eachother (#7567) (by @HarelM)
v6.0.0-6
Immutable
release. Only release title and notes can be modified.
✨ Features and improvements
- Add a new map creation option,
terrainSkirtLength, which allows the removal of visually unappealing vertical artifacts when using a terrain along with a transparent background (#7523) (by @safwat-halaby) - Bundle with Rolldown instead of Rollup (#7555) (by @birkskyum)
- Optimization for Feature State: Replace String-Indexed Object with Array (up to 3.4X speedup) (#7550) (by @xavierjs)
v6.0.0-5
Immutable
release. Only release title and notes can be modified.
✨ Features and improvements
⚠️ Switch to an ESM-only distribution (maplibre-gl.mjs). The UMD bundles (maplibre-gl.js,maplibre-gl-csp.js) are no longer published. The CSP-specific bundle is also dropped: the ESM build loads its worker as a real URL, soworker-src blob:is no longer required. Consumers using<script src=".../maplibre-gl.js">must switch to<script type="module">, and consumers usingimport maplibregl from 'maplibre-gl'must switch toimport * as maplibregl from 'maplibre-gl'or named imports. See the docs ESM section for migration steps. (#6254) (by @birkskyum)
v6.0.0-4
Immutable
release. Only release title and notes can be modified.
✨ Features and improvements
⚠️ zoomLevelsToOverscaledefault value was changed to 4 to support better handling of high level zoom with dense labels. This might have a side effect of changing a bit the results ofqueryRenderedFeaturesand some rendering of polygon center label. To revert this change, set the value toundefined(#7537) (by @HarelM)
v6.0.0-3
Immutable
release. Only release title and notes can be modified.
✨ Features and improvements
⚠️ Remove the second parameter fromGeoJSONSource.setData(waitForCompletion) and remove the return value ofthisto allow future changes to the API (#7538) (by @HarelM)⚠️ The TypeScript target has been updated to ES2022.
This results in smaller bundles and improved runtime performance by relying on modern JavaScript features and reducing transpilation. Consumers targeting browsers or using some tooling released before 2022 may need to transpile MapLibre or update. This change also aligns all internal build configurations to a single target instead of ES2016 + ES2019, avoiding inconsistencies in emitted code. (#7404) (by @CommanderStorm)
v6.0.0-2
Immutable
release. Only release title and notes can be modified.
✨ Features and improvements
⚠️ WebGL (v1) support has been removed; WebGL2 is now required.
In practical terms, this will not change how you interact with the map.
This enables performance improvements (e.g. line opacity), Terrain3D enhancements, and several bug fixes.
WebGL2 support has been widely available for years, and usage of the legacy path had plateaued, so maintaining it no longer justified the added complexity.
To ease this breaking change, we have also refactored how we handle the case that no webgl is avaliableWebGL (e.g. due to browser restrictions).
You can now listen to the webgl error via.on("error"), or by overridingMap._showWebGL2Error.
See caniuse.com/webgl2 for ecosystem support and our RFC for details. (#7453) (by @CommanderStorm)
v6.0.0-1
Immutable
release. Only release title and notes can be modified.
✨ Features and improvements
⚠️ Support geojson nested objects, this is a breaking change as it encodes__$json__before properties that used to be an object. It also parses them back, but this is still a breaking change if you assumed this bug existed. (#6992) (by HarelM)⚠️ Improve types for{get,set}LayoutProperty,{get,set}PaintPropertyto be the actual type instead ofstring/any(#7481) (by @CommanderStorm)
v6.0.0-0
Immutable
release. Only release title and notes can be modified.
✨ Features and improvements
⚠️ Refactored theHash-based location control (the option that syncs map state to the URL like#map=5/1/2) to useURLSearchParamsinternally. This improves extensibility for custom use cases, but may break existing code that relies on the previous implementation. It also changes how certain edge cases are parsed—for example, strings like#10%2F3.00%2F-1.00are now accepted, and hashes like#fooare normalized to#foo=. (#7073) (by @CommanderStorm)- Expose
getProjectionDatafunction in custom layer args objects (#7471) (by @kubapelc) - Marked package
sideEffectsas CSS-only in package metadata, which may improve tree-shaking and reduce bundle size in some bundlers (#7258) (by @CommanderStorm)