github Freika/dawarich 1.10.2

4 hours ago

Added

  • Poster Studio has a track width control: a 50–300% slider beside track opacity that scales the route line on the saved poster.
  • The Map v2 custom basemap field now accepts raster XYZ tiles (.png/.jpg/.jpeg/.webp) and full MapLibre style URLs ending in .json, in addition to Protomaps-schema vector tiles. Previously a raster URL rendered as a blank grey map and a style URL was rejected. (#3146)

Fixed

  • Saving a zoomed-out Poster Studio view to the gallery no longer rejects routes that are visibly inside the poster frame (#3204). The area check now uses the same Mercator framing as the renderer and wraps across the antimeridian, so high-latitude and Pacific-centred posters are judged against the frame you actually see. Poster Studio also warns when a view is too wide for the largest poster area instead of silently zooming the saved poster in.
  • Instances with heavy write traffic no longer crash-loop on the 1.10.1 upgrade. Dropping the legacy points.latitude/points.longitude columns needs an exclusive lock that busy instances could not win in one attempt, which aborted the migration and restarted the container in a loop. The drop is now retried, and if it still cannot get the lock it is handed to a background job so startup completes. If that job cannot get the lock either, the columns stay and the log prints the statement to run by hand — they are unused, so nothing breaks in the meantime (#3176)
  • Trial lifecycle email jobs left over from older releases are now discarded instead of retrying forever in the background queue. Mail addressed to a record that has since been deleted is also discarded rather than retried.
  • Reverse geocoding and place-name provider outages no longer flood error reporting with handled timeouts, dropped TLS connections, or invalid provider responses. A misconfigured or rate-limited provider — a bad API key, for example — is still reported.
  • Reverse geocoding retries point updates that time out while waiting on concurrent writes.
  • Google Semantic History and phone Timeline imports now tag points with a per-import tracker id instead of one shared constant, so tracks from different devices are no longer braided together. A one-time backfill rewrites existing points and regenerates affected tracks per user.
  • Place names you set yourself are no longer overwritten by nightly reverse geocoding. Renaming a place, creating one by hand, or picking one on the timeline locks its name; renaming it back to "Suggested place" hands it back to auto-naming. Map v2 and the place drawer show when a name is locked. A one-time backfill locks names that were customised before this release (#3086, #3175)
  • Real-time visit detection no longer stops after the first run for users who track continuously — the debounce key is now released when the job runs.
  • The nightly visit suggestion job no longer scans forward to the end of the calendar year; it processes only the day it was asked for.
  • Merged visits now report the correct duration, centre, radius and suggested name instead of keeping the values of the first cluster in the merge.
  • Visit suggestion failures no longer show a raw stack trace in your notifications, and repeated failures within an hour no longer create a notification each time (#3091)
  • Points at exactly (0,0) — a common GPS glitch — are no longer accepted from any ingestion path (API, OwnTracks, Overland, Traccar, file imports) and no longer produce suggested visits at "Null Island". Existing (0,0) points are flagged as anomalies by a one-time cleanup that also removes visits placed at (0,0), tolerates legacy points without timestamps, and recalculates affected stats and tracks.
  • Point uploads from all ingestion paths (REST API, OwnTracks, Overland, Traccar) now retry transient statement and lock-wait timeouts, not just deadlocks, instead of failing the upload.
  • The DNS caching layer no longer crashes with a misleading NoMethodError when the SMTP server is not configured in the background worker, so email delivery surfaces the real configuration error instead. (#3038)

💙 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., Kyle C., Mario B., Albin H., Phillip S., Bernd, Tom, Brett J., 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, Ross, Andre K., Jonathan K., Erik K., Tiebolt v. d. L., Steven, Mathias, Poutouprod, Sam B., Lucio S., Martin C. on Patreon and KoFi 💙


What's Changed

  • Retry point write contention across all ingestion paths by @Freika in #3189
  • Tolerate null timestamps in the Null Island cleanup by @Freika in #3197
  • Retry reverse geocoding point write timeouts by @Freika in #3186
  • fix: quiet handled geocoder provider errors by @Freika in #3183
  • Prevent reverse-geocoding place deadlocks by @Freika in #3193
  • Fix legacy trial email retries by @Freika in #3180
  • Fix NoMethodError from the DNS cache when the resolver gets a nil name by @SAY-5 in #3205
  • Add a Poster Studio track width control by @Freika in #3238
  • Make visit suggestion consistent and predictable by @Freika in #3237
  • Stop the legacy lat/lon column drop from crash-looping startup by @Freika in #3198
  • fix: judge poster saves against the rendered frame (+ track width control) by @Freika in #3230
  • Add custom raster and style basemap URLs by @Freika in #3231
  • 1.10.2 by @Freika in #3199

New Contributors

Full Changelog: 1.10.1...1.10.2

Don't miss a new dawarich release

NewReleases is sending notifications on new releases.