Dawarich - Package Updates
-
[1.5.2]
- Update dawarich to 1.0.4
- Full Changelog
- Wrong path helper in the navbar for Settings link. #2215 #2213
- Gemfile being not updated #2210
- Excessive memory usage during visits suggestions job (thanks @nareddyt!) #2119
SMTP_STARTTLSenvironment variable to enable STARTTLS for SMTP connections. Disabled by default.- App-level DNS cache with 5 minutes TTL to reduce DNS lookups and improve performance. #2183
- New Insights page with comprehensive analytics and visualizations:
- Transportation mode detection for tracks: Tracks are now automatically segmented by transportation mode (walking, cycling, driving, etc.) with configurable speed thresholds in settings. Modes are recalculated when threshold settings change.
- Near real-time track generation: Tracks are now generated within ~45 seconds of receiving new points (via OwnTracks, Overland, or the Points API) using a Redis-based debouncer. This replaces the previous 4-hour polling cycle for most cases. Daily generation job frequency reduced from every 4 hours to every 12 hours as a fallback.
- Track merging: Consecutive tracks that belong to the same journey are automatically merged when the gap between them is within the configured time threshold.
- Email preferences moved to "General" tab in user settings for better organization.
-
[1.7.0]
- Update dawarich to 1.2.0
- Full Changelog
- Overall app performance in browser was improved
- Docker images are now being built in parallel for both amd64 and arm64 architectures to speed up the build process. Thank you @rtuszik!
- Map v2 requires WebGL support, so if user's browser doesn't support it or it's disabled, they will see a warning message with a link to the list of supported browsers.
- New Insights API (
GET /api/v1/insights) returning year overview with totals, activity heatmap, and streak data for the mobile app. - New Insights Details API (
GET /api/v1/insights/details) returning year-over-year comparison and travel patterns for the mobile app. - New Digests API (
GET/POST/DELETE /api/v1/digests) allowing the mobile app to list, view, generate, and delete yearly digests. Digest generation runs asynchronously via Sidekiq and returns202 Accepted. Digest detail supports conditional GET (Last-Modified/304 Not Modified). - Scratch map layer is now working again on Map v2.
- Colored routes on Map v2 are now working correctly. Zoom in closer to see colored segments. #2254
- Live mode on Map v2 is now working again.
-
[1.8.0]
- Update dawarich to 1.3.0
- Full Changelog
- Renamed the bottom-panel "Timeline" feature to "Replay" to avoid naming collision with the new Timeline feed sidebar.
- Default map layers for new users changed from Routes + Heatmap to Tracks + Heatmap. Existing users' settings are unaffected.
- Transportation-relevant fields (motion, activity, action) are now stored in a dedicated
motion_datacolumn alongsideraw_data, enabling efficient transportation mode detection. - v2 export/import format with JSONL files and monthly splitting for large entities (points, visits, stats, tracks, digests).
- The new format streams data to avoid memory issues with large datasets, while remaining backward-compatible with v1 archives (
data.json). - User data export now includes Tags, Taggings, Tracks (with embedded TrackSegments), Digests, and Raw Data Archives previously missing from export/import, meaning users who exported and re-imported would lose these entities.
- Tracks are exported with their
original_pathserialized as WKT andtrack_segmentsembedded as a nested array, preserving transportation mode detection data across export/import cycles. - Digests get a fresh
sharing_uuidon import for security old share links from the original user won't work for the importing user. - Raw Data Archives are exported with their attached gzip files, enabling full data restoration.
- Failed imports now will have an error message shown to the user.
-
[1.8.1]
- Update dawarich to 1.3.1
- Full Changelog
- User deletion now being done in the background to prevent request timeouts for users with large amount of data.
- Point speed in Map V2 is now correctly calculated from m/s to km/h or mph based on user preference. #2308
- Family members are now being loaded correctly on Map V2 when family layer is enabled. #2250
- Photos popups on Map V2 now show the photo timestamp in user's timezone. #2310
- Fix the issue preventing fresh app from starting. #2304
-
[1.8.2]
- Update dawarich to 1.3.2
- Full Changelog
- Lite plan for Dawarich Cloud. Lite includes core tracking, map visualization (routes, points), stats, and the read API. Data view is limited to the last 12 months older data is archived but can always be exported. Pro-only features: Heatmap, Fog of War, Scratch Map, Globe View, Immich/Photoprism integrations, public stats sharing, and write API (update/delete). Lite users can still create points via the API. Self-hosted instances are unaffected all features remain fully available regardless of plan.
- Timed layer previews for Lite users on the map. Toggling a Pro-only layer (Heatmap, Fog of War, Scratch Map) shows it for 20 seconds with a countdown, then auto-hides with an upgrade prompt.
- Per-plan API rate limiting via
rack-attack. Lite: 200 requests/hour, Pro: 1,000 requests/hour. Self-hosted instances are exempt. Rate-limited responses return 429 withRetry-Afterheader. - Archival warning notifications for Lite users approaching the 12-month data window: in-app notification at 11 months, email at 11.5 months, archived confirmation at 12 months.
GET /api/v1/planendpoint returning the user's current plan and feature availability.X-Total-Points-In-RangeandX-Scoped-Pointsresponse headers on the points API, allowing clients to detect when data is being windowed.- Branded OAuth buttons for Google and GitHub on the login page.
- Numeric-only strings passed to timestamp API parameters (e.g.
start_at,end_at) are now treated as Unix timestamps directly. Previously they were passed throughTime.zone.parse, which could return unexpected results. If you were relying on the old behavior for numeric strings, update your API calls accordingly. - The user serializer now includes
planin thesubscriptionobject.
-
[1.8.3]
- Update dawarich to 1.3.3
- Full Changelog
- Points table now converts speed from m/s to km/h (or mph) using the user's distance unit preference. Previously raw m/s values were displayed with a "km/h" label. #2337
- Digest list API (
GET /api/v1/digests) now returns distance as a structured object withmeters,converted, andunitfields, matching the detail endpoint. Previously it returned raw meters, causing clients to display incorrect values. Breaking change: thedistancefield changed from an integer to an object. #2336 - Dead documentation links in v0.26.0 changelog entry now point to the correct URLs. #2344
- Filter out Immich and Photoprism api keys from logs to prevent accidental exposure. #2368
- Fix foreign key violation when deleting users with place_visits referencing visits.
- Fix reverse geocoding job failing on points with nil timestamp or lonlat.
- Fix unsupported archive format generating Sentry noise instead of a user-friendly notification.
- Fix deadlock in reverse geocoding places upsert under concurrent Sidekiq workers.
- Reduce Redis disk I/O by relaxing RDB snapshot frequency. Previously the default
save 60 10000rule caused a snapshot every ~60 seconds due to Sidekiq polling, generating tens of terabytes of disk writes over weeks. New defaults: snapshots every 15 minutes (10+ changes) or 5 minutes (100+ changes). - Reduce default Sidekiq concurrency from 10 to 5 threads. Most self-hosted instances don't need 10 workers and the extra threads increase Redis polling traffic.
-
[1.8.4]
- Update dawarich to 1.3.4
- Full Changelog
- Redesigned onboarding modal with two paths: "I have data" (inline file import) and "Start tracking" (app download + QR code). New users with existing location data can now start importing within 2 clicks of signing up.
- Onboarding completion is now persisted server-side (
settings.onboarding_completed) instead of relying solely on localStorage, preventing the modal from reappearing after browser data clears. - Route opacity data migration now runs as a background job instead of inline during migration, improving deployment reliability for large instances.
- Fix admin and supporter tooltip overflowing the page on narrow screens. #1449
- Fix date navigation arrow tooltips overlapping with the navbar on map pages. #2229 #2100
- Fix infinite loading spinner when a trip has no points in its date range. #2293
- Fix Insights monthly digest panels disappearing when switching months. #2305
- Fix suggested visit confirm/decline not removing the visit from the list. #2307
- Fix Stats page reloading when clicking "countries, cities" link. #2270
- Fix map base layer selection not being restored after page reload (Maps v1). #2093
-
[1.9.0]
- Update dawarich to 1.4.0
- Full Changelog
- Family page now contains a map with family members markers on it.
- Visits page now have "Confirm all" and "Decline all" buttons to quickly confirm or decline all visit suggestions at once.
- Updated look and feel
- The point counting was changed to be more efficient on bigger accounts.
- Redesigned raw data archival system for large instances (10M+ points). Archival now runs per-user via Sidekiq jobs instead of a single sequential process, uses PK cursor-based queries instead of full table scans, and processes in 50K-point chunks with 5K-batch flag updates to minimize DB lock contention. Inline verification removed in favor of daily spot-checks. FK constraint changed from
ON DELETE nullifytoON DELETE RESTRICTto prevent cascading updates on large tables. -
- Fix Lite plan archival warnings sending all three notifications (11-month, 11.5-month, and 12-month) simultaneously when a user's oldest data already exceeds all thresholds. Now only the most severe warning is sent, and lower thresholds are marked as already notified.
-
- Fix intermittent 502/504 errors caused by
User.reset_counters(:points)running synchronously during OwnTracks, Overland, and API point creation. The fullCOUNT(*)query blocked web workers for 60500+ seconds on large accounts, starving all other requests. Counter reset now runs as a background job.
- Fix intermittent 502/504 errors caused by
-
- Misconfigured Prometheus settings will no longer litter logs with error messages, it will make multiple attempts to connect instead and then stop.
-
- One of previous versions removed a database index making points upload very slow. The index is now added back to fix the issue.
-
[1.10.0]
- Update dawarich to 1.5.1
- Full Changelog
- Fix points and tracks interactions on Map v2 being unresponsive after the latest update.
- Fix creating demo data from the onboarding modal.
- Fix navbar for cloud trial users.
- Reset months stats instead of deleting when there is no data.
- GPS noise filtering. An automatic system to detect ahd filter out points with unrealistic speeds, altitudes, or sudden jumps.
- Support for signing in via web view using our Android app.
- On the map settings page user now can enable and disable map layers.
- Onboarding modal now offers a third option to load demo data (3 days in Berlin, ~1000 points) so new users can instantly see what the map looks like. Demo imports bypass trial limits, are clearly labeled with a "Demo" badge, and can be deleted from a banner on the map page or from the imports list.
- New tool to the Map V2 tools: The "Day per Country" button will open a modal showing a breakdown of how many days the user has spent in each country, based on their points data. This is calculated by grouping points by country and counting unique days with at least one point in that country.
- [Cloud] The point creation API endpoints are being excluded from the default Lite/Pro rate limits (200/1,000 requests/hour). They now have general rate limits of 10,000 requests/hour.
-
[1.11.0]
- Update dawarich to 1.6.0
- Full Changelog
- Immich users can now enrich their photos with geodata.
- Users can now optionally enable two-factor authentication (2FA) for their accounts in Settings > Two-Factor Authentication. Supported methods: TOTP apps (Google Authenticator, Authy, etc.) and backup codes. Once enabled, users will be prompted for a 2FA code on login. This adds an extra layer of security to protect your location data.
- Fix OIDC account linking failing when the email from the identity provider has different casing than the existing Dawarich account #1983.
- Fix confirmation dialogs being ignored when clicking "Cancel" destructive actions (account deletion, import/export deletion, place deletion) fired regardless of user choice due to Rails UJS and Turbo both handling the same click #1978.
- Fix Year in Review share link being empty when toggling public access #2418.
- Fix address field on Points page being empty when geodata properties are unavailable #2419.
- Fix Stats API returning the same country/city count for every year instead of per-year counts #2280.
- Fix flyover countries (with no visited cities) still showing in monthly stats views #2423.
- Fix importing Google Timeline files. #2427
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