Skip to content

Noteworthy backend changes

The frontend change log is here.

4.62

4.62.2 (2024-03-13)

  • Maintenance release.
  • Added planktivore_HM_AvgRois as science variable for the data plots.

4.62.1 (2024-02-13)

  • Fix in listing of mission directory where the "master" branch was always used when no deployment is active, instead of using the currently checked out branch. Thanks, Quinn, for the report.

4.61

4.61.0 (2024-01-12)

  • Now using the new explicit id=ID fragment included in the logImportant event reported from the LRAUV indicating the loading of a mission script, for example:
     Loaded ./Missions/Transport/keepstation.tl id=keepstation
    
    TethysDash uses such ID to properly identify all relevant subsequent events (prior to the Started mission <ID> event) necessary to gather the mission waypoints. Previously, TethysDash used the simple name of the file path itself to infer such ID, under the assumption that it coincided with the actual ID of the mission. Many thanks, Quinn, for implementing that new fragment on the LRAUV side!

4.55

4.55.2 (2023-11-14)

  • Updated tethysl library (to 3.6.1), which now includes the bool unit in the description of boolean arguments defined with just the literal value in the mission script (e.g., StayOnDock = false)

4.55.1 (2023-11-10)

  • Also recognize the argument names LatListening and LonListening as defining a waypoint. These names are used in the passive_acoustic_monitoring mission.

4.55.0 (2023-11-03)

  • Updated tethysl library (to 3.6.0), which handles the now optional top-level ID in .tl mission scripts.

4.54

4.54.6 (2023-11-03)

  • For WHOI, added log info with completed handleIncoming... in EmailService.

4.54.4 (2023-10-24)

  • planktivore_LM_AvgRois included as science variable for data plots.

4.54.3 (2023-10-05)

  • The display of the map that gets exposed under the Data tab in the DashUI (dash4) has been fixed.

    The problem was related with API deprecations announced by ESRI a few months ago. Now, a proper ESRI mechanism with associated API key (new config entry cfg.mapOptions.esriApiKey) is used. Along with this, now using Leaflet for the map display, and also with more optional base layers. The new esriApiKey config is also exposed via /api/info for use by dashUI in its own map.

  • API:

    • The credentials requirement for the mission description endpoint GET api/commands/script has been removed.
    • A fix related with proper handling of GET /api/wp when the mission has no recognized latitude/longitude arguments.

4.54.0 (2023-10-03)

  • Adjusted logic to check for gpsFix duplicates (which is done prior to saving the events). Now, only 7 decimal places for latitude and longitude are considered for the check. Thanks, Steve H., for bringing this up and the feedback!

4.53

4.53.5 (2023-09-26)

  • GET /api/wp: No waypoint info is computed if there's no registered or active deployment for the given vehicle.

4.53.4 (2023-09-19)

  • New GET /deployments/pilotingTime?deploymentId API, which consolidates the PIC and On-Call piloting time that users have entered when signing-off. Requester must have the 'admin' role.

4.53.1 (2023-09-14)

  • To facilitate diagnosing issues related with the occasional no reception of event notifications via email (apparently only on cell phones, perhaps due to carrier limits?), there's now a new mail.user.copyNotifications configuration setting, which is false by default. If set to true, every sent-out notification email will have a copy under the folder indicated by the value of mail.user.sentCopyFolder.

    For example, enabling this would look like so:

    mail {
      ...
    
      # Options related with emails sent to users
      user {
        # If given, depending on other settings, a copy of some
        # outgoing emails will be saved under this folder:
        sentCopyFolder = "Sent_User"
    
        # If true, notification emails will be copied in the sentCopyFolder indicated above:
        copyNotifications = true
      }
      ...
    }
    

4.53.0 (2023-09-01)

  • jgit library dependency has been upgraded.
  • For the jgit fetch operation (a first step during the git clone synchronization phase), an explicit setting has been included to fetch any tags. This was not set before as fetching the tags has apparently been part of a default behavior, but the explicit setting is good in general and may even help with the observed issues.
  • Information about all tags is now included in the POST /api/git/sync response.
  • Result of Vehicles.getVehicleByImei adjusted to be more specific about possible error.

4.52

4.52.0 (2023-08-01)

  • POST /user/picoc: The time spent as PIC or On-Call can now be indicated with a new parameter, watchDuration, when signing off. The duration must be given in ISO 8601 format, e.g., PT1H30M for 1 hour and 30 minutes. The watchDuration parameter is optional for now.

4.51

4.51.0 (2023-07-27)

  • Updated the TethysL library to its latest version 2.9.7. (This library is used to parse and expose the description of .tl mission scripts, including arguments, etc.)

4.50

4.50.8 (2023-07-24)

  • TethysDash will now attempt to email all admins if a git-related problem happens at initialization time. While an immediate inspection of the log upon initialization will reveal the problem, this may not always be the practice (e.g., automated continuous deployment).

4.50.7 (2023-06-29)

  • More graceful handling of some API requests involving the tracking database when the associated service (via ODSS) is not responding.

4.50.5 (2023-06-01)

  • GET /api/info response now includes the websockets endpoint URL.
    $ curlie -s 'https://okeanids.mbari.org/TethysDash/api/info' | jq .result.appConfig.external.ws
    "wss://okeanids.mbari.org/ws"
    

4.50.3 / 4.50.2 (2023-05-17)

  • Some more POST /api/hotspot handling adjustments/fixes.
  • Bug fixed: Emails for "Ac Comms" notifications were wrongly titled as "Sat Comms".

4.50.1 (2023-05-16)

  • Adjustments in POST /api/hotspot handling per clarification about the header line included in the apkt payload.

4.50.0 (2023-05-15)

  • POST /api/hotspot now checks for duplicates for the "ascii" case (which gets reflected with logImportant event). A '409 Conflict' result is returned in case of duplication.

4.40

4.40.8 (2023-05-01)

  • Fix to bug noted with the WHOI instance: vehicle color customization was not possible (in dash4) for a TethysDash instance not having access to the tracking database or not explicitly configuring such attribute via the optional vehicleBasicInfo configuration section; GET /info would not include vehicle info in such cases. Now, GET /info includes a default color for every requested vehicle not having an associated color.

4.40.7 (2023-05-01)

  • Fix in the query that supports the determination of waypoints.

4.40.6 (2023-04-24)

  • Fix a regression related with the GetReport endpoint, which was removed by mistake a while ago.

4.40.4 (2023-04-20)

  • Only internal adjustments, and sync of backend and frontend versions.

4.32

4.32.2 (2023-04-11)

  • A bug fix in the backend related with the API that provides the mission definition structure to clients when the mission has no associated arguments (e.g., Transport/transit_1km.tl). Thanks to Yanwu for reporting.

4.32.1 (2023-04-07)

  • Adjustments related with user account maintenance. Thanks to Ryan G. for the feedback.

4.32.0 (2023-04-06)

  • The GET /api/info response now also includes the colors associated with the LRAUV vehicles. (The GET /api/info/vehicles endpoint is now deprecated.)

4.31

4.31.0 (2023-03-13)

  • New /api/hotspot endpoint to support the hs2dash client application. This is preliminary.

4.30

4.30.2 (2023-02-17)

  • New /data/<variableName> API endpoint.

4.30.1 / 4.30.0 (2023-02-13)

4.25

4.25.0 (2023-02-08)

  • The "DList" file generation is now less strict regarding the deployment status in terms of its "start", "launch", and "recover" events, which were all previously required. Now, the date limits used for the listing of log files is determined by the start event if the launch event is missing, and the "end" event (or current time) if the "recover" event is missing. The comment lines in the header of the DList file will reflect the missing events with a - marker (as has already been done for a missing "end" event), for example:
      # Deployment name: Foo Baz
      #         Git tag: 2050-03-21
      #    Vehicle name: tethys
      #
      # Start:   2050-03-24T15:00:00.000Z
      # Launch:  2050-03-24T16:40:00.000Z
      # Recover: -
      # End:     2050-03-28T18:42:00.000Z
      #
      # Directories listed below comprise full set of logs for this deployment:
      ...
    

4.23

4.23.1 (2022-12)

  • internal code cleanup

4.23.0 (2022-11-21)

  • Backend and frontend adjustments regarding configurability related with the location of the status widgets. (These are generated externally.)

4.22

4.22.7 / 4.22.6 (2022-11-17)

  • New async notification generated whenever a vehicle connects via the DataLink endpoint.

  • DataLink endpoint: if vehicle reports a gitRef with a suffix, YYYY-MM-DDsuffix, then both with and without suffix are tried to get the vehicle info.

    Typically, deployment tags have the format YYYY-MM-DD but sometimes the tag can also include a suffix, e.g., 2022-11-16-docking. The adjusted logic above is because "dirty" tags also get reflected with a suffix, and it would not be straightforward to tell a proper tag apart from a dirty one.

4.22.5 (2022-11-10)

  • Fixed issue in delete user account request.
    Thanks Ryan G. (WHOI) for the heads-up and testing.

4.22.4 (2022-11-07), 4.22.3 (2022-10-19), 4.22.2

  • ayeris_particle_* variables included in science plots.
  • (internal) API adjustments

4.22.1 (2022-10-17)

  • Fix in internal cache of vehicle information that depends on git reference.

4.22.0 (2022-10-07) - 4.21.2 (2022-10-04)

  • Maintenance release including a new GET /data endpoint and a fix to the generation of json files for the data charts.

4.21

4.21.1 (2022-09-28)

  • Proper release with the recent fixes and other maintenance work.

4.20

4.20.0 patched (2022-09-23)

  • Fixed a long-standing issue of vehicle properties (like IMEI, password, and similar) not being retrieved from git reference associated to ongoing deployment, but always from the main branch (typically, "master"). Bug exposed with a Pontus deployment that used an old tag, prior to the recent IMEI password resets across all vehicles.

4.20.0 (2022-09-19)

  • To reflect addition and related changes in the LRAUV code, ARG_LIST is now exposed in the definition of relevant commands.

4.12

4.12.8 (2022-09-18)

  • Fixed regression that caused a server error when a request for a non-existing mission script was made.

4.12.6 (2022-08-31); 4.12.5 (2022-08-22)

  • New API endpoints for:
    • command/mission status (WIP)
    • mission listing with descriptions
  • Other API adjustments

4.12.3 (2022-08-09)

  • The heuristic to recognize waypoint parameters in mission scripts has been expanded. Concrete new case now covered (Science/smear_waypoint_sampling) but it should now be easier to add more cases as needed.

    • GET /wp continues to operate as before but with more possible missions recognized.
    • GET /commands/script response will include a list with the recognized parameter name pairs corresponding to waypoints: latLonNamePairs = [ {latName, lonName}, ... ]

    Note

    This all continues to be rather ad hoc while some more proper formal definition of waypoints in mission scripts is explicitly captured in the LRAUV mission framework.

4.12.1 (2022-08-04)

  • Possible .tl mission name is also handled for gathering and reporting waypoint information of a started mission.

4.12.0 (2022-07-22)

  • Docker image now based on new mbari/lrauv-unserialize image only containing the LRAUV unserialize executable needed by TethysDash.

4.11

4.11.5 (2022-07-18)

  • API: reprocess service now only accepts POST requests.
  • Updated tethysl lib (to 2.3.8) with simplified API for mission description.

4.11.4 (2022-07-12)

  • API: New /user/picoc, /user/byrole API routes. See https://docs.mbari.org/tethysdash/apidocs/.

  • Triggered by the dataProcessed event, the chart datasets are now also generated in JSON format. For example, for a Pontus dataProcessed event, with path=2022/202206/20220630T184720, the JSON file will be available at:

    https://okeanids.mbari.org/TethysDash/data/pontus/realtime/sbdlogs/2022/202206/20220630T184720/chartData2.json
    

    Note

    For any past dataProcessed events, an operator would need to perform the "Replot" function (via the API or the Dash UI) for the corresponding JSON file to be generated.

4.11.3 (2022-07-01)

  • Adjustments in mission description API to facilitate handling by the DashUI regarding possible mission migrations from .xml to .tl.
  • TethysL library updated.

4.11.2 (2022-06-23)

  • New handleIncomingTimeoutMs config setting and associated handling introduced for the WHOI instance.

4.11.0 (2022-06-21)

  • Adjustments/fixes related to the display of TethysL missions waypoints.

4.10

4.10.2 (2022-06-16)

4.10.1 (2022-06-13)

  • New GET /info/vehicles operation and various updates in the OpenAPI definition and related implementation.

4.10.0 (2022-06-12)

  • Internal: removal of long unneeded dependencies and lots of code cleanup as part of preparations for future technology modernization.

4.8

2022-06-08 – The OpenAPI definition has been updated.

4.8.88 (2022-06-06)

  • Fixed a bug related with the number of desired vehicle positions to display on the map.
  • More appropriate HTTP result codes in the handling of some /map based requests.

4.8.86 (2022-05-27)

  • Async handling adjustments, including notification for expired token.

4.8.85 (2022-05-23)

  • added logging upon noting the following from docker logs -f tethysdash on tethysdash2: java.io.IOException: Too big dictionarySize reading /opt/tethysdash/data/brizo/realtime/sbdlogs/2022/202205/20220523T203132/shore0073.lzma

4.8.84 (2022-05-10)

  • Added API for saving/updating "polygons" as well as for the traditional "stations."

4.8.82 (2022-04-25)

  • Use updated LRAUV image (which provides the unserialize function)
  • Some code cleanup and more basic preparations toward modernizing some components

4.8.8 (2022-04-18)

  • Adjustments in backend and docker-based release.

4.8.7 (2022-03-17)

4.8.6 (2022-02-11)

  • New /health endpoint.

4.8.5 (2022-02-03)

  • Fix regression in email notification handling.

4.8.4 (2022-02-01)

  • Dash logging enhancements.

4.8.3 (2022-01-31)

  • Email service adjustments properly integrated upon satisfactory testing.

4.8.2preX (2022-01-25)

  • Adjustments to better handle email server behavior variations (e.g., regarding connection timeout) as exposed during recent Polaris activities.

4.8.1 (2022-01-25)

  • Email notification settings: along with the text filter, also handled now is the type of filtering: LITERAL, REGEX, GLOB. (Under testing.)

4.8.0 (2022-01-25)

  • Legacy TethysDash UI now completely removed from the backend codebase.

4.8preX (2022-01-21)

  • Removal of the legacy TethysDash UI, under testing.

4.7

4.7.81 (2022-01-24)

  • Additional TRACE logging in EmailService.

4.7.8 (2022-01-20)

  • Adjustments and fixes in the logic to properly dispatch incoming SBD emails.
  • Runtime logger level adjustments are now persisted across container restarts.

4.7.4 (2022-01-14)

  • fix generation of waypoint information that then gets displayed on the map upon the Started mission event.

4.7.2 (2021-12-15)

  • one more log4j lib update (now 2.16.0) and gson lib now 2.8.9.

4.7.1 (2021-12-14)

  • API and corresponding logic adjustments to allow the immediate re-scanning of available (and valid) vehicle names, to promptly reflect changes in the listing according to the currently checked-out branch of the lrauv-config clone.

4.7.0 (2021-12-13)

  • Critical security update (log4j).

4.6

4.6.0 (2021-11-30)

4.5

4.5.8 / 4.5.7 (2021-11-18)

  • Logging adjustments in legacy servlet.
  • WIP: New handling of Argos battery low flag indication. (#190).

4.5.6 (2021-11-15)

  • New specific API for vehicle positions (GET /vpos (vehicle, from, to?, limit?)).
  • List of vehicles enabled for cell connection checks (ping) should now be "remembered" across restarts of the container.

4.5.5 / 4.5.4 (2021-11-09)

  • GET /git/tags adjustments: New limit parameter, and response now sorted by tag date, not name.
  • Logging adjustments.

4.5.3 (2021-11-08)

  • Logging adjustments to further facilitate inspection in general.

4.5.2 (2021-11-03)

  • A fix in underlying query related with Sat Comms Received events.

4.5.1 (2021-11-02)

  • Some preparations to facilitate "externalizing" logging file locations for docker.
  • Various logging adjustments, in part as preparation for decommissioning the legacy UI.
  • New database index to improve performance of event queries involving new attributes per recent adjustments.

4.5.0 (2021-10-25)

  • Enhancements to event and reprocess/replot APIs.

4.4

4.4.1 (2021-10-20)

  • Enhanced event and waypoint APIs
  • Internal: one other round of code cleanup, including removal of obsolete SVN-based mission/config repo handling, removal of old done section in the configuration.

4.4.0 (2021-10-12)

  • Waypoint information is now provided by new API GET wp. (#187)

4.3

4.3.44.3.2 (2021-08-16)

  • The replyTo mechanism is not honored by some external carriers (e.g., vzn). So, TethysDash now also checks the inbox for the IMAP user, but in this case only for "RequestByOperator" purposes.
  • New optional config setting mail.smtp.replyTo to complement recently added support for a different address for outbound emails:

    If mail.smtp.user is different from the account associated with mail.imap.user, then we typically want to specify a replyTo address corresponding to that account such TethysDash is able to handle the possibly replies.

  • New config setting sbd.outgoing.from to override mail.smtp.user as sender for outgoing SBD emails. The recent configuration adjustment for our okeanids instance to use a different tethysdash@mbari.org (mail.smtp.user) for sending wrt tethysadmin@mbari.org (mail.imap.user) for receiving, exposed the facts that 1) Iridium replies to the sender, and 2) TethysDash can only handle a single inbox for incoming emails. So, this new sbd.outgoing.from setting allows indicating as sender the address that TethysDash checks for incoming email.

4.3.1 (2021-08-06)

  • Added API to support changing and deleting extra email address for event notifications.

4.3.0 (2021-08-03)

  • Adjustments in logic to reply to text messages.

4.2

4.2.9 (2021-07-14)

  • minor: add some debug logging in TrackDbNotifier
  • internal adjustments

4.2.8 (2021-06-15)

  • resolve #85 "post a note to the dash by sending a text"

4.2.5 (2021-06-15)

  • Added API key handling for clients (in concrete, odss2dash, which has been updated accordingly).
  • Data file access has been CORS enabled.

4.2.3 (2021-06-07)

  • Support for ability to indicate specific list of vehicles to be exposed. (#92).

4.2.1 (2021-06-01)

  • A fix in logging.

4.2.0 (2021-05-21)

  • Important improvement in the 'reset password' workflow.

4.1

4.1.8 (2021-05-19)

  • Various adjustments and fixes (both UI and backend).
  • Further adjustments in formatting of event notification emails.

4.1.1 (2021-05-18)

  • Adjustments in event notification email formatting (#176).
  • More secure and standard handling of various API requests.
  • Resolved (#178).

4.0

4.0.0 (2021-04-16)

  • This is a major release with a new mechanism for handling asynchronous messages. In concrete, TethysDash's own websockets endpoint now supports all asynchronous messaging functionality. The traditional Pusher mechanism is still supported but will eventually be removed as the new mechanism is thoroughly tested.
  • The selection of the mechanism is done in the configuration:
    • async.websockets.useWebsocket, or
    • async.pusher.appId NOTE: it's either one or the other

3.9

3.9.7 (2021-03-31)

  • Support for new "Current Position Points"
  • Adjustments in asynchronous notification handling (Slack in particular)

3.9.5 (2021-02-09)

  • DataLink handing adjustments

    • Requests with an imei full of zeros or empty is rejected and logged out as an error:

      DEBUG [o.m.t.d.s.DataLink] - (nn.nn.nn.nn: <hostname>)  POST  (imei=[000000000000000]; imeiPassword=[***])
      ERROR [o.m.t.d.s.DataLink] - Unacceptable imei=000000000000000
      
    • The "busy" indicator in the response will be true only when the dash is already processing some unserialize task involving the requesting vehicle.


3.9.4 (2020-12-14)

  • Some more preparations for a proper websockets server. This now includes a new optional async.useWebsocket config setting. If true, cell connection related events are also notified via websockets. This flag may eventually be removed when we migrate to using websockets in general.

3.9.3 (2020-12-13)

  • New pusher.onlyCellConn config as a temporary setting to help reduce use of pusher by restricting notifications only to cell connection related events.

3.9.2 (2020-12-07)

  • Configurability regarding MBARI's "ODSS-2-DASH" service

  • API adjustment: GET /deployments/last now returns a 202 with an empty response instead of a 404 when there's no deployment registered for the vehicle.

3.9.1 (2020-10-14)

  • Adjustments if DB related scripts as part of ongoing migration of primary production server.

3.9 (2020-10-10)

  • Adjustments in extraction of DefineArg/DefineOutput's value to deal with the case of an <Arg Name="xxx">.

  • Internal: some refactoring toward facilitating inclusion of proper websocket endpoint.

3.8

3.8.1 (2020-10-06)

  • Just bumping version as part of integrated system v4.1.x releases.

3.8.0 (2020-10-05)

  • Minor adjustments related with released Dash UI version 4.0.1.

3.7

3.7.7 (2020-09-30)

  • A fix to SBD receipt email handling bug introduced past July but just noted today during operations using WHOI's Dash instance. (#170.)

3.7.6, 3.7.5

  • Minor REST API adjustments

3.7.4 (2020-09-21)

  • internal: some code cleanup, incl removal of recent interim stuff

3.7.3 (2020-09-18)

  • minor adjustment for docker release

3.7.2 (2020-09-08)

  • API enhancements to support new 'Mission' tab implementation

3.7.1 (2020-08-29)

  • API enhancements to support new 'Command' tab implementation

3.7.0 (2020-08-24)

  • API support for 'Command' tab implementation in Dash3

3.6

3.6.8 (2020-07-28)

  • Support for new PIC/On-Call handling in Dash3.

3.6.7 (2020-07-23)

  • GET /git/mission/... API operation now accepts a parameter lenient=y to indicate no validation against the schemas. This is intended to facilitate incremental transition to full schema conformance.

  • Every outgoing SBD email is now copied in the 'Sent_SBDs' folder in the configured primary email account. This is done right after the email has been sent out, so this serves as a form of confirmation for tracking purposes. (See #153.)

3.6.6 (2020-07-22)

  • Adjustments in response to GET /vconfig request.
  • Copy of reset password email now saved in the 'Sent_User' folder. (This done as part of #169 investigation.)

3.6.5 (2020-07-20)

  • More robust handling of event data requests with invalid date parameters
  • Only show .xml files for script selection
  • Support for KML layers (configured in backend and exposed in Dash3)

3.6.2 (2020-07-15)

  • API support for new Config tab implementation in Dash3.

3.6.1 (2020-07-14)

  • New handling and API for direct document-vehicle association. (#166)

3.6.0 (2020-07-11)

  • Direct notification of GPS fixes to MBARI's tracking database/ODSS has been incorporated in the TethysDash backend itself. (The previous separate service for this purpose has been disabled.)

3.5

3.5.5 (2020-06)

  • Augmented API is being implemented to support new document handling fixes and enhancements.

3.5.4 (2020-06)

  • A button with direct link to Dash3 has been added.



    (Thanks Steve for the suggestion.)

  • API enhancement: More options for event queries. (#165)

    Beside the usual vehicles, eventTypes, limit, from and to parameters in the GET /events request, some other event fields can now be associated with a specific condition as follows, with name as field example:

    • name=string: The field value is equal to the given string;
    • name.startsWith=string: The field value starts with the given string;
    • name.matches=string: The field value matches the given regular expression. (This reference contains a summary of the possible regular expression constructs.)


    The first given variant as listed above is the only one applied for the particular field. This handling is done for the event fields: name, text, note, path, user, email. (Note: the name field gets reflected as component in the reported JSON object for some event types).

3.5.3/2 (2020-05)

  • New optional passphrase setting in git configuration

  • New optional tileLayersFile entry in configuration

3.5.1 (2020-04-07)

  • Only internal adjustments.

3.5.0 (2020-03-16)

  • Configuration adjustments
    • New cellConnStatus section with a way to override the traditional host name pattern for the ping operation. TODO this will become unneeded if a "cell host name" property is added to the vehicle configuration itself.
    • Removal of obsolete entry involving runShoreScripts.sh.

3.4

3.4.8 (2020-03-04)

  • Re-attempt mechanism implemented for git fetch operations, which occasionally fail against Bitbucket. (Similar strategy as implemented for #101 related with git pull.)

3.4.7 (2020-03-04)

  • Adjustment in underlying asynchronous notification configuration: addition of "cluster" property for the Pusher service.

3.4.6 (2020-03-03)

  • API: Besides ISO 8601, also accept Unix time (in milliseconds) as value for date-time parameters in relevant request operations.

3.4.5 (2020-02-27)

  • Given the issue of not getting some recent documents to show up in the "Docs" listing, the database condition behind this listing has been relaxed so all recent documents are displayed. (Please note, the whole document handling is pending some good revision in general.)

3.4.4 (2020-02-10)

  • Internal: upgrade of underlying library and adjustments while enhancing and testing the dockerized version of the system.

3.4.2 (2020-02-06)

  • Argos email handling: target vehicle can now be determined only based on platform number when no Argo program provided in the email. (#160)

3.4.1 (2020-01-27)

  • internal adjustments for dockerization

3.4.0 (2020-01-23)

  • New optional configuration in the backend, and corresponding GUI additions to send commands/missions to an alternative "SBD destination address."

  • Adjustments in backend related with the "Sync Mission/Config" operation so it now gracefully checks out the main branch in case a previously checked-out different branch no longer exists in the remote repository.

3.3

3.3.2 (2020-01-15)

  • It is now possible to check out any branch in the underlying lrauv-config and lrauv-mission repositories. (#157, #156)

3.2

3.2.6 (2019-12-19)

  • More dynamic mechanism for configuration of the "miscellaneous" links that are shown in the Dash3 frontend (e.g., Watchbill).

  • Some revision of why all documents seem to always be displayed under the Doc tab. As a minor interim adjustment, the most recent documents are now listed first.

3.2.5 (2019-12-14)

  • Internal: adjustments for prototyping MXM provider interface.

3.2.4 (2019-12-04)

  • More configurability adjustments as we prepare TethysDash package for export.
  • Internal adjustments related with retrieval and report of files from the mission repository clone.

3.2.1 (2019-11-13)

  • Internal: Extra debug logging added to help diagnose issues with email notifications.

  • Internal: Adjustments related with the execution of LRAUV/Tools/runShoreScripts.sh from TethysDash.

3.2.0 (2019-10-31)

Several, mostly internal adjustments while preparing updated "dockerized" version of complete integrated TethysDash system.

  • For admins, include link to "Admin" page in account creation email
  • Generate fresh auth token upon user account update
  • Force UTF-8 encoding to the API
  • Remove configuration related with obsolete fleetstatus app

3.1

3.1.1 (2019-10-16)

This is a significant release mainly involving changes and fixes related with the proper dispatch of email notification settings:

  • On the server side, the database and the REST API have been adjusted to properly capture details about email notification settings so they can be dispatched with proper distinction among certain events, for example, between "Direct" and "Sat" Comms. Also, it's now possible to subscribe to Ac Comms events, and in general adding other event kinds should be easier in the future.

    This was a pending task related with the general renaming and restructuring of event types, whose implementation started earlier this year.

3.0

3.0.4 (2019-10-06)

  • Added biolum_dinoflagellate_proxy to science plots.

3.0.3 (2019-10-04)

  • Some adjustments related with issue about discrepancy in email notification involving both Direct Comms and Sat Comms. (Thanks Monique for reporting.) (#149)

  • Internal: Just log out notification entries with no email address associated to avoid triggering the subsequent exceptions (which were unecessarily adding to the already busy email logs).

3.0.2 (2019-08-21)

  • Resolve #146 about changing handling of emergency events, in particular, to promptly expose them even if with bad or very old associated timestamp.

3.0.1 (2019-07-09)

  • Cell connection status check is now automatically disabled when a vehicles's deployment is ended. (#145)

3.0.0 (2019-07-01)

  • Upgraded underlying Git library toward hopefully fixing ocassional issue that causes the mission and config Git clones to get corrupted; this is exposed by the UIs failing to refresh the available Git tags when adding or updating a vehicle's deployment. (#144).

  • New GET /api/info/map/stations API as part of a more dynamic way to define/edit the set of "stations" shown on the Dash3 map.

2.9

2.9.8 (2019-05-24)

  • Internal adjustments that should help address the GPSfix crossover issue recently noted again.

2.9.7 (2019-05-08)

  • Minor, internal (some additional debug logging).

2.9.6 (2019-04-29)

  • Adjustment in reprocess operation: unserialize executable is now also called even when no .parts directories are available.

  • Fixed issue about "Reprocess" and "Replot" links unexpectedly broken (#137).

2.9.2 .. 2.9.4 (2019-04-16)

  • Several backend adjustments and support for recent event type renaming and reorganization. The user-level visible changes are mainly reflected in the Dash3 webapp, but also from the backend in terms of event notification emails and Slack messages.

2.9.1 (2019-03-07)

  • Also do async notification when enablig/disabling cell connection status checks for a vehicle.

2.9.0 (2019-01-31)

  • Added API operations in backend to support UI options to enable/disable cell connection status checks.

2.8

2.8.9 (2019-01-28)

  • Removed the “command sent” dialog box that required to click okay

2.8.7 (2019-01-02)

  • Notify parent window (that is, the new Dash interface) when completing a command or a run (among other actions). This is to support "Select Log tab right upon issuing a command or run" (lrauv-dash#12).

2.8.6 (2018-12-29)

  • More efficient dispatch of REST requests (gzip compression). (#130)

2.8.5 (2018-12-20)

  • Workaround implemented to resolve issue about Re-run NOT keeping changed values when launched from the Dash(3) web interface. The problem is a tricky race condition that prevents the Run form from displaying correctly. Determining the concrete cause was proving too time consuming, so, since this whole dispatch will eventually be reimplemented in the new Dash interface, the workaround is to wait for about 2 seconds before TethysDash proceeds with the actual display of the Run form. This seems to be working consistently well according to multiple tests. (#129).

2.8.4 (2018-11-30)

  • Various adjustments that should alleviate the need to perform a hard reload of the TethysDash web page even upon non-UI related updates. Only a regular simple reload should suffice (that is, by simply clicking the refresh button in the browser).

  • Other internal adjustments.

2.8.2 (2018-11-29)

  • fix in generation of science plots when there's no data for a variable or when all values are NaN.

2.8.1 (2018-11-29)

  • WetLabsUBAT.biolum_potential added to science plots (#127).

2.8.0 (2018-09-27)

  • fix #126 "Broken vertical plane and science section charts when zooming in". Recent update of Highcharts was the cause (v6.1.4 2018-09-25).

2.7

2.7.8 (2018-09-21)

  • fix: NaN values for science plots were not handled for calculation of extremes. Example where this was exposed: https://okeanids.mbari.org/TethysDash/data/whoidhs/realtime/sbdlogs/2018/201809/20180921T154318/

2.7.6 (2018-08-22)

  • fix to issue reported ny Yanwu: In "Science Sections", when you move your mouse to the data points, units of depth, temp, salt, etc., are all "mug/L".

2.7.3 (2018-07-30)

  • Internal adjustments to support re-run functionality in new integrated front-end (dash3)

2.7.2 (2018-05-14)

  • Additional API operations toward unification with FleetStatus
    • PUT /deployments
    • GET /git/tags
    • POST /deployments/start
    • POST /deployments/end

2.7.1 (2018-05-09)

  • Improved science section plots (#119)
  • Resolve "...TokenBox:isValid is too restrictive" (#117)

2.6

2.6.0 (2018-04-18)

  • Various adjustments (still mainly internal) toward unification with FleetStatus.

2.5

2.5.6 (2018-03-20)

  • Experimental mechanism to relay async notifications to show positions of external assets (from tracking database) in FleetStatus.

2.5.3--2.5.5 (2018-03-09)

  • Adjustments in subsection plot parameters as indicated by Ben.
  • Several internal changes.

2.5.2 (2018-02-06)

Enhancements:

  • #113 "adjustments in argoReceive handling"

    Along with the latitude and longitude, now the "Argo quality" (LC) value is also reported in the UI, email notifications, etc.:

    2017-05-08 12:42:10 daphne argoReceive, [latitude=36.808, longitude=-121.806] LC=1
    
  • #110 "link to event type documentation"

    Next to the selection of event types there's now a ? icon with link to corresponding description.

  • #108 "Allow sending email with TLS"

    Implemented adjustments that should allow to specify SMTP TLS/SSL mail parameters (and any others as supported by the underlying JavaMail library used by TethysDash). (Thanks Lance for reporting.)

Bug fixes:

  • #111 "CharConversionException in generate report"

    The deployment report option with the "text" format was not robust enough to deal with some special characters. (Thanks Kevan for reporting.)

  • #112 "site can't be reached in generate html report"

    Seem likes the deployment report option with the "html" format had been broken for a long time. Fixed.

  • #107: "Not found for /sbdlogs/... requests"

    TethysDash now directly uses the target relevant links instead of relying on special Apache "proxy passes", which have been in place for MBARI's instance, but not for UH. (Thanks Lance for reporting.)

2.5.1 (2018-01-23)

  • resolve #109 "Arg as value in some entries under run mission form"

2.5.0 (2017-12-15)

  • The "re-run" bug has finally been fixed: All changed parameters in new submitted missions will be properly captured in the database so you can subsequently use the re-run feature. (The bug was that not all changed parameters were properly captured.) In particular, if you use the re-run function on missions submitted prior to this upgrade, you will still have to make sure that all intended changed parameters are as you need. Again, subsequent re-runs from there should be OK.

2.4

2.4.1 (2017-11-30)

  • Internal adjustments.

2.4.0 (2017-09-18)

  • New docker image mbari/tethysdash:2.4.0 integrating latest changes in underlying modules.

2.3

2.3.7 (2017-09-08)

  • New button "Sync MC" to explicitly re-synchronize the mission and config git submodules as used by the dash.

2.3.6 (2017-06-06)

  • dlist file now generated with extension .dlist

2.3.5 (2017-05-25)

  • API adjustments

2.3.3 (2017-05-17)

  • fix to longstanding issue about mission re-run function not maintaining changed values (#73).
  • some old entries in the tracker reviewed and closed as fixed ("mission sent to another vehicle", "have to re-select units after entering value").

2.3.2 (2017-04-30)

  • API: a bit more relaxed "freshness" for async event notification: 10min (instead of 1min)
  • various internal adjustments and fixes

2.3.1 (2017-04-17)

  • adjustments in API (schedDate parameter in sendCommands operation)
  • fixed long-standing issue when starting a new deployment in TethysDash happening when new git updates/tags were pushed to the config or mission referenced repositories (#101).

2.3.0 (2017-04-07)

  • fix related with asynchronous notification of "old" events.
  • more "technical debt" reduction.

2.2

2.2.2 (2017-04-07)

  • Addition and handling of new launch and recover event types (#43) and generation of "dlist" files (#75).
  • significant internal code cleanup

2.1

2.1.2 (2017-03-29)

  • expanded API (mainly about mission definitions); internal adjustments

2.1.0 (2017-03-02)

  • internal adjustments (mainly related with preparations for export to UH)

2.0.3 (2017-02-06)

  • fix issue related with adding email notification settings.
  • several API adjustments, including client code for asynchronous event notifications.

2.0.0 (2017-01-23)

  • fix #101 "error with git syncing"
  • initial version of new API (#100)

1.9

1.9.97 (2016-12-14)

  • fix #11 "Report "Save as" triggers exception".
  • fix #13 "sbdReceive event: path to file requires apache redirect"
  • fix #40 "Refresh not refreshing well"
  • several internal changes

1.9.96 (2016-12-13)

  • capture FleetStatus config parameters in main configuration (#98) This further simplifies installation/configurability.
  • internal: enhanced configuration mechanism; some code cleanup.

1.9.95 (2016-12-12)

  • added "ability to send commands to simulator" (#97): under the Run option, there’s a new button "Send Commands to 'sim'" next to the usual "Send Commands to primary-vehicle"

1.9.94 (2016-12-03)

  • additional API operations to enable Neptus-TethysDash/LRAUV integration prototype (exercised during week of 11/28/2016)

1.9.9/1.9.8 (2016-11-16)

  • internal: configurations adjustments as we work with UH on their instance of the system.

1.9.7 (2016-10-31)

  • usability improvements in TethysDash (particularly when used in mobile devices):
    • the various dialog boxes are now placed at the top in the window scroll area
    • Escape keystroke enabled as a quick way to close dialog/confirmation boxes

1.9.6 (2016-10-25)

  • add ability to delete document/forms/template
  • several internal changes (mainly related with software installation via Docker)

1.9.5 (2016-08-17)

  • New configuration properties that allow to specify email addresses to be CC-ed and BCC-ed in outgoing Iridium emails (#89).

1.9.4, 1.9.3 (2016-08-06)

  • resolve #88 "Y axis on vehicle plots": set min=-5m for "depth"
  • change notes link to http://docs.mbari.org/tethysdash/changes/

1.9.2 (2016-07-26)

  • add spam protection with reCAPTCHA in account creation

1.9.1 (2016-05-26)

  • Email notifications now only sent for vehicles having an active deployment (#82)
  • The "start deployment" event is now notified, of course only for users having 'deploy' in their settings for the desired -and enabled- vehicles (#84)

1.8

1.8.8 (2016-03-28)

  • fix #57 "textFilter for email notifications not working". Notification settings having a non-empty text filter are now handled with an AND logic (instead of the OR logic that probably was OK in association with the previous UI in the Dash itself where these settings were captured). A closely related issue #5 (for notes marked with the BUG checkbox), was also fixed as part of this.

1.8.7 (2016-03-14)

  • internal changes to support new features in FleetStatus

1.8.5 (2016-03-02)

  • fix #55 "Raise "Must be registered as an operator" error before opening note or comment dialog"
  • new auth.tokenExpiration config property and better overall control of login session

1.8.4 (2016-02-29)

  • internal (new request supporting FleetStatus and user management UIs)

1.8.3 (2016-02-25)

  • send email if requestedRoles seems to have been changed and there still are some
  • some adjustments related with the new secure access to the application via HTTPS

1.8.0 (2016-02-22/23) New authentication system

  • Based on user/role information maintained in own database (no external dependencies)
  • Applies to both TethysDash and FleetStatus in a unified fashion
  • If you don't yet have an account, visit https://okeanids.mbari.org/ and click "Create Account"
  • [Notify] button removed. Instead, the new UI for editing your email notification settings is under your account page.
  • Several outstanding issues were addressed with the new system.

1.7

1.7.5 (2016-01-29)

  • fix #72 "dataProcessed emails without the link." These events were missing the corresponding url in "plain text" email notifications. It also affected logPath and sbdReceive events.

1.7.4 (2016-01-28)

  • Updates "pushed" to any of the lrauv-config and lrauv-mission repositories are now automatically reflected in the UI.

    If you have a particular mission or config artifact, where you expect to see an update reflected, currently open in the UI, please close it and open it again.

    According to initial testing the overall update process from the time of the "push" seems to take 10-30 seconds when no active deployment or a lot of activity is going on. Expectation is that it should not take significantly longer in general. Feedback about this is welcome. (See issues #1, #67, #70).

  • put background color to the "Difference View (Read Only)" label in the editor to better separate the two areas visually

  • fix #64 "Remove popup when about to edit config or script under active deployment"
  • fix #63 "hide Track button"

1.7.3 (2016-01-22) Mostly, internal changes.

  • #68: improved configurability (and associated type safety in the code), and, externally, improved documentation of the same to facilitate export to other users.
  • RoleCall-related properties (from the previous monolithic file) have been separated (this will facilitate eventual removal when we put in place an alternative authentication/authorization mechanism).
  • #69: XSDs are now accessed directly (from its new location at /mbari/LRAUV/xsd/) — that is, no more RCS-based access to those artifacts.
  • #67: "config" and "mission" artifacts are now accessed by examining their own git repository clones directly - that is, not anymore via umbrella repo with submodules. (These clones are located under /opt/tomcat7/lrauv-repos/).

1.6

1.6.0 (2015-12-23):

  • only version label change to reflect the significant changes related with the new underlying git access to LRAUV artifacts

1.5

1.5.6 (2015-11-02--23):

  • completion of all major internal and visible changes related with the migration of LRAUV version control from SVN to Git.
  • all of this exercised during the Makai/ESP deployment that ended on 12/22/2015.

1.5.5 (2015-10-28):

  • internal changes (related with clean-up of deployments and preparations for migration of LRAUV artifacts to Git)

1.5.3 (2015-09-11):

  • New notifications via the Dash front-end are now enabled by default
  • update of supporting JavaMail library to v1.5.2
  • additional internal logging related with SBD email processing

1.5.0 (2015-09-09):

  • initial preparations to use Git as revision control system (instead of SVN) for mission, patch and config files
  • lots of internal adjustments (mainly related with backend operations supporting the FleetStatus application)

1.4

1.4.6 (2015-08-28):

  • Slack notifications: don't abbreviate the data piece for command and run events
  • Tentative fix to issue #55 "Raise "Must be registered as an operator" error before opening note or comment dialog"

1.4.5 (2015-08-26):

  • Now email notifications can be enabled/disabled on a per-vehicle basis without the user having to change the settings themselves. The support here is by the backend, while the user interface is provided by FleetStatus.

1.4.4 (2015-08-25):

  • Slack notifications: All notes are now pushed to Slack, not only the most recent one. (Although pushing several events in rapid sequence may trigger a "Too Many Requests" by Slack, we don't expect many people submitting notes simultaneously.)

1.4.3 (2015-08-24):

  • several internal additions to support new functionality in FleetStatus (email notification settings)

1.4.2 (2015-08-15):

  • complete internal changes to use new MBARI's Crowd server
  • include link to this page from the version information (upper right corner)

1.4.1 (2015-07-28):

  • Slack notifications: allow multiple additional target channels per note by indicating them at the: beginning of the body of the specific note. For example, with original note text:

    {#somechannel, @someuser} note contents ...
    

    the notification will also go to the channels #somechannel and @someuser besides the #lrauvs channel.

  • "show the size in directory of logs" (#49). Since the entries of the directory are typically also directories, the shown size for each subdirectory is the size of the included "shore.log" file, if any.

  • (internal: experimental preparations for new user authentication/authorization mechanism)

1.4.0 (2015-07-21):

  • temporary mechanism to not persist events more than 6 hours in the future (#9, #15)

1.3

1.3.9 (2015-07-21):

  • Fixed issue #46 "Could not send patch"
  • disabled the dialog box that prompts the user to use the validator (#45)

1.3.7 (2015-06-17):

  • Stop double notification listings
  • In Log panel, use data-time attribute on elements for sorting rather than title
  • Change Log event sorting criteria to millisecond resolution.