v4.21.0 - Trip Details Rebuilt; New Boats & Costs Experience
Sep 18 2026
Added
Logbook
Trip details, rebuilt: a completely new trip detail sheet — route summary card, KPI tiles for distance, duration, speed and average speed, and compact duration/speed labels. A map / weather / cover switcher lets you view the trip's track, live Windy weather, or the cover photo without leaving the screen. Track endpoints are now marked apart: start, waypoints and finish each get their own marker, with anchor and flag icons. Autologger now appears as its own section on the sheet.
Costs on trips: a costs section on the trip sheet, with each cost iconed by its category, and a dedicated screen listing every cost on a trip — tap a cost to edit it straight from the trip.
Photos & files on trips: a photos & files section on the trip sheet, plus a screen listing all of a trip's files; attach files to a trip directly from the details sheet, and change or remove the trip's cover photo from the cover sheet.
Manual logs now name the person who wrote them; autologged entries are tagged with the agent that created them and are hidden from the all-logs screen.
Boats
A new boat details screen, led by the boat's cover photo; edit a boat's personalisation from its own page.
Add-boat rebuilt end to end on the new step design, ending on your boats list when you're done.
Create a brand-new boat model from scratch if yours isn't in the catalogue.
Manage a boat's licence in a sheet; delete a boat with a confirmation that shows everything that goes with it.
The boats list now reads from the device, so it works offline.
Costs
Record a cost in a foreign currency — the exchange rate is shown on the cost and can be edited. Every seeded cost category now has its own icon on cost cards throughout the app.
Files
The file picker can be restricted to images only where a photo is what's wanted.
Tasks
Sort the tasks list by status in real workflow order (not alphabetically).
Updated
General
Files are now referenced by UUID everywhere (covers, thumbnails, downloads, previews) — this is what makes offline file handling reliable.
Settings and your account details now come from the REST API, with the user request cached.
Removed the offline banner and the last of the legacy Formik add-boat flow; Expo and Clerk packages updated.
Logbook
Trip sheet polish throughout — actions pinned to the footer, smaller footer buttons, photos section hidden when there's nothing in it, map buttons on white discs, mode switcher moved to the bottom right and rounded, cover controls stacked above it. The trip files screen is now one continuous list, and the logs section shows the latest logs.
Boats
Form fields use proper keyboards and capitalisation for each value type.
Fixed
General
Data sync: JSON columns upload correctly, the search index rebuilds when its columns change, and a deleted trip properly releases its files and costs. Unit preferences fall back to metric instead of imperial, and a race when the settings form first loads is fixed.
Boats
Boat card covers are properly rounded on Android; the second row of boat summary tiles lines up.
Logbook
Footer buttons no longer fly down when the sheet opens, and respond correctly to gestures. Only images can be picked as a trip cover. Trip rejections are handled properly with a clearer error message.
The edit-log form no longer demands a name; unsynced manual logs are no longer swept up by the autolog filter.
Files
A file you just uploaded stays attached while its record finishes syncing.
Costs
Costs can now be attached to a trip.
v4.20.0 - Consolidation of Custom-fields, Custom-categories, Settings, etc; Many Updates and Fixes
Sep 02 2026
Added
Custom fields: Define your own fields - Alphanumeric, Number, Date or Pick-list - and use them across Inventory, Tasks, Costs, Trips, Checklists and Boats. Manage them from Settings → Custom fields, switching between modules with the new pill tabs. Every create and edit form gets a dedicated Custom fields tab where you fill the values in, and they save and sync with the record
Custom categories across modules: the manage-categories screen now has the same module switcher, so categories for each module live in one place
Settings home: one screen gathering your profile, Preferences, Notifications, Custom categories, Custom locations, Custom sub-locations, Custom fields, Help & support and Sign out - with counts shown next to your customisations and the app version at the bottom
Preferences screen: set Units, Currency, Time zone, Date format, Time format, First day of week, Decimal symbol and Digit grouping symbol, each from its own picker sheet with search where the list is long
Redesigned notification inbox: Unread / All / Archived tabs, swipe actions with undo, snooze, archive and delete, bulk actions, loading skeletons, richer empty states and an offline banner so you know when the list is stale
Redesigned notification settings: per-channel preferences grouped into sections, a master switch, a banner when push is blocked at the OS level, plus clear empty and unavailable states
New onboarding: "Choose your units" and "Select your currency" steps, a progress indicator counted across the whole flow, an entrance animation and a success screen at the end
Updated
Custom fields: the paywall now opens from the custom fields tab itself, replacing the old in-form upsell — swiping onto the tab brings the sheet up and returns you to the form
Settings changes: now confirm with a toast telling you whether the save succeeded
v4.19.0 - Inventory: Maintenance, Current and Historical Usage, Operations Log, etc
Aug 25 2026
Added
Inventory
Maintenance tab: on both the create and edit inventory screens
Current usage card with an edit sheet: tap to update an item's current reading in a bottom sheet; confirming a starting reading when creating an item works the same way
Usage history list: see every usage reading logged against an item, in order
Usage readings recorded as operations logs: confirming or editing a reading writes an operations log entry, so mobile and dashboard show the same history
Checklists
Public checklists: browsing, details, follow and copy-to-my-checklists now run on the new REST API, with a redesigned card list, empty state and "unavailable" state
Updated
Logbook
Logs
Location is now optional on operations logs — you can create and edit an operations log without picking a location
Usage readings are logged when they're confirmed rather than silently written on every save, so the history reflects real user actions instead of form submissions
Fixed
General
Applied an Expo patch that was breaking the iOS build
Logbook
Trips
Logs with no location were being saved at 0,0: a missing location now stays genuinely empty instead of defaulting to null island
Trips that finish in the future now show as active, matching the dashboard
Costs
Cost amount fields share the same limit as the rest of the apps
v4.18.0 - New Checklists, Global Custom User-fields, Many Fixes
Aug 21 2026
Added
General
Attach several files at once, from within any form
An animated logo loader while data is loading
Logbook
Trips
Edit a trip offline with the new design
Files
Attach several files at once, from within any form
Costs
Costs as cards: tap a card to edit it, with a confirmation step before removing a cost
Updated
General
Skeleton placeholders on the dashboard and list (tables) screens while the first sync is still running
Form file fields are laid out as a column and show real thumbnails of your files
Expo (Mobile development) dependencies upgraded to their latest versions
Clerk (Authentication) dependencies upgraded to their latest versions
Dashboard
Dashboard widget totals are now calculated from your local (offline) data, so they're right even without a connection
If one dashboard widget fails, it no longer takes the whole dashboard down with it
Boats
The No-boat modal was replaced with an inline warning that doesn't interrupt you
Logbook
Trips
The Trip-status wording matches the web app: Active / Recording / Finished
Fixed
General
The file picker resets each time it opens and no longer offers files that haven't synced yet; the form's file field now stays in sync with the files table
v4.17.0 - Quality Improvements: Sync-status & Error Notifications plus Unit-testing
Aug 14 2026
Added
General
Record errors banner: records that failed validation or processing now surface an inline banner instead of failing silently
Sync error surfaces: sync failures are now inspectable, in a bottom sheet. Users can see what didn't sync and why
Warning on records tied to a disabled boat: existing records still referencing a disabled boat now show a warning so the state isn't invisible
Developer section added: links out to the docs page
Unit testing introduced: first test coverage landed on both codebases
Boats
Disabled boats are no longer selectable: they're excluded from boat pickers across both apps
Warning on records tied to a disabled boat: existing records still referencing a disabled boat now show a warning so the state isn't invisible
Currency settings: unified into a single input instead of separate ones, and picking a decimal symbol keeps the digit-grouping symbol from matching it
Invalid-submit notification: now names the field that is blocking you and marks the tab it lives on, so you don't have to hunt through tabs
Faster Inventory edit form: initial values are read in one batch and the loading state is scoped to the form instead of the whole screen
Number fields: respect their value limits, with the input's maximum length derived from them
Profile, settings and push device tokens: now go through the REST API.
Sign-out: is now smoother, and settings moved out of the header user button into the tab bar
Buttons: gained a size option that scales their icon too; toggles gained an optional tint
Under the hood: Expo, Novu and TrueSheet upgraded, deprecated storage removed, and sync stream priorities and joins tuned for faster, better-ordered syncing
Fixed
General
Notification tapping: now opens the right screen
A date custom field fixed: set to "today" saved incorrectly on iOS
A number custom field fixed: could be stored with two decimal separators
Creating a trip could fail silently fixed: the app now tells you why it won't save
Onboarding: finishing setup no longer wedges the flow, the redirect to "add a boat" works, leaving the flow is clean, and the currency list fills the screen down to the footer
Custom field sheet edits: when not completed, edits are discarded when the sheet closes instead of lingering
Cancelled request during sync startup (caused by the notifications provider's placement): no longer surfaces as a sync failure
Confirmation before removing an attachment now tells you exactly which file it is
Files
The file picker resets each time it opens and no longer offers files that haven't synced yet; the form's file field now stays in sync with the files table
Confirmation before removing an attachment now tells you exactly which file it is
Costs
Total costs are now gross, with VAT/GST included
Currency picker validation when adding a cost
New costs are saved with the correct name when the parent record has none
Cost amount can no longer be 0 or empty
Number inputs are capped so you are protected from entering unrealistic values