# Changelog

All notable changes to this project will be documented in this file.

## 2026-11
* Tunnel and bridge detection for routed tracks

## 2026-10

* Share map links with QR code
* Feature descriptions can be shown as a banner on the map
* Set feature click options: Show details, web link, center another feature
* Improved feature banner display

## 2026-09

* Option to organize geojson features into multiple layers, drag&drop features between layers
* URL parameter `nocontrols=true` hides the map controls
* Search can find map local geojson results
* Color picker offers the site and map default colors
* Improved View-Edit mode switch
* Option for users to skip map description on load
* Improved [KML](https://developers.google.com/kml/documentation/kmlreference)/KMZ import from Google Maps
* Support the [Pinhead](https://github.com/waysidemapping/pinhead) and [Fontawesome](https://fontawesome.com/) icon sets
* Provide a docker compose setup for self hosting
* Shape selection for points: circle, pin, square
* Background for polygons: a fill color, an image like a floor plan, or a pattern

## 2026-08

* Show an explanation when the browser has no WebGL2 support
* German translations for Frontpage and Map interface
* Search backend switched to [photon.komoot.io](https://photon.komoot.io/)
* Option to copy search results to your map
* Added [protomaps](https://protomaps.com/) base map
* New [styling properties](/doc/geojson_style_spec): label-title, fill-extrusion-shadow
* Live train maps with departure times from the Deutsche Bahn timetable API ([RB6](https://mapforge.org/m/train:RB6))
* Support for right-to-left text

## 2026-07

* Update to [Maplibre GL JS 6.0](https://github.com/maplibre/maplibre-gl-js/releases/tag/v6.0.0)
* Performance improvements for large maps
* Option to delete items from context menu

## 2026-06

* Providing the official [OpenSUSE Conference 2026 map](https://mapforge.org/m/osc26/openSUSE%20Conference%202026)
* [Indoor Maps](https://mapforge.org/m/e3d9c526/Indoor%20map): support for multiple levels and improved level control UI
* New [styling properties](/doc/geojson_style_spec): text-offset, text-anchor, label-shadow-width
* New [logo](https://mapforge.org/logo/pwa/mapforge-logo-pwa-512.png) and [sticker](https://mapforge.org/logo/sticker/mapforge-sticker.jpg)
* Performance: deferred loading, optimized fonts, database indexes
* Allow to re-order layer items with drag & drop

## 2026-05

* Switched headline font to "Bree Serif"
* Enhanced waymarkedtrails.org integration:
  Select and copy trails to your map
* Added indoor layer (vector data from [indoorequal](https://indoorequal.org/))

## 2026-04

* Mobile usability improvements
* Geolocate compass mode (rotates map with device)
* Fix elevation graph of long tracks with > 2000 points
* Allow to color code routes by steepness + surface
* Option to convert gpx tracks into routes
* New layer type 'raster' with waymarkedtrails.org examples

## 2026-03

* Context menu to edit line vertexes
* Re-style map modals and feature edit form
* Page in [OpenStreetMap wiki](https://wiki.openstreetmap.org/wiki/Mapforge)
* Layer visibility toggle
* Experimental basemap layer with option to copy OSM elements to your map
* Log multiple tracks with µlogger to the same map
* Introduce shared map ownership + improved share modal

## 2026-02

* Support Wikipedia layer
* Allow to login with OpenStreetMap

## 2026-01

* 1000st user that created a map!
* Map features can directly link to urls or other features
* Map description with Markdown
* GPX map export compatibility with Komoot and Garmin

## 2025-12

* Upgrade to Ruby 4.0
* Filter and sort Gallery map list
* Copy & paste features with `ctrl+c` / `ctrl+v`

## 2025-11

* Keyboard shortcuts
* Show active collaborators' cursors on the map (optional)

## 2025-10

* Using exif coordinates from uploaded images (upload in layers modal)
* Share option to embed as iframe and download image

## 2025-09

* Show users' recently viewed maps
* Unicode 17 emoji support
* Improved tutorial map
* Emoji picker

## 2025-08

* Ship as PWA (progressive web app) + Android [app](https://play.google.com/store/apps/details?id=org.mapforge.twa)
* Improved compass
* Introduce playground

## 2025-07

* Undo/Redo for features and tracks
* Adaptive kilometer markers on tracks
* First tutorial for overpass layers
* Improved mobile navigation
* Use IP to coordinates database for centering initial map view on user location

## 2025-06

* Option to cluster overpass results
* Option to style overpass results

## 2025-05

* Device orientation indicator
* Maps can have multiple layers
* Overpass layers
* Heatmap support

## 2025-04

* Elevation graph
* Use maplibre-directions for routing
* Reworked settings modal
* Map options: Terrain, hillshade, contour lines, globe mode
* Option to show distance markers on tracks

## 2025-03

* Fine grained view + edit permissions per map
* Reworked layers modal
* Add share and layers modal in read-only view

## 2025-02

* Define route waypoints
* Update map lists with Hotwire broadcasts

## 2025-01

* Maplibre 5.0
* MyMaps view
* Frontpage feature tour

## 2024-12

* New navigation layout
* Support login via Github + Google
* UI editor for line/outline

## 2024-11

* Rails 8.0
* UI editor for fill/outline colour, symbol
* Icon upload
* Line extrusion support

## 2024-10

* Free paint mode
* GPX export

## 2024-09

* Rails 7.2, Maplibre 4.7

## 2024-08

* Direct link to map features
* Make feature details modal expandable
* First version of UI editor for description and point size


## 2024-07

* sync center/zoom/pitch/bearing to other clients
* geojson import
* auto center + zoom
* image upload in µlogger API


## 2024-06

* Burger menu navigation
* Dropped openlayers
* Modal for feature details
* Make Mapforge run without maptiler key
* Support µlogger API

## 2024-05

* Switch to maplibre backend
* Admin map listing
* Layer view listing all features on the map
* gpx + kml upload
* Search bar
* Framework to control + cancel animations
* Adding rack-cache and cache-control headers for dragonfly media
* Calculate default map center based on features

## 2024-04

* Introduce dragonfly to store 'icon' marker types
* Testing deck.gl + maplibre gl backends
* Adding emoji pngs to use from 'marker-symbol' attribute

## 2024-03

* Added Bootstrap5
* Upgrade to Openlayers 9
* Created new frontpage that iterates through demos of available features
