{"full_name":"Freika/dawarich","owner":"Freika","name":"dawarich","url":"https://github.com/Freika/dawarich","description":"Your favorite self-hostable alternative to Google Timeline (Google Location History)","homepage":"https://dawarich.app?utm_source=github&utm_medium=project_description","topics":[],"language":"Ruby","license":"AGPL-3.0","avatar":"https://avatars.githubusercontent.com/u/3738638?u=a83530fd4051e5999400c6ef6edeb87d053cdb59&v=4","created_at":"2024-03-24T19:46:00Z","pushed_at":"2026-11-09T22:38:44Z","metrics":{"stars":10909,"forks":420,"watchers":26,"issues":1606,"prs":1635,"releases":342,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":744},"growth":{"day":{"stars":48,"forks":1,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[10861,10909],"forks":[419,420],"watchers":[26,26],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[],"issues":[{"number":3105,"title":"Postgres database dawarich_development is unavailable","comments":11,"created_at":"2026-07-10T16:34:56Z"},{"number":2536,"title":"Android app shows current location but does not record tracking points","comments":11,"created_at":"2026-04-27T08:49:19Z"},{"number":2711,"title":"Countries flown over are still displayed in trips and Year-End Digests","comments":10,"created_at":"2026-05-13T14:06:47Z"},{"number":3658,"title":"App to Server Sync Issue.","comments":7,"created_at":"2026-09-17T11:51:22Z"},{"number":3662,"title":"Android Mobil App eats the Battery","comments":5,"created_at":"2026-09-18T18:04:02Z"},{"number":2974,"title":"Date-range filtering selects points by the account timezone, not by each point's local time","comments":5,"created_at":"2026-06-20T16:02:29Z"},{"number":3844,"title":"Bad map performance after recent update","comments":4,"created_at":"2026-10-14T10:04:50Z"},{"number":3762,"title":"Tracks not showing up on Web UI (but does on Android App)","comments":4,"created_at":"2026-10-01T02:44:04Z"}],"discussions":[{"number":4008,"title":"[Feature request] Override Android system theme","comments":0,"category":"Ideas","created_at":"2026-11-07T22:29:59Z"},{"number":3998,"title":"Track generation issue and other QOL","comments":0,"category":"General","created_at":"2026-11-05T14:07:56Z"},{"number":3997,"title":"Feature request - A Ready status indicator after the application is fully loaded and finished any migrations","comments":0,"category":"Ideas","created_at":"2026-11-05T04:55:20Z"},{"number":3990,"title":"Feature Request: Adaptive Zoom and Automatic Viewport Adjustment During Playback","comments":0,"category":"Ideas","created_at":"2026-11-03T20:15:06Z"},{"number":3987,"title":"Dawarich app: store recorded points on device","comments":0,"category":"Ideas","created_at":"2026-11-03T12:49:42Z"},{"number":3975,"title":"Is all data - e.g. accuracy confidence - sent to the server by the app, and can it be used for cleaning it up later?","comments":0,"category":"General","created_at":"2026-11-02T12:00:37Z"},{"number":3982,"title":"I want to press on points in Dawarich android app","comments":0,"category":"Ideas","created_at":"2026-11-01T23:59:47Z"},{"number":3983,"title":"Show speed during Video Studio route replays","comments":0,"category":"Ideas","created_at":"2026-10-31T21:18:39Z"}],"latest_release":{"name":"1.22.0","tag":"1.22.0","published_at":"2026-11-07T21:50:08Z","body":"### ⚠️ Upgrade notes\r\n\r\n- With `ARCHIVE_RAW_DATA=true`, set `ARCHIVE_ENCRYPTION_KEY` before upgrading: without it, production stops archiving raw data and only logs an error. On an instance that already has archives, use the current `SECRET_KEY_BASE` value; otherwise generate a key with `bin/rails secret`. Keep the key safe, because cleared raw data cannot be recovered without it.\r\n\r\n### Added\r\n\r\n- Split Tracks at midnight in your timezone with a new option in the map's Track generation settings, so a night at home with your phone still reporting no longer joins several days into one Track. It is off by default; press Recalculate tracks & stats to apply it to existing Tracks. (#3306)\r\n- The Timeline also shows the local time of a visit, or of a journey's start, when the place is in a different time zone than your account, for example \"19:30 local\" next to a Kansas visit for an account in Berlin. Days are still split by your account's time zone. The API and the MCP `get_timeline` tool return the place's time zone as `local_timezone`. Time zone boundaries come from timezone-boundary-builder (© OpenStreetMap contributors, ODbL) and load during the database migration; without them, times stay in the account's time zone as before. (#3886)\r\n\r\n### Changed\r\n\r\n- Bumped Rails to 8.1.4.1 to close the security advisories fixed in that release, including GHSA-f3w6-w445-fwh9 (arbitrary file read and write in Active Storage image analysis). Self-hosters get the fixes by upgrading.\r\n- A stop long enough to count as a visit (5 minutes by default, never less) now ends a Track, even when it is shorter than the time gap between Tracks. The Timeline shows separate journeys before and after such a visit instead of one journey across it, and position noise during a stay no longer cuts it into short Tracks. Press Recalculate tracks & stats to apply it to existing Tracks. (#3454)\r\n- The interface is restyled with quieter colours and sentence-case labels across the app.\r\n\r\n### Fixed\r\n\r\n- Points recorded shortly after a route ended are attached to that route again instead of failing while tracks were generated in parallel. Merging a route that has a shared link or corrected segments no longer fails the same way.\r\n- GPS filtering now hides a single imprecise network point that jumps to a distant cell tower and back while the phone stays put, such as an Android phone idle at home that reports one fix across a bay. To check your existing history, press \"Re-evaluate past data\" in the map settings under GPS Noise Filtering. (#3892)\r\n- Stationary presence reported by the mobile tracker remains available for visits and raw history without adding zigzags or distance to routes, trips, or recalculated statistics.\r\n- Countries you only flew over no longer count when the flight comes from a GPX or GeoJSON file without speed data either, including files imported earlier: speed is worked out from the time and distance between points. In a GeoJSON file without a speed field, points no longer get a speed of 0. (#3900)\r\n- Keep public timeline links and filtered exports limited to their selected import, including queued exports and restored backups. Shared links show their source, time range and expiry and let owners edit access settings.\r\n- Preserve the selected timezone when saving settings and loading Poster Studio dates. Poster controls and downloads now fit narrow screens, and closed map dialogs no longer receive keyboard focus.\r\n- Show digest generation progress and retries without marking completed reports as failed when email delivery cannot be queued. Make MP4 downloads, integration save/test outcomes and timeline filter counts easier to follow.\r\n- Improve import recovery, family sharing feedback, first-use guidance, mobile navigation, point lists, Places forms and empty analytics.\r\n- Raw data archival no longer clears points whose archive file has gone missing, and account exports now include raw data that was already archived and cleared from the database.\r\n- "},"readme":true,"readme_zh":true,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}