Skip to content

4.0.0

Compare
Choose a tag to compare
@cdauth cdauth released this 29 Mar 01:08
· 143 commits to main since this release

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 the OPEN_ELEVATION_* options.
  • Add TRUST_PROXY and BASE_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)