Dawarich
Self-hostable alternative to Google Timeline (Google Location History)
Alternative to: google timeline, google maps timeline, google location history

1.14.4
2026-09-06Fixed
- Manual OIDC endpoints and signing keys can be configured without changing existing discovery setups (#3390).
- Place tag filters remain applied after returning to the map or reloading it (#3003, #2928).
- Nominatim and LocationIQ place and visit naming handle provider responses consistently (#3316, #3260).
- Self-hosted photo integrations accept container host-gateway addresses while Cloud restrictions stay in place (#3005).
- Hebrew and Arabic map labels render in the correct reading order (#3530).
- Self-hosters can configure SMTP certificate verification for a local mail relay (#2681).
- Live map updates respect a selected historical date range (#3098).
- Statistics include valid segments crossing midnight and older calculations are scheduled for repair (#2843).
- GPX imports work when the optional decimal elevation column is absent (#2721, #3046).
- Map auto-centering keeps route points clear of the toolbar (#3342).
- Simplified Chinese now covers the family, import, and integration flows added since 1.14.3.
- Per-tracker migrations retry deferred track recalculation instead of reporting premature success.
- User archive restoration enforces ZIP extraction limits against actual output size.
- Family invitation acceptance uses the current subscription period even when background synchronization is delayed.
- Legacy OwnTracks record imports preserve JSON values containing spaces.
- Restoring a user archive preserves structured geodata and raw point data.
- Polarsteps step-array exports with nested locations and numeric timestamps import their points correctly.
- Overlapping track-generation chunks preserve point ownership and include single-point journey endpoints.
- Historical Google Timeline activity hints are preserved when backfilling transportation modes.
- Cloud Lite users are only offered digest years available within their data window.
- Authentication and shared-link rate limits now apply consistently to requests with optional format suffixes.
- Upgrades rebuild invalid statistics indexes left by interrupted migrations and restore duplicate protection (#2700).
- Browser and API password sign-in now respect OIDC-only configuration (#2961).
- Renamed imports download using their current name and client-wrapped files retain their original format (#3455).
- Import download preparation is translated in every supported language.
- Google Phone Timeline imports preserve fractional altitude and accuracy values instead of turning them into out-of-range integers (#3370).
- Password-protected shared links now unlock on self-hosted HTTP servers (#3314).
- Reverse geocoding resolves countries sharing an ISO code correctly and repairs historical links (#3462).
- Video export falls back when a reported codec cannot encode frames (#3436).
- Location search results stay visible after selecting a result repeatedly (#3488).
- Existing users can link an OIDC account when automatic registration is disabled (#3474).
- Long country lists in Insights now scroll beside the calendar on desktop (#3412).
- Remember me now persists across two-factor sign-in (#3416).
- Family map now opens without an undefined theme error (#3415).
💙 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., 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., 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., Martin C., Manuel F., K8BCO, Samuel D., duckduck, David, heydabop, Riccardo N., Tim. S., Jonas, Kenji I. Pascal M., Raymond W., Julien, Roman and Andreas R. on Patreon and KoFi 💙
What’s Changed
- Preserve fractional metadata in phone Timeline imports by @Freika in https://github.com/Freika/dawarich/pull/3526
- Update deleted imports through Turbo Streams by @Freika in https://github.com/Freika/dawarich/pull/3527
- Fix family map initialization by @Freika in https://github.com/Freika/dawarich/pull/3532
- Preserve remember me across two-factor sign-in by @Freika in https://github.com/Freika/dawarich/pull/3533
- Keep long Insights country lists scrollable by @Freika in https://github.com/Freika/dawarich/pull/3534
- Allow existing OIDC account linking with registration disabled by @Freika in https://github.com/Freika/dawarich/pull/3535
- Preserve search results when selecting locations repeatedly by @Freika in https://github.com/Freika/dawarich/pull/3536
- Fall back when reported video codecs fail encoding by @Freika in https://github.com/Freika/dawarich/pull/3537
- Repair country code collisions without skipping historical links by @Freika in https://github.com/Freika/dawarich/pull/3538
- Allow shared-link unlocking over self-hosted HTTP by @Freika in https://github.com/Freika/dawarich/pull/3539
- Preserve renamed import downloads with background preparation by @Freika in https://github.com/Freika/dawarich/pull/3540
- Enforce OIDC-only password policy for browser and API sign-in by @Freika in https://github.com/Freika/dawarich/pull/3542
- Recover invalid stats indexes after interrupted upgrades by @Freika in https://github.com/Freika/dawarich/pull/3543
- fix: apply rate limits across optional request formats by @Freika in https://github.com/Freika/dawarich/pull/3547
- fix: limit digest generation to accessible years by @Freika in https://github.com/Freika/dawarich/pull/3549
- fix: preserve Google activity hints during mode backfill by @Freika in https://github.com/Freika/dawarich/pull/3548
- fix: preserve point ownership across overlapping track chunks by @Freika in https://github.com/Freika/dawarich/pull/3550
- fix: import nested Polarsteps step locations and timestamps by @Freika in https://github.com/Freika/dawarich/pull/3551
- fix: restore point JSONB values without double encoding by @Freika in https://github.com/Freika/dawarich/pull/3552
- fix: preserve spaces in legacy OwnTracks record payloads by @Freika in https://github.com/Freika/dawarich/pull/3553
- fix: synchronize family access before accepting invitations by @Freika in https://github.com/Freika/dawarich/pull/3554
- fix: enforce archive extraction limits on actual output by @Freika in https://github.com/Freika/dawarich/pull/3555
- fix: retry deferred per-tracker track migrations by @Freika in https://github.com/Freika/dawarich/pull/3556
- Keep fitted routes clear of the map toolbar by @Freika in https://github.com/Freika/dawarich/pull/3546
- fix: guard altitude_decimal in GPX track importer so import doesn’t fail when column is absent by @mvanhorn in https://github.com/Freika/dawarich/pull/2872
- Count overnight distance and repair historical statistics by @Freika in https://github.com/Freika/dawarich/pull/2912
- Keep live points within the selected map date range by @Freika in https://github.com/Freika/dawarich/pull/3217
- Configure SMTP certificate verification by @Freika in https://github.com/Freika/dawarich/pull/2936
- Render Hebrew and Arabic map labels with a local RTL plugin by @Freika in https://github.com/Freika/dawarich/pull/3558
- Allow self-hosted link-local photo integrations by @Freika in https://github.com/Freika/dawarich/pull/3223
- Normalize Nominatim place and visit naming by @0LGuenth in https://github.com/Freika/dawarich/pull/3430
- perf(places): scope place search with bounding box to prevent full planet scan by @nareddyt in https://github.com/Freika/dawarich/pull/3528
- Preserve place tag filters across map navigation by @Freika in https://github.com/Freika/dawarich/pull/3184
- Support explicit issuer and JWKS for manual OIDC configuration by @Freika in https://github.com/Freika/dawarich/pull/3557
- fix(i18n): complete the Simplified Chinese locale by @AwHsR15 in https://github.com/Freika/dawarich/pull/3545
- 1.14.4 by @Freika in https://github.com/Freika/dawarich/pull/3541
Full Changelog: https://github.com/Freika/dawarich/compare/1.14.3…1.14.4