Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 0 additions & 33 deletions RELEASE-NOTES-0.18.0.md

This file was deleted.

60 changes: 60 additions & 0 deletions RELEASE-NOTES-0.18.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Release Notes — v0.18.1

_Changes since [v0.18.0](https://github.com/Maps4HTML/MapML.js/releases/tag/v0.18.0)._

## Fixes
- `<map-tile>`: fix inline ("static") tile rendering when tile content changes
while the parent `<map-layer>` 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 (hamburger) 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 `<mapml-viewer>` or `<map is="web-map">`. The
button's pressed state follows the `static` attribute when it is changed
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
`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 `<map-link>` security test less flaky, and generate the
localization test's `<map-options>` instead of hard-coding them.

---

### Commits
- Fix inline "static" `<map-tile>` rendering: remove the old MapTileLayer from
the parent `<map-layer>` LayerGroup; call `GridLayer.prototype.onRemove` from
`MapTileLayer.onRemove` (`45401483`)
- Port static control from MapML-MapLibre (`7f515725`)
- 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`)
- 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`)
20 changes: 1 addition & 19 deletions how-to-release.md
Original file line number Diff line number Diff line change
@@ -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.

Expand Down Expand Up @@ -64,8 +64,6 @@ replacing `<previous-tag>` with the actual prior release tag (e.g. `v0.18.0`):
git log <previous-tag>..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
Expand All @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@maps4html/mapml",
"version": "0.18.0",
"version": "0.18.1",
"description": "Custom <mapml-viewer> element suite",
"keywords": [
"mapml-viewer",
Expand Down
Loading