What’s new in Dive Kit
Every Dive Kit release, written for divers instead of developers. Newest first.
What is coming next is not on this page. The roadmap lives on the feedback board at divekit.featurebase.app/roadmap, where you can see what is planned, what is being built now, and what has shipped.
Found a bug, or want something built? Post it at divekit.featurebase.app. Every request is public, anyone can vote, and those votes decide a lot of what gets built next. Most of version 2.9.0 came straight off that board.
Thank you. A great deal of what follows started as a post on the feedback board, a ScubaBoard thread, or a Reddit comment from a diver who took the time to explain what was wrong. Where that contribution was made in public, it is named and linked below. Plenty of other reports arrived by email or through TestFlight and are not named here, but they shaped these releases just as much.
Dates are the day each version was finished. Store review usually adds a day or two before it reaches phones.
2.9.0 (17 September 2026)
The largest Deco Planner release so far, and the first one built almost entirely from feedback board requests: plan modifiers, no-stop times, a bottom time finder, five gas reserve rules, backup and restore, and Korean as the eighth language.
New
- Plan modifiers. A Modifiers row under the scenario tabs holds your Working SRMV, your Deco SRMV, a stress SRMV burst over a window you choose, and a delay before the ascent. Set them for the whole plan or for one contingency. The delay is real time at depth, so it loads tissue, accrues CNS and OTU, and moves your stops. The stress burst re-prices gas without touching the schedule. (stress burst, time to exit and problem solving delay on the feedback board)
- Bottom time finder. A timer icon in the Gas Consumption header works the gas question backwards: instead of typing a bottom time and reading the gas, it finds the longest bottom time your plan still supports, limited either by your gas reserve or by a time to surface budget you name. It answers the tab you are on, so a contingency answers for that scenario. One tap applies it. (requested on the feedback board)
- No-stop time on every level. A dive level can carry an NDL tag showing the minutes of no-stop time left there, computed at your plan’s GF high, so it reads shorter than an agency table. It turns yellow at five minutes and stays away where a number would mislead. (requested on the feedback board)
- Five gas reserve rules. Thirds, Fourths, Fifths, Sixths and Fixed, instead of just thirds and sixths. Fourths and fifths are what cave divers use when flow or distance calls for a bigger margin. Fixed keeps a pressure you type, the open-water habit of being back on the boat with 50 bar. (requested on the feedback board)
- Gas Usage prints your turn pressure. Turn pressure and your reserve target now sit side by side under the cylinder inputs, in your own pressure unit. Turn pressure is the point at which half your usable gas is gone. Before this the tool only spoke up once you were already below your reserve. (from the cave planner request on the feedback board)
- One cylinder can carry its own reserve target. Under Advanced in the gas sheet, leave Reserve on Default to follow your reserve rule, or type a pressure for that cylinder alone. A stage you drop at 30 m and a deco bottle you breathe on the way up do not need the same margin. (requested on the feedback board)
- The bailout check runs on every view. A CCR plan that cannot cover its worst case bailout now warns you on the loop view too, not only where you thought to look, and the Full Bailout chip turns red. (requested on the feedback board)
- Two-up slate export. Tick “Compare two scenarios” and the slate prints two schedules side by side on A5, your selected plan on the left and any other scenario on the right, each repeating its own name, GF, TTS and runtime on every page. (requested on the feedback board)
- Failure points for custom contingencies. A scenario that loses a gas can now say when it is lost. Pick a level and the levels up to that point still breathe the gas and are billed for it, while everything after moves to a surviving gas. That answers “if my back gas goes at 23 m, does the pony get me up?” without building a second plan by hand. (requested on the feedback board)
- Names for custom contingencies. Up to 24 characters, replacing the derived label on the tab and in your exports.
- Backup and restore. Settings > Backup writes everything on the device into one file and hands it to the share sheet, so it can go to Files, iCloud Drive, Dropbox, Drive, AirDrop or mail. Restore reads it back after a confirmation naming the backup’s date, and rolls back if any step fails. On iPhone and iPad, automatic iCloud backup keeps one copy current in your own iCloud Drive, off until you switch it on, and onboarding offers to restore a backup it finds there. Dive Kit never receives a copy. (requested on the feedback board)
- Your CCR diluent can count as a bailout gas. Tick “Breathable open circuit” under the diluent and bailout planning may breathe it, which is what happens when your bailout valve is plumbed to the diluent cylinder. Until now the only way to get that gas counted was to invent a second cylinder of the same mix, and then neither number was right.
- The planner can carry on when a cylinder runs dry. A new “When a cylinder runs out” setting stays on Show shortfall by default, which is what every earlier version did, except that the card now tells you how much more gas you needed instead of just clamping at zero. Switch it to Switch gas and the planner does what you would do at the stop: move to the richest gas you still have that is safe at that depth, mark the change in red, and run the rest of the deco on it.
- Water temperature behind every gas density reading. Set it per plan, in your Deco Planner defaults, or globally. The default is 15 °C, the same reference the rest of the app uses. Density readings drop about 5% against 2.8.7, which had them pinned at a 0 °C basis, so a reader cross-checking a 20/35 mix at 60 m against another planner can finally compare like for like. No stop times move, because the Bühlmann model has no temperature term. (requested on the feedback board)
- Professional certifications for PADI, IANTD and GUE. All seven PADI rungs from Assistant Instructor to Course Director, IANTD’s six leadership ratings and GUE’s four instructor ratings, each with prerequisites and a link to the agency’s own page. (requested on the feedback board)
- Korean, the eighth language. Every screen, warning, tutorial, checklist preset and hand signal, plus the store listings and divekit.app. Korean needs glyphs the app’s usual typeface does not carry, so Dive Kit now bundles a font covering all 11,172 modern Hangul syllables. Picking Korean needs a store update, not an over-the-air one.
- Four FX CCR checklist presets from the FX CCR User Manual 2025.1 (iQsub Technologies): prior the dive, just before the dive, entering the water, and after the dive. They follow the manual step for step, with countdowns on the pressure tests and the pre-breathe, and Notes fields on the gas analysis steps.
Improved
- The plan modifiers read in dive order. Delay before ascent now sits above Deco SRMV: breathing at depth, a stress burst, the hold while you sort a problem, then the deco rate.
- SRMV/SAC measures one cylinder at a time. The cylinder is now the first field of each measurement, so a twinset plus a stage goes in as two measurements that both count toward one breathing rate. Expect a higher SRMV than before, and that is the correct number: leaving the stage out understated a typical twin-plus-stage dive by roughly a third, which sizes your next gas plan too small. (requested on the feedback board)
- Bailout gas is charged in two phases, and most divers will need more of it. Swimming off a failed loop at depth is work, not deco, so the leg from the bail point to your first deco stop now runs at your Working SRMV and everything above that stop stays at your Deco SRMV. Dive Kit used to charge the whole bailout at the deco rate. Re-check any bailout you sized in an older version. (requested on the feedback board)
- Cylinder pressures in warnings follow your unit setting. Low gas, critically low gas, ascent pressure and bailout warnings printed “120 bar” to every diver, imperial ones included. They now read “1740 psi” where that is what the rest of the app shows. PPO₂ values stay in bar, as they always do.
- The Deco Planner sits second in the Tools grid and can be dragged anywhere. It used to be pinned to the bottom under eleven free tools and snapped back mid-drag, so there was no way to put the tool you open most at the top. (requested on the feedback board)
- Submit Feedback opens Dive Kit’s feedback board instead of a one-way form, so you can see what other divers have asked for, add your own, and vote. (requested on the feedback board)
- Red in the stop table now means something is wrong. The descent arrow was red in every earlier version, spending the table’s loudest colour on the one thing every dive does. It is orange now, and red is kept for a forced gas switch.
- Short lines under the settings, long explanations behind the (i). Deco Planner row hints ran to four or five lines each. Each row now carries one plain line and its (i) carries the rest.
- The Descent rate row shows what the rate means. Under the value it now reads how long that rate takes to reach 30 m (100 ft), so 2 m/min visibly becomes a 15 minute descent. The help sheet was also wrong about the setting’s scope: the rate applies to every descending leg of the dive, and the planner models the descent as a continuous ramp, so a slow descent on-gasses your tissues the way a real one does. (requested on the feedback board)
- “Stop time display” is now “Stop time rounding”. The old name undersold it: the rounding happens in the deco engine, so it changes where a stop is released and therefore the schedule, not just how the table reads. The options now read as unit symbols, 1 s, 30 s and 1 min.
- Simplified Chinese reads like Chinese. The deco planner, its settings, the help sheets and the tutorial were reread end to end and rewritten wherever they were a word-for-word rendering of the English. Open circuit is now 开放回路 throughout, water density is 水体密度, and Triox is no longer translated as a word that reads as ozone. 71 strings in all.
- The settings screens stop stretching at very large system text sizes. Both Deco Planner settings screens and the gas reserve rule chips now cap how far those rows grow, so a large text setting no longer leaves a ragged block. Everywhere else in the app the system text size is still honoured in full.
- Best Mix and Gas Specs fill a landscape tablet. Hold a tablet sideways and each tool splits into two columns, inputs on the left and results on the right, each scrolling on its own, so the numbers you are chasing never scroll away from the slider you are dragging.
- The scenario tabs, view chips and modifiers line stay on screen as you scroll a long stop table, on phones and tablets alike.
- Picking a checklist preset adds it to your list instead of dropping you into the builder. A preset is already a finished list.
- The buoyancy calculator’s Comparison Tool banner can be put away for the session, so working through six cylinder swaps in one sitting no longer means scrolling past the same paragraph each time.
Fixed
-
Deleting your last cylinder no longer leaves the dive pointing at it. Those levels go back to Auto, so the next gas you add is picked up straight away.
-
An older share link no longer adds a new copy every time you open it. Links made before this release carry no plan name, so nothing recognised them as one you already had, and nine links left 24 plans behind. Opening one now asks whether to import as new, replace, or cancel, the same as any other repeat.
-
Deleting a plan from the list now names it. The menu on a plan card asked only “Are you sure you want to delete this?” and never mentioned that the plan’s contingency variants go with it, while deleting the same plan from inside it said both.
-
An imported plan could point a dive level at a cylinder it was not carrying. The planner fell back to the first cylinder without saying so, and the table, the export and the warnings did not always agree about which gas that level breathed. Imported plans are repaired when they arrive, and once for plans you already have. Where it is genuinely unclear which cylinder was meant, nothing is guessed and the warning still tells you the level has no gas. The same repair removes a slowdown: a library holding one plan with a broken level could make every other plan take up to a minute to open, and it now opens in seconds.
-
The plan status no longer says Valid before the plan has been worked out. It showed Valid beside a row of dashes and then changed to Invalid once the schedule arrived. It shows the loading clock until there is something to judge.
-
Exporting a slate tells you it is working. Making the PDF takes a few seconds on a long plan and nothing on screen said so, so it was easy to tap again and wonder what had happened.
-
A shared plan link now opens the plan every time. Opening the same link six times in a row reached the plan once and left you on the tools home or the plan list the other five, and each of those still imported the plan quietly under a new name, so you ended up with copies you never asked for. The app was reading the link before it had finished loading your saved plans. It waits now, and a plan whose name you already have always asks whether to import as new, replace, or cancel.
-
A level on pure oxygen no longer reports a negative narcotic depth. It read “END -10m”, which is what the arithmetic gives when nothing in the mix narcoses. The tag is simply not shown on that level now. If you have set oxygen as narcotic, you still see it.
-
Buttons that are only an icon now announce what they do. With VoiceOver there was no way to tell what the delete on a gas row was, or find it at all, and the same went for the reorder arrows in a checklist, the reset on a setting, the setup arrows and the scanner’s flash. Where a button acts on one row it says which, so the delete on a cylinder reads “Delete 50/0”.
-
A hint no longer points at a control that is not on screen. Building a custom contingency on a single-level dive, the note about lost gases ended “unless you set a failure point below”, and that setting only exists once a plan has more than one level.
-
A handover now says which of two identical cylinders it moved to. Carrying two EAN50s is supported, but the gas card read “Handed over at 6 m · then 50/0” when the cylinder it handed to was also called 50/0. With three bottles there was no way to tell which one to breathe, and the same line goes onto your printed slate. A mix you carry more than once is now numbered, so it reads “then 50/0 #2”.
-
A plan with no cylinders no longer reports zeros and calls itself Unsafe. It cannot be worked out at all, so the stats pill now shows dashes and says Invalid, and its card in the saved list is marked in red to match.
-
A sheet’s title no longer fills the sheet at the largest text sizes. Opening the OTU explanation showed its title and nothing else, with the rows hidden behind it.
-
VoiceOver can land on buttons. They announced a name but could not be selected, so the plus and minus on every stepper stayed out of reach.
-
Add depth explains every refusal. Typing 0, or a depth below your deepest stop, was silently changed to something else. It now says which limit you passed.
-
A contingency that costs you nothing says ±0 instead of showing a blank where the difference goes, which looked like it had not been worked out.
-
The last onboarding option is no longer clipped by the arrows below it.
-
A dilout cylinder’s gas card showed two different amounts of gas. On the rebreather loop view it read “Used: 106 bar / 48 L” next to “Remaining: 94 bar / 2259 L” on a cylinder holding 4629 L, so the pressures and the litres described different bottles. A twinset used as a dilout was being counted as one cylinder in one place and as a pair in the other. It now reads about 2 bar used and 198 bar remaining, and it matches the same cylinder’s Full Bailout card.
-
The Add depth stepper responds to every press. Roughly two presses in fifteen moved the depth. The sheet resized itself whenever the message under the field appeared or cleared, and a tap during that resize was lost.
-
A rebreather plan’s last ascent row showed the wrong setpoint. Going from 6 m to the surface it read “SP 1.0” directly under a stop reading 1.6, as though the loop had given up its setpoint on the way out. It had not. The row now names the setpoint being held, so it matches the stop above it, and it reads correctly on an altitude plan too. The CNS figure for that leg was low as well and now matches what the engine works out.
-
A longer bottom time can no longer delete your decompression stop. At 18 metres on air with the standard gradient factors, the table showed a one-minute stop at 6 m for 36, 37, 38, 40 and 41 minutes of bottom time, and no stop at all at 39. The plus-three-minutes contingency showed a green “-1min”, telling you that staying longer would get you out sooner. Every depth between 12 and 39 metres had one bottom time like that. The planner no longer skips that stop, and it will not ascend past a ceiling it is still holding. Saved plans recalculate the first time you open them.
-
A contingency that runs your bottom gas dry no longer plans the dive without it. With the gas policy set to switch to the next gas, a deeper or longer contingency that emptied your back gas before the ascent started would drop that cylinder from the plan and run the whole shallow decompression on your deco gas. The result looked tidy and was impossible, and it could even come out shorter than the contingency one step shallower. Those tabs now show the shortfall instead: you keep breathing the cylinder, the gas card says how many bar short you are, and a red warning says it ran out before you left the bottom. Cylinders that run out during the ascent still hand over as before.
-
Shallow-stop conservatism now follows your ceiling continuously. The gradient factor line is anchored at the exact depth your tissues reach rather than at the stop above it. The old rounding is what let one extra minute on the bottom shorten a dive, and the exact depth is the tighter of the two at every shallower stop. Expect one to three minutes more decompression on a typical plan and slightly deeper first stops. In the published MultiDeco comparison this moved us closer on both of the things it changes: total decompression time moved toward MultiDeco on all fourteen dives where it moved at all, and four first stops stepped one level deeper toward MultiDeco, with nothing going the other way on either. Total time to surface is a different story and we will not round it off. It narrowed on six dives and widened on eight, because on most of those Dive Kit’s total already ran longer than MultiDeco’s, so extra decompression time pushes it further out.
-
The MultiDeco comparison notes match their tables again. Each dive in the published comparison carries a short written note, and after the engine change several notes still quoted the old numbers. One said the times to surface matched exactly where the table showed a minute between them, and two named a first stop one level shallower than the table did. Every figure in every note was checked against the published result and corrected, and a test now fails if a note and its table ever drift apart again.
-
The Run times in the published comparison match the ones in the app. Open a comparison dive in Dive Kit and the Run column now reads the same as the table on the website. Some stops were a minute apart, because the published table built its running clock on a figure that had already been rounded once. Stop times and totals were always correct and have not changed.
-
The Chinese buoyancy tool no longer calls backup lift a backup gas supply. In the wing failure scenario it used the words for spare breathing gas to describe kilograms of lift from your redundant bladder, drysuit and SMB. Bailout also now gives its Chinese name once on every screen that uses the English word, so you can tell the two apart at a glance.
-
Better diving Chinese throughout the app. Seven terms were saying the wrong thing to a Chinese diver. The clearest was the high-oxygen warning, which used the word Chinese divers use for nitrox, so it read as a complaint about your gas rather than about your oxygen exposure. Breathing rate used a phrase that means breaths per minute instead of litres per minute, and gradient factor used the Taiwan wording rather than the mainland one. PPO₂ now gives its Chinese name the first time it appears on any screen, so you do not need English training material to read it.
-
The German app reads like one German diver wrote it. It used to switch between the polite Sie and the familiar du from one screen to the next, and it had several words for the same thing: Sollwert beside Setpoint for the same rebreather control, ZNS in a warning about the CNS on the stat beside it, Laufzeit in the deco table and Gesamtzeit in the pill above it, and two different German names for the same tool on the card and on its own screen. Everything is du now, each idea has one word, and the breathing rate is called AMV, which is what German courses teach. The tutorials also stopped writing English decimal points, so “1,6 bar” reads the same there as it does in the planner, and a stretch of the gas tutorials that had never been translated is now German.
-
The fourth setup screen has its own heading, and its hint is readable. It was titled “Welcome to Dive Kit”, which belongs to the first screen, and the line under the options ran across the back and next buttons. It now asks where you are coming from, and the hint sits with the question.
-
The Deco Planner keeps its words whole at large text sizes. The stop table was printing 18 m as “18n”, the stats pill was cutting “OTU” into other letters, and the scenario tabs had shrunk to a single character each, so +3 m and +3 min looked the same. Every one of those now picks one size from your text setting and holds it, so the whole column reads evenly and a depth never loses its unit. At the very largest accessibility sizes the planner had been going further than that and hiding things outright: the scenario tabs lost their names entirely and the stop table dropped its Mix column, which on a rebreather carries the setpoint and the diluent. Nothing is hidden now. Where all six columns genuinely cannot fit the screen, which takes a rebreather plan at a large text size with PPO2 and CNS turned on, the table scrolls sideways instead of squeezing a column away. Tool names on the Plan grid also stopped splitting in the middle of a word.
-
The safety terms are shown on every iPhone. On a 4.7-inch screen the last setup step showed no terms at all above the box asking you to confirm you had read them. They are always on screen now, and the page scrolls where the screen is too short for them.
-
Setup steps no longer hide a button behind the arrows. On a small screen the fourth answer on the planner question, and the “Not now” button on the iCloud step, sat under the back and forward buttons with no way to scroll to them.
-
Switching language now changes the screen title too. In Settings, Appearance, the page switched language straight away but the title above it stayed in the old one until you left the screen.
-
The Deco Planner reads properly at large text sizes too. Two notches up the slider the scenario tabs had shrunk to a single character each, so +3 m and +3 min looked the same; the Modifiers line went blank; and the stop table printed 18 m as “18n”. Anything that can grow now grows, and anything in a fixed grid keeps its text whole instead of cutting it. A depth never loses its unit.
-
The Backup screen’s buttons keep their names at any text size. At the largest accessibility sizes Save Backup File and Restore from a file were reduced to an up arrow and a down arrow, on the one screen where the two actions do opposite things to everything you have saved. Both now wrap onto as many lines as the words need, and the button grows to hold them. Section titles on the settings screens wrap the same way.
-
The stat detail sheets scroll to the end, and their limits keep their labels. Tapping a figure on the stats pill, OTU for example, opened a sheet whose explanation stopped mid-sentence at the bottom edge with no way to drag further. The reference limits under it were cut too: “Your single-dive limit” read “Your single-dive lim”. The sheet now scrolls whenever its content is taller than the screen allows, and those labels wrap rather than being cut, while the figures beside them stay whole.
-
VoiceOver can use the plus and minus fields. Every stepper in the app announced itself with only its unit, “s” or “m”, and its two buttons had no name at all, so there was no way to find or press them. Each field is now announced by its own name and value, answers the swipe up and down gestures, and its buttons are named.
-
The depth stepper for a bailout view works again. In the rebreather Add depth sheet neither the plus nor the minus button moved the depth, and tapping the number brought up no keyboard, so the only depth you could add was the one the sheet offered you.
-
Changing your text size no longer freezes the screen you are on. Change it in iOS Settings and come back, and the Deco Planner’s plan list would not scroll at all, with one oversized card filling it and Saved Plans, Import, Edit Defaults and Create New Plan all out of reach. Leaving and re-entering fixed it, and nothing said so. Screens now rebuild themselves at the new size.
-
The OTU sheet scrolls to its limits again. At the largest accessibility sizes its title took most of the sheet and the two reference limits under it could not be reached.
-
Korean text breaks at word spaces. Lines broke in the middle of words on the Plan grid and in the rebreather sheet. Chinese, where breaking between characters is correct, is unchanged.
-
A Korean hint said an emergency plan could breathe a cylinder. It meant the bailout gas.
-
Backup button labels stay on whole words at the largest text size. “Save Backup File” was wrapping as “Save / Backu / p File”.
-
Onboarding options are no longer sliced by the arrows at the bottom. On a large phone the fourth answer on the planner question was cut in half until you scrolled.
-
A level showing no-stop time above a table showing a stop now explains itself. A plan could read “NDL 8 min” on the level while the table below it listed a one minute stop at 6 m. Both were right. A dive that touches the GF Low line has to pause on the way up even when nothing is holding it there, and that pause is not decompression. The tag now reads “NDL 8 min · last stop required” in that case, and stays as it was when a ceiling really does hold you.
-
VoiceOver can reach the controls inside a bottom sheet. Every sheet in the app was announced as a single item called “Bottom Sheet”, with nothing inside it reachable. Every field, stepper, toggle and button in a sheet is now announced on its own.
-
A contingency tab no longer shows a shorter ascent in green when the plan cannot be flown. On a plan set to switch gas when a cylinder runs out, going 5 m deeper and 5 minutes longer reported three minutes less time to surface, in the colour that means better. That schedule was computed without the bottom gas, which had already run out, and with the deco gas allowed far past empty. Those tabs are now marked in red with a warning glyph, whichever way the number goes.
-
A saved plan and the plan screen agree on time to surface. The same dive could read 4’ on its card in the list and 5’ on the stats pill inside it. Both round up now.
-
A plan the app calls Invalid is marked in red in the plan list. It carried the same amber mark as a plan with a caution against it, on the screen where you pick a dive.
-
Create New Plan is no longer under the tab bar when you arrive. Tapping the middle of the button opened the Manage tab until you scrolled the list a little.
-
The bottom time finder says what it assumes. It works out your longest bottom time as though you stay on the cylinder, so on a plan set to switch gas it now says “Assumes no handover between cylinders” under the result.
-
“Free gas” in the gas sheet now counts both cylinders of a twinset. The line under the cylinder fields read the same figure whether you picked Single cylinder or Twinset, so a twinset looked like it held half what it holds, on the one screen where you size your gas. It now shows what you are carrying and says so. The Gas Usage tool and saved gas presets were the same.
-
Sheets no longer slide their title under the clock when the keyboard opens. Tapping a number field in the level or gas sheet pushed the title and the confirm tick behind the status bar.
-
The profile graph switches units with everything else. After changing depth to feet, the table read feet while the graph’s axis still read metres until you left the plan and came back.
-
Buttons grow for their labels again, including Unlock Dive Kit Pro. On a shared plan you can only read, that button showed “Unlock Dive Kit” and lost the last word, and it stayed exactly the same size however large you set your text. Buttons with a label now take the height their words need. This was also why the Save and Restore buttons on the Backup screen kept losing their names after two earlier attempts to fix them.
-
The Deco Planner’s input cards keep their titles at large text sizes. On a rebreather plan the card headings were cut to “Diluen”, “Botton” and “Decc”, the read-only notice read “Read-Only P”, and after scrolling some headings and the Unlock button label were gone. The numbers on those cards were always right; it was the words naming them that went. Every one of those titles now wraps onto a second line instead of being cut. Settings rows, bottom-sheet titles and the tool names in the reorder list do the same.
-
Larger text no longer wipes the names off the Plan grid. One notch above the default iOS text size the tool titles were clipped to a sliver, and two notches up they were gone, so the app’s main screen was a grid of unlabelled icons. Those are ordinary settings, not accessibility ones. The cards grow with their text now, and so does every button that carries a label: at the largest sizes the Backup screen’s Save and Restore buttons had been reduced to two arrows.
-
The safety disclaimer is readable now. On the last setup screen, the one that asks you to confirm you have read the terms, only one line of them was visible and nothing said the rest was there. The terms now take the space the screen has, and they fade out at the bottom edge while there is more to scroll.
-
Small gas volumes read properly in cubic feet. A cubic foot is 28.3 L, so a nearly-empty cylinder that showed 31 L in metric showed just “1 ft³” in imperial, and so did everything from about 14 L to 42 L. Volumes under 10 ft³ now carry one decimal, on the Deco Planner’s gas cards and on the Gas Usage tool’s steps and totals alike. A full cylinder still reads 77 ft³, and litres are unchanged.
-
Tool names on the Plan grid are shorter in five languages. German, Turkish, Swedish, Russian and Polish carried long titles that had to shrink to fit, so one grid showed three different title sizes and the two smallest were the tools a new diver looks for first. They now follow the same short form English uses. The Buoyancy card in Turkish and the Best Mix card in Polish were also still in English, and the Turkish cylinder card now uses the word Turkish divers use.
-
The bottom time finder explains itself in one line now. A nine-line paragraph used to sit between the Find button and your answer. The short version stays in front, and the whole explanation is one tap behind the question mark beside it. Nothing was cut.
-
Gas Specs was still called by its old name in five languages. Turkish, German, Swedish, Russian and Polish showed the tool as “EAD, PPO₂, …” on the Plan grid, on its own screen and on its tutorial, with the trailing dots printed as if the name had been cut off. All five now have a name in their own language, everywhere the tool is named, and Korean matches its own glossary.
-
The Turkish deco planner tutorial was mostly untranslated. Ten of its twenty steps carried one opening sentence in Turkish where the English ran to thousands of characters. Every step is now translated in full.
-
Three PPO₂ warnings printed a template placeholder where the pressure belonged, in all eight languages. A gas at 1.62 bar now reads as 1.62 bar.
-
Blend Planner asked for a bleed it did not need when you work in psi. Topping 800 psi of EANx28 up to 3000 psi started with “bleed to 798 psi”. Related psi plans could dump good gas or give up with “No solution found” on a plain 21% to 32% fill. Both are fixed, and plans now land on the pressure you asked for. (reported on the feedback board)
-
The Remaining Gas column disagreed with the gas total underneath it on CCR plans. The two were computed by different code following different rules, and the deep leg of a CCR bailout was the worst case, roughly a third over-consumed. The column now mirrors the engine stage for stage. (reported on the feedback board)
-
Gas presets could not be added again once the editor sheet closed itself, and the preset button vanished from the tools when you deleted every preset. (reported on the feedback board)
-
The Android back button now closes the open bottom sheet instead of leaving the screen behind it. Stacked sheets unwind one press at a time. (reported on the feedback board)
-
The ”+” for diluent switches on CCR Defaults did nothing. A diluent switch points at one of a plan’s own bailout cylinders, and your defaults have no cylinder list to point at, so the dead control is replaced by a line saying where switches really live. (reported on the feedback board)
-
SRMV/SAC prefilled the wrong start pressure in psi. A measurement that ended at 1740 psi opened the next one at 725 psi.
-
The +3 min and +5 min tabs showed a profile that did not match their own schedule on any multi-level plan whose deepest level was not the last one. Both sides now extend the last level, matching open circuit and the rule the engine has always used.
-
A contingency that lost a gas a level was breathing replanned the dive on an arbitrary cylinder, which could put a 50% deco mix on a 45 m bottom with no warning shown. Affected levels now move to the best surviving legal gas at their depth.
-
A gas switch between dive levels is now charged for the purge minute the tissue model already counted. The table and the Gas Consumption card used to disagree by around 10 bar on a 60 second switch at 45 m.
-
A dive level you breathe open circuit on a rebreather plan is now charged to its cylinder. The card was reading about 86 bar high on a 45 m loop dive with a 10 minute open-circuit level at 30 m.
-
The planner printed metres to imperial divers in four places, including the profile graph’s depth axis and the level sheet’s depth label.
-
Slate export could print a schedule the planner never computed, or label a loop ascent “Full Bailout”. The export sheet now shows the reason instead of the preview.
-
Share link fixes. A bailout view deeper than 25.5 m arrived at the wrong depth, a CCR plan with no open-circuit cylinders arrived carrying one it never had, an imported plan could be graded at the receiver’s water temperature rather than the sender’s, and a link could stop at ten dive levels and drop the rest without saying so. Links now carry every level.
-
An OTU over the daily limit showed only a caution, where the engine and the shared plan on the website both called it critical.
-
A cylinder could read green in the stop table and yellow on its own gas card, because the two judged it by different rules. Both follow your reserve rule now.
-
A gas’s depth range ignored your water type, so a plan in fresh water or the Red Sea showed a maximum depth the warnings disagreed with.
-
The deco planner tutorial taught a gas density formula the app does not use, and every worked figure in that step was recomputed against the code.
-
The Polish app speaks one language throughout. Tool names, the deco planner’s own name, and the words for setpoint, nitrox, trimix, EAD, END, CNS, gradient factors and partial pressure all changed depending on which screen you were on. They match everywhere now, and follow the terms Polish divers are actually taught. No number or limit changed.
-
Korean reads more consistently. A review against Korean diving material tidied the wording across the app. The bailout chips in the Deco Planner are in Korean instead of half English, the setpoint schedule uses one name rather than two, and the breathing rate figure is expanded the way Korean divers are taught it. Terms that had picked up a second spelling now read one way. The acronyms stay as they are, in Latin letters, because that is how Korean divers write them. On the rebreather setpoint screen, the two entry boxes now line up with each other when a label is long enough to run onto a second line.
-
Turkish now reads the way Turkish divers talk. A cylinder is a tüp, not a silindir, which is the kind of cylinder an engine has. Buoyancy is yüzerlik everywhere instead of four different words, one of which meant swimming. Time to surface and the CNS clock are TTS and CNS, the same letters you read on your dive computer, and rebreather copy keeps setpoint, diluent and loop. Two tutorials that were still in English are translated. Nitrox and Trimix are spelled one way, numbers use the Turkish decimal comma, and a lean gas is no longer described as a grease-free one.
-
Russian reads like a diver wrote it. The app was inventing Russian abbreviations for MOD, EAD and SAC that no Russian diver uses, calling a rebreather loop by a word borrowed straight from English, and naming the setpoint and the diluent four different ways between the field you set and the warning about it. Headings were capitalised the way English titles are, which Russian does not do. Two tutorials, Mix Result in full and a third of Gas Specs, were still in English. All of it now follows how Russian divers are actually taught and what their dive computers already say in Russian.
-
The Swedish app now uses the words Swedish divers actually use. A cylinder is a flaska, the two configuration chips read Singelflaska and Dubbelpaket, oxygen toxicity is syrgasförgiftning, and every tool’s help text now opens with the same Swedish name shown on its tile. Headings and dashes follow Swedish writing rather than English, and three tutorial sections that were still in English have been translated.
Thanks to ly.shen for a native speaker’s review of the Simplified Chinese, which produced the terminology fixes, the stop time rounding rename, the fluency rewrite and the large text size fix in this release.
2.8.7 (13 August 2026)
A tester feedback release: descending gas switches now render where the engine actually switches, and Auto gas stops putting deco gases on your descent.
New
- DSMB buoyancy preset in the Buoyancy Calculator’s gear list, and the Reel/Spool preset lightened to match a typical finger spool. Every preset weight stays editable after adding.
Improved
- Auto gas looks ahead on the initial descent. Until the dive first reaches its deepest level, an Auto level only picks a gas whose MOD also covers the bottom, so a 6 m bubble check before a 33 m bottom on air plus EANx50 resolves to the bottom gas rather than the deco gas. That keeps deco gases off the descent, keeps them in the lost-gas contingency list, and removes a spurious deep gas switch row.
Fixed
- The plan table rendered descending gas switches at the wrong depth. With a rich gas on a shallow first level, a slate could read “descend 6 to 33 m on EANx50, switch at 33 m”, far below that gas’s MOD, even though the computed schedule had safely switched at 6 m. The table now matches the engine.
- Gas Specs hazard alerts no longer read as app errors. The density, PPO₂ and hypoxic-mix alerts showed a generic bold “Error” heading. They now carry explicit hazard titles such as “Gas density too high”, matching the Deco Planner.
- The deco planner tutorial claimed the default descent rate is 18 m/min. It is 20 m/min. Corrected in every affected language.
- The CCR setpoints sheet could silently move your bottom setpoint on older rigs when you edited only the Deco field, and “Use simple setpoints” deleted a stepped deco schedule without asking. It now confirms first.
- Ambient and fill temperature inputs misaligned in the Gas Blender and Mix Result environment cards when a label wrapped to two lines.
- “Reset all” in the plan settings now actually resets everything. On a CCR plan with a “stay on loop” override it used to write a stale copy of the old settings back over itself, restoring every override it had just cleared.
- Scenario tables could show a different auto gas than the engine used.
2.8.6 (16 July 2026)
Deco Planner settings split into two tiers, a simple setpoint view for straightforward rebreather rigs, and a guide page on why two planners disagree.
New
- A guide page: “Why two planners give different runtimes”. A checklist of the inputs that must match before you compare Dive Kit against another planner, built around a real case: a 90 m CCR plan that read 52 minutes shorter in another app because it had been entered with a zero-helium EANx10 diluent instead of trimix 10/70. With genuinely matched inputs the two engines agreed stop for stop within about 2.5%.
- A simple setpoint view for CCR rigs. When your rig runs one setpoint from the surface through the bottom, with a single deco setpoint and no diluent switches, the Setpoints sheet shows exactly two fields and puts everything else behind an Advanced disclosure. Rigs already using the advanced options open straight into the full view.
Improved
- Deco Planner settings are organised in two tiers. Both the per-plan Settings sheet and the Edit Defaults screen now lead with the three sections divers change while planning, Gradient Factors, Stop Configuration and Environment, and collect everything else under one collapsed Advanced group. An override inside Advanced lights up the Advanced heading, so a collapsed group never hides a deviation from your defaults. Prompted by rebreather tester feedback that a quick plan drowned in equally weighted sections.
- A new pinned CCR level takes its setpoint from your rig instead of a fixed 1.1 bar.
Fixed
- Android themed icons showed a solid black square. Launchers that tint app icons were tinting every pixel of an opaque background, so the whole canvas came out as one block instead of the wave mark.
2.8.5 (11 June 2026)
Simplified Chinese as the seventh language, imperial cylinder capacities that match US spec sheets exactly, and a floating glass tab bar.
New
- Simplified Chinese (中文). The entire app, roughly 3,800 strings across every tool, tutorial, checklist, dive signal, warning and settings screen, translated against a canonical diving terminology guide checked against mainland Chinese usage. Chinese renders in a bundled font, because the app’s usual typeface has no CJK glyphs. Requested by a diver on ScubaBoard.
Improved
- Imperial cylinder capacities now match US spec sheets exactly. Prompted by sharp ScubaBoard feedback, every free-gas volume moved from a 1 bar to a 1 atm surface reference, and the imperial rating is now computed the way US manufacturer charts state true capacity: real gas at 70 °F. An AL80 now reads 77.4 ft³, exactly Luxfer’s published figure, where it used to read 79. Steel HP cylinders land on their names. Gas figures move by 1 to 2%. Deco stop times and runtimes do not move at all, because this is a cylinder contents convention, not tissue maths.
- Imperial cylinder readouts show the rated capacity, not the at-fill content, so an AL80 at 1500 psi reads “77.4 ft³ @ 1500 psi”, which reads like “an 80 at 1500”. The old figure sat about 1% above the rating on a full fill and looked like a bug next to the capacity field.
- A floating glass tab bar. The full-width bottom bar is now a compact centred pill that floats above the content, with the content scrolling beneath it through a frosted backdrop. The strip the old bar reserved is given back to every screen. Inside a tool the bar takes that tool’s colour, and the highlight cross-fades between tools rather than snapping.
- The Deco Planner stats bar is now a floating pill stacked above the tab bar, with a real blur on more iPhones than before.
- The metric cylinder size field is labelled “Volume” rather than “Water volume”, with the help sheet still explaining that the litres are the cylinder’s water volume.
Fixed
- CCR diluent use on multi-level descents was under-counted. A staged descent, say 20 m then 40 m, charged only about two-thirds of the diluent that a direct drop to 40 m charges, even though the loop needs the same gas either way. Remaining-diluent figures read optimistic on staged CCR plans, which is the unsafe direction.
- Gas consumption now respects altitude. Planning at altitude computed PPO₂ and density from the thinner surface pressure but consumed gas as if at sea level, overstating stop gas by roughly 19% at 2400 m.
- Buoyancy gas weights were about 1.3% high. An AL80 of air at 200 bar now weighs in at 2.61 kg.
- Shared plans carry exact cylinder sizes. A shared “80 ft³” could read back as 80.2 on the recipient’s screen.
- SAC in bar/min reads as gauge arithmetic again: 10 bar breathed over 10 surface minutes shows exactly 1.0 bar/min.
- Blend Planner “Total gas used” over-counted the first step, charging it for the cylinder’s whole target pressure instead of the gas added on top of what was already in there. The plan steps and the resulting mix were always correct; only the summary was wrong.
2.8.4 (10 June 2026)
Cylinder sizes entered the way you actually name them, redesigned gas cards, and all 93 dive signals released as open data.
New
- Cylinder size entry in your own sizing language. One cylinder input now drives every place a cylinder is described, from the deco planner to the blender to the buoyancy tool. Metric divers enter the water volume in litres as before. Imperial divers now enter the cylinder the way US cylinders are named, capacity in ft³ plus the rated working pressure, so an AL80 is 80 ft³ at 3000 psi. A hint under the fields always shows the computed counterpart.
- Dive signals open-sourced. All 93 signal illustrations, hand, light and buddy contact, are published under CC BY 4.0 with a machine-readable dataset, so anyone can print them for briefing cards, use them in training material, or build on them with credit.
Improved
- Gas consumption cards redesigned. Each cylinder card puts the gas name and Used on one row, right-aligned over the consumed end of the bar, with a labelled Remaining row below it as the prominent warning-coloured figure. Each line reads pressure first, then the volume a size smaller, because volume-first divers asked for it to be readable while pressure stays the focal number.
- Cylinder working pressures travel with shared plans, so a recipient sees “80 ft³ @ 3000 psi” exactly as you entered it.
- CCR bailout uses your plan’s own settings. The separate Deep SAC and Deco SAC bailout settings are gone. Bailout gas now runs at your Deco SRMV and the bailout schedule always runs the plan’s gradient factors. Bailout figures change with this release: the old behaviour consumed at a flat 30 L/min, so plans with a Deco SRMV below 30 now show lower bailout consumption.
- Deco table time formatting is now uniform per mode. A table never mixes 25’ and 25’06” row to row. The plain-text slate also auto-sizes its columns, so exports carrying seconds or long dilout labels stay aligned.
Fixed
- Imperial cylinder entry stored absurd sizes. The old volume field asked for water volume in ft³, where an AL80 is 0.39, so typing the familiar “80” was silently clamped to 3.5 ft³, a 99 litre cylinder, and the plan then reported impossible figures like “668 ft³ remaining” on an AL80. Reported by doctormike on ScubaBoard, and the reason for the cylinder entry rework above.
- The dive profile no longer appears to cross its own ceiling. On the graph the dive line could be drawn a metre or two shallower than the decompression ceiling during the ascent, which looked like the plan was breaching its own limit. The schedule and the ceiling were always correct; each row’s runtime was dropping the roughly 20 second ascent hops between deco stops, so the staircase was drawn a few minutes early. As a bonus the Run column now matches what MultiDeco shows at each stop, having been reading 1 to 3 minutes short.
- Terms and privacy links inside the app now work on every purchase surface and the Legal settings screen.
- Bailout warnings now honour your thresholds rather than falling back to the built-in defaults, so a stricter custom CNS limit fires on the Full Bailout view.
2.8.3 (9 June 2026)
Real gas everywhere, decanting from one cylinder to another, and a help sheet on every tool.
New
- Mix Result and Blend Planner gain Decant mode. Join two cylinders with a transfill whip and let them equalize. Mix Result tells you the mix and pressure each one ends at. Blend Planner is the planning counterpart, for topping a cylinder off from another with no bank or compressor: it shows the reachable mix envelope up front and, when a target cannot be reached, names why and points at the closest mix you can get.
- A help sheet on every tool card. Each tool on the Plan home screen now has a ? that explains what the tool does and when to use it, including how Mix Result and the Blender differ.
- Three new checklist presets: a recreational predive safety check (BWRAF), an open-circuit tech predive with pressure test timers, and a tech dive plan review that walks mission, gas, deco, oxygen and thermal.
- Water density values explained. The Diving > Water density setting gained a help sheet listing what each option means with its approximate density.
- Rate Dive Kit in Settings, opening the store’s review page directly.
Improved
- Cylinders now read real deliverable gas. Cylinder sizes and gas planning used the ideal gas law, which overstates a high-pressure cylinder. Dive Kit now models compressibility from NIST reference data for oxygen, nitrogen and helium, combined for any mix including trimix, and the stored cylinder data was made honest: each cylinder carries its true water volume instead of a number fudged to make the ideal-gas maths land on its marketed name. The change is conservative for planning. Deco schedules are unaffected.
- Gas mixing and blending use real gas too. For nitrox the difference is tiny, well inside what an oxygen analyzer reads. For trimix it matters: helium is the least ideal of the three gases and an analyzer cannot catch a helium error, so the recipe needs to be right up front. Predicted fill pressures can differ by a bar or two from an old ideal-gas blending chart, and Dive Kit’s are closer to what you will actually analyze. Always analyze a blended cylinder before diving it.
- Shared deco plans show real gas on the web too.
- The review prompt was reworked. Instead of a bare system alert on app open, Dive Kit asks with a bottom sheet right after a genuine win, never in your first week, with a “something not right?” link always there so unhappy feedback reaches us rather than a one star review.
- Mix Result and Blend Planner layouts were rebuilt so the pressure value no longer collides with its unit, the current and target cylinders read as two cards with an arrow between them, and every mix is named the same way across both tools.
- Water density is one setting. The deco planner now follows the global Diving > Water density setting instead of keeping a separate copy.
- New CCR plans seed 232 bar cylinders rather than 200 bar.
- Clearer diluent labels on CCR dilout plans. Once a plan uses a dilout, every loop row names its diluent: the onboard one bare, a dilout in brackets, with a short legend under the table.
Fixed
- The deco profile graph drew its ceiling band too deep near the end of a dive, making it look like the plan sent the diver above the ceiling. The stop schedule was always correct; the drawn ceiling came from a separate pass that used the wrong gradient factor.
- The Gas Blender’s Edit Bank sheet now lifts above the keyboard.
- A cylinder reading 0 bar is treated as truly empty in the continuous blender, so a stale leftover mix no longer makes a fresh fill look impossible.
- Mix Result’s O₂ and He inputs couple, so the two can never exceed 100% together.
- The cylinder picker’s search field no longer clips letter descenders or leaves a large gap above the keyboard.
2.8.2 (5 June 2026)
Rebreather divers get proper dilout support, and everyone gets a checklists tool.
New
- Checklists. Build and run dive checklists with sections, per-step countdown or stopwatch timers that survive an app restart, and per-step Notes for recorded values such as cell mV or a gas analysis. Six presets back the create-from-preset flow. Checked steps lock against accidental edits, a countdown sends a notification when it finishes even if the app is closed, and completion is celebrated. Free tool, every language. Requested on ScubaBoard.
- Diluent switches (dilout) for CCR plans. A dilout is a bailout cylinder breathed through the loop as diluent, which is how real rigs carry a second diluent. The help explains why divers do it: faster helium off-gassing on long trimix decos, safe flushes at shallow stops where a hypoxic bottom diluent cannot sustain you, and the bottle is already on your back. Empty by default. From CCR diver feedback on Reddit: “usually the 2nd diluent is one of the bailout tanks”.
- Diluent switch flush consumption. Every diluent switch now costs two loop flushes at the switch depth, so a 6 L loop switched at 30 m draws about 48 L from the incoming cylinder. Previously a diluent only switched to during the ascent showed zero consumption.
- A dilout versus bailout overdraw warning. Breathing a bailout cylinder as a dilout and bailing out both draw from the same bottle, so the planner now warns when the two together need more gas than that cylinder holds. Using a bailout bottle as a dilout is never flagged by itself, only the arithmetic failing.
- A decimal separator setting in Appearance: Auto, 1.3 or 1,3, applied to every displayed number.
- EU standard 232 bar CCR bottles and a light Faber 12 L 200 bar, both from the same Reddit feedback.
Improved
- Auto levels on CCR plans always breathe the onboard diluent. The previous resolver scanned your whole diluent inventory per level and could quietly put a bottom segment on your deco mix. A diluent switch now only ever happens where you planned one.
Fixed
- Comma decimal input. European keypads only offer ”,” as the decimal key, and typing 1,3 into a number field silently committed 1.0. Every numeric input now accepts both, and an ambiguous string is rejected rather than guessed at. Reported on Reddit.
- Bailout views no longer double-count loop consumption. The Full Bailout view showed the full loop run’s oxygen and diluent figures beside the open-circuit bailout draw, overstating what a bailed dive takes from every CCR bottle. Conservatism is for safety margins, not bookkeeping errors.
- Confirming an edit while a number field was still focused could duplicate a cylinder or a dive level. Guarded, with a one-time repair that removes any duplicates the old bug created.
2.8.1 (3 June 2026)
The release that stopped the planner freezing on aggressive gradient factors.
New
- A plan that cannot surface now answers with the nearest plan that can. Some settings make decompression mathematically impossible. The classic case is air at a 6 m last stop with a low GF high, where the tissues at that stop keep loading toward a pressure above what the surfacing gradient ever tolerates, so the stop can never end. The engine now detects this exactly and recomputes at the smallest GF high that can complete the deco, with a critical banner above the graph saying so. Every export records the gradient factors the schedule was actually computed with, never the ones you asked for, so a printed slate can never claim a conservatism its table does not deliver.
- Inverted gradient factors such as 90/70 are now accepted, meaning more permissive at depth and stricter near the surface.
Improved
- The “Precise” stop time option is now called “1s”, matching its “30 sec” and “Minutes” siblings.
Fixed
- The deco planner could freeze forever at a low GF high. With the default 6 m last stop on air at GF 50/50, one of the automatic contingency profiles sent the engine into an endless stop loop even when the base plan computed fine. The table greyed out and never updated, the hung calculation poisoned the next one, and an export taken in that state could pair a new GF label with a stale schedule. Fixed by the impossibility detection above, plus a hard runtime cap, and a failed calculation now shows a visible red error instead of a silent grey freeze.
- An empty-looking card on the tools home. A styling regression meant the “update ready” card drew white text on a white fill. The same fix restored severity fills on alert boxes, deco warnings and buoyancy advisories, and the highlight on a selected row in several pickers.
- Number inputs could get stuck rejecting all typing until an app restart. Any number field could enter a state where every character you typed instantly reverted. The input now heals itself the moment it receives a keystroke, and a recovered edit session falls back to auto-saving so a typed value can never silently fail to save.
2.8.0 (1 June 2026)
A very large release: the public user guide, a design overhaul, rebreather deco setpoint schedules, gas-banded PPO₂ limits, stop times to the second, and a rebuilt buoyancy model.
New
- The public user guide at divekit.app/guide. A page per tool, plus deco engine internals, gradient factors, accuracy and validation, rebreathers, gas presets, subscription, offline use, sharing and troubleshooting. It is now maintained as part of every release.
- Plain-language definitions where the jargon is. Tappable (i) definitions on the Gas Analyzer stats (EAD, END, MOD, PPO₂, gas density) and on the SRMV/SAC results, with a “New to this? See the guide” link on the jargon-heavy tools.
- CCR deco setpoint schedules and diluent switching. The decompression phase can run a depth-keyed schedule rather than a single deco setpoint, for example 1.4 then 1.5 at 12 m then 1.6 at 6 m, which is how rebreather divers minimise deco. The table shows the actual per-stop setpoint and marks each depth where it steps.
- Per-level CCR diluent. On a multi-diluent rig each diluent is its own option on a dive level, and Auto now picks the diluent too: the leanest one that keeps the loop gas comfortable, stepping up to a helium-rich diluent only when the lean one runs too dense or too narcotic.
- Deco PPO₂ by gas, the way MultiDeco does it. One “max PPO₂ 1.6 for every gas” rule is replaced by three bands chosen by a gas’s oxygen fraction: lean below 28% at 1.4, mid to 45% at 1.5, and rich at 1.6. So a lean deep mix such as 21/35 is switched shallower, at about 57 m rather than 66 m, matching MultiDeco, while oxygen still runs to 1.6 at the shallow stop.
- Stop times to the second, with an optional round-to-minutes mode. A 1 minute 5 second hold now reads 1’05” instead of a display-rounded 2’. The rounding happens inside the engine, not the display, and only ever over-holds, so a rounded table always matches the schedule you would dive.
- Gas Blender continuous mode. Flow ratios for constant-flow mixing panels and the expected in-line analyzer readings for two-analyzer setups, with a gas injection order selector for trimix and a panel diagram showing which gas is injected first and where each analyzer reads.
- CCR defaults are a full blueprint of the rig card, so whatever you set there is exactly what a fresh CCR plan starts with.
- The MultiDeco cross-reference harness, answering community requests to see how the planner compares. A reproducible comparison across 22 scenarios covering air, nitrox and trimix, salt and fresh, sea level and altitude, 3 m and 6 m last stops, open and closed circuit, and a repetitive dive, published side by side on the website.
- Every deco planner setting is now per-plan and travels in the share link, so a buddy opening your link sees the exact same warnings you do.
Improved
- A design token refresh. Every surface now takes its colour from one semantic system, so dark mode is correct everywhere. The accent was firmed to a high-contrast ocean blue for sunlight, and the safety-critical readouts (the stop table, remaining gas, stop depths) were enlarged and switched to more readable text for sunlight legibility. High-frequency controls now meet a thumb-sized touch target with visible press feedback.
- The buoyancy calculator was rebuilt around real foam behaviour. Informed by the community “Optimal Buoyancy Computer” spreadsheet by rsingler on ScubaBoard and cross-checked against published foam-compression data and the community calculator at buoyancy.cc, the tool gained a neoprene type selector, a suit-lift model that scales to your height and weight and the suit’s cut and accessories, an in-water float-test framing for personal buoyancy, and three safety advisories: marginal wing lift, wetsuit corking risk and overweighting. Wetsuit surface lift now accounts for the foam’s own weight, which lowers lift estimates by about 22% and trims recommended lead by 1 to 2.5 kg on thick suits. Formulas and references are published in the guide. Ideas were adapted; formulas were not reused, and the two tools knowingly diverge on foam mass.
- Imperial gas presets and cylinders speak imperial properly, with a “Pick from common cylinders” button that fills the size and working pressure from a searchable list of known cylinders.
- Unit conversions keep full precision internally and round only at the display, so 11.1 L and 0.392 ft³ now round-trip exactly instead of drifting.
- Deco Planner settings and Gas Presets open in bottom sheets instead of expanding in place and pushing the rest of the screen down.
- Every settings section carries a one-line description, so a newer diver knows what each one does.
- Searchable cylinder and dive-signal lists, with helpful empty states, and a collapsible table of contents in every tutorial.
Fixed
- Roughly a dozen surfaces broke in dark mode because they hardcoded their colours. All fixed, and a guardrail now keeps literal colours out of the code.
- Screen-reader support across the custom navigation and controls, and the cylinder detail’s buoyancy indicator no longer relies on colour alone.
- Content consistency: oxygen partial pressure is written PPO₂ everywhere (it had six spellings), “tank” became “cylinder”, and every em dash was removed from the English copy.
- CCR deco stays on the loop instead of bailing out to oxygen at shallow stops, where the deco setpoint can no longer physically be reached. A 1.6 bar setpoint needs about 6 m of water.
- A CCR deco setpoint schedule now switches at the scheduled depth, even when no stop lands exactly there.
- The buoyancy results showed a raw placeholder instead of the depth unit, gear items opened a blank edit sheet, and the wetsuit cut had no effect when height and weight were left blank. All three were reported on Reddit and are fixed.
- Onboarding could appear after you had already started using the app.
- Lifetime owners were offered a “Resume” button that would have re-billed them for access they already own forever.
2.7.0 (29 May 2026)
Your rebreather’s loop volume and metabolic oxygen rate are now yours to set.
New
- Configurable CCR loop volume and metabolic oxygen rate. Both were hard-coded engine constants that were never actually connected to the app, so they ignored your rig and could not be edited. Loop volume is now a rig property in Loop Config, and the metabolic rate is a global default you can override per plan, shown in L/min because it is your metabolism, not your breathing rate. The RMV settings section is renamed Gas Consumption to match.
Fixed
- A CCR rig’s cylinder or loop volume can no longer corrupt a shared plan. A volume above 25.5 L wrapped and decoded to a wrong value on the recipient’s side.
2.6.2 (28 May 2026)
A subscription hub you can actually reach, and a Remaining Gas column on the printed slate.
New
- A subscription screen under Settings, never pushed at you, showing your current plan with its renewal or expiry date and the single action that fits: switch to lifetime, renew a cancelled subscription, manage it, or unlock the deco planner. Because buying lifetime never automatically cancels a subscription (the stores do not let an app do that on your behalf), three separate safeguards prevent double billing, including a reminder that only appears if you own lifetime and still have a renewing subscription.
- A Remaining Gas column in the slate export, in the preview, the PNG, the PDF and the copied text. On CCR plans it tracks the diluent cylinder. The on-screen slate preview now scrolls sideways so the full width fits on a narrow phone.
- Edit Defaults is reachable from Settings, not only from inside a plan, and it opens with a short explanation of how defaults and per-plan overrides relate.
- Help on how CCR loop gas is estimated. The Diluent and O₂ rows carry an (i) explaining that loop gas is not SRMV-driven like open circuit: oxygen is your metabolic rate times time on the loop, and diluent is loop-volume compression on descent plus a two-loop flush allowance.
Improved
- Imperial divers get round contingency buffers. The built-in depth contingencies were fixed at +3 m and +5 m for everyone. Imperial divers now get +10 ft and +20 ft.
- The Edit Defaults and Reset overrides buttons moved to the top of the Settings section, so a buddy’s shared plan can be reset to your defaults without scrolling.
- The slate header stacks the plan name, contingency and bailout view on separate lines instead of cramming them into one.
Fixed
- The slate export’s tab bars could not be scrolled on Android, so the contingency tabs and bailout chips looked fine but would not move. iOS was unaffected.
- The Remaining Gas column overstated gas on multi-stop dives, shifting to an earlier, higher value at later stops.
- The bailout view chip, slate title and “Add depth” sheet showed a raw placeholder and an unconverted metric depth to imperial divers.
- Every bottom sheet now dismisses the keyboard the instant it starts closing on Android, which could otherwise leave the keyboard floating after the sheet was gone.
- “Bailout at depth” now switches to open circuit exactly at the depth you chose, rather than carrying on to the next deco stop.
- Full Bailout now shows the gas switch row at the bailout depth, so the moment you leave the loop appears on the slate.
2.6.1 (27 May 2026)
Imperial units become first class in the Deco Planner.
New
- First-class imperial support across the Deco Planner. Every input and label now follows your unit settings instead of being hardcoded to metric: the gas editor, the level editor, the CCR loop config, the custom contingency builder, and every rate, depth and volume in the settings. Values round-trip cleanly, so 100 ft stays 100 ft, and the computed schedule is identical whichever unit you dive.
Improved
- True imperial stop depth presets. With imperial selected, the last stop depth and deco step size toggles now offer standard imperial presets, 10/15/20 ft and 10/20/30 ft, rather than metric presets wearing foot labels.
- A shared plan now shows the viewer’s units, because depths travel in the link in metres and are converted when they are displayed.
Fixed
- Imperial units were messy in the Deco Planner, as a diver reported: cylinder capacity showed “0 cuft” instead of 0.43 ft³, the gases editor reverted to litres and bar, and dive settings such as ascent speeds reverted to m/min. The same rounding bug was fixed in the gas blender and the buoyancy cylinder input.
- Small cylinders of 1 to 2.8 L could be entered in metric but not in imperial.
2.6.0 (23 May 2026)
Build the exact scenario you are worried about, and re-price your gas at a stressed breathing rate.
New
- Custom contingency scenarios. A + at the start of the scenario row opens a builder where you pick any gases to lose, choose which dive level to adjust, and nudge that level’s depth or time. Each one becomes its own tab with an automatic short label, travels in the share link, and is recomputed by the recipient rather than trusted from the sender.
- An ascent and deco SRMV lens. Recompute gas usage at a higher breathing rate without changing the deco schedule. A permanent “planned” chip sits alongside your own saved rates. The active rate applies to the ascent and deco stops only, because a breathing rate never affects the schedule, only the gas and the turn pressure.
- Release notes in the update prompt. When an update is available the prompt can now show what changed instead of a generic message.
Improved
- Bailout views read yellow. With a bailout view selected the profile line and the table’s header divider turn yellow, matching the bailout chips, and a custom SRMV chip highlights yellow too because a custom rate is a what-if lens.
- Share links carry up to 16 cylinders, raised from 8, so a dense technical rig shares without silently dropping the tail.
- The slate export targets A6 paper, a standard ISO size you can print, trim and laminate. Long plans paginate cleanly with the column header repeated on every page and no deco stop split across a page boundary.
- The slate header was reorganised to read title, then stats, then turn signals, and it gained Turn Time, the runtime at which you reach ascent pressure.
- A plan card shows the least rich gas across all the plan’s cylinders rather than whichever gas happened to be on the first level, because that is the gas that defines the dive’s depth.
Removed
- The “Gas Sharing / Buddy OOA” scenario. It was the only scenario that did not change the deco schedule; it just doubled the breathing rate. The SRMV lens above does that interactively.
- The “Lost All Deco Gas” scenario, because “all” was ambiguous about which gases it meant. Build the exact combination you care about with a custom contingency instead. The one-tap per-gas “lost” scenarios stay.
- The Stress SRMV setting, which was fully wired up but never used by any calculation.
Fixed
- Lost-gas contingencies removed the wrong gas. With 32/0, 50/0 and 100/0 on board, “Lost 50/0” dropped the 32/0 back gas, and the gas usage and stops were mislabelled accordingly.
- The ICD warning now uses the correct rule of fifths. It previously had a second critical tier labelled a “1:2 rule”, and no such rule exists in the isobaric counter-diffusion literature. It is now a single advisory that fires when a switch violates Burton’s rule of fifths, staying quiet on the helium step-downs divers carry 18/45 for.
2.5.1 (21 May 2026)
Drag to reorder, a configurable hypoxia warning floor, and editable rebreather defaults.
New
- Drag and drop for dive levels and gases. Long-press a row, drag it, release. Reordering levels recomputes the plan; reordering gases is purely cosmetic, because Auto ranks cylinders by how well they fit, not by list order.
- A configurable minimum PPO₂. Hypoxia is now two tiers: a level warns when its breathed PPO₂ drops below the floor you set (default 0.18 bar) and goes critical below 0.16 bar, the consciousness limit, which is not adjustable. It judges the PPO₂ you actually breathe, so a hypoxic mix used only where its PPO₂ is fine does not warn.
- Editable CCR defaults. Setpoints, switch depth and the oxygen and diluent cylinders now seed a plan’s rig from values you set, instead of hard-coded seeds. A plan also remembers its rig when you disable CCR, so your edits survive turning it off and on again.
- An oxygen breaks toggle for the loop, so you can keep breaks on your bailout while keeping the loop schedule manual.
- Adding a row now previews it live behind the still-open edit sheet, updating as you type, instead of appearing only after the sheet finishes closing.
- An onboarding question about which planner you used before. MultiDeco and Baltic migrators get the travel-in-level-time convention turned on, so their first plan matches the semantics they are used to.
Removed
- The gas mode setting. Multiple divers reported not realising they had to flip a hidden setting before they could plan trimix. Every tool now exposes the full range, with the MOD, PPO₂ and density warnings doing the guiding.
Improved
- Warning thresholds now flag only when exceeded, not when met exactly. A 5.2 g/L density at a 5.2 g/L limit no longer warns; 5.3 does. CNS is the deliberate exception, because the convulsion ceiling is “at or above”.
- CCR hypoxia is judged on your setpoint, not your diluent. On a rebreather you breathe the loop at its setpoint, so a low-oxygen diluent is not itself a hypoxia hazard. The spurious “diluent low PPO₂ at surface” warning is gone, replaced by a critical when the lowest setpoint in use is genuinely hypoxic and an informational note giving the diluent’s minimum depth for flushes and bailout.
- A newer platform release underneath the app, which starts faster and uses less memory. It also raises the minimum iOS version to 16.4, so the iPhone 7 and older, the first-generation iPhone SE, the iPad mini 4 and the iPad Air 2 cannot run this version or any later one. That floor is Apple’s.
- RMV is now written SRMV, short for surface RMV, everywhere in the app, because RMV alone is depth-ambiguous.
- “Water Type” is relabelled “Water Density” on every screen that shows the setting, because the setting drives water-column density.
- Max PPO₂ is capped at 1.6 bar, down from 1.8. No mainstream tec agency endorses higher for open circuit.
Fixed
- A surface hypoxia false alarm on bottom and travel gases. The warning was raised for every working gas as if each were breathed at the surface, so a plan descending on EANx32 and switching to 16/55 at 30 m flagged the 16/55 as hypoxic “at surface”.
- The hypoxic gas note said “do not breathe shallower than 0 m” for a mix that is breathable at the surface anyway.
- Plan issues no longer contradict the number on screen. A 5.24 g/L density that renders as 5.2 no longer trips a 5.2 g/L limit and reports “5.2 exceeds 5.2”.
- Fresh water plans were computed against salt water pressures in part of the engine’s ceiling maths, giving an anti-conservative bound. Fresh water now produces the slightly shorter deco the physics call for, matching MultiDeco’s fresh-water reference, and the Red Sea correctly produces slightly more deco than salt.
- Repetitive dives with a zero surface interval dropped your tissue loading and planned a clean-tissue schedule, which is too aggressive for a back-to-back dive.
- Tapping a certification card opened the carousel at the wrong card on iOS.
- The “Add Gas” sheet was titled “Edit 21/0”.
2.5.0 (12 May 2026)
Rebreather planning gets a view selector, and the gas Auto-picker learns to think like a trimix diver.
New
- A view selector for CCR plans. One chip row above the deco table replaces a confusing bailout checkbox and a per-gas toggle: CCR, Full Bailout, Bailout at 6 m, or a custom depth you add. Switch between the on-loop schedule, the full bailout, and “switch to open circuit at depth X” without touching the base plan. If no gas you carry covers the requested switch depth, the planner refuses with a clear message rather than producing a schedule on a gas above its MOD.
- Stat detail sheets. Tap a stat in the bottom bar for a focused explanation of what it is, why it matters, and any related warnings with their limits inline.
- Section help icons with a plain-language explanation of each section of the planner.
- A gas switch point you can express properly. A dive level with a time of zero renders as a switch icon rather than “0 min”, so trimix divers can express the canonical “switch from travel gas at MOD” descent without inserting an artificial one-minute stop.
- Variant tabs, delete, tutorial and chain-to-previous-dive all moved into the plan’s three-dot menu.
Improved
- The Auto gas resolver was rebuilt for open-circuit trimix. It now vetoes gases above the critical density limit and the hypoxia floor, softly prefers lower density and lower narcosis, and breaks ties using Burton’s rule of fifths against the gas it just resolved, so a 60 m ascent picks 18/45 over 20/25 on isobaric counter-diffusion grounds rather than on oxygen fraction alone. It also fixes a long-standing mismatch where a row read “21/35” at a 21 m level while the engine was actually breathing EANx50.
- Edit sheets auto-save on dismiss. Swipe down, tap away or close and the draft commits. An edit dismissal does nothing unless you touched the form; an add dismissal always commits, because opening “Add Gas” is itself the intent.
- The printed slate went pure monochrome: true black on white, bold large type, bigger stage icons and full-black rules, aimed at a laminated slate under a dive light rather than a screen. The on-screen table keeps its safety colours.
- The slate exports at a fixed 10 cm wide canvas on every device, so the same plan produces a layout-identical image on a phone, a tablet, or anything else. It matches the writable face of a standard wrist slate and prints onto A6 at 100%.
- Critical is orange, not red. Red is now reserved for a plan that does not compute at all. Orange means urgent, but the plan still works.
- The buoyancy recommendation is worded as a difference, not a prescription: “2 kg too positive” rather than “add 2 kg”, with the help pointing you at an in-water weight check.
- Deco plans now open faster and edit more smoothly, because the planner keeps its own storage rather than re-writing every setting in the app on each slider drag.
- A gradient factor switch now interpolates correctly on multi-level dives and a redundant ascent row no longer clutters the table.
Fixed
- A pre-release safety audit corrected several places where the engine did the wrong arithmetic for fresh and Red Sea water, where the Auto gas picker and the engine could disagree about whether 100% oxygen is usable at a 6 m stop, and where the gas density stat reported the first level’s gas at the deepest level’s depth. That last one could show 11.2 g/L on the bar while the warnings called out 6.9.
- A shared plan always encodes the loop ascent, so the plan in the link and the results in the link always describe the same schedule.
- A bailout view falls back to the loop view when the last bailout cylinder is removed, instead of producing an error.
- Older share links from 2.4.2 to 2.4.4 decoded the END threshold from the wrong position.
- The calendar picker was dark text on a dark background on iOS.
2.4.4 (22 April 2026)
Level times can now include the travel to reach them, matching what MultiDeco divers expect.
New
- An “include travel in level time” toggle. With it on, each segment’s entered time covers the ascent or descent needed to reach that depth, matching MultiDeco’s convention, instead of travel being added on top. Available as a default and a per-plan override, carried in shared plans, with a warning if a level’s time is shorter than the travel it needs.
- An insurance expiry indicator on your Profile: an amber dot within 30 days of expiry, red once it has expired.
Improved
- Deco stop depths are the set you configured, treating your last stop depth as a real stop rather than a clamp on the step-size grid. Two long-standing problems go away with it: a 9 m step size with a 3 m last stop now actually holds at 3 m instead of surfacing you straight from 9, and 100% oxygen with a 9 m step size now switches at the last stop instead of at the surface, where the switch was a no-op.
- Deco stop sizes are now 3 m, 6 m and 9 m, all multiples of the natural Bühlmann grid.
- Deco stops round up, not to nearest. You always wait at least as long as the engine planned, never less. Ascents still round to nearest, because they are informational.
- The deco table preserves half-metre stop depths, so a 4.5 m last stop reads 4.5 m.
Fixed
- The deco table did not visibly update when you toggled travel-in-level-time, and could show a fractional bottom time such as “23.5’”.
- The active cylinder chip in the Gas Blender, and several toggle groups across the tools, went white on white after switching.
- Tapping certification N still opened card 0 on iOS.
- Your profile photo could disappear after saving on iOS, because the saved path stopped resolving across app launches.
2.4.2 (11 April 2026)
Two-tier warnings, a smaller share link, and a real fix for 100% oxygen in Red Sea water.
New
- A minimum operating depth on hypoxic gas warnings, so you see the shallowest depth the mix is safe at.
- Two-tier warnings everywhere. Every warning now has a bold heading saying what is wrong and a smaller line underneath with the numbers, so you can scan the list in a couple of seconds.
Improved
- Share links are about 43% smaller for complex tec plans, and when a link would still be too long for a messaging app the planner drops the least important contingency scenarios rather than letting the link truncate.
- Isobaric counter-diffusion now uses Burton’s rule of fifths instead of a flat nitrogen threshold, which is the industry-standard method validated on hundreds of deep trimix dives.
- The default END warning threshold moved from 40 m to 30 m, the consensus across GUE, TDI, NAUI Tech, BSAC and CMAS.
- Breathing rate settings accept 1 to 200 L/min, for unusually efficient or high-workload divers.
- A fresh plan gets a bare name such as
coral-cove, and only gains a number when it becomes the head of a repetitive chain.
Fixed
- 100% oxygen was skipped in Red Sea water. In denser water the nominal MOD of oxygen at 1.6 bar is 5.92 m, which fractionally missed the 6 m last stop comparison, so the whole deco ran on the intermediate gas.
- Per-plan warning thresholds were silently ignored by the engine, which used the viewer’s global defaults instead. A shared plan now shows the same warnings its author saw.
- The END formula was wrong when oxygen is not treated as narcotic, underestimating narcosis.
- Typing a gradient factor after picking a preset reverted to the old value.
- CCR loop oxygen fraction displayed wrongly at altitude, though the schedule was always correct.
2.4.1 (28 March 2026)
Sliders that keep up with your thumb, and a gas analyzer that gets trimix right.
New
- Equivalent air density depth (EADD) in the Gas Analyzer: the depth at which air has the same density as your mix.
- A minimum breathable depth and hypoxic mix warning for mixes below 16% oxygen, and an alert when oxygen and helium add up past 100%.
Improved
- Sliders were rewritten to animate on the device’s own UI thread, so the thumb and track keep up during a drag with no lag in either Best Mix mode.
Fixed
- The gas analyzer treated helium as nitrogen in its EAD calculation for trimix.
- EAD and END ignored your water type, always doing the sums for salt.
- The gas analyzer’s inputs no longer auto-adjust each other.
- Rebreather planning fixes, including the descent setpoint during the initial descent, lost-gas scenarios that silently returned the base plan, contingency time being added to the wrong level, and a bailout that started from the deepest level rather than the last profile depth.
2.4.0 (26 March 2026)
Rebreather deco planning arrives.
New
- CCR (rebreather) deco planning, built as an add-on to the deco planner rather than a separate mode. Enable CCR, configure the rig, and each dive level can independently be a loop leg or an open-circuit gas, so hybrid profiles work. Includes a per-level setpoint, a separate deco setpoint, a dedicated low descent setpoint to prevent hyperoxia in the shallows, loop gas consumption tracking for both oxygen and diluent, oxygen breaks by dropping the setpoint, and bailout planning from the open-circuit gases you already carry. Cross-validated against MultiDeco on eight scenarios.
- Air break settings can be overridden per plan.
- A four-tier warning severity scale: info, warning, critical and invalid, so a cylinder under 50 bar reads orange rather than the red reserved for a plan that cannot be dived.
- The Gas Blender remembers its state across app restarts.
Fixed
- The END and EAD formulas were corrected from a gauge-pressure to an absolute-pressure form, matching the industry standard and MultiDeco. This affects the Best Mix trimix calculator and the Gas Analyzer.
- Best Mix skipped its density check when the target END was deeper than the dive, so helium was not added for density when narcosis alone did not call for it.
- Air break timers reset on every ascent and gas switch instead of accumulating.
- The buoyancy calculator double-counted valve weight, an error of 0.7 to 2.6 kg, because the cylinder database figures already include a standard valve. End-of-dive buoyancy now assumes a 50 bar reserve rather than an empty cylinder, and several gear preset weights were corrected against manufacturer dry weights.
2.3.0 (23 March 2026)
Plan variants, a GPU-drawn dive profile, and the decompression engine moves to native code.
New
- Plan variants. Snapshot the current plan, name it, and switch between alternatives inside one plan for side-by-side comparison, with ghosted overlays of the other variants on the graph.
- A rebuilt dive profile graph, GPU-accelerated, with axis labels, gas switch annotations and grid lines in detailed mode.
- Oxygen air breaks. Automatically insert breaks from a high-oxygen deco gas back to your back gas during long stops, to slow CNS accumulation. The breaks are real simulation steps, so tissue loading updates during them. Off by default.
- Gas presets. Save a gas mix and cylinder as a named profile and pull it into any gas input with Quick Fill.
- Trimix in the Best Mix calculator, working out the helium fraction from a target narcotic depth and an optional density limit, with four new tutorial steps covering trimix, END, gas density and worked examples.
- Multiple saved cylinders in the Gas Blender, for planning consecutive fills at a fill station.
- An update prompt when a new store build is available.
Improved
- The decompression engine was rewritten to run natively on your phone, which is faster and is now the only implementation, so there is no second version of the maths to disagree with the first. CNS and OTU now cover the complete dive including the deco phase, where before they counted only the descent and the bottom time.
- CNS is computed from ambient PPO₂ rather than inspired, matching how the NOAA tables were derived and what Shearwater, Garmin and Subsurface do. Slightly more conservative.
- Gas switch MOD uses the deco PPO₂ limit for deco gases, matching MultiDeco and Shearwater.
Fixed
- CNS and OTU previously ignored the deco phase entirely, which matters most on dives with high-oxygen deco gases.
- A repetitive dive with a zero surface interval dropped the previous dive’s tissue loading.
- The gradient factor slope was computed wrongly on multi-level dives where you go deeper after entering deco, and the slope was applied to only the leading tissue compartment rather than all of them.
- Deco stops recorded the target ceiling depth rather than your actual depth.
2.2.2 (13 February 2026)
The app is now called Dive Kit, and the Gas Blender learns helium.
New
- Trimix in the Gas Blender and Mix Calculator. Both tools now handle helium alongside oxygen for full trimix and heliox work, with helium-aware bank ordering and feasibility checks.
- Deco plan results are cached, so reopening a plan restores it instantly instead of recalculating.
- Duplicate a plan, share a QR code as an image, and see runtime, TTS and CNS on each plan card with colour-coded CNS.
- A tutorial glossary defining TTS, RT, AP, CNS and OTU, and explaining runtime against turn time.
- Gas weight at reserve in the cylinder edit screen, alongside the weight at fill pressure.
Improved
- The app display name is now “Dive Kit” rather than “DiveKit”.
- Turn pressure is renamed ascent pressure, and total time is renamed run time, matching dive planning convention.
- Gear weight uses a sinks/floats toggle instead of asking for a negative number.
- Larger, bolder number inputs.
Fixed
- Removed the valve from the buoyancy calculation, which was double counting by 0.7 to 2.6 kg because the cylinder database already includes it.
- Several buoyancy preset weights corrected, including a scooter that was listed at minus 3 kg when it is neutral in water.
2.2.1 (5 February 2026)
The rename from Skuba to Dive Kit, Polish, and shareable plan links.
New
- Deep link plan sharing. Share a dive plan as a link that opens directly in the app.
- Polish, the fourth language, across the whole app including every tutorial.
- Drag-and-drop tool reordering on the Plan screen, with a reset button.
- A sticky stats bar in the Deco Planner on small screens.
Improved
- The full rebrand from Skuba to Dive Kit across every screen, translation and document.
- A smaller plan export link, now carrying results so the website can render the plan.
Fixed
- The plan delete dialog did nothing.
- The buddy out-of-air contingency calculated wrongly.
- Restore purchases incorrectly unlocked the deco planner.
2.2.0 (30 January 2026)
Repetitive dives, and a considerably more robust decompression model.
New
- Dive plan chaining. Chain plans together to simulate repetitive dives with tissue saturation carried over from the previous dive, and a plan status card showing what was carried in.
- Gas switching at a gas’s MOD during the ascent.
Improved
- The Bühlmann model handles its edge cases properly: deep dives, long deco schedules, heliox mixes, extreme surface pressures and oxygen toxicity, with validation on the maximum supported depth of 200 m.
Fixed
- Calculation failures and depth limits now produce a message instead of failing silently.
2.1.0 (27 January 2026)
The Decompression Planner arrives.
New
- The Decompression Planner: Bühlmann ZH-L16C with gradient factors, gas planning, and exportable dive slates.
- Travel gas support in dive planning.
- A What’s New sheet after an update.
- QR code sharing for dive plans.
Fixed
- An Android crash, and a number of translation problems across the app.
2.0.0 (23 January 2026)
A complete redesign.
New
- A redesigned app. Fresh interface with better visual hierarchy, higher contrast, and a layout built for reading in sunlight.
- A unit converter, for the diving units the other tools use.
- A double cylinders option in the SRMV/SAC and Gas Usage tools.
Improved
- Every tool screen was redesigned: Best Mix, Gas Analyzer, Gas Usage, SRMV/SAC and Buoyancy.
- Better tablet layouts, a thinner tab bar, and shadows that finally match between iOS and Android.
Fixed
- Dark theme colours throughout the app, a slider bug, a toggle group glitch, and several onboarding problems.
1.2.1 (11 January 2026)
New
- Rigging hardware in the Buoyancy Calculator, with a customisable weight per cylinder or group and an on/off toggle, plus descriptions for twinset, sidemount and stage configurations.
- Gas density in the cylinder configuration screen, computed live from the mix.
Improved
- “Tank” is now “cylinder shell” throughout the app, which is what divers call it.
- Clearer labels on custom cylinder buoyancy for multi-cylinder setups.
1.2.0 (10 January 2026)
New
- The Buoyancy Calculator, with a full tutorial explaining the concepts as well as the tool.
- A cylinder configuration screen for managing your cylinders.
- New hand signal artwork.
Improved
- Unit conversion precision. Storage now keeps full precision and only the display rounds, so 1 lb converted to kg and back reads 1 lb rather than 1.1 lb.
- Hand signals reordered, and buoyancy status messages translated.
Fixed
- Missing translations across the app, hand signal descriptions, and carousel navigation.
1.1.8 (20 December 2025)
Improved
- A new app icon.
- END and gas density are always shown, in every gas mode, rather than being hidden in some.
1.1.7 (22 November 2025)
New
- Custom icons for the Plan screen tools.
- A copyable dive insurance number, so you can paste it where you need it.
Improved
- Clearer tool names on the Plan screen, and updated cylinder, agency and certification data.
- The carousel animation now follows your animations setting.
Fixed
- The certification card carousel opened the wrong card on Android.
1.1.6 (7 November 2025)
Improved
- Certification cards moved to a proper database, which makes them faster and more reliable.
- EAN is written EANx throughout, for consistency.
Fixed
- Divers on much older versions now migrate through every step, rather than skipping some.
- Several padding and touch-target problems, including the dive centre field not auto-capitalising.
1.1.5 (3 November 2025)
New
- Certifications. Store and manage all your dive certifications in Dive Kit: upload the cards, add the licence details, and get at them whenever you need them.
- A Profile screen with your name, photo and key details.
- An optional textured background in Appearance.
- Toast confirmations when you save, update or delete something.
- Two-column layouts on tablets for the certification and list screens.
Improved
- A refined design system: updated brand colours, typography and spacing.
- Smoother navigation and transitions, and faster storage.
Fixed
- Haptics, focus and keyboard handling, and image caching on Android.
1.1.4 (31 October 2025)
New
- A grain texture for visual depth, and new app icons and splash screens.
Fixed
- Tutorial titles and translations.
1.1.3 (30 October 2025)
New
- Icons in the tab bar.
- An action sheet for cleaner choices.
Improved
- A persistent header across screens, with consistent styling and no transition glitch.
Fixed
- Markdown highlighting in dark mode, missing translations, and haptic feedback in the cylinder database.
1.1.2 (30 October 2025)
Improved
- The dark theme was completely reworked. Shadows and borders now match the colour of the box they belong to, and lists have subtle alternating rows.
Fixed
- Tutorial button colours, excessive modal padding on Android, and the disclaimer page opening scrolled to the bottom.
1.1.1 (26 October 2025)
New
- Trimix mode in the Gas Analyzer.
- The Blend Planner now shows several valid plans to choose from, rather than one.
- Onboarding asks for your diving mode and units.
Improved
- The Blend Planner algorithm and its handling of awkward cases.
- “FO2” is now written “O2%” everywhere, because that is what most divers read.
- Tool descriptions rewritten, and the resulting mix now appears before the gas usage section in the Gas Blender.
Fixed
- Modal padding on both platforms, tablet landscape layout, and smaller device layouts.
1.1.0 (13 October 2025)
New
- Over-the-air updates, with an install button once an update is ready.
- A reset button in the Gas Mixer.
Fixed
- A bug in the gas blender algorithm, and restored missing translations.
1.0.5 (9 October 2025)
New
- Privacy settings with an analytics opt-out.
- CNS tables in the tutorials.
Improved
- Gas Usage allows a different breathing rate per step.
- Clearer warning messages.
Fixed
- The time slider in Gas Usage would not go to zero.
1.0.4 (1 October 2025)
New
- EAD and PPO₂ warnings with proper warning and error text.
- Updated tutorials for the Gas Usage tool.
Fixed
- Gas Usage did not recalculate its steps, and the final summary rendered incorrectly.