Skip to content

1.9.0

Latest

Choose a tag to compare

@Freika Freika released this 21 Jun 20:33
c366ab2

Added

  • AirTrail integration: Dawarich can pull your flight history from a self-hosted AirTrail instance and draw the flights as arcs on Map v2. Configure it on the Integrations page (with "Test connection" and "Sync now"); flights also re-sync daily, and the Flights map layer hides overlapping GPS points while enabled.
  • Run the app and Sidekiq containers under a custom user via PUID/PGID environment variables: the container starts as root, fixes ownership of the mounted volumes, then drops privileges. Use this instead of Compose user:, which cannot write to root-owned volumes (#1159).
  • Trip detail page redesigned around MapLibre v2: sticky map on the left, scrollable per-day accordion on the right with first/last point time and per-day distance, day-colored routes, photo overlay toggle, and a timeline replay scrubber.
  • Per-day trip notes: add a short plain-text note to any day of a trip directly from the accordion. Notes live in their own notes table and are also available via GET/POST/PATCH/DELETE /api/v1/notes.
  • Trip cards on /trips and the trip create/edit form now render their map with MapLibre instead of Leaflet, matching Map v2. The form map live-updates the route preview when the trip dates change.
  • Public sharing of individual tracks: a Share button on each track card creates an expiring public link showing that track's route, stats and (optionally) photos.
  • Public live-location sharing: share your current position in real time from the Map v2 Tools tab. Viewers see a single live dot over a public, optionally phrase-protected link; the location updates over a token-gated public channel and respects your privacy zones.
  • Public shared trip pages now mirror the in-app trip layout — sticky day-colored map, a per-day accordion (hover a day to highlight it on the map, click to pin), stats, and a full replay scrubber. The trip share form gained per-section toggles to choose exactly what the public page exposes (route, stats, countries, description, day-by-day, per-day notes, photos).
  • Supporters can now verify by their GitHub username as well as email (Settings → General), so GitHub Sponsors whose sponsorship email is private can still get their supporter badge. (#2980)

Changed

  • A trip's rich-text notes field is renamed to description; existing content is migrated automatically.
  • Per-day trip stats are now computed in a single PostGIS query (ST_MakeLine/ST_Length) instead of a Ruby Geocoder loop; cache key now also invalidates when individual trip points are updated.
  • Trip replay now plays back proportional to the real time between points, and the map/trip/public-share pages all share one replay implementation.
  • Ruby version updated to 3.4.9

Fixed

  • Family Members map layer no longer draws a stray line to the map center when a member location update lacks coordinates (#2863)
  • Insights and statistics now report the same number of countries visited, excluding fly-over countries without a qualifying city. (#2929)
  • OIDC login no longer fails with an "Issuer mismatch" error when the provider's issuer ends in a trailing slash (e.g. Authentik); the trailing slash is now preserved instead of being stripped. (#2925)
  • Trip card preview on /trips and the per-day route layer on the trip page now split routes at the International Date Line, so transpacific trips no longer draw an impossible line across the globe. #2731
  • Users signed in via Google will now be able to sign in with new password after setting it up, instead of being locked out by the old password being ignored.
  • Suggested visits now always show a Confirm and Delete control, including visits with no matched place — which previously rendered no action and got stuck with no way to confirm or remove them. #2917
  • Searching for a place by name now also matches your areas by name, so an area outside the nearby radius shows up in the results instead of being hidden. #2918
  • Dragging the map during replay no longer snaps the view back to the moving marker; auto-follow yields until you reopen the replay panel.
  • [Cloud] Signing in with Google resolves to a single account across web and mobile, and the account settings page shows which provider an OAuth account is connected with instead of offering a sign-in button. #2969

💙 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., Andrew D., Lomky, Osamu Y., Linus T., Christian C., Sebastian, Jan K., Nathan T., Max G., Lars N., 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., ArnyminerZ, 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., Henrik H., Kyle C., Mario B., Albin H., Phillip S., Bernd, Tom, Brett J., Nick O., greeting7416, Dick, Brian R., Henning, Markus, TheSlimShady, Andrew M., Peter D., Mkpenguin, Mason B., Chance, GoogilyBoogily, Dragon, Oliver, HexitNiels, Michael G., Pablo A., on Patreon and KoFi 💙


What's Changed

Full Changelog: 1.8.1...1.9.0