5.1.0
Highlights
TREK now runs its own map services, on servers sponsored by dataforest cloud. Place search, address search and routing come from TREK's own servers instead of public services that limit, slow down or drop requests. Every installation is connected on its own, without any setup. A big thank you to dataforest, who make all of this possible for every TREK installation: cloud servers made in Germany, in Frankfurt, billed by the hour.
- Routes that match the road. Every day, road trip and assistant route is calculated by TREK's own planet-wide Valhalla with elevation data. It knows road classes, turns, tolls, ferries and climbs, so routes and driving times come far closer to what you will actually drive.
- The right place first. Search now finds the place you mean far more often, and answers three times faster.
- Place details in milliseconds, from TREK's own copy of OpenStreetMap instead of the public Overpass servers.
- Place details from the whole community. With the admin's consent, an installation shares the details its users add, and every TREK gets better places.
- Hebrew, TREK's 28th language, with right-to-left layout.
By the numbers
| 5.0 | 5.1 | |
|---|---|---|
| Right place first in search suggestions | 48 % | 70 % |
| Right place first in a full search | 53 % | 74 % |
| Countries first in suggestions | 44 % | 99 % |
| Cities first in suggestions | 65 % | 88 % |
| The same place twice in one list | 0.43 per list | never |
| Full search, 95th percentile | 640 ms | 203 ms |
| Details of an OpenStreetMap place | several seconds, often unavailable | milliseconds |
| Stops per road trip day | 10 | no limit |
| Distance per road trip day | 1,500 km | no limit |
Search figures measured on 5,000 searches from Wikidata: cities, countries, landmarks, museums, airports, stations, nature and venues, with and without a trip around them.
Your TREK services
| Service | 5.0 | 5.1 |
|---|---|---|
| Place search | TREK API | TREK API and OpenStreetMap in one ranked list |
| Address search | Public Nominatim, one request per second | TREK's Photon, in every TREK language |
| Routing | Public OSRM | TREK's Valhalla, planet-wide with elevation, OSRM as silent fallback |
| Place details | Public Overpass | TREK's own OpenStreetMap copy, Overpass only as fallback |
| Community place details | none | Shared between installations, with admin consent |
Note
Sharing place details is off until an admin turns it on. TREK asks the admin once in Admin > Settings; users are never asked and nothing about them is sent. Only the place detail itself leaves: the field, the value and the place it belongs to. No user, trip, note, file or search goes with it, and the Transmission log in Admin shows every value that was sent.
Tip
Please consider sharing. Every phone number, website, opening hours or picture you share makes TREK's own place data better for everyone and TREK less dependent on Google. We are grateful for each one.
Important
Nothing to configure: every installation gets its key for the TREK services in the background. To keep using your own services, set NOMINATIM_URL or choose FOSSGIS or your own Valhalla in Admin > Settings; to switch the TREK services off entirely, set TREK_SERVICES=off.
Note
Search for a place once after updating. 5.1.0 registers with the TREK services under its own release. If place search, address search or routing do not answer right after the update, search for any place once: that registers the installation, and everything works from then on.
Added
TREK services
- Address search through TREK's own geocoder. Searching for a street, a town or an address goes to TREK's Photon server, built from OpenStreetMap with every language TREK speaks, instead of the public Nominatim with its one request per second. If it cannot answer, TREK falls back to Nominatim without you noticing. An instance with its own
NOMINATIM_URLkeeps using it. (#2882) - Every route now runs on TREK's own Valhalla. Days in the planner, road trips and the routes the assistant and MCP plan are calculated by a planet-wide Valhalla with elevation data that TREK runs for every installation, reached through your TREK server. One engine per day, so a leg shows the same driving time in the day plan and the road trip; avoiding tolls, highways and ferries works everywhere; the old limits of 10 stops and 1,500 km per road trip day are gone. If TREK's router cannot answer, OSRM calculates the day as before, without a message. Admin > Settings can still choose FOSSGIS or an own Valhalla; with FOSSGIS everything stays as it was. (#2882)
- Every installation gets its own key for the TREK services, without any setup. It is requested in the background on the first search, renewed on its own, and tied to the TREK release it runs, and it keeps the services fair for everyone. Admin > API Keys shows how much of today's allowance each service has used and when it resets. Searches and places are never logged; only the number of requests is counted. Older TREK versions keep working without a key. To opt out, set
TREK_SERVICES=off; hosted setups can pass a fixed key withTREK_SERVICES_KEY. New variables:TREK_SERVICES,TREK_SERVICES_KEY,TREK_SERVICES_HOSTS,TREK_PHOTON_URL,TREK_VALHALLA_URL. (#2882, #2893)
Place details from the TREK community
- An admin can share place details with every TREK. Nothing is sent until the admin agrees to one question in Admin > Settings; users are not asked and nothing about them is sent. The installation then passes on what its users type about places: website, phone, e-mail, opening hours, description and pictures, each field switched on or off on its own. Only the value, its field and the place it belongs to go out, never a user, a trip, a note, a file, a search or anything a provider filled in, and every change is sent the moment it is saved. Pictures are re-encoded before they leave, so no camera data or location goes with them. A value for an empty field reaches every installation right away; a correction of an existing value, every description and every picture are checked by a person first. The new Place search and routing card in Admin > Settings shows what was sent and what became of it, and everything can be withdrawn. (#2913)
- Saved places learn what others shared. When you edit a place that has newer details than the ones it was saved with, a New place details pill in the dialog lists them field by field; empty fields are ticked, filled ones are yours to decide. Pictures the community shared show first under Pick a picture, and a shared description is credited to the TREK Community. (#2913)
Languages
- Hebrew, with right-to-left layout like Arabic. TREK now speaks 28 languages. (#2856)
Helm chart
extraVolumesandextraVolumeMountsfor the TREK container. (#2857)- Gateway API support: an
HTTPRouteas an alternative to the Ingress. (#2836)
MCP
create_transit_journeytakes a price, andcreate_budget_itemcan link the expense to a booking withreservation_id. (#2802)
Fixed
Place search and details
- Place search often put the wrong place first. The TREK API, TREK's Photon and OpenStreetMap now answer as one list: a city, an island, a landmark or an airport by its code comes first wherever it lies, a café or a shop comes from around the open day, and a place two sources know shows once. Addresses, a point picked on the map and the details of an OpenStreetMap place come from TREK's Photon. (#2912)
- Typing a search showed OpenStreetMap places only after it was sent. Search-as-you-type now asks TREK's Photon beside the TREK API. (#2890, Refs #2877)
- The details of an OpenStreetMap place took several seconds, or showed Nothing found when the public Overpass servers were down. They now come from TREK's own copy of OpenStreetMap first. (#2913)
- Use this text sat at the bottom of the place details, away from the description it copies. It now sits right under the description. (#2913)
Routing
- A day with many stops was routed piece by piece with a pause between the pieces, and one route that ran out of time, such as a long bike route, rested the router for every user for ten minutes. A day now goes to TREK's Valhalla with up to twenty stops at a time, and a slow route falls back to OSRM for that day only. (#2912)
- Public transit searched only the configured provider. When it finds no connection, TREK now asks the other one, Transitous or Google, before giving up. (#2860)
Admin
- The TREK API card listed the services without saying what each one does. It now names the place search, the address search and the routing, what each carries and where its data comes from, with each daily limit as its own badge. (#2912)
- Place search settings were spread over the API Keys card. TREK API, transit provider, search provider and the search log now share their own Place search and routing card; API Keys holds the Google, Unsplash and Amap keys only, and Allowed file types moved to the left column. (#2913)
Studio
- A long journey's book stopped at about 300 pages. A book held at most 150 spreads, and the auto layout cut the rest of the trip without a word, its last page and back cover with it; adding, copying or applying a designed page to a full book was refused. A book now has as many pages as its journey needs. (#2866)
Assistant and MCP
- Ollama entered without
/v1failed on every message. The chat went to/chat/completionsat the address as entered, which Ollama answers with a 404, while connecting worked because the model list comes from/api/tags. A bare server address now chats under/v1, and an address with a path is used as entered. (#2868) - ChatGPT rejected every TREK tool with the Journey addon on.
restore_book_pagedescribed map points as tuples, a schema form ChatGPT refuses; map points are now plain number pairs. (#2890, Closes #2879) - Every booking import through Anthropic failed on Claude Sonnet 5.5, Opus 5.5 and Fable 5.1. These models refuse a forced tool call, which the import used to get its answer; it now asks for the tool without forcing it and works with every Anthropic model. (#2915, Closes #2902)
Bookings and imports
- A rail ticket with several segments counted its fare once per segment. Segments of one ticket are now one booking with legs, imported or created through MCP, so the fare lands in the budget once. (#2896, Closes #2895)
- Two one-way car bookings on the same day gave an unclear distance. A hire car without a return day is now handed back on its pick-up day, so both legs are routed and counted correctly. (#2896, Closes #2894)
- The booking editor closed before attached files were uploaded. A failed upload lost the files and saving again created a duplicate; the editor now stays open until the uploads finish and keeps the failed files for a retry. (#2890, Closes #2883)
- A second GPX track with the same name was skipped as already in the trip. Two different hikes a watch named alike counted as one; a track is now a duplicate only of a track with that name that also starts, ends and reaches as far, so the same file imported again is still skipped. (#2871, Closes #2870)
- Logroño (RJL) and other newly coded airports could not be found. The bundled airport list predated their codes; it is refreshed, and every code it carried before still resolves. (#2916, Refs #2897)
Calendar
- Car and other transport events had no location. The route was only in the description, so calendar apps had nothing to navigate to; a transport event without a location of its own now takes it from its stops, the destination for a drive of your own and the departure for a ride you board, and a car's pickup and drop-off each where they happen. (#2915, Closes #2909)
Journey
- Photo thumbnails drifted away from their spot on Mapbox GL and MapLibre GL. The more photos a map held, the further down each thumbnail sat; every thumbnail now sits on its own coordinates, as on Leaflet. (#2914, Closes #2910)
- Dawarich tracks wore other colours than the entries of their day. A day's track now takes the colour of that day's entries. (#2914, Closes #2906)
- Photos popped in and pushed the story down on a shared entry. The main photo now keeps its room and shows its thumbnail while the full image loads, and the fullscreen viewer shows the thumbnail and a spinner instead of a black screen. (#2914, Closes #2907)
- The External photos button arrived late on phones and squeezed the other buttons. It is there as soon as an entry opens, and the icons keep their size. (#2914, Closes #2908)
- A selected neutral mood was hard to see in dark mode. A selected mood is now framed in its own colour. (#2914, Closes #2905)
- Photo groups on the map changed while panning. Groups now only change when zooming. (#2892, Closes #2889)
- The entry connection was drawn over recorded Dawarich routes. The dashed line between entries is now left out on days that already show the recorded way. (#2892, Closes #2888)
- Stop numbers differed between the journal and the share link. Both now number the map stops the same way. (#2892, Closes #2886)
- The entry card on the map could not be tapped on phones. Tapping it now opens the entry. (#2892, Closes #2885)
Atlas
- The server held the region outlines of every country in memory at once. Each country's regions are now read from their own file when they are asked for, and the country index and region cache are kept in compact number arrays, so Atlas needs far less memory with the same map. (#2823, #2841, #2843)
Everywhere else
- A tour over 24 hours a stage could not be saved, without saying why. The planned total now says what to do: make it a multi-day tour by ending a stage at a stop, or enter a shorter planned total. (#2872, Closes #2869)
- The Unsplash cover search on a VPS only said "Unsplash search unavailable". Unsplash turns datacenter addresses away without a key; the search now says that an administrator can add the free Unsplash Access Key in Admin > Settings, in the user's language. (#2873, Closes #1449)
- On the phone, the day rail stayed on day 1 for a running trip. The active day is now brought into view once the rail is shown. (#2890, Closes #2880)
- The PDF route overview of a long trip was mostly straight lines. The whole trip had 8 s to route; every leg is now routed with progress and a skip option, and legs left unrouted are marked. (#2890, Closes #2876)
- Countries like Vatican City were missing from the dashboard's visited countries. The dashboard now resolves countries the way the Atlas map does. (#2890, Closes #2875)
Sponsor
TREK runs on dataforest cloud. dataforest builds cloud servers made in Germany: enterprise hardware and a premium network in Frankfurt, up to 20 TB of traffic included, block storage, one-click apps and billing by the hour. They sponsor the servers behind TREK's public services, and they are a great home for your own TREK too. Get started with dataforest cloud.
