Skip to content

Releases: cheinisch/Fahrtenbuch-Android

v0.5.3: Changelog for 0.5.2 and 0.5.3

Choose a tag to compare

@cheinisch cheinisch released this 16 Oct 22:07

[0.5.3] - 2026-10-16

Version code 31.

Added

  • Each trip now gets its own ID on the device when it starts, which the app sends as clientTripId to the server (/tracking/start). A repeated start of the same trip returns the existing server trip instead of failing. If a trip is still recording on the server but was already ended on this device, the next sync finishes it (points and stop); if the device discarded it, the server copy is deleted (moved to the archive). Recordings from the web dashboard or other devices are never touched. Requires the matching server version; older servers keep working with the vehicle/start-time fallback.

Changed

  • When the server reports a different trip that is still recording, the sync log now names its vehicle and start time, so the conflicting trip can be found in the web dashboard.

Fixed

  • Sync error texts for a vehicle missing on the server and for a generic sync failure were hard-coded in German; they now follow the app language.

v0.5.0: Check battery optimization in the permissions dialog

Choose a tag to compare

@cheinisch cheinisch released this 14 Oct 12:13

[0.5.0] - 2026-10-14

Version code 26.

Added

  • Tablet layouts (from 600 dp width): navigation rail on the left instead of the bottom bar. In landscape (from 840 dp) the trip list and the trip details are shown side by side, the home screen, statistics and settings use two columns, vehicles are shown as a grid, and setup and login get a side panel with the app name. Trip details use two columns whenever there is enough width.

Changed

  • README updated for 0.5.0 (features, server requirements, architecture).
  • Smartphones are locked to portrait orientation; tablets and unfolded foldables (smallest width ≥ 600 dp) can still rotate.

Fixed

  • Setup and login screens were unreadable in dark mode (light window background behind light text). All screens now draw the theme background; the window background is dark in dark mode, and the status/navigation bar icons follow the theme chosen in the app.

v0.4.3: Changelog: release 0.4.3 (version code 25)

Choose a tag to compare

@cheinisch cheinisch released this 14 Oct 09:58

[0.4.3] - 2026-10-14

Version code 25.

Some features need a current Fahrtenbuch server (cheinisch/fahrtenbuch from 2026-10-14): editing purpose, contact and note, and per-trip time zones. With older servers the app keeps working; those values are then simply not stored on the server.

Added

  • Redesigned statistics: filters for year, month, category and vehicle; total distance with trip count, driving time and average per trip; distance by category with bars; distance per month (tap a bar to filter) or per day.
  • Statistics: export button. Choose a period (prefilled from the statistics filter) and PDF (default) or CSV; vehicle and category filters are applied. In server mode the server creates the tax report (GET /export/pdf, GET /export/csv); in local mode – or if the server is not reachable – the app creates the PDF/CSV on the device. The file is saved via the Android file picker and can be shared directly.
  • Special categories from the server API (specialCategory: medical, volunteering, education/studies, job application, moving, other) as a second classification level next to the trip type:
    • selection in the trip details (chips, "None" removes it), saved via PUT /trips/{id}/classify in server mode and on the device in local mode;
    • chip in the trip list and on the latest trip card;
    • statistics card "By special category" and special categories in the statistics category filter.
  • Trip details: purpose, contact and note can be edited (tap the purpose card). Saved via PUT /trips/{id}/classify in server mode and on the device in local mode; values entered offline are sent before the trip is completed on the server.
  • Trip details: tags (e.g. "Vacation") can be assigned; new tags can be created directly in the dialog. Server mode uses GET/POST /tags and PUT /trips/{id}/tags; local mode stores tags on the device, and offline tags are matched by name (missing ones created) during sync.
  • Per-trip time zone: the device records its time zone at the start and end of every recording (also for Bluetooth auto-start) and sends it to the server (timeZone on /tracking/start and /tracking/stop). Trip times are shown in the local time of the trip, using startTimeZone/endTimeZone from the server (fallback: account time zone) or the recorded device zone in local mode. IANA zone ids make daylight saving time work per timestamp. The local CSV export includes the time zone.
  • Time zone setting under Units & date format: trip times and days are shown in this zone regardless of the device's time zone. In server mode it is the account time zone (timezone, default Europe/Berlin), saved via PATCH /users/me/profile; in local mode a zone can be chosen or the device zone used.

Changed

  • Local database schema version 9 (specialCategory, startTimeZone and endTimeZone for synced and offline trips; purpose, contact, notes and tags for offline trips; tag colors). Existing data is migrated automatically.

Fixed

  • Trips with tags from the server could not be loaded: the API returns tags as objects ({id, name, color}), the app expected plain strings.
  • Trip times were shown in the device time zone (e.g. UTC on an emulator) instead of local time; grouping by day, "today" and exports now use the selected time zone too.
  • More robust parsing of timestamps with offset (+02:00) or without zone.

v0.4.2: Changelog: release 0.4.2

Choose a tag to compare

@cheinisch cheinisch released this 13 Oct 21:44

0.4.2 (version code 24)

Added

  • Default vehicle: loaded from the server, preselected for new trips and listed first on the home screen.
  • Vehicles screen shows a "Default" badge and lets you set another vehicle as default (synced with the server in server mode).
  • README, AGENTS.md / CLAUDE.md and CHANGELOG.md.

Changed

  • Local database schema version 5 (new default-vehicle column, migrated automatically).