Dawarich - Package Updates
-
[1.12.7]
- Update dawarich to 1.7.9
- Full Changelog
- Run Settings Recalculate tracks & stats to merge pre-existing overlapping tracks. #2463
- Visit detection now creates one Place per visit (was up to 25 candidates). Use
GET /api/v1/visits/:id/possible_placesandPOST /api/v1/visits/:id/select_placefor alternatives. Theplace_visitstable will be dropped in a follow-up release. - Map v2 Hexagons layer (Pro) H3 cell heatmap, zoom-adaptive resolution. #2568
- Download a trip's points as GPX or GeoJSON from the trip page. #2400
- OIDC PKCE support via
OIDC_PKCE_ENABLED=true(off by default). #2282 - Self-hosted instances no longer 500 on Stats/Insights when
JWT_SECRET_KEYis unset;/trial/upgradenow redirects home. #2682 - Family members' positions update in real time instead of every 60 s. #2733
- Immich/Photoprism photos reappear after a transient empty response (no more 30-minute hidden window). #1071, #784
- Tracks no longer split into overlapping segments when points arrive late/out of order; same-device overlaps auto-merge on the next run. #2463
- Insights "Top Visited Locations" no longer underreports days for multi-month totals (e.g. 133 days rendered as "4 days"). #2743
-
[1.12.8]
- Update dawarich to 1.7.10
- Full Changelog
- Stops shorter than 5 minutes are no longer suggested as visits by default. Change the threshold under Map V2 ->Settings -> Visit detection if you want shorter stops included.
- Smart density fill now works correctly (it was broken in 1.7.81.7.9). You may see more visit suggestions, especially on days when your tracker recorded points unevenly.
- Map v2 family member markers show name + last-seen datetime on hover.
- Map v2 area info card exposes an Edit button that opens the area modal pre-filled rename and resize existing areas without redrawing. Backed by a new
PATCH /areas/:idroute. - Map v2 selection tool: Delete N Anomaly Points button appears when the selection contains anomaly points, so you can clean up GPS noise without touching real points.
- New Minimum visit duration setting under Settings Visit detection (160 minutes, default 5). Raise it to ignore short drive-bys; lower it to catch brief errands. Replaces the hardcoded 3-minute floor that was the same for everyone in 1.7.81.7.9.
- Stats page no longer 500s after deleting an import or recalculating a month with no points. #2682
- New tracks now honor the user's enabled transportation modes during initial detection. Previously only the Recalculate path respected disabled modes, so a user who turned off (e.g.) cycling still saw cycling assigned to freshly built tracks. #2787
- Visit detection no longer suggests stops at places you only drove past. Clusters where the device was moving faster than walking pace between real GPS points are rejected, so road centerlines on busy arterials stop showing up as "visits" to Kent Street / Leach Highway / etc. #2736 #2775
- Visit detection now respects your Visit time threshold setting when deciding where one visit ends and the next begins. The setting was previously ignored and always treated as 30 minutes.
-
[1.12.9]
- Update dawarich to 1.7.11
- Full Changelog
- Onboarding "Load demo data" now seeds a fully populated
/map/v2instantly: 30 days of Berlin + a Prague-weekend trip, ~80 visits with tags and places, and stats anchored to the current calendar month. "Remove demo data" wipes everything in one click while preserving anything you've confirmed, edited, or built on top of (visits, trips, places, tags adopted by user action stay). - Visits can now be manually assigned to one of your saved areas. When you do, the visit takes the area's name automatically unless you've already given it a custom name, or you've also picked a place (a place name wins over an area name). Available via API now; UI to follow. #2577
- Two unused indexes on the
pointstable are dropped on upgrade; on large self-hosted instances this frees several GB of disk. - Areas now validate their geometry: radius must be greater than 0, latitude must be within -9090, and longitude within -180180. Invalid values are rejected instead of silently saved.
- Bumped bundled gems (aws-sdk, devise, jwt, httparty, and others) to close 9 known CVEs. Self-hosters get the security fixes by upgrading.
- Map v2 Timeline calendar now lights up days that have raw points even before Track or Visit generation has caught up, matching the Insights Activity Overview calendar. #2579
- Reverse-geocoding flood: duplicate per-point enqueues are now coalesced for 24 h via a Redis dedup key, retries are capped at 3, and the nightly sweep bypasses (and clears) the dedup so points whose retries were exhausted or whose key still lingers are picked up on the next run.
- Map v2 visits layer now honours the selected date range. Since 1.7.10 the viewport-bounded visits fetch silently dropped the
start_at/end_atfilter on the backend, so all visits inside the viewport were rendered regardless of the date filter. #2817 POST /api/v1/visitsno longer links a new visit to a place owned by another user. Passing a foreignplace_idis ignored the visit gets a place owned by the requester at the requested coordinates, and the response no longer echoes the other user's place id or coordinates.- Map v2 settings panel: "Apply Settings" now actually saves your changes. Points rendering mode, speed-colored routes, live mode, and fog-of-war toggles all persist on click and reload. Apply/Reset buttons moved above the Transportation Mode section so they sit inside the outer form. #2680
-
[1.13.0]
- Update dawarich to 1.8.0
- Full Changelog
- "What's New" changelog notices in the navbar. Self-hosted users are asked once before any external request and the widget loads only after opt-in; Cloud users see it automatically. Toggle anytime in Settings General, or point it at your own instance with
CHIBICHANGE_WIDGET_HOSTandCHIBICHANGE_SLUG. ChibiChange will be open-sourced soon. - Sign in with Apple on the web (Dawarich Cloud only)
- Opt-in non-ML "stay-point" visit detection, behind the per-user
stay_point_detectionflag (default off). A single-pass dwell detector that fixes the old clusterer's slow-stay false-rejects and dead-battery gap splits, and stores a 0100 confidence score per suggested visit (exposed via the API). #2832 - Map v2 Timeline: every visit now has a search icon to find the real place by name a type-as-you-go geocoder (Photon) lookup biased to the visit's location, each result showing category, distance, and nearby saved Areas. Pick a result to label the visit or create a new place on the spot; choosing a far-away place asks before relocating it.
- Declining a visit is now deleting a visit. Decline (per-visit, "Delete all" for a day, the bulk bar, and the Map v2 area-selection card) is replaced by Delete, which confirms and removes the visit entirely; your location points are always kept. The "Declined" filter and Restore action are removed.
- Globe view is enabled by default for Pro and self-hosted users.
- The map's Places layer no longer floods with a marker for every suggested visit it now shows only places you created manually, attached to a confirmed visit, or tagged.
GET /api/v1/placesaccepts afilterparameter to override:all,manual,confirmed, ortagged. - Deleting a single point on the map (via its info card) now redraws the connecting route immediately instead of leaving a stale line until reload. (#2844)
- The official Traccar client app is now supported directly. Its payload nests coordinates, battery and activity one level deeper than Dawarich's own client, so its points were silently dropped; both shapes are now accepted. #2741
- Deleting an import now also removes any tracks left with no points, instead of leaving empty "ghost" tracks on the map and timeline. Connected maps drop the removed track right away. #2825
-
[1.13.1]
- Update dawarich to 1.8.1
- Full Changelog
- Fog of War (Map v2) can now reveal explored areas per hexagon instead of per point, using precalculated monthly statistics. Switch between "Per point" and "Per hexagon" in the map settings panel. (#2899)
- The suggested-visit card no longer promises alternative suggestions that never arrive; it now points to the visit's search button for picking a different place (#2852)
- Bumped the
oauth2gem to 2.0.22 to close a known credential-leak advisory (GHSA-pp92-crg2-gfv9) on the Google/GitHub sign-in path - Globe view is enabled by default for Pro and self-hosted users.
- Deleting an import no longer gets stuck on an endless spinner: failed deletions revert to a retriable state, and imports stalled in "Deleting" for over an hour show a retry button (#2835)
- Insights no longer report a "new country visited" for border-crossing geocoding blips that the statistics pages already filter out; the yearly digest now applies the same rule as the monthly one (#2727)
- OIDC login no longer fails with "undefined method 'with_indifferent_access'" when OIDC_ISSUER is set to the full discovery URL the trailing /.well-known/openid-configuration is now stripped automatically (#2056)
- Importing files containing invalid UTF-8 bytes (e.g. Windows-encoded degree signs in Google Timeline phone exports) no longer fails with "invalid byte sequence in UTF-8". Applies to the JSON-based importers as well as OwnTracks and TCX (#2772)
- Deleting a family no longer fails with a 500 error when location-sharing requests exist for it (#2916)
- Self-hosted: the /admin/flipper feature-flag UI is no longer rate-limited, which made it unusable after a few clicks (#2897)
-
[1.14.0]
- Update dawarich to 1.9.0
- Full Changelog
- 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/PGIDenvironment variables: the container starts as root, fixes ownership of the mounted volumes, then drops privileges. Use this instead of Composeuser:, 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.
- 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.
- A trip's rich-text notes field is renamed to description; existing content is migrated automatically.
- 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)
- 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
-
[1.14.1]
- Update dawarich to 1.9.1
- Full Changelog
- Trip photos now appear on the Map v2 trip and replay views: thumbnails pop in one at a time as the replay playhead reaches each photo's timestamp, and the same photos are available on public shared-trip links. Photos that fall inside one of your privacy zones are masked from both the map and shared links.
- Re-running visit detection no longer creates duplicate suggestions for a visit you already confirmed, even after correcting its address moved the place marker away from the underlying points (#2952)
- Adding a per-day trip note no longer fails with "Content missing" on instances upgraded from a pre-release build; a migration backfills the
notestable columns that an earlierif_not_existstable creation could have skipped (#2987) - Reverse geocoding against the hosted
photon.dawarich.app(andphoton.komoot.io) now always uses HTTPS, even whenPHOTON_API_USE_HTTPSis unset or not exactlytrue, fixing theGeocoder::ResponseParseErrorcaused by Cloudflare's HTTPHTTPS redirect (#2982)
-
[1.14.2]
- Update dawarich to 1.9.2
- Full Changelog
- A Flights toggle on the Map v2 trip view shows your AirTrail flights alongside the route and photo overlays, and hides the day-route segments that fall inside a flight so the two don't overlap. The button only appears when an AirTrail URL is configured.
- Photoprism photo imports with an end date no longer fail with an HTTP 400: the
beforefilter is now sent as a full ISO8601 timestamp instead of a bare date (#1608). - Re-running visit detection no longer raises
ActiveModel::MissingAttributeErrorwhen a cluster contains points already attached to a confirmed visit.
-
[1.15.0]
- Update dawarich to 1.10.0
- Full Changelog
- Poster Studio: design a printable poster of your travels in a full-screen studio opened from Map v2, with live preview, theme and layout presets, text controls, and PNG/PDF export. Posters can be saved to a server-rendered gallery or in the future releases ordered as a print via Stripe. Self-hosters: the Docker image grows by ~100 MB for the server-side renderer, and gallery rendering is unavailable on 32-bit ARM (armv7) hosts.
- New API endpoints
GET/POST/DELETE /api/v1/demo_datato check, load and remove demo data, enabling demo-data onboarding in the mobile app. - New API endpoints
GET/PATCH /api/v1/settings/mobilefor syncing mobile app settings between devices (most recent write wins). The existing settings API now also acceptsmaps.distance_unitand merges themapshash instead of replacing it, so partial updates no longer wipe other map settings. - The default self-hosted stack now idles about 20% lighter (app container 452 325 MB, whole stack 843 690 MB):
docker-compose.ymldefaults to one Puma worker (WEB_CONCURRENCY=1) and 3 background job threads (BACKGROUND_PROCESSING_CONCURRENCY=3) raise either env var for busier instances and jemalloc now returns freed memory to the OS promptly. Installations that already set these variables are unaffected (#3119). - Family location history now actually shows up on Map v2: the history endpoint read coordinates from the legacy
latitude/longitudecolumns, which are empty on instances that only store the PostGISlonlatvalue, so nothing was drawn. Coordinates are now derived fromlonlat(#2977)
-
[1.15.1]
- Update dawarich to 1.10.1
- Full Changelog
- Google Photos Takeout metadata sidecars can now add geotagged photos as sparse timeline points; sidecars without usable coordinates are skipped.
- The Poster Studio can now be opened directly from a trip's page, pre-loaded with the trip's route, date range, and name.
- Dawarich can now be installed to the phone home screen as a web app (PWA): all pages link the web app manifest and Apple touch icon, and the installed app opens straight into Map v2.
- The legacy
latitude/longitudecolumns onpointsare dropped the PostGISlonlatcolumn has been the single source of truth since 0.25.0. The migration copies any remaining legacy-only coordinates intolonlatbefore dropping, so upgrades from older versions are safe. - File imports no longer store a copy of each source record in the point's
raw_datathe uploaded file stays attached to the import as the source of truth. API responses returnraw_data: {}for newly imported points, and FIT/TCX health fields (heart rate, cadence, power, temperature) as well as Google phone takeout HOME/WORK place labels are no longer stored. - OwnTracks
_type: waypointsync messages are no longer stored as location points, so syncing your saved OwnTracks places no longer creates phantom distance/track spikes (#3137) - Map v2 date pickers now keep the time component when a range with a specific time is loaded from the URL, instead of resetting to the start/end of the day (#3106)
- Outgoing email now works with local unauthenticated SMTP relays: set
SMTP_AUTHENTICATION=none(alsooff/false/disabled) to disable SMTP AUTH instead of hitting "SMTP-AUTH requested but missing user name" (#3147, #2690, #1469, #1463) - Point uploads (REST API, OwnTracks, Overland, Traccar) now write batches in a consistent order so concurrent uploads no longer deadlock each other, and both uploads and anomaly filtering recover automatically from any remaining transient database deadlocks instead of failing the upload or background job.
- Statistics pages no longer fail to load when older monthly data contains malformed country or city entries. Recalculating stats for an affected month repairs the stored data.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login