Skip to content

v0.3.0

Choose a tag to compare

@yniverz yniverz released this 15 Oct 23:37
· 4 commits to main since this release

Release Notes – v0.3.0

⚠️ Before updating

  • Port change: WayPointDB is now served on port 8080 instead of 80 (docker-compose.yml). Adjust your reverse proxy or the port mapping if needed.
  • Photon settings moved to .env: set PHOTON_SERVER_HOST, PHOTON_SERVER_HTTPS and PHOTON_SERVER_API_KEY in the .env file. Values in docker-compose.yml are no longer read from there. Wrap API keys with special characters in single quotes.
  • Rebuild both containers so the new frontend files are served: docker-compose up -d --build.
  • The first start creates new database indexes, which can take a moment on large databases.

Features

  • Redesigned web interface:
    • Sidebar navigation with Explore / Data / Settings sections and a trace switcher.
    • Light and dark mode, following the system setting with a manual override.
    • Consistent tables, forms and buttons, and confirmation messages for actions.
    • Full-height map with range presets, a month picker and a collapsible layers panel.
    • The per-user background image is sharper, uses the map's speed colors and shows through softly behind translucent panels.
    • Works on phones.
  • Scheduled jobs: every user can schedule jobs to run once a day at a chosen hour. Set TZ in .env (e.g. TZ=Europe/Berlin) to use local time.
  • Job history: the Jobs page shows running, queued and recently finished jobs, including results and errors.
  • Geocoding: parallel requests (PHOTON_SERVER_CONCURRENCY, default 4), one request per ~11 m area instead of per point, and clear errors when the Photon server is unreachable or rejects requests.
  • Imports: status per file, clearer errors for invalid files.

Performance

  • Jobs run as database queries instead of loading all points into memory. On 100k points: statistics ~7× faster, speed data ~45×, delete duplicates ~160×, reduce clusters ~130×.
  • New indexes on GPS data and daily statistics speed up most pages.
  • The map no longer rebuilds itself on every refresh and draws tracks on a canvas.

Changes

  • Filter GPS jumps (previously "Filter large speed") only removes the jumped point, not the correct point after it.
  • Reduce clusters keeps the first and last point of every stay, so time spent there is preserved.
  • Imports skip invalid entries instead of storing them with the current time, and store timestamps with a timezone offset as UTC.
  • Choosing an import on the Points page shows all of its points.

Fixes

  • Cancelling jobs works again.
  • Geocoding results were not saved for the last batch of points.
  • Only the first user got the nightly jobs.
  • Removing users or traces that have points failed; it now deletes their data.
  • Admins could remove their own account.
  • Map times shifted when the server timezone was not UTC.
  • Fresh builds failed to start with SQLAlchemy 2.1.
  • PHOTON_SERVER_HTTPS=false was treated as true.