UI/feature updates
- Marker, line and map names are now empty by default. They are still displayed as "Untitled marker", "Untitled line" and "Unnamed map" as a fallback, but when editing the name and when hovering the marker/line, the name is now empty.
- Use "high accuracy" mode for current location
- Use Lima Labs as the new default map style. It is very similar to Mapnik, just a little bit nicer and provides high-resolution tiles so that the map doesn't look blurry on smartphones anymore
- When there is more than one marker/line type, show the type next to the marker/line name (#243)
- Introduce dashed and dotted stroke styles for lines (#239)
- Add QR code button to share dialog and other "Copy URL to clipboard" cases to quickly transfer the map URL to smartphones
- Make marker colour/shape and line colour/width compatible with OsmAnd in GPX export (#246)
- Replace "Export as" options with "Export", which opens a dialog where the export format can be specified. New export options:
- CSV export
- HTML table to clipboard (to be pasted into spreadsheet apps)
- ZIP file containing one GPX file for all markers and one GPX file per line (to be imported into OsmAnd) (#246)
- Support searching for GPS coordinates in degrees notation
- Add POI categories "Abandoned", "Nudism", "Florist"
- Retrieve marker and search result elevations again (now using Open Elevation instead of MapZen, #250). Elevation is retrieved asynchronously.
- Load long click result asynchronously. Coordinates are shown immediately, more info is shown when it arrives.
- Make types and views reorderable.
Bug fixes
- Disable long click when moving marker/line. Previously this broke the UI.
- Fix legend padding (#158)
- Fix error when changing "cluster markers" option (#164)
- Prevent UI from breaking when very long words are used
- Round marker coordinates to 5 decimals everywhere
- Do not show focus ring on lines
Changes for self-hosted instances
- Add
HIDE_COMMERCIAL_MAP_LINKS
configuration option to hide Google/Bing maps links (#186) - Add
CUSTOM_CSS_FILE
configuration option to allow specifying custom CSS (#185 #186) - Add optional
LIMA_LABS_TOKEN
config option, specify to enable Lima Labs map style - Removed
MAPZEN_TOKEN
config option. Open Elevation is now used, a self-hosted instance can optionally be specified through theOPEN_ELEVATION_*
options. - Add
TRUST_PROXY
andBASE_URL
config options to make the app recognize its URL when run behind a reverse proxy.
Technical changes
- Migrate from Vue 2 class components to Vue 3 single-file components
- Migrate from BootstrapVue (using Bootstrap 4) to using Bootstrap 5 directly
- Migrate from Webpack to Vite
- Migrate to native ESM
- Migrate to zod for validating requests
- Make null/undefined properties in API responses consistent
- Use streaming for table/GeoJSON/GPX export
- Allow specifying a custom app name (instead of FacilMap) through the
APP_NAME
config setting - Add integration tests to test client against MySQL/Postgres backend
- Introduce socket versions to allow breaking API changes. v2 uses the new empty default marker/line/map name. Changes are documented in the docs.
- Use TypeScript project references to improve developer experience by resolving cross-module imports
- Add heathcheck to Docker image
- Split up icons into core icons (used in the UI) and extra icons (used in markers). Extra icons are loaded asynchronously.
- Load import libraries (to parse GPX/KML/OSM files) asynchronously
- Clear route points table on server startup
- Reset line point cache on zoom level changes to improve frontend performance
- Add oEmbed configuration
- Allow disabling the creation of default types when creating a map (through
createDefaultTypes
property)