// _Subsurface_ 4.3 Release Notes

_Subsurface_ 4.3 - released December 2014
---------------------------------------

The _Subsurface_ development team proudly announces
release 4.3 of _Subsurface_, an open source divelog and dive planning
program for Windows, Mac and Linux.

License: GPLv2

_Subsurface_ can be found at: http://_Subsurface_-divelog.org

Some of the changes since _Subsurface_ 4.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_Subsurface_ now supports flexible filtering of the dive list. When the filter
is opened,one can
specify a combination of different criteria like tags, people who were on
the dive, dive site, suit, etc. While filtering one can see how many dives
match any of the criteria, and how many dives match the combination of the
selected criteria (see the panel below the main menu in the image below)

image::images/V4.3_Subsurface_filter.jpg["Subsurface panel",align="center"]

When editing a dive, one can now copy information about a dive
and paste it into one or more other dives. This makes it easy to add the
same equipment, buddies, tags or other aspects of a dive into a group of
dives with similar characteristics.

The dive profile now offers an easy to understand
tissue saturation graph that shows tissue saturation at any
point during the dive. (See image below)

image::images/V4.3_CylBars.jpg["Cylinder bars and tissue saturation graph",align="center"]

In the dive profile one can turn on an improved visualization of the
gas combinations used during a dive (aka "tank bar" with different gases represented
by different colours, see image above).

Owners of the Heinrichs & Weikamp OSTC 2 and 3 as well as dive computers
in the popular Suunto Vyper family of dive computers can configure the
settings of their dive computers using _Subsurface_.

For a number of dive computers _Subsurface_ now downloads additional data and
shows them in a new tab on the screen. This includes (depending on the
dive computer) information like battery levels, no fly times, Gradient
Factors used during the dive, etc. This feature is enabled in all official
_Subsurface_ binaries and includes the Uemis Zurich SDA. When building
from source this requires a custom
version of libdivecomputer (as explained in the INSTALL file).

The dive planner now offers the ability to re-plan dives and to create duplicate
dive plans in order to plan multiple scenarios.

We added support for several new dive computers including the Suunto EON
Steel, Aeris A300 CD, and Aeris F11.

_Subsurface_ can now import dive logs from Liquivision and Cochran software
as well as the new Suunto DM5.

We made many improvements for UDDF and CSV import, UDDF export now
complies with the latest version of the standard.

Many issues with the HTML export were addressed.

Initial support for closed circuit rebreathers (CCR) and pSCR was added.
Dive logs from the Poseidon MkVI
CCR can be imported. Visualization of dive logs as
well as dive planning should work - but this feature is fairly early in
its development and we assume that there may be a few bugs and
mis-features hidden in this area. Here is a dive profile for a Poseidon MkVI:

image::images/V4.3_CCR.jpg["CCR dive profile",align="center"]

*Other notable improvements*

- Import of manually logged dives (e.g., from an existing paper logbook)
  is now much better documented in the user manual. Instead of having to
  individually enter each dive with the graphical profile editor users can
  add all their dives in a spreadsheet and import the data from there into
  _Subsurface_ in one single operation.
- Many other small improvements to the planner
- Many small UI changes for better use on small displays (tighter columns
  and column headers on the dive list, the toolbox of icons no longer
  forces a minimum height of the profile, etc)
- Improvements on HiDPI displays
- We fixed an annoying bug where when starting to edit a dive the pop-up
  with completions would cover the edit line (this usually happened when
  editing tags)
- For the (rather unusual) dive computers that send a heading event in
  every sample we automatically declutter the profile display now
- The Windows installer is smarter: the 64bit installer refuses to
  install its binaries on a 32bit OS and conversely the installer warns
  you when installing 32bit binaries on a 64bit OS
- Better synchronization with divelogs.de, including support for multiple
  tanks

*Known bugs*

- There appears to be a bug in Qt: when changing the password needed
  authenticate with a proxy, _Subsurface_ will not use the new password
  until after a restart

_Subsurface_ 4.2
----------------

The _Subsurface_ developer team is proud to announce the release of the
next update of _Subsurface_.

_Subsurface_ is an open source divelog program that runs on Windows, Mac
and Linux.

With _Subsurface_ the user can download dive information directly from a
large number of supported dive computers. _Subsurface_ is able to track
single- and multi-tank dives using air, Nitrox or TriMix. It displays
a dive profile with all related information including air consumption
and alarms. It also allows logging of information like weights and
exposure protection used, dive masters and dive buddies, and enables
the user to rate dives and provide additional dive notes.

With _Subsurface_ the user can track dive locations including GPS
coordinates (which can also be conveniently entered using a map
interface). _Subsurface_ calculates a wide variety of statistics of the
user's diving and keeps track of information like the user's SAC rate,
partial pressures of O2, N2 and He, calculated deco information, and
many more.

_Subsurface_ allows the user to print out a detailed log book including
dive profiles and other relevant information. The program is localized
in about 20 languages and well supported by an active developer
community. This community also made new and shiny offline manuals in
Spanish and Russian possible.

One of the major strengths of _Subsurface_ is its support of a wide range
of dive computers (most common dive computers are supported with the help
of libdivecomputer); a detailed list is in the SupportedDivecomputers.txt
file. _Subsurface_ can also import existing dive logs from several sources
including MacDive, Suunto DM3/DM4, JDiveLog and divelogs.de. Another
strength is its ability to visualize the depth profile (and, if
available, the tank pressure curve) in very innovative ways that give
the user additional information on relative velocity (and momentary
air consumption) during the dive through the coloring of the graphs.

*Some of the changes since 4.1*

- The Windows installer is now a 64bit installer including Qt5
- There is still a deprecated 32bit installer including Qt4, but that has
  several known issues (among others, printing has a number of bugs that
  were fixed in Qt5).
- The Mac installer has also been updated to Qt5
- A current development version of libdivecomputer is used for the Windows
  and Mac builds.
- A Dive Planner got added again, using the graphical profile editor; it
  supports different ascent speeds, backgas breaks during deco and many
  other interesting features; it allows the user to print just the dive
  plan (without graphic profile); one shortcoming is that currently one
  cannot re-plan a planned dive, i.e., once you save a dive plan, you can
  no longer edit / change the plan; you have to start from scratch again.
  This is on the todo list.
- Pictures can be associated with dives and shown in the profile
- Printing is much improved (but see above), including a "1 dive per page"
  mode, better rendering of dives (in our mind) and better data
  presented per dive.
- Data entry for dives is much more intuitive and consistent
- We have a reasonably functional HTML exporter for the dive log (it's
  still work in progress but already quite powerful, even though lacking
  localization support).
- Support to import dive log files from Seabear dive computers.
- We added a user survey to learn more about the interests and needs of
  out users
- improved and extended user manuals
- new translated user manuals in Spanish and Russian

*Known issues:*

- (Windows specific) Many Windows fonts don't support specific characters,
  specifically subscript "2" (eg in pO₂). New installations of _Subsurface_
  will automatically pick a font that contains this character, but if you
  had _Subsurface_ installed on a specific system before, it likely has
  saved the previous font in its settings. In that case the best solution
  is to manually change the font to one that contains this character,
  e.g. Calibri.

- (Windows specific) When upgrading from _Subsurface_ 4.1, after saving of a
  logfile the logfile's name may be listed a second time in the files menu
  because of a change in the representation of logfiles filename in the
  Windows registry.

- There are a number of small inconsistencies in the UI when editing
  multiple dives. For example, if multiple dives are edited and some of
  them already have coordinates set, under certain circumstances the
  changes aren't saved. To circumvent this bug only edit dives with the
  same coordinates or edit the dives individually.

- (Windows specific - only 64bit) If an ad blocker is used and set to
  offline mode, the manual check for an update crashes _Subsurface_.

- When using the globe / map widget to edit dive locations, double clicks
  some times fail to set the correct position.

- Sometimes the globe will show the same pane several times. Try to zoom
  in or out of the location and give the system time to download the map
  tiles in the background - on slower network connections this can take a
  while.


New in version 4.1 (compared to _Subsurface_ 4.0.3):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- new and improved profile widget with animations, better info box, and
  a new toolbox to turn on and off many of the additional graphs and
  information displays
- improved CSV import and added CSV export
- import of exported log files from Sensus (CSV) and Shearwater Desktop
  (XML)
- improved UDDF and divelogs.de support
- generalized import dialog
- much improved consistency for dialog boxes, keyboard shortcuts, etc
- improved error handling when downloading from divecomputer
- export an HTML world map with dive sites
- make backups before overwriting XML files
- don't display unused cylinders in the equipment tab (this can be turned
  off and the old behavior restored in the preferences)
- lots of code cleanup, style fixes, improved consistency
- improve Qt5 support (but there are still some visual oddities)
- many improvements to the build infrastructure (out of tree builds,
  ability to build without Marble, make WIP planner a config option)
- more than 50 bugs fixed
- new translation (Greek, British-English, Latvian, and Romanian)
- experimental "check for updates" feature (mostly for Windows and Mac)
- experimental undocumented alternative storage format


New in version 4.0.3 (compared to _Subsurface_ 4.0.2):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- fixed unitinialized variable bug that caused errors downloading from
  divecomputers

New in version 4.0.2 (compared to _Subsurface_ 4.0.1):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- fixed potential crash when importing dive data without dive computer
  model information
- improve parsing of equipment data; this now accepts localized units
  as well as input in units that are not the display units (so if you
  run _Subsurface_ in metric, but went diving in a place where weights
  are in US Pounds (lbs), you can now enter the weight in lbs and
  _Subsurface_ does the right thing)
- fix temperature conversion when downloading data from Uemis SDA
- improve autocompletion to always be case insensitive
- improve selection handling in the dive list
- include event data in libdivecomputer dump
- improve profiles generated for dives with no depth samples and no
  average depth

New in version 4.0.1 (compared to _Subsurface_ 4.0):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- fixed several bugs handling non-ASCII text both in dive info text
  fields as well as in Windows file names
- added support for generating libdivecomputer log and dump files
- many improvements for import and export of other file formats
- XSLT files are built-in as resources, avoiding issues with not
  finding them
- support more GPS coordinate formats
- fixed several bugs around editing of manually entered dives
- fixed several bugs with entering data for weights and tanks
- increase the number of tracked weight systems to 6
- fixed font setting in preferences
- improved look and feel when running dark themes
- support older versions of Mac OS/X with default DMG (>= 10.5)
- enable https in Windows binaries

New in version 4.0 (compared to _Subsurface_ 3.1):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

With version 4.0 the _Subsurface_ team switched to a different UI
toolkit. This caused the need to do a complete rewrite of a large
chunk of the _Subsurface_ code base. We decided to keep much of the
logic and core of the existing code around, but used the opportunity
for quite a bit of cleanup and many improvements.

The basic concepts are the same, most of the basic features are the
same, but trying to create a concise list of changes that summarizes
the more than 1600 commits that have gone in since version 3.1 seems a
daunting task.

*Here are some of the highlights:*

- new map widget with a spinning globe to visualize dive locations
- much more "native" look and feel under Windows and Mac
- ability to edit dives "in place": simply click on an entry in the
  Dive Notes or Equipment tabs to start editing
- more data about each dive is presented in the Dive Notes and can
  be edited without separate dialogs and without having to go through
  context menues
- graphical editor for dive profiles for manually added dives
- better information overlay for the dive profile
- addition of a "ruler" tool in the profile window that allows
  measuring of many properties between two points in the profile
- better tag system with both predefined user-specified free text tags
- better integration with divelogs.de (upload & download support)
- ability to show the user manual from within the application without
  a life internet connection and without opening the manual in an
  external browser window
- better statistics (with per-trip statistics available)

*Known issues:*

- Filter->Select Events is not implemented
- Dive planner has been disabled for now
- https support for divelogs.de on Windows is disabled



New in version 3.1 (compared to _Subsurface_ 3.0.2):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- track tags for dives (things like 'boat', 'shore', 'deep', etc)
- enable filtering by tags
- ability to modify events from a context menu in the dive profile
  (this includes the ability to add gaschange events)
- direct export / upload to the divelogs.de online logbook
- import of Suunto DM4 files
- improved printout formatting and printer dialog
- support for color printing
- dive planning: add option for last stop at 6m/20ft
- added support for Heinrichs Weikamp OSTC3 and Suunto DX
- native support for the Shearwater Petrel (much faster download)
- various bug fixes



New in version 3.0.2 (compared to _Subsurface_ 3.0.1):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This update was mainly triggered by a bug in the handling of pO₂
values read from CCR / rebreather dive computers. This bug can lead to
incorrect data being stored in the _Subsurface_ XML file. Installing
_Subsurface_ 3.0.2 and re-downloading the dives will correct the
incorrect data. In order to re-download the dives connect your dive
computer (this should only affect people with certain tec dive
computers like the Shearwater Petrel or Predator that store pO₂ values
read from a pO₂ sensor in their dive log), open the download dialog,
check the box "Force download of all dives" and download your
dives. After you save your data file the correct pO₂ data should be
stored in the samples.

If you are using one of those dive computers, have saved data files
with _Subsurface_ 3.0 or 3.0.1 and have since deleted those dives from
your dive computers, please contact the developers as we also have an
experimental script that should be able to fix incorrect XML files -
but re-downloading the data is the much more reliable way to address
this issue.

In addition to this bug fix, 3.0.2 brings a number of other improvements:
- A Portuguese localization of _Subsurface_ was added.
- _Subsurface_ now remembers its window size and pane layout the next time
   it is started.
- Several importers for data for third party dive software were improved.
- Dives from the Heinrichs & Weikamp DR5 and from kenozooid can now be
   imported into _Subsurface_.
- A crash with localized versions of _Subsurface_ on Mac was resolved.
- The map provider for the GPS maps is now configurable.
- The layout of some dialog boxes was changed to improve usability on
   small screens.
- It is now easier to edit date and time of existing dives (and you can
   now edit duration, maximum and average depth for dives that were
   manually entered).
- Several small bugs were addressed.


New in version 3.0.1 (compared to _Subsurface_ 3.0):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Several bug fixes for importing log files from other divelog software;
  especially imports from DivingLog should work much better now, but
  also new importer functions for UDDF and UDCF
- Fixes for SAC calculation and gas volume estimates at high pressures
  (air and nitrox are NOT ideal gases in the physics sense)
- Added Help link to the online user manual
- Improved the user manual
- random other bug fixes


New in version 3.0 (compared to _Subsurface_ 2.1):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Many new divecomputers supported, bugfixes for existing divecomputers
  - Cressi Leonardo, Seemann XP5, Mares Matrix, Mares Puck Pro, Mares
    Nemo Wide 2, Shearwater Petrel, Shearwater Predator, Aeris A300
    AI, Hollis DG03
  - significant improvements for the Heinrichs Weiskamp OSTC
- Significantly improved selection of divecomputers for direct download
- Map display of GPS locations of dives and ability to enter and edit those
- Improved automatic dive numbering
- Data overlay for profile plot (with additional statistics information)
- Zoom function for profile plot
- Dive planner
- Improved printing support
- Improved dive trip handling
- Support for downloading dives from multiple computers (so for example
  both your main and your backup computer)
- Added ability to import existing divelogs from Suunto DM3 (no manual
  unpacking needed anymore), MacDive and divelogs.de
- Lots of features to make tec divers happy:
  - Experimental deco calculation with optional display of a calculated
    ceiling (Buhlmann ZH16 with gradient factors)
  - Display of deco information from some divecomputers that support this
  - TriMix support
  - CCR support (fixed or variable setpoint, on dive computers that support
    this)
  - Optional pO₂, pN₂ and pHe graphs
  - CNS tracking for supported divecomputers
- Lots of bug fixes
