Repository navigation
1.8.2 (2026-10-14)
Features
- private notes, signed edits, encryption and backups (#3332) by @ericgriffin in #3332
- file documents anywhere, gear paperwork in Documents, full-page PDFs, reclaim space (#3335) by @ericgriffin in #3335
- private shared dive-site library synced apart from the personal log (#3324) by @ericgriffin in #3324
- replace server-type presets with a single WebDAV address (#3330) by @ericgriffin in #3330
- Add multi-select when adding equipment to a dive (#3318) by @schtibal in #3318
- several courses per dive and certifications per course (#3320) by @ericgriffin in #3320
- cylinder fills, passport ids and service clocks in UDDF backups (#3325) by @ericgriffin in #3325
- remember which tagged cylinder a tank came from and count its dives (#3316) by @ericgriffin in #3316
- let each diver choose the Equipment list's default view (#3319) by @ericgriffin in #3319
- build sighting species from the UDDF species section (#3310) by @ericgriffin in #3310
- mark trips a cylinder is already packed for in the trip picker (#3309) by @ericgriffin in #3309
- show identifiers in an assembly's component rows (#3308) by @ericgriffin in #3308
- shortcuts to deep pages on the main nav (#3305) by @ericgriffin in #3305
- keep the Suunto route quality fields with an imported route (#3306) by @ericgriffin in #3306
- always a way back from items linked to a dive and from show-dives lists (#3303) by @ericgriffin in #3303
- choose custom colours for dive profile metrics (#3299) by @ericgriffin in #3299
- add body-of-water grouping to the Dive Sites list (#3273) by @alpheios-one in #3273
- add Runtime to Dive focus and a Runtime Trend chart (#3294) by @ericgriffin in #3294
- accept a focal length range for zoom lenses (#3293) by @ericgriffin in #3293
- move the Near-miss log to the Diver Profile hub (#3291) by @ericgriffin in #3291
- combine the Data Sources provenance lists into the comparison table (#3283) by @ericgriffin in #3283
- collapse long gaps in diving into a hatched break on trend charts (#3258) by @ericgriffin in #3258
- redesign the Dive focus page so the finding leads (#3257) by @ericgriffin in #3257
- interactive timeline slider beside the Play button (#3254) by @ericgriffin in #3254
- refuse retired, sold and lost gear in dive and trip scans (#3249) by @ericgriffin in #3249
- add WebDAV as a sync, backup and media storage backend (#3246) by @ericgriffin in #3246
- import DiveMate databases as their own format (#3245) by @ericgriffin in #3245
- one dive computer, several download connections (#3239) by @ericgriffin in #3239
- declutter the Data Sources section on the dive detail page (#3250) by @ericgriffin in #3250
- scrollbars, pointer-tracking resize and column/cell filter menus in the dive table (#3244) by @ericgriffin in #3244
- offer a visibility range alongside the precise number (#3238) by @ericgriffin in #3238
- highlight today on an active trip and show more on the day cards (#3242) by @ericgriffin in #3242
- add a Socks equipment type (#3241) by @ericgriffin in #3241
- documents store for insurance, medical, certification and other papers (#3240) by @ericgriffin in #3240
- display options, alternative layouts and views, and node dragging (#3237) by @ericgriffin in #3237
- weather and conditions statistics on the Conditions tab (#3233) by @ericgriffin in #3233
- show and edit a dive's boat, captain, operator and surface conditions (#3236) by @ericgriffin in #3236
- NFC tags, QR labels and passports for every piece of gear (#3235) by @ericgriffin in #3235
- add a Vest equipment type (#3234) by @ericgriffin in #3234
- proxy support (system proxy, manual HTTP and SOCKS5) (#3228) by @ericgriffin in #3228
- save the slate PDF and plan file to a folder (#3231) by @ericgriffin in #3231
- optional note on Backup Now and Export Backup (#3206) by @ericgriffin in #3206
- clone a piece of equipment (#3187) by @ericgriffin in #3187
- add ICD calculator for isobaric counterdiffusion (#3125) by @alpheios-one in #3125
- edge diver figure gear that blends into the page (#3188) by @ericgriffin in #3188
- give TDI its own certification structure (#3081) by @alpheios-one in #3081
- assign a course to several dives at once in bulk edit (#3040) by @readme42 in #3040
- track where gear is stored, serviced or lent (#3043) by @ericgriffin in #3043
- several roles per person on a dive (#3010) by @ericgriffin in #3010
- certification currency and renewal warnings (#3020) by @ericgriffin in #3020
- name each weight on a dive and in weight presets (#2999) by @ericgriffin in #2999
- import the Suunto DiveRoute as an underwater route (#3019) by @ericgriffin in #3019
- hide built-in dive types, roles, site types, service types and checklists (#3007) by @ericgriffin in #3007
- read cylinder volume and working pressure from the diver's own gear (#2945) by @alpheios-one in #2945
- custom certification agencies and levels, plus ACUC and DAN (#3011) by @ericgriffin in #3011
- site attachment categories and large view (#3001) by @ericgriffin in #3001
- save cert/course view modes and sync pSCR ratio and viewport choice (#2991) by @ericgriffin in #2991
- derived observations on the Insights landing (#3009) by @ericgriffin in #3009
- add a Wanted status for gear you plan to buy (#3002) by @ericgriffin in #3002
- chart navigation and Dive focus (#3008) by @ericgriffin in #3008
- the story: insights, highlight modes, year play and share image (#3006) by @ericgriffin in #3006
- flag late and missed deco gas switches, separate from TTS (#3005) by @ericgriffin in #3005
- show what each sync conflict choice keeps and discards (#3003) by @ericgriffin in #3003
- grouped, searchable site selection lists (#3000) by @ericgriffin in #3000
- merge non-overlapping dives as another computer (#2998) by @ericgriffin in #2998
- add camera part types (#2997) by @ericgriffin in #2997
- model CCR diluent switches and open-circuit bailout in the dive analysis (#2995) by @ericgriffin in #2995
- add current CNS/OTU load readout with live CNS decay (#2951) by @alpheios-one in #2951
- add a fullscreen mode to the media viewer (#2992) by @ericgriffin in #2992
- keep notification settings, theme mode and nav layout on each device (#2983) by @ericgriffin in #2983
- show the site's 3D seascape inline as a Site Details card (#2981) by @ericgriffin in #2981
- show the import source on the Review step (#2977) by @ericgriffin in #2977
- add a distance unit (km / mi) to Manage > Units (#3004) by @ericgriffin in #3004
- let a range-stats handle pass the other and swap roles (#2990) by @ericgriffin in #2990
- scope the Dive Log Summary to the dive list filter (#2986) by @ericgriffin in #2986
- prefill the new site's name from the site picker search (#2988) by @ericgriffin in #2988
- range stats in the fullscreen profile view (#2987) by @ericgriffin in #2987
- bring every Subsurface suit in as gear (#2975) by @ericgriffin in #2975
- offer the diver's own cylinders in the tank preset dropdown (#2973) by @ericgriffin in #2973
- add Front Roll to entry and exit methods (#2972) by @ericgriffin in #2972
- add a Bag equipment type (#2969) by @ericgriffin in #2969
- map the dive site in dive details when there is no GPS fix (#2978) by @ericgriffin in #2978
Bug Fixes
- fixed dive import from Dive Log exports (#3322) by @FRUCHTiii in #3322
- CCR tank roles -- no travel gas, labels don't truncate, gas column never shows bailout (#3133) by @alpheios-one in #3133
- fold case for every script in SQL text matching (#3311) by @ericgriffin in #3311
- show every review tab and its undecided duplicates on a phone (#3312) by @ericgriffin in #3312
- let past dives pick retired and sold gear (#3290) by @ericgriffin in #3290
- list cloud backups missing from history after a fresh install (#3278) by @ericgriffin in #3278
- fill empty dive fields from secondaries on consolidation (#3284) by @ericgriffin in #3284
- separate and reorder service clock trigger lines (#3274) by @alpheios-one in #3274
- keep a source's chosen profile generation live across primary swaps (#3296) by @ericgriffin in #3296
- load the Surface GPS map's tiles after its camera fit (#3289) by @ericgriffin in #3289
- name the dive list safety badge as a safety observation (#3287) by @ericgriffin in #3287
- name the computer model from FIT file_id fields (#3286) by @ericgriffin in #3286
- cap the ocean header animation at 30 fps and pause it when idle (#3280) by @ericgriffin in #3280
- never drop a Sync press, and publish post-sync stamps in one press (#3279) by @ericgriffin in #3279
- give offline region download isolates the app's trust and proxy (#3277) by @ericgriffin in #3277
- show SAC and RMV in profile range stats (#3276) by @ericgriffin in #3276
- count scoped relation rules in column filter state (#3256) by @ericgriffin in #3256
- hold Subsurface temperatures between readings (#3252) by @ericgriffin in #3252
- translate the English values left in the ten locales (#3232) by @ericgriffin in #3232
- import a UDDF dive operator as a dive center (#3213) by @ericgriffin in #3213
- stop a cancelled file import at the next record (#3218) by @ericgriffin in #3218
- canvas-width lines and site seascape for measured routes (#3221) by @alpheios-one in #3221
- trace the list focus ring on the row's card (#3227) by @ericgriffin in #3227
- convert the profile chart SAC with the reference cylinder volume (#3212) by @ericgriffin in #3212
- read DiveMate DDB equipment, pressures, country and buddies (#3172) by @ericgriffin in #3172
- inherit water type from the dive site on every path (#3202) by @ericgriffin in #3202
- Prevent edited points from reappearing after switching back to original revision (#3077) by @Apoplexi in #3077
- let a trackpad scroll pass over the recent-sites map (#3201) by @ericgriffin in #3201
- show each regulator's ID in the tank regulator picker (#3199) by @ericgriffin in #3199
- paint photo preview card above the safety lane (#3154) by @ericgriffin in #3154
- count every breathed cylinder in overview SAC and RMV (#3158) by @ericgriffin in #3158
- open a list row on the first click again (#3209) by @ericgriffin in #3209
- offer Master Instructor for SDI (#3197) by @ericgriffin in #3197
- move the auto-tag imports switch to Settings > Data > Import (#3198) by @ericgriffin in #3198
- label the custom title field as a title, not "Name on card" (#3200) by @ericgriffin in #3200
- hide the empty list's Add button while a form is open (#3203) by @ericgriffin in #3203
- start the profile editor from the chosen computer (#3182) by @ericgriffin in #3182
- build upcoming trip fixtures with calendar days (#3169) by @ericgriffin in #3169
- let the fullscreen viewers take the whole screen on desktop (#3185) by @ericgriffin in #3185
- sample hub importers in the pre-push test selection (#3179) by @ericgriffin in #3179
- lock recent-sites mini map against pan (#3136) by @alpheios-one in #3136
- keep the computer-recorded gas mix when editing a tank (#3175) by @ericgriffin in #3175
- add controls for three settings the app could not change (#3166) by @ericgriffin in #3166
- keep documents out of the media library (#3151) by @ericgriffin in #3151
- build Dive focus rows lazily (#3176) by @ericgriffin in #3176
- give master lists one keyboard cursor shared with the mouse (#3186) by @ericgriffin in #3186
- say where saved gear went when the list view hides it (#3150) by @ericgriffin in #3150
- drop pie charts for overlapping distributions (#3153) by @ericgriffin in #3153
- refresh conflict dialog device id after Reset Sync State (#3163) by @ericgriffin in #3163
- word generic device labels as phrases in conflict sentences (#3165) by @ericgriffin in #3165
- compare renamed fields from older peers under their new names (#3167) by @ericgriffin in #3167
- stop inline maps capturing the scroll wheel in detail panes (#3177) by @ericgriffin in #3177
- hide the list's Add button while a form is open (#3183) by @ericgriffin in #3183
- keep the primary source in step with the profile revision dropdown (#3180) by @ericgriffin in #3180
- never upload a plaintext cloud backup while sync encryption is locked (#3149) by @ericgriffin in #3149
- scope data issues to the active diver (#3148) by @ericgriffin in #3148
- hold the chart axes still while dragging a waypoint (#3143) by @ericgriffin in #3143
- show buddies on the home tab's recent dives (#3142) by @ericgriffin in #3142
- store place names in the app language (#3147) by @ericgriffin in #3147
- keep the tank size estimate marker ahead of the sign (#3157) by @ericgriffin in #3157
- compute the conflict word diff once per conflict (#3160) by @ericgriffin in #3160
- predict planned weight in the plan's water type (#3146) by @ericgriffin in #3146
- gate Convert to Dive on the plan engine's issues (#3141) by @ericgriffin in #3141
- title a saved buddy signature as a buddy signature (#3161) by @ericgriffin in #3161
- re-render the Dive focus threshold after a units change (#3162) by @ericgriffin in #3162
- plot the drawn buckets on the trend overview strip (#3164) by @ericgriffin in #3164
- translate built-in names in the conflict dialog (#3171) by @ericgriffin in #3171
- show tide rate of change with units in the conflict dialog (#3168) by @ericgriffin in #3168
- keep the Range menu when a chart step changes nothing (#3170) by @ericgriffin in #3170
- sort and join conflict field labels per locale (#3173) by @ericgriffin in #3173
- bring theme accent colours up to WCAG AA text contrast (#3159) by @ericgriffin in #3159
- describe Gas Calculators without listing a subset (#3145) by @ericgriffin in #3145
- translate the delete-diver warning, hint and typed phrase (#3144) by @ericgriffin in #3144
- offer the best mix in the tank dialog so Best mix END takes effect (#3128) by @ericgriffin in #3128
- share Appearance tiles between phone and wide layouts (#3116) by @ericgriffin in #3116
- label GPS quick action as Tracks (#3123) by @alpheios-one in #3123
- translate giant stride as Großer Schritt in German (#3115) by @ericgriffin in #3115
- declare READ_MEDIA_VISUAL_USER_SELECTED on Android (#3104) by @ericgriffin in #3104
- default gradient factors to the app's 50/85 (#3101) by @ericgriffin in #3101
- stop action buttons from overlapping text on narrow hosts (#3080) by @alpheios-one in #3080
- resolve custom dive type names in distributions (#3078) by @alpheios-one in #3078
- untranslate GUE certification agency in German (#3071) by @alpheios-one in #3071
- give the Dive focus count strings plural forms (#3038) by @readme42 in #3038
- translate the date-time connector as a time word (#3036) by @readme42 in #3036
- name the distance unit and late gas switch settings in sync conflicts (#3042) by @readme42 in #3042
- save a filter set only with the GUI controls (#2996) by @ericgriffin in #2996
- hold the last computer CNS reading between sparse samples (#2994) by @ericgriffin in #2994
- open a table row in the detail pane without delay (#2993) by @ericgriffin in #2993
- retire the dead defaultCeilingSource setting and column (#2985) by @ericgriffin in #2985
- name Oceanic+ UDDF sites from their coordinates (#2971) by @ericgriffin in #2971
- hide the data source card's menu icon when it has no entries (#2980) by @ericgriffin in #2980
- keep the CNS picker's selected row readable in every theme (#2964) by @ericgriffin in #2964
- reload synced settings and write only changed columns (#2963) by @ericgriffin in #2963
- sort equipment type lists alphabetically by localized label (#2966) by @ericgriffin in #2966
- show the gas mix label in the download list under Console dark (#2965) by @ericgriffin in #2965
Refactoring
- replace the window fullscreen owner set without mutating it (#3205) by @ericgriffin in #3205
Documentation
- restore cross-section anchors (#3102) by @ericgriffin in #3102
- point Linux installs at the stable Releases page (#3099) by @ericgriffin in #3099
- audit Reference against the app (#3088) by @ericgriffin in #3088
- audit Setup and Data against the app (#3087) by @ericgriffin in #3087
- audit Insights and Planning against the app (#3086) by @ericgriffin in #3086
- audit Diver and Gear against the app (#3085) by @ericgriffin in #3085
- audit Your Dive World against the app (#3084) by @ericgriffin in #3084
- audit Logging Your Dives against the app (#3083) by @ericgriffin in #3083
- audit Getting Started against the app (#3082) by @ericgriffin in #3082
- move the wiki into docs/user as the user guide (#3064) by @ericgriffin in #3064
- bring the ServiceRecord entity table up to date (#3060) by @ericgriffin in #3060
- reorganize docs/ by audience and consolidate design records (#3057) by @ericgriffin in #3057
- document which settings sync between devices (#2968) by @ericgriffin in #2968
- release notes by @ericgriffin
Tests
- pin the DiveRoute frame to a real compass-bearing dive (#3288) by @ericgriffin in #3288
- count trip fixture days by calendar, not Duration (#3155) by @ericgriffin in #3155
CI/CD
- pull Linux package test images from ECR Public with retry (#3140) by @ericgriffin in #3140
Chores
- bump version to 1.8.2+130
Other
- Feature/resize-media-thumbnails (#3323) by @schtibal in #3323
- Show long elapsed durations in days and years (#3315) by @ericgriffin in #3315
- Prune selections to settled rows in SelectionController (#3313) by @ericgriffin in #3313
- Show each tank's role and a role icon on the Tanks card, role pickers and planner (#3314) by @ericgriffin in #3314
- Add tissue loading to the CNS/OTU page (#3275) by @alpheios-one in #3275
- Dive detail: merge the Water Conditions card into the Environment card (#3295) by @ericgriffin in #3295
- Require active confirmation of safety disclaimer before first use of Planning/Gas Calculator tools (#3126) by @alpheios-one in #3126
- Best Mix: Rec / OC-Tec / CCR-Tec modes with density-aware helium and a standard gas catalog (#3124) by @alpheios-one in #3124
- Replace redundant distribution lists with bar charts in Insights overview (#3079) by @alpheios-one in #3079
New Contributors
- @FRUCHTiii made their first contribution in #3322
- @schtibal made their first contribution in #3318