diff --git a/app/index.html b/app/index.html
index ec6fdd5c..5537b5c6 100644
--- a/app/index.html
+++ b/app/index.html
@@ -6,7 +6,6 @@
Protomaps Basemaps
-
diff --git a/app/package-lock.json b/app/package-lock.json
index 1578224a..6612a7c2 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -10,7 +10,7 @@
"dependencies": {
"@maplibre/maplibre-gl-geocoder": "^1.9.4",
"@maplibre/maplibre-gl-inspect": "^1.9.0",
- "maplibre-gl": "^6.0.0",
+ "maplibre-gl": "^6.9.0",
"pixelmatch": "^5.3.0",
"pmtiles": "^4.5.0",
"sirv": "^3.0.0",
@@ -621,9 +621,9 @@
}
},
"node_modules/@maplibre/maplibre-gl-style-spec": {
- "version": "26.2.1",
- "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-26.2.1.tgz",
- "integrity": "sha512-QFKCXkOeSzOr8jF75jm6kySOg+dUvOehPhRi68gcOYPHb7U5JloUq0dJW0Y5/fZV8ygfT0Vp2RWodvq+fyxFWA==",
+ "version": "26.4.2",
+ "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-26.4.2.tgz",
+ "integrity": "sha512-6J0vZqMZvRAJKtdWJdDGHEh1YJ2ZHG08/GOur8gCArYhO8ZkM//OXqtI2AAEz4jc2G+Wq4MfcePg8qNK5TZ4Kg==",
"license": "ISC",
"dependencies": {
"@mapbox/jsonlint-lines-primitives": "^2.0.3",
@@ -640,9 +640,9 @@
}
},
"node_modules/@maplibre/mlt": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/@maplibre/mlt/-/mlt-1.1.12.tgz",
- "integrity": "sha512-ZeK5w2TTeHOajcLaEQs1KZXw2V9wIKo1PmThlxlsHoXsQsYlBqLJzPOd6tJHRtGTChUY3DPPmjXRArYVvAbmZw==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@maplibre/mlt/-/mlt-1.2.1.tgz",
+ "integrity": "sha512-5n5dgolE2EYxwCKgx8vlwURCB8A+kyfJJyThlYimjlGgOcOe2Bhw9VxxnnHC91OC9PgHg+nVdgVPTYPkIo62vg==",
"license": "(MIT OR Apache-2.0)",
"dependencies": {
"@mapbox/point-geometry": "^1.1.0"
@@ -1597,6 +1597,15 @@
"node": ">=6.0.0"
}
},
+ "node_modules/bidi-js": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.1.0.tgz",
+ "integrity": "sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==",
+ "license": "MIT",
+ "dependencies": {
+ "require-from-string": "^2.0.2"
+ }
+ },
"node_modules/browserslist": {
"version": "4.28.8",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz",
@@ -2583,9 +2592,9 @@
}
},
"node_modules/maplibre-gl": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-6.4.1.tgz",
- "integrity": "sha512-KzxQKtfBu/pSz1C+yW1hNS9eyj2h2lC7ufdAi6/SEt177n3oAfDfmUmslRfJdXY7ReAFBcnvwsqmiyoDhtA9GQ==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-6.9.0.tgz",
+ "integrity": "sha512-vFMwMK0Zs+NM/rOMSdtu8bO30DIexhBEVi5KC6f70/XtI+L/K2wC3LsDCAXFZ4s8ik5gAuDugfCNbpllpdJ9bA==",
"license": "BSD-3-Clause",
"dependencies": {
"@mapbox/point-geometry": "^1.1.0",
@@ -2593,10 +2602,11 @@
"@mapbox/unitbezier": "^1.0.0",
"@mapbox/vector-tile": "^3.0.0",
"@maplibre/geojson-vt": "^6.1.1",
- "@maplibre/maplibre-gl-style-spec": "^26.2.1",
- "@maplibre/mlt": "^1.1.12",
+ "@maplibre/maplibre-gl-style-spec": "^26.4.2",
+ "@maplibre/mlt": "^1.2.1",
"@maplibre/vt-pbf": "^4.3.2",
"@types/geojson": "^7946.0.16",
+ "bidi-js": "^1.1.0",
"earcut": "^3.2.3",
"gl-matrix": "^3.4.4",
"kdbush": "^4.1.0",
@@ -2886,6 +2896,15 @@
"integrity": "sha512-Mn6TbyYpFgwFuQ8KJKqf3bqqY9O1y37/0jgSK/61PUxV4QfIMv0+K2ioq8DfOjkBslcjwSzRfIDEXfzA9aCx7A==",
"license": "CC0"
},
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/resolve-protobuf-schema": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz",
diff --git a/app/package.json b/app/package.json
index fb9946df..2658dfe5 100644
--- a/app/package.json
+++ b/app/package.json
@@ -14,7 +14,7 @@
"dependencies": {
"@maplibre/maplibre-gl-geocoder": "^1.9.4",
"@maplibre/maplibre-gl-inspect": "^1.9.0",
- "maplibre-gl": "^6.0.0",
+ "maplibre-gl": "^6.9.0",
"pixelmatch": "^5.3.0",
"pmtiles": "^4.5.0",
"sirv": "^3.0.0",
diff --git a/app/src/MapView.tsx b/app/src/MapView.tsx
index a8068a3d..caf5ff9b 100644
--- a/app/src/MapView.tsx
+++ b/app/src/MapView.tsx
@@ -11,9 +11,7 @@ import {
NavigationControl,
Popup,
addProtocol,
- getRTLTextPluginStatus,
removeProtocol,
- setRTLTextPlugin,
setWorkerUrl,
} from "maplibre-gl";
import * as maplibregl from "maplibre-gl";
@@ -260,13 +258,6 @@ function MapLibreView(props: {
onMount(() => {
props.ref?.({ fit });
- if (getRTLTextPluginStatus() === "unavailable") {
- setRTLTextPlugin(
- "https://unpkg.com/@mapbox/mapbox-gl-rtl-text@0.2.3/mapbox-gl-rtl-text.min.js",
- true,
- );
- }
-
if (!mapContainer) {
console.error("Could not mount map element");
return;
diff --git a/app/src/VisualTests.tsx b/app/src/VisualTests.tsx
index a1ee3b0c..1dcaf346 100644
--- a/app/src/VisualTests.tsx
+++ b/app/src/VisualTests.tsx
@@ -16,13 +16,6 @@ import pixelmatch from "pixelmatch";
maplibregl.setWorkerUrl(workerUrl);
-if (maplibregl.getRTLTextPluginStatus() === "unavailable") {
- maplibregl.setRTLTextPlugin(
- "https://unpkg.com/@mapbox/mapbox-gl-rtl-text@0.2.3/mapbox-gl-rtl-text.min.js",
- false, // we need to pre-load this, otherwise diffs will be flaky
- );
-}
-
// Jumps the map and waits for idle, capturing a Blob of the rendered frame.
const moveAndCaptureBlob = (
map: maplibregl.Map,
diff --git a/app/visualtests/index.html b/app/visualtests/index.html
index 960fd69c..0550dbb3 100644
--- a/app/visualtests/index.html
+++ b/app/visualtests/index.html
@@ -9,7 +9,6 @@
-
diff --git a/examples/data_sandwich.html b/examples/data_sandwich.html
index 5eb93489..39b15db8 100644
--- a/examples/data_sandwich.html
+++ b/examples/data_sandwich.html
@@ -17,13 +17,15 @@
-