Highlights
- New design on every screen, and settings show their current value
- Appearance can use your wallpaper colors (Android 12+)
- Export and import share one screen, and an import shows what it adds first
- Restoring a backup checks the file and password before replacing anything
- A setup link says what it will change before you apply it
- GeoJSON exports write one point per recording
- Offline maps shows a running download when you return
- Map credits show a custom tile server's own sources
Which APK should I download?
Pick the build that matches your device:
- arm64-v8a - almost every phone from the last several years (recommended)
- armeabi-v7a - older 32-bit devices
- universal - one larger APK that runs on any device, if you are unsure
Each comes in two flavors: gms uses Google Play Services for location, foss uses Android's own LocationManager and needs no Google services.
Changes
What's New
- feat(screenshots): capture docs and store screenshots automatically (#871)
- feat(ui): the primitives, map layer and type scale the screens build on (#849)
- feat(platform): sync state, bridge methods and the tokens beneath the screens (#847)
Fixes
- fix(inspector): format the time since last fix and name the power state in the location table (#876)
- fix(map): credit a custom tile server with its own sources (#869)
- fix(theme): keep controls visible with wallpaper colors (#866)
- fix(export): show a spinner on Import a file while it parses (#864)
Improvements
19 changes
- refactor(auth): shorten the auth captions and show the hints only when they apply (#875)
- refactor(connection): turn the certificate actions into rows (#874)
- refactor(logging): turn the log file actions into rows and read the log oldest to newest (#873)
- refactor(ui): cut six field hints to one line each (#868)
- refactor(backup): move the backup captions into the form and make restore a row (#867)
- fix(export): show a spinner on Import a file while it parses (#864)
- refactor(data): turn the maintenance and delete actions into rows (#865)
- refactor(ui): retire the pre-redesign fallbacks and pin the token rules (#861)
- refactor(share): hand the setup link to the system sharesheet (#860)
- refactor(settings): five groups, and every row carries its value (#859)
- refactor(offline-maps): keep the download live across focus and name what each action costs (#858)
- refactor(backup): verify the archive before offering restore (#857)
- refactor(export): one screen for moving data in and out (#856)
- refactor(data): every action says what it deletes (#855)
- refactor(geofences): the same bones as the other tabs (#854)
- refactor(tracking): fields first, and the profile that owns them (#853)
- refactor(history): a daybook with one spine per day (#852)
- refactor(dashboard): the map is the screen, the state reads as one line (#851)
- refactor(connection): one chain from endpoint to certificate (#850)
Maintenance
- docs(landing): draw cards and chips as fills, take radii from the shared tokens and keep hero text white in dark mode (#880)
Dependencies
9 changes
- feat(screenshots): capture docs and store screenshots automatically (#871)
- fix(deps): update dependency org.bouncycastle:bcprov-jdk18on to v1.86 (#878)
- fix(deps): update dependency org.robolectric:robolectric to v4.17 (#879)
- chore(deps): update github/codeql-action digest to 1c5b675 (#877)
- fix(deps): update react-native monorepo to v0.87.1 (#626)
- chore(deps): update dependency @types/react-test-renderer to v19.3.0 (#862)
- refactor(ui): retire the pre-redesign fallbacks and pin the token rules (#861)
- feat(ui): the primitives, map layer and type scale the screens build on (#849)
- feat(platform): sync state, bridge methods and the tokens beneath the screens (#847)
Full Changelog: v1.17.0...v1.18.0