From 4435b8784cb74fecd9f4c0eb8b3643fbe2360bb2 Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Tue, 27 Oct 2026 13:39:19 -0400 Subject: [PATCH 1/4] Prepare edits for 0.18.1 release --- RELEASE-NOTES-0.18.0.md | 33 ----------------------- RELEASE-NOTES-0.18.1.md | 59 +++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 60 insertions(+), 34 deletions(-) delete mode 100644 RELEASE-NOTES-0.18.0.md create mode 100644 RELEASE-NOTES-0.18.1.md diff --git a/RELEASE-NOTES-0.18.0.md b/RELEASE-NOTES-0.18.0.md deleted file mode 100644 index c215ffa34..000000000 --- a/RELEASE-NOTES-0.18.0.md +++ /dev/null @@ -1,33 +0,0 @@ -# Release Notes — v0.18.0 - -_Changes since [v0.17.0](https://github.com/Maps4HTML/MapML.js/releases/tag/v0.17.0)._ - -## Features -- Implement the search control UI, including a custom search handler with a - geonames.org example, localization for search messages, non-Latin character - search support, and multiple search-link handling. The search panel grabs - focus on mouse enter and stays open until dismissed. -- Add `HTMLMapmlViewerElement.zoomToExtent(xmin, ymin, xmax, ymax)` to support - custom search handler development. - -## Fixes -- Harden pasted-content handling -- Add missing UK locale keys. - -## Build / Tooling -- Update Node to v22 LTS, add Playwright browser caching, prevent `npm ci` from - installing browsers, and ignore postinstall scripts. - -## Other -- Make zoom/reload control icons bolder to match the search icon; update - screenshots accordingly. - ---- - -### Commits -- Harden pasted-content handling; add missing UK locale keys (`4f191331`) -- Fix search control placement when added via `controlslist="search"` after map - creation (`d99a1564`) -- Update Node to v22 LTS; add Playwright browser caching; prevent `npm ci` from - installing browsers; ignore postinstall scripts (`b0a44a28`) -- Implement search control UI (`e5f6d147`) diff --git a/RELEASE-NOTES-0.18.1.md b/RELEASE-NOTES-0.18.1.md new file mode 100644 index 000000000..cc3f830f6 --- /dev/null +++ b/RELEASE-NOTES-0.18.1.md @@ -0,0 +1,59 @@ +# Release Notes — v0.18.1 + +_Changes since [v0.18.0](https://github.com/Maps4HTML/MapML.js/releases/tag/v0.18.0)._ + +## Fixes +- ``: fix inline ("static") tile rendering when tile content changes + while the parent `` is unchecked. Replaced tile layers are now + removed from the layer's internal layer group, and removing a tile layer now + clears its rendered tiles. Previously, re-checking the layer brought back + stale tiles and could render a duplicate set alongside the current ones. +- Layer control: on touch devices, expanding the collapsed layer control no + longer accidentally toggles the layer settings (gear) button. Tapping the map + now reliably collapses the control. +- Attribution control: the attribution (info) button now has a localized + tooltip and `aria-label`. + +## Features +- Add a "static" control: a lock button that toggles the viewer's existing + `static` attribute, freezing or restoring map interaction. Opt in with + `controlslist="static"` on `` or ``. The + button's pressed state follows the `static` attribute when it is changed + programmatically. Ported from MapML-MapLibre. + +## Build / Tooling +- Vendor `media-query-parser` 3.0.2 and `media-query-solver` 0.1.3 under + `vendor/`, because `media-query-solver` was unpublished from npm on + 2026-09-30 and `npm ci` was failing. The vendored code is identical to the + published packages, and the built `dist/mapml.js` is unchanged. +- Sync workflow: supply the access token to git via a credential helper instead + of the clone URL. Newer libcurl versions in the `alpine` image caused git to + drop URL-embedded credentials, so pushes to the downstream repositories + failed. +- Sync workflow: the build is now synced to `dist/MapML.js/dist/` in the + experiments repository, so it can sit alongside other builds such as + MapML-MapLibre. +- Update `how-to-release.md`. + +## Other +- Test fixes: make the `` security test less flaky, and generate the + localization test's `` instead of hard-coding them. + +--- + +### Commits +- Fix inline "static" `` rendering: remove the old MapTileLayer from + the parent `` LayerGroup; call `GridLayer.prototype.onRemove` from + `MapTileLayer.onRemove` (`45401483`) +- Port static control from MapML-MapLibre (`7f515725`) +- Prevent ghost click on settings gear during touch expand (`6581b5ae`) +- Add localized tooltip and aria-label to attribution summary (`e76971bc`) +- Vendor media-query-parser and media-query-solver because the latter was + unpublished from npm on 2026-09-30 (`63164cfc`) +- Pass the sync access token via a git credential helper, after the libcurl + change in the `alpine` image (`d16940ef`) +- Sync Leaflet build into experiments `dist/MapML.js/dist` subtree (`cdb752b6`) +- Update localization test so map-options are generated, not hard-coded + (`c7638a13`) +- Fix flaky test (`8e23fda0`) +- Update how-to-release.md (`2d03e35c`) diff --git a/package.json b/package.json index 5400446ec..332283bf2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@maps4html/mapml", - "version": "0.18.0", + "version": "0.18.1", "description": "Custom element suite", "keywords": [ "mapml-viewer", From b331e73649d17113c466760826d3719866e00340 Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Wed, 28 Oct 2026 16:16:38 -0400 Subject: [PATCH 2/4] Update release notes to latest --- RELEASE-NOTES-0.18.1.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/RELEASE-NOTES-0.18.1.md b/RELEASE-NOTES-0.18.1.md index cc3f830f6..e9913109f 100644 --- a/RELEASE-NOTES-0.18.1.md +++ b/RELEASE-NOTES-0.18.1.md @@ -9,7 +9,7 @@ _Changes since [v0.18.0](https://github.com/Maps4HTML/MapML.js/releases/tag/v0.1 clears its rendered tiles. Previously, re-checking the layer brought back stale tiles and could render a duplicate set alongside the current ones. - Layer control: on touch devices, expanding the collapsed layer control no - longer accidentally toggles the layer settings (gear) button. Tapping the map + longer accidentally toggles the layer settings (hamburger) button. Tapping the map now reliably collapses the control. - Attribution control: the attribution (info) button now has a localized tooltip and `aria-label`. @@ -19,7 +19,8 @@ _Changes since [v0.18.0](https://github.com/Maps4HTML/MapML.js/releases/tag/v0.1 `static` attribute, freezing or restoring map interaction. Opt in with `controlslist="static"` on `` or ``. The button's pressed state follows the `static` attribute when it is changed - programmatically. Ported from MapML-MapLibre. + programmatically. This can be used to avoid scroll traps when multiple + maps exist on a long page. ## Build / Tooling - Vendor `media-query-parser` 3.0.2 and `media-query-solver` 0.1.3 under @@ -46,7 +47,7 @@ _Changes since [v0.18.0](https://github.com/Maps4HTML/MapML.js/releases/tag/v0.1 the parent `` LayerGroup; call `GridLayer.prototype.onRemove` from `MapTileLayer.onRemove` (`45401483`) - Port static control from MapML-MapLibre (`7f515725`) -- Prevent ghost click on settings gear during touch expand (`6581b5ae`) +- Prevent ghost click on settings hamburger button during touch expand (`6581b5ae`) - Add localized tooltip and aria-label to attribution summary (`e76971bc`) - Vendor media-query-parser and media-query-solver because the latter was unpublished from npm on 2026-09-30 (`63164cfc`) From d4337d06c93abf3b4ddfcea5e19a91a6c9602727 Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Wed, 28 Oct 2026 16:35:33 -0400 Subject: [PATCH 3/4] Get rid of slop from instructions to the best of my ability --- how-to-release.md | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/how-to-release.md b/how-to-release.md index fbebebbc7..a4a5db08b 100644 --- a/how-to-release.md +++ b/how-to-release.md @@ -1,5 +1,5 @@ # Release Guide -**Publishing packages to NPM** +**Publishing packages to npmjs.com / NPM** In `package.json` verify the name and update the version. @@ -64,8 +64,6 @@ replacing `` with the actual prior release tag (e.g. `v0.18.0`): git log ..HEAD --pretty=format:'- %s (%h, %an)' ``` -Edit that file freely — it is disposable and never committed or shipped. - **GitHub release procedure** Create the release from the canonical `Maps4HTML/MapML.js` repository so the tag @@ -76,22 +74,6 @@ and click `Draft a new release`. In the `Choose a tag` dropdown, type the new `vX.Y.Z` tag (GitHub creates it on publish), set the target to the merged release commit on `main`, paste in your notes, and publish. -_Via the GitHub CLI_ (lets you create an editable **draft** from your notes -file, then review/publish): -```bash -gh release create vX.Y.Z --draft --title "vX.Y.Z" --notes-file RELEASE-NOTES-X.Y.Z.md -``` -Open the draft, make any final edits, then publish it. Publishing the release is -what creates and pushes the `vX.Y.Z` tag, so no separate `git push` of a tag is -required (useful when branch protection prevents pushing tags directly). - -After the tag exists upstream, publish to npm from that tagged state: -```bash -git fetch upstream --tags -git checkout vX.Y.Z -npm ci && npm publish --access=public -``` - **Publishing packages to GitHub** Create a personal access (classic) token on [GitHub](https://github.com/settings/tokens/new) From 990829f231fd98f21cfb76a2a6f1686c160a4f8d Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Thu, 29 Oct 2026 16:00:59 -0400 Subject: [PATCH 4/4] Update nvm version -> 22 --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 33db3f0ea..2bd5a0a98 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -15.11.0 +22