github Freika/dawarich 1.15.0

3 hours ago

Added

  • Trips can be imported from TREK (Settings → Integrations). A TREK trip shows its plan above the recorded days, a trip with nothing recorded yet draws the planned stops on its map and card preview, a recorded trip can lay its plan over the track, and TREK day notes fill in the trip's day notes and stay in sync until you edit them in Dawarich. (#3615)
  • Admins can configure geocoding for the whole instance in Settings → Instance without a redeploy, and test the connection there. A set environment variable still wins and shows its field read-only.
  • The app and Sidekiq containers print a warning at startup when a self-hosted instance runs with RAILS_ENV=development.
  • Map points and tracks can be edited directly over the vector-tile renderer; a completed drag atomically saves the point, recalculates its track and segments, and synchronizes other open sessions. With Edit points on, a point can be dragged straight from the map at zoom 14 and closer, a long press starts the drag on touch screens, and an edit history panel on the map undoes and redoes the last 5 moves.
  • Visited Countries uses bundled PMTiles plus a small, privately cached metadata response, so it remains available without downloading the full location history or requiring outbound network access.
  • Video Studio adds a Fog of War mode with adjustable overlay colour and opacity, independent route and marker visibility, and preview buttons for visualization modes and output formats.
  • Self-hosted instances have a Send test email button in Settings → General that sends a message to your own address through the configured SMTP server and reports the result.

Changed

  • The main map now always renders points and tracks from vector tiles. The classic renderer, its rendering preferences, and the separate main-map Routes layer have been removed; Trip day routes are unchanged.
  • Successful point moves use a short in-map pulse instead of a flash message, with a static reduced-motion variant.
  • Email preferences are hidden on self-hosted instances without SMTP_SERVER, replaced by a note linking to the SMTP setup guide.
  • Geocoding is no longer configured per user: it moved from Integrations to Settings → Instance, and Integrations links there. On upgrade, environment variables that are set are copied into Instance settings, so removing one later keeps its value; without a provider variable, existing per-user settings are carried over when every user agrees on one, or else when the administrators do, and Settings → Instance says when they were not. Per-user settings themselves are left untouched.
  • Installation guides moved out of the repository's docs folder to dawarich.app/docs: Synology (with its compose and .env templates), Kubernetes, Docker, reverse proxy and photo geodata.
  • Updated the Sentry SDK to 7.0. Instances with SENTRY_DSN set start normally, Sentry logs are still sent only when SENTRY_ENABLE_LOGS=true, and the SDK's new automatic database query and request logs are not sent.

Fixed

  • A trip recorded by several devices at once no longer zigzags between them: its line, distance and day routes follow the busiest of the devices that were recording at the same time. Devices that recorded one after another — GPX segments, imported activities, a phone swapped mid-trip — all stay on the trip. For trips calculated before this release, press Recalculate on the trip page to update the saved route and distance.
  • Undoing a point move after leaving the map selection no longer reports a failure for a move that went through.
  • A TREK source no longer stays stuck on "still importing" when an import fails unexpectedly, and it can be disconnected while it is importing.
  • One TREK trip that the server describes with an invalid payload no longer stops the scheduled sync of every other trip on that source.
  • A trip page switches from "Trip path is being calculated" to the map as soon as the path is ready, and a trip with no recorded locations says so instead of calculating forever.
  • The map fits locations recorded during a short period even when the selected history spans years.
  • Switching flight visibility while editing a point or track keeps the edit visible and restores the correct map filters afterward.
  • User profile archives uploaded through the regular Imports page are now restored as profile backups instead of failing the multi-file archive size limit. (#3011)
  • CSV imports combine separate DATE/TIME columns while preserving complete timestamps when both formats are present.
  • The visits API now returns a clear bad-request response for malformed date ranges on both time-based and area-based queries, instead of failing or silently ignoring the filter.
  • Failed imports no longer leave temporary downloads on disk when the file is empty or fails integrity checks.
  • The Synology template and the Kubernetes guide run Dawarich in production instead of development.
  • The Synology template no longer hangs waiting for its database on a fresh install.
  • The Kubernetes guide's health probes check the web container instead of the Sidekiq container, and a startup probe keeps it from being restarted while migrations run.
  • Trip and track distance is calculated in the database, so large trips no longer run out of memory and leave the distance empty. Press Recalculate on an affected trip to fill it in.
  • TREK itinerary imports now keep unscheduled places, honour the trip owner's timezone, and retain the plan after disconnecting TREK. (#3615)
  • Days per Country now uses a more varied color palette so countries are easier to distinguish (#3602).
  • Creating a visit from a location search result keeps the searched place's name and address.
  • Clicking a track on the map keeps the camera on that track instead of zooming out to every track of its day.
  • The map's loading indicator no longer stays on after clicking a track.
  • The selected track's flowing highlight moves at a steady, calmer speed at every zoom level.
  • Trip day statistics refresh after changing the track time-gap setting. Recalculate affected trips to update their saved routes and distances.
  • Undoing or redoing a point move no longer replaces a different selected track.
  • Undo and redo remain consistent when another point move is still saving.
  • Changing the map style no longer leaves duplicate or active controls from a discarded edit history.
  • Live map edits continue updating the map after the editor selection is closed.
  • Point and track tiles refresh immediately after a point moves instead of displaying cached positions.
  • Replay and Video Studio reload location data after point edits, deletions and newly recorded live locations. Loading completes even while live recording continues.
  • Saved point moves no longer report a timeout when cache updates after saving are slow.
  • Profile backups restore TREK plans without linking trips to another account's source or skipping unrelated trips.
  • Accounts connected to TREK can be permanently deleted along with their planned itineraries.
  • Instance settings clarify that disabling immediate geocoding does not stop scheduled lookups.
  • Photo popups on the map escape filenames, place names and source labels instead of rendering them as HTML.
  • An integration URL that resolves to an IPv4 address written in IPv6 form is now blocked like the bare IPv4 address.

💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, derpderpington, Chippie, dint, jhalpern, Lex Fradski, Schlufo, cyberswan.at, craftyklaus, Andre, hogenf, naraxius, Embrace, martin4861, Alex, evetters, GregF, Jon Coffee, Lukas, Robbie G, Kilian, Hans G, Chris, tabaha, Andre, Michael C, Chris, Jonah B., Dante, daallex, Tanner A., Milien M., Mathias, Travis S., Matthew F., Johnathan D., bleibdirtroy, no1etal, dixet, Bailey J., Alex D., Benjamin M., Daniel A., Florian, BeeHappy, ChemistryDachshund, OrangeWindies, Michelangelo V., Edward, Erazem Z., Denis Abt, Tony G., Lomky, Osamu Y., Linus T., Christian C., Sebastian, Jan K., Nathan T., Max G., Karol B., Konstantin, Johannes H., t3hero, g3lin, Tim, Philipp M., Brand K., Pablo F. M., Jon H., fkB, Mikael, Dániel A., Hai_Tsung, ShooTex, GreenTentacle, PinkahPandah, David, Ken, Denna G., Andre, Hendl91, Jon H., MrRed, Arkadiusz Z., Jake, Bator T., Alex J. H., eps-dev, twiggu, Dragan V., Jerome G., Sheya B., Gustav B., higgs01, Frank F., F. J. Kruz, Jon D., Alexander J. H., Daniel D., Gonzalo M., Ricardo T., Christof Z., Narrator, JohnSmith21, smartbert, A.M., Matthew Z., Dror T., Jonathan K., Kyle C., Mario B., Albin H., Phillip S., Bernd, Tom, Nick O., greeting7416, Dick, Brian R., Markus, TheSlimShady, Andrew M., Mason B., Chance, GoogilyBoogily, Dragon, Oliver, HexitNiels, Michael G., Pablo A., Leo L., Daniel D., DSKun, Jonathan K., Erik K., Tiebolt v. d. L., Steven, Mathias, Sam B., Manuel F., K8BCO, Samuel D., duckduck, David, heydabop, Riccardo N., Tim. S., Jonas, Kenji I. Pascal M., Raymond W., Julien, Roman, Mario B., Talis, Thomas G., Gabriel, and Andreas R. on Patreon and KoFi 💙


What's Changed

  • fix: improve Days per Country color contrast by @zeitflowbot in #3622
  • Bump github/codeql-action/upload-sarif from 4.37.8 to 4.37.9 in the actions-minor-patch group across 1 directory by @dependabot[bot] in #3464
  • Warn at startup when RAILS_ENV=development on a self-hosted instance by @Albert-4096 in #3595
  • feat: add fog of war video mode by @Freika in #3623
  • fix: retain address metadata in visit search by @Freika in #3626
  • fix: support ActiveRecord::Relation in Distanceable#total_distance to prevent OOM by @ibigbug in #3589
  • Adding a test-email button + Hiding email preference options if email is not configured (self-hosting) by @trumpetx in #3461
  • fix: clean up failed import temporary downloads by @Freika in #3627
  • fix: serialize places without lonlat geometry by @Anthomos in #2948
  • Handle invalid visits API time ranges by @Freika in #3211
  • Fix CSV import silently discarding date when DATE/TIME are separate columns by @broadcasttechie in #3423
  • fix: route profile archives to account importer by @Freika in #3639
  • chore(deps): bump sentry-ruby from 6.6.2 to 7.0.0 by @dependabot[bot] in #3635
  • chore(deps): bump sentry-rails from 6.6.2 to 7.0.0 by @dependabot[bot] in #3636
  • chore(deps): bump github/codeql-action/upload-sarif from 4.37.9 to 4.38.0 in the actions-minor-patch group by @dependabot[bot] in #3634
  • chore(deps-dev): bump simplecov from 0.22.0 to 1.2.0 by @dependabot[bot] in #3633
  • chore(deps): bump json from 2.21.2 to 3.0.2 by @dependabot[bot] in #3632
  • chore(deps): bump the ruby-minor-patch group with 8 updates by @dependabot[bot] in #3631
  • feat(map): make track recalculation atomic by @Freika in #3640
  • fix: adapt Sentry config to sentry-ruby 7.0 by @Freika in #3661
  • feat(map): add atomic point position updates by @Freika in #3641
  • feat(map): publish committed edit events by @Freika in #3642
  • feat(map): add focused point and track editor by @Freika in #3643
  • feat(map): add visited countries metadata by @Freika in #3644
  • feat(map): bundle visited country PMTiles by @Freika in #3645
  • Instance settings: resolve config from ENV, stored rows, then defaults by @Freika in #3489
  • feat(map): cut over to tile-only rendering by @Freika in #3646
  • feat: add TREK trip source integration by @Freika in #3615
  • Fix trip recordings, map-edit state and TREK account data by @Freika in #3665
  • fix: preserve trip recording gaps and map edit state by @Freika in #3666
  • 1.15.0 by @Freika in #3660

New Contributors

Full Changelog: 1.14.5...1.15.0

Don't miss a new dawarich release

NewReleases is sending notifications on new releases.