This page contains the current year's release notes and new features, primarily for Oceans 3.0, as well as any applications created/maintained by the ONC software development group, including mobile apps and desktop applications. In progress project status may be presented as well. The information below is written in plain language as much as possible. "Major" releases include all completed items at that time (monthly), while "minor" releases are updates to the previous major release with bug fixes and specific features. Detailed release notes are available on internal confluence pages (internal users only).

Dec 16, 2025

  • Improvement: support a smaller minimum ensemble period in Biosonics data product ensemble averaging
  • Bugfix: Hydrophone acceleration reprocessing failing to process files at an increasing rate
Minor release
​Oceans 3.0Tickets​25.11.002
Total2

Dec 9, 2025

  • Bugfix: data product requests on Biosonics devices store huge raw dt4 files in user FTP folders
Minor release
​Oceans 3.0Tickets​25.11.001
Total1
Major release
​Oceans 3.0​Tickets25.11.000 (accessible to internal users)​
Total183
Automated TestingTicketsAT.25.11.000
Total31

Dec 4, 2025

Community Fishers

  • In progress: CF app rewrite in React Native
  • In progress: CF map rewrite

Data Products

  • New Feature: Cast Economy post-processing ready (not available in production, pending validation): calculate oxygen saturation and concentration from voltage; use time shift data instead of scan shift; use single-pole low-pass filter instead of moving average smoothing
  • New Feature: Cast vertical cross section data product (not available in production, pending review)
  • Improvement: add ship name to ISO and ERDDAP metadata for Cast Economy casts
  • Improvement: drop attribute comment; use dateFrom and deployment date in hydrophone post-deployment calibration files
  • Improvement: clean up SoundScape Metrics code to reduce duplication

Infrastructure

  • Improvement: support hot-deploying changes to web code during development
  • Bugfix: reprocessing data with no QAQC tests causes database write failures
  • Removal: remaining SeaScribe UI: Observations tab of /Dive, /Observation, /DiveLogQuickEntry, /DiveLogTag

Maintenance & Testing

  • New Feature: support multiple L05 or L22 vocabulary terms on a device
  • New feature: support editing cables in Cable Management
  • Improvement: require IP addresses' dateTo to be after dateFrom
  • Improvement: sort taxon types in alphabetical order
  • Improvement: sort Digital Fishers campaigns by ID by default
  • Bugfix: Data from Antarctic Control Board causing shorestation errors
  • Bugfix: Scalar data of sensors of piggyback Rinko on AML-3 devices on ferries not generated
  • Bugfix: Device Details workflow tab sometimes loses keyboard focus while typing
  • Bugfix: Fail to create new Digital Fishers campaigns

Mini Projects

  • Improvement: add a list of archived filenames as a parameter to batch jobs
  • Improvement: rewrite Device Details Seascript tab in React
  • Improvement: Add several fault lines to Endeavour Earthquake Catalogue map
  • Improvement: support non-integer (ie, < 1s) sample periods in DART detider calibration formula

New Features

  • New Feature: allow metadata-only cast re-post-processing (not available in production, pending testing)
  • New Feature: cast collections available at /app/dataset/collection
  • Improvement: ERDDAP is now deployed as a docker container
  • Bugfix: various issues with User-Defined Dashboards

SeaTube

  • New Feature: Bulk annotation ingestion for expedition-related annotations
  • New Feature: Dynamic metrics for Expedition and Fixed Camera Location pages
  • New Feature: Add support for updating and maintaining WoRMS taxonomy (not running in production, pending testing)


Nov 6, 2025

  • Improvement: parser performance
  • Bugfix: Remote shorestations throw exceptions when restarted
  • Bugfix: P-ONE slow data service not running on remote shorestation
  • Bugfix: Invalid response when exporting annotations
  • Bugfix: Slow parsing from devices using the new sensor load feature
Minor release
Oceans 3.0​Tickets​25.09.001
Total5
Major release
​Oceans 3.0Tickets​25.09.000
(accessible to internal users)
Total139
Automated TestingTicketsAT.25.09.000
Total43

Oct 30, 2025

Community Fishers

  • Bugfix: "Data Not Currently Available" placeholder on cast/station popup
  • In progress: CF app rewrite in React Native
  • In progress: CF map rewrite

Data Products

  • New Feature: State of the Ocean Climate profile data product
  • Improvement: add pH sensors to State of the Ocean anomaly & climate plots
  • Improvement: continue to clean up magic numbers in MATLAB data product code
  • In progress: building infrastructure for Cross Section data product (formerly Vertical Transect)

Infrastructure

  • Improvement: enable Google Analytics on pages without headers
  • Improvement: add a dialog to confirm account deletion requests
  • Improvement: clean up annotation code & permission handling
  • Bugfix: sorting annotation search results by creator/modifier clears the table
  • Bugfix: some minor missing asset links
  • Removal: support for the EMPOWER Docker Sandbox
  • Removal: lots of unused images and other static assets

Maintenance & Testing

  • New Feature: download all files queried in File Management
  • Improvement: Device Details IPP table is now sortable
  • Improvement: ensure uniqueness of device ports
  • Improvement: display sensorcodename instead of sensorcode (it's complicated...) in Device Details
  • Improvement: only show deployed sensor types for station-level QAQC tests
  • Improvement: several minor improvements to topology staging
  • Bugfix: internal server error when pressing Cancel while adding a new Device Action
  • Bugfix: Device Listing & Device Search sorting doesn't work as expected
  • Bugfix: upto<time><timeunit> doesn't work in calibration formulas using sensor codes
  • Bugfix: DeviceType Modified By column displays oddly

Mini Projects

  • New Feature: automatically reload caches on remote shorestations
  • Improvements: clean up BPR import job
  • Bugfix: Plotting data with an extremely large y-range in Plotting Utility crashes the browser
  • Bugfix: incorrect number of permissions displayed in User Management

New Features

  • Improvement: clean up User Defined Dashboards menu
  • Improvement: UI improvements to tables on Dataset Landing Page and Cast pages
  • Improvement: add "has DOI" field to Cast re-post-process and review pages
  • Improvement: add ERDDAP section to Site Device Subset Maintenance
  • Improvement: add cast dates to dataset title and abstract
  • Improvement: deploy ERDDAP from a Docker image
  • In progress: UDD Spectrogram widget
  • In progress: cast collections/aggregates

SeaTube

  • Improvement: flag WoRMS taxons whose status isn't "accepted" in Annotation Entry taxon dropdown
  • Improvement: misc UI improvements to Annotation Entry taxon dropdown
  • Bugfix: clearing the SeaTube Search form doesn't work as expected

Oct 23, 2025

  • Bugfix: deleting an attribute from a Taxon Button Set fails to synchronize change to ships
Minor release
Oceans 3.0​Tickets​25.08.005
Total1

Oct 23, 2025

  • Improvement: Renormalize Taxon Button Set database tables
Minor release
Oceans 3.0​Tickets​25.08.004
Total2

Oct 16, 2025

  • Bugfix: ASL AZFP Echosounder data products don't recognized when data lines are the wrong length
  • Bugfix: QAQC Reprocess jobs fail during cache reloads
  • Bugfix: search failures fail to generate Jira tickets
  • Bugfix: search failures due to missing data product format
  • Bugfix: dataset landing page crashes when adding new items
Minor release
Oceans 3.0​Tickets​25.08.003
Total6

Oct 2, 2025

  • New feature: support parsing data from multiple piggyback sensors connected to serial ports of a single device
  • Improvement: Sort taxons in SeaTube annotation entry by similarity to search string
  • Bugfix: Creating an annotation in Digital Fishers does nothing (but reloads the page)
  • Bugfix: Sorting annotation search results by creator/modifier name clears search results
  • Bugfix: Device Listing filter doesn't work for device IDs
Minor release
​Oceans 3.0Tickets​25.08.002
Total7
Major release
​Oceans 3.0Tickets​25.08.000​, 25.08.001
(accessible to internal users)
Total185
Automated TestingTicketsAT.25.08.000
Total49

Sep 22, 2025

Community Fishers and Data Products

  • New feature: add form to Data Search, Community Fishers, API requests to request access to restricted data
  • Improvement: add note on how SeaBird cast data is processed
  • Improvement: Regenerate preview products for Community Fishers map when attributions for a product have been altered
  • Improvement: Publish cache reloads when attributions are edited in UI
  • Bugfix: off-by-one error in NaN masking of interpolated grid for profile animation data product
  • Bugfix: search failure when a sensor logged far too much data mitigated
  • Bugfix: cast data ingestion issue around handling of overlapping empty data files where one file's date range contains another
  • In progress: multi-station vertical transect data product - skeleton code in place
  • In progress: CF app rewrite in React Native
  • In progress: soundscape metrics preview products

Infrastructure

  • New feature: simplify dependency management by allowing groups of dependencies to be added to multiple projects
  • Improvement: clean up FileManagement query form
  • Internal: refactor SearchTreeMaintenenance Geospatial Area dialog; Bathymetry management page
  • Internal: front end modularization
  • Internal: support parsing Instants from system properties & task parameters
  • Internal: require automated updates to use packages at least 3 days old
  • Internal: several small test result collector features: identify builds with suite-wide issues, report to RSS feeds, display long-term statistics, display trends, add search bar, deep link to packages, display "last successful" build for tests, performance improvements
  • Internal: ingest UI/integration test history into test result collector
  • Bugfix: silence error logs when clients streaming files close their connection

Instruments

  • Bugfix: CORAS docker job
  • Bugfix: Telnet console
  • Bugfix: PAMGuard control page
  • Bugfix: enable telemetry & slow data services used by MIDAS for P-ONE

Maintenance & Testing

  • New feature: allow multiple calibration formulas within the same day
  • New feature: manually activate staged topology
  • New feature: display decommissioned devices with grey text on several pages
  • Improvement: add Comment column to Device Synchronization management page
  • Improvement: refactor Device Synchronization UI code
  • Improvement: display device ID & name in staged topology
  • Improvement: improve Device Category display on narrow monitors
  • Improvement: clean up Device Workflow Bulk Update page
  • Bugfix: remove nonsensical "All" option for device security tier
  • Bugfix: edit position sensors of mobile sites
  • Bugfix: add missing foreign keys on Climate & Forecast vocabulary tables
  • Bugfix: don't show devices in staged topology on Device Console
  • Bugfix: cache geospatial areas for QAQC geofence tests on ferries
  • Bugfix: $deviceId:altitude links in calibration formulas
  • Bugfix: treat email addresses as case-insensitive
  • Bugfix: filtering on device IDs on Device Synchronization management page
  • Bugfix: allow new users to edit their Plotting Utility colour presets

Mini-projects

  • New feature: change state of all queried files in File Management page
  • New feature: add a button to expand all workflow sections on a device
  • New feature: data product availability API service
  • Improvement: show annotation author names instead of IDs in annotation searches
  • Improvement: sort data products subject to data agreements by number of assigned permissions
  • Bugfix: data availability calculations for files without a data product format
  • In progress: automated cache reloads to remote stations

New Features

  • New feature: add "Has DOI" filter to Cast Review and Re-post Process screens, this additionally filters casts on whether a DOI has previously been assigned to them
  • Improvement: change ADCP ERDDAP datasets to Time Series Profile
  • Improvement: clean up dashboards' Chart Widget display: allow multiple widgets to use different time ranges; limit width; fix prev/next buttons

SeaTube

  • Improvement: quality of video snapshots
  • Improvement: display of dates in SeaTube annotation filters
  • Improvement: text for timelapse shorestation video without an associated dashboard
  • In progress: annotation ingestion UI
  • In progress: updating WoRMS taxonomy

Aug 27, 2025

  • Bugfixes to Java CSV & JSON searches, VPS & BPS density plots, search history for api/archivefiles searches, DOI versioning, CORAS postprocessing, API date validation
Minor release
​Oceans 3.0Tickets​25.07.002
Total12

Aug 14, 2025

  • Remove Bing maps from remaining pages
  • Support easily reprocessing multiple devices in a single DOI batch
  • Support geofenced QAQC tests for ferry devices
  • Bugfixes to DeviceConsole issue display, FileManagement, SearchTreeMaintenance taxon resource selection, Java CSV & JSON searches
Minor release
​Oceans 3.0Tickets​25.07.001
Total10
Major release
​Oceans 3.0Tickets​25.07.000 (accessible to internal users only)
Total149
Automated TestingTicketsAT.25.07.000
Total49

Aug 12, 2025

Community Fishers and Data Products

  • New feature: include altimeter information in data product header when available
  • New feature: support casts from non-Community Fishers devices
  • Improvement: reduce CPU impact of ERDDAP dataset generation
  • Internal: trim whitespace from task parameters
  • Bugfix: missing units to on-the-fly derived sensors for file-based data products
  • Bugfix: handle differing amount of data from each hydrophone in an array when generating soundscape metrics
  • Bugfix: empty resource selector in data preview rule management
  • Bugfix: missing error message in Plotting Utility when trying to delete someone else's plot
  • Bugfix: duplicate colours for VPS cast scalar profile plot
  • Bugfix: failing searches for ferry navigation CSV data
  • Bugfix: data products could not be copied into secure storage for unassigned casts with temporal overlap
  • In progress: multi-station vertical transect data product
  • In progress: CF app rewrite in React Native

Infrastructure

  • New feature: add "Delete Account" tab to Edit Profile page
  • Improvement: hide "Public Key" section of Edit Profile page for users without access to features that use key-based authentication
  • Improvement: don't allow logged-in users to edit their name/email in support requests
  • Internal: reduce error logging from API cilent hang-ups
  • Internal: modularization
  • Internal: test result collector UI improvements
  • Internal: test result collector build flagging
  • Internal: test result collector deployment
  • Bugfix: update device & sensor attribute caches immediately on change

Instruments

  • In progress: bug fixes and testing for DTS driver
  • In progress: testing McLane sampler driver
  • In progress: bug fixes and modernization of PAMGuard support

Maintenance & Testing

  • New feature: support calibration formulas with dependency on other devices' sensors by sensorCode
  • New feature: scheduled task to fix QAQC result conflicts
  • Improvement: always show landing page header
  • Improvement: auto-populate station info for station-level QAQC tests
  • Improvement: better error message when adding process groups with no processes to a device's workflow
  • Improvement: Sort file size numerically on File Management page
  • Improvement: Sort data ratings on Device Details in descending order of dateFrom
  • Removal: some unused page URLs
  • Bugfix: unable to edit manufacturer or manufacture date of device nameplates
  • Bugfix: unable to search for hydrophone spectrograms with datefrom = dateto
  • Bugfix: unable to update excluded search tree nodes for station-level QAQC tests

Mini-projects

  • Improvement: Java-based CSV/JSON data products rewritten for better memory utilization
  • Improvement: various tweaks to compromised instrument management
  • Bugfix: inconsistent date formats in "nextUrl" response

New features

  • New feature: management features to support versioning DOIs
  • New feature: Data Viewer now findable in More menu
  • Improvement: ERDDAP server upgraded to 2.24
  • Improvement: ERDDAP server has been dockerized
  • Improvement: copy plot URL when sharing a Data Viewer plot
  • Improvement: read-only, embed, fullscreen support for User Defined Dashboards

SeaTube

  • Improvement: search for comments in annotations is case-insensitive
  • Improvement: auto-select the appropriate ROV's camera
  • Improvement: taxon selection displays taxonomy name instead of "Taxonomy Root" when searching for root taxons

Jul 31, 2025

  • Bugfixes to telnet console, user management, API tokens
Minor release
​Oceans 3.0Tickets​25.06.003, 25.06.004 (accessible to internal users only​)
Total6

July 28, 2025

  • Bugfixes to api/locations, Geospatial Map, calibrations, P-ONE internal API, DTS driver
Minor release
​Oceans 3.0Tickets​25.06.002 (accessible to internal users only​)
Total9

July 21, 2025

  • Bugfixes: build issues, Device Details UI, (experimental) Data Viewer UI
  • Improvements to DTS processing, Community Fishers data access and attribution management
  • Remove Bing maps from several pages
Minor release
​Oceans 3.0Tickets25.06.001 (accessible to internal users only)
Total15


Major release
Oceans 3.0Tickets

25.06.000

(accessible to internal users only)

Total163
Automated TestingTicketsAT.25.06.000
Total24

 July 7, 2025

Community Fishers and Data Products

  • New feature: support SeaBird CTDs in CF ingestion pipeline and data products
  • New feature: secure storage of CF preview products
  • Improvement: Matlab code is fully linted in CI builds
  • Bugfix: ONC logo can be replaced without code changes
  • Bugfix: various issues processing bad data for Endeavour Earthquake locator
  • In progress: CF app rewrite in React Native

Infrastructure

  • Improvement: simplify process for updating device synchronization configurations
  • In progress: update React theme to match current branding
  • Internal: base test result collector UI
  • Internal: deployment process improvements
  • Internal: modularization
  • Removal: internal-only live DAF testing feature

Instruments

  • New feature: support ssh-rsa public keys and multiple signing algorithms for external junction box control
  • New feature: DTS driver
  • New feature: CORAS Mat data product
  • Improvement: junction box port labelling
  • Improvement: disconnected junction box breakers can have control disabled
  • Bugfix: VPS junction box alerting

Maintenance & Testing

  • New feature: display device nameplate history
  • New feature: station-level QAQC spike test
  • Improvement: search for annotations by search tree node code ID
  • Improvement: block reprocessing of known-invalid files
  • Improvement: update device attributes during reprocessing
  • Improvement: exclude VPS from station-level QAQC tests
  • Improvement: display entire device attribute table without horizontal scrolling
  • Improvement: improve display of station names in device console
  • Bugfix: port ordering on Device Console junction box control
  • Bugfix: missing breaker number in device port display
  • Bugfix: filesize displayed when reprocessing Nortek data

Mini-projects

  • New feature: notify stakeholders when Endeavour earthquakes hit configured thresholds
  • New feature: add QAQC flag description to api/scalardata
  • Improvement: adjustable column widths on User Management organization tab

New Features

  • New feature: Data Viewer plots can be shared
  • Improvement: Data Viewer trace names can include device or location
  • Improvement: ERDDAP datasets are not generated for data with no DOI
  • Improvement: Cast Dataset Landing Page device links now go to specific device
  • Improvement: rearrange fields of Site Device Subset Maintenance page

SeaTube

  • New feature: approved users can publish fixed camera annotations
  • Improvement: remember fixed camera data availability widget preferences
  • Improvement: add breadcrumb to fixed camera dashboard title
  • Improvement: display of SeaTube landing page on small(er) screens
  • Improvement: display missing video info for gaps between dive clips
  • Internal: new React-based page header

June 25, 2025

Minor release: improve logging, fix parsing of data with missing sensors, fix P-ONE junction box API request signing, improve Dashboard display on mobile devices.

Tickets Released: Oceans 3.0 25.05.004 (accessible to internal users only). Total: 4

June 23, 2025

Minor release: bugfixes to attribution management.

Tickets Released: Oceans 3.0: 25.05.003 (accessible to internal users only). Total: 3

June 18, 2025

Minor release: improve Dashboard display on mobile devices, improve logging, bugfixes to Device Workflow tab, Device Console junction box control, Data Viewer, VPS platform.

Tickets Released: Oceans 3.0: 25.05.002 (accessible to internal users only). Total: 14

June 12, 2025

Minor release: fix caching issues on ferry shorestations, add pride logo, improve logging, bugfixes to attribution management, Search Hydrophone Data, Playlist creation

Tickets Released: Oceans 3.0: 25.05.001 (accessible to internal users only). Total: 7

June 5, 2025

Major release.

Maintenance & Testing

  • New feature: clean up our Norteks sensors and implementation of transformations, so all Nortek data can be presented in ENU coordinate system
  • New feature: display historical deviceports on UI
  • Improvement: re-write workflow tab of device details page with react
  • Improvement: proper snackbar message on DeviceListing for invalid deviceid
  • Improvement: remove length limit of deviceactiondescription column in deviceaction database table
  • Task: Add JB-30 to Cassandra Engineering tables
  • Bug fix: Cables page display issue

Infrastructure

  • Improvement: finish modernizing database transactions
  • Improvement: simplify internal scheduling code
  • Internal: modularization, internal test tool development, dependency upgrades

New Features

  • Improvement: ERDDAP - URL tweaks to support new URL, https://dap.oceannetworks.ca
  • Improvement: Data Viewer - Styling tweaks to position and size the legend a bit better
  • Improvement: Local Contexts - Use new V2 Local Contexts API

SeaTube

  • New feature: added bulk operations to ST annotation ingestion tools.
  • Improvement: changed cards in Ocean3 landing page. Move ST menus around.
  • Improvement: added redirect supports for old dive log to new dive log and ST pro to new fixed camera app. 
  • Improvement: some UI improvements for fixed camera app.

Mini-Projects

  • New feature: added site name and site deviceId to compromised instrument page (in-progress)
  • New feature: added deviceid links on compromised instrument page that go to device listing page
  • New feature: allow taxonomy nodes to have default attributes not just taxon nodes
  • Bugfix: transferring workflows multiple times
  • Bugfix: attribution update would sometimes fail
  • Improvement: attribution tab performance on network console
  • Improvement: update dataproduct delivery api to allow null date from, date to
  • Bugfix: metrics activator kept reinitializing
  • Bugfix: clicking on the organization tab and pack to a different tab on the user management page kept the org table on the page

Community Fishers and Data Products

  • New feature: secure storage of CF preview products (in progress)
  • New feature: service to list and download CF preview products by cast/station or per product. Majority of code went out in previous releases. The map will change over to use the new service when map update work is undertaken. 
  • New feature: support manual creation of siteDeviceSubsets with Seabird devices
  • New feature: first Iterations on State of the Ocean Climate profile products complete: colourblind friendly colours, public facing documentation
  • Improvement: hide State of the Ocean Climate profile products on DataSearch and the DataProductDelivery API 
  • Improvement: Use CF generation user to generate and retrieve CF preview products
  • Improvement: Matlab unit tests and linting are now run as part of "build" 
  • Bugfix: java log file search did not find file when they previous did. Edge case where dates of parent device are used to query for file even though device is not piggyback AND parent device has topology start date that is after log file start date
  • Bugfix: Matlab did not clean secure storage folder when copying in new files
  • Bugfix: Matlab side of cast detection gave errors when no data from last reading json service

Instruments

  • Sony Z3 Camera
    • Bugfix: driver was getting/causing "too many connections" on the camera.  Code was changed but this might still be a problem.  Possibly a result in how digest authentication is being handled.
    • Bugfix: seascript not working for some interfaces.
    • Bugfix: in some cases, seascript was causing the driver to become unresponsive to remote commands.
  • Axis Dome Camera
    •  Bugfix: fix for pan/tilt control
  • Junction Box Alarm Settings
    •  Improvement: page only allows a maximum of 10 tabs, now can handle up to 20.
  • Parsers
    • Bugfix: some sensors stopped parsing after the sensor load update last month.
  • New feature: Mclane driver now detects if the device has been reset and sets the next sample to the correct sample number instead of starting back at 1.  This is still being tested and has not been deployed yet.

Tickets Released: Oceans 3.0: 25.05.000 (accessible to internal users only), total: 168. Automated Testing: AT.25.05.000, total: 17.

May 27, 2025

Minor release: bugfixes to VPS and Z3 cameras

Tickets Released: Oceans 3.0: 25.04.004 (accessible to internal users only). Total: 2

May 21, 2025

Minor release: bugfixes to parsing, junction box alarms, topology staging

Tickets Released: Oceans 3.0: 25.04.003 (accessible to internal users only). Total: 4

May 15, 2025

Minor release: improvements to McLane Water Sampler power loss recovery; bugfixes to VPS and Z3 cameras, cable management, SeaTube search, SeaTube annotation publication, fixed camera playback

Tickets Released: Oceans 3.0: 25.04.002 (accessible to internal users only). Total: 10

May 12, 2025

Minor release: support saving Data Viewer layouts, bugfixes for Z3 camera, VPS platform, DOI job triggering

Tickets Released: Oceans 3.0: 25.04.001 (accessible to internal users only). Total: 5

May 8, 2025

Major release.

Maintenance & Testing

  • New feature: fill in missed history records in nameplate_trx and deviceport_trx database tables
  • New features: add "expand all" button for search feature to topology tree on TopologyView page
  • New feature: remove length limit for devcieattributevalue column in deviceattribute database table
  • Bug fix: reduce warning messages in log for null value of JEP function result
  • Internal: improve automated testing, support, DAQ monitoring, bug fixes in QA

Infrastructure

  • Change Oceans 3 home page to https://data.oceannetworks.ca (was https://data.oceannetworks.ca/home)
  • Disable persistence of browser sessions across restarts of Oceans 3
  • Reimplement web servlets as HTTP Whiteboard OSGi components
  • Improve performance of some queries against DevicePort table
  • Fix some edge cases in search queuing
  • Internal: process and continuous integration improvements, modularization, update to testing suite Cypress to version 14 and Tanstack Query to V5

New Features

Local Contexts - Update Agreement's labels service to rest 

User Defined Dashboards - more work to bring it up to existing Dashboard's functionality

  • Now available in a "hidden" URL
  • Embed of a dashboard is now available

Data Viewer

  • The "+" button now adds a chart immediately which opens to config
  • Clean up chips that are displayed when date/time selection is collapsed
  • Plotly legend replaced with table containing deployments
    • only deployments for displayed data are shown
    • trace visibility can be controlled from this legend
    • collapsible so it shows trace control only 
  • Bug fix: Min/max bars are now time aligned with average trace
  • Bug fix: Adding multiple traces to chart no longer crashes page
  • Work on saving plots has started

Latest Readings Widget

  • Selecting via sensorId has been replaced with selecting using Device and Sensor name
  • Now possible to have a combination of Location Sources and Device Sources

SeaTube

  • Merged expedition search and fixed camera search
  • Added SeaTube landing page for most used SeaTube apps. We reused the SeaTube URL
  • Added deep link support for fixed camera
  • Created a new page to move old SeaTube Pro to (linked in the menu)
  • Added sensor data support for live dive
  • Added annotation ingestion support for fixed camera
  • Start working on WoRMS update project so the system will load WoRMS taxonomy from WoRMS website instead of storing a snapshot in our system.
  • Some minor improvements and bug fixes

Mini-Projects

  • Add organizations tab to the user management page. Now users can be added to organizations without creating sql scripts.
  • Updated network console data agreement tables to use modern react tables for listing data products and attributions
  • Small improvements to the compromised instrument table (in-progress), allow filtering by Jira ticket, add annotation id link
  • Allow transfer of in progress work flows from one device to another on the workflow admin page
  • Improvements to data product availability API. Can now use a device category code without a search tree node code and handles the availability of data products with null format ids, plus improved permissions.
  • Fixed spacing issue in csv earthquake export from the earthquake catalogue page
  • Fixed a bug where the resource id and resource type id would sometimes be empty on annotation entry when editing an existing annotation
  • Fixes to calibration formula processing to handle attributes like @23044:Seabird63TemperatureCalibrationCoefficientTA1. Now it will correctly look for the value of the attribute Seabird63TemperatureCalibrationCoefficientTA1 on device id 23044 rather then look for the value of attribute id 1 on device 23044 (it previously saw A1 at the end assumed that meant go find attribute id 1).

Community Fishers and Data Products

  • Create service to download CF preview products from secure storage
  • Use secure storage when reporting available products per cast or station
  • Store State of the Ocean Climate Profile in secure storage after generation
    • add generation user to ONC internal so that it has access to check on files within secure storage
    • use files within secure storage to check if a new product needs to be generated
  • Extend data product rule to support blocking of configured product/format for all deployments and search tree nodes, previously only supported specified deployments and nodes
  • Email reports sent out from CF pipeline and attribution post process job now comma separate sensorId links because some email clients did not show spaces
  • Support creation of processing comment for device type 928, required when creating DOIs and ERDDAP datasets
  • Soundscape Metrics 
    • add CSV and MAT products to accompany plots
    • change ONC logo from PNG to text
  • Completion of MATLAB internal date format standardizing
  • State of the Ocean Climate Profile
    • Add attributions to product
    • Write user facing documentation
    • Round 1 review changes 
      • Add legend to the plot to accompany monthly avg labels
      • Plot lines for individual casts when less than 30 casts in the product
  • Bug fixes
    • Write all device information into State of the Ocean Climate Profile CSV
    • Prod search fail: Instrument level searches on COVIS devices for COVIS TAR files were broken 
    • Community Fishers stations with end dates in the future were not rendered on the map
    • Edits to attributions from any path aside from Network Console UI (i.e. SQL or attribution post process job) did not show up until web machine is restarted
    • Search results were written with full AD filepath for FLAC files when selected downsample frequency is higher than sourcefile sample rate
    • Searches were being run on both QA task machines at the same time
    • Handle data agreements with null start date in attribution post processor
    • Only use reviewed casts when creating searches for State of the Ocean Climate Profile products
    • Stop premature cleanup of Sound Scape Metrics data files
    • Soundscape metrics plots showing multiple files for one week

Instruments

  • Junction Box API fixes and improvements
    • Active location now configurable through globals.properties.
    • Fixed some issues with validating signed requests and exception handling
    • JunctionBoxAPIFilter renamed to SignedRequestAuthenticationFilter. Signed request handling is not specific to the JunctionBoxAPI and could be used for other APIs.

    UI Changes

    • When adding public key, any valid format is acceptable. Previously only accepted public keys with specific headers.
    • Now validates that key uploaded is a valid public key. This includes not accepting private keys.
  • P-ONE Support
    • P1 junction box now broadcasts all telemetry to JMS queue Telemetry.MIDAS. MIDAS software will be connecting to this queue to monitor the P1 junction box. (Service runs on the UBC jvm only.)
    • Broadcasts all data messages from device type 952 ONC String Junction Box. Currently there is only 1 but in the future there may be several.
  • Driver and Data Acquisition

    • New authentication method for http drivers called “digest”. This fixes the authentication issues with the Z3 camera as well as adds a new authentication method available for all other http drivers.
    • New sub driver SAMD Controller for controlling the laser and UV light on Z3 camera
    • Added news seascript commands for Z3 camera, including all standard camera functions and custom functions to this camera. 
    • Z3 camera functions now available in Menu button.  Includes functions related to taking pictures, UV control and others.
    • Bug fix where the VPS was not showing the correct device in the junction box tab
    • New seascript commands were added for the ONC light driver
    • ONC lights commands also appear in the menu section on the camera web page
    • Support parsing of data from multiple devices through one port
  • Bugs
    • JMS connection leak: driver commands through the device console were not closed resulting in a build up of open JMS connections from the data centre
    • Fixed bug in the sensorValues/readingValues parsing feature caused by boolean values in json readings.

Tickets Released: Oceans 3.0: 25.04.000 (accessible to internal users only), total: 204. Automated Testing: AT.25.04.000, total: 43.

April 23, 2025

Minor release: improvements for new P-ONE API, compromised instruments list and topology bug fixes

Tickets Released: Oceans 3.0: 25.03.003 (accessible to internal users only). Total: 5.

April 15, 2025

Minor release: authentication issue for Z3 camera, logging errors/improvements and Endeavour Earthquake catalogue reprocessing

Tickets Released: Oceans 3.0: 25.03.002 (accessible to internal users only). Total: 4.

April 9, 2025

Minor release: fix driver and topology issues, add support for a single device using multiple IP addresses.

Tickets Released: Oceans 3.0: 25.03.001 (accessible to internal users only). Total: 3.

April 3, 2025

Major release.

Maintenance & Testing

  • New feature: add more validation for day-of-week and day-of-month parameters in task schedule
  • New feature: url for workflow tab on devicedetails page will include processGroupId info
  • New feature: create new location UBC for P-ONE testing purpose
  • New feature: Device Bulk Update (support bulk update for deviceactions or sitedevices)
  • New feature: display deviceid besides devicename on qaqc auto test details page
  • New feature: expandable column width for tables on cable management page
  • New feature: DeviceId in the resultant table on deviceactions page is a link to devicedetails page 
  • New feature: remove length limit of sensorname in the sensor table
  • New feature: write Garcia and Gordon Calculation of Oxygen Solubility as a JEP formula
  • Bug fix: qaqcarchiver out of order messages (fix issue for live data, will generate devices and time range for qaqc reprocess after the fix is verified in prod)
  • Bug fix: Data Search loads forever for searchtreenode without any searchable device associated
  • Bug fix: topology disconnection issue for VPS
  • Bug fix: unable to delete a disconnected topology
  • Bug fix: JBAlarm setting issue for null breakerNumber situation
  • Internal: improve automated testing, support and bug fixes in QA

Infrastructure

  • Feature: docker images can be deployed from the registry with the deployment script
  • Improvement: Modernize transactions in Taxonomy and Playlist code
  • Improvement: Get Java dependencies from online repositories instead of manually-downloaded files
  • Improvement: Rewrote code that queries Jira to use the REST API instead of an unmaintained 3rd-party library
  • Improvement: Update deviceworkflow data access code to current conventions
  • Bugfix: viewing a user's search history in User Management will no longer crash the web server
  • Internal: automated testing results collector, build speed, fix compiler warnings, modularize code, process improvements

SeaTube

  • Finished the Fixed Location Camera playback app (hidden URL)
  • Continue working on Fixed Location Camera annotation search (taxonomy search)
  • (in-progress) Sharing unlisted Fixed Location Camera annotations
  • (in-progress) SeaTube application suite landing page
  • Some bugs fixes

New Features

  • Data Viewer -  Chart Legend now shows links to devices and has buttons to hide/show traces (plotly control still exists but will be removed next month) 
  • User-defined Dashboards (only available in dev environment) - Can now save dashboards in the same way as legacy dashboards can be saved
  • Dashboards Table - preserves table sort, filter, current page and current number of rows within a session
  • Cast DOIs - Cast review will now run a pipeline job which is configured to run DOI generation and ERDDAP dataset generation 
    • we can leave this disabled for now by setting the "castreview.job.id" config property to 0 (as it is now)
    • as a part of this work, we've changed how some ERDDAP functionality is done
      • the ERDDAP Dataset Generation Job (426) which generates a new datasets.xml from datasets in the erddapdataset table is now running on a 10 minute schedule
      • frontend edits no longer immediately edit the ERDDAP datasets.xml file, they edit the erddapdataset table and leave datasets.xml updates to the ERDDAP job

Mini-Projects

  • Device permissions associated with an agreement no longer check the agreements date range to apply the permissions (they have their own date range that can be set to continue after the agreement expires)
  • Added compromised instrument dialog to the device page and a (temporarily) hidden page for displaying and editing compromised instrument annotations
  • Added option to query by file state on the file management page
  • Add permission check when sending out EEW SMS notifications
  • Improvements to the earthquake catalog page including a new summary widget
  • Support activation codes on the device listing. Added serial #2, site name, and owner columns to the device listing table
  • Modernized the device listing table with filtering, column choosing, and consistent sessions

Community Fishers

  • Added new service call to get State of the Ocean Climate Profile Products by searchTreeNode, including supporting permissions checks and improvements
  • Design to move products to secure storage, started implementation
  • Updated code to allow for leniency around CF Data Agreement dates in assigning Data Attributions in post process job that read CF log files to create data attributions
  • Changed the email reference in ISO19115 files to info@oceannetworks.ca
  • Separated out keywords into multiple attributes for CF Erddap cast datasets.xml metadata
  • Fixed CF State of the Ocean Climate Search Generator being treated as a Data Product Latest Preview Search task type, also updated the Latest Preview Search task type type
  • Fixed searches created by generation job are being placed into the search queue instead of the search preview queue 
  • Created a new user for the State Of the Ocean Climate Plot Generator 
  • Remove dataproductformatid 335 from the database 

Data Products 

  • Fixed bug in AZFP 01a XML files that have incorrect Burst Intervals
  • Fix bug that can cause Hydrophone files to flip from E to T
    • Look for hydrophone files that have been flipped from file state E to T
    • Confirm which ones are actually corrupt
    • Flip corrupt files back to E
  • Handling for edge cases of State of the Ocean Climate Profile Products
  • Added support re-running one search from a search header grouping
  • Created search automation tests for new State of the Ocean Climate Profile products

Tickets Released: Oceans 3.0: 25.03.000 (accessible to internal users only), total: 205. Automated Testing: AT.25.03.000, total: 20.

March 19, 2025

Minor release: fix for dive video not visible in SeaTube live tab.

Tickets Released: Oceans 3.0: 25.02.004 (accessible to internal users only). Total: 1.

March 18, 2025

Minor release (AM): VPS base and package controller update to function like miniJBs, VPS parser update, JB alarm page fix, data viewer y-axis override, add a UBC location

Minor release (PM): improvements for Z3 camera driver

Tickets Released: Oceans 3.0: 25.02.002 25.02.003 (accessible to internal users only). Total: 5+1.

March 11, 2025

Minor release for a logging error on shorestations, data viewer min/max feature, drivers for ONC LED lights and Sea-Bird Thermosalinograph

Tickets Released: Oceans 3.0: 25.02.001 (accessible to internal users only). Total: 6.

March 6, 2025

Major release.

Maintenance & Testing

  • Bug fix: not able to edit cabletype or connectortype on Cable Management page
  • Bug fix: start date field on Query Parameters tab on File Management should be inclusive to filter results
  • Bug fix: dates in Search table modified by CSV/JSON/Java data products
  • Bug fix: data not available for autonomous deployment where single source file's datefrom and dateto is before and after deployment times
  • Complete data quality monitoring dashboards in Python (Based on 8 completed widgets)

Infrastructure

  • Delete table TaxonButtonSetLineAttribute
  • Rebuild locally-bundled 3rd-party dependencies
  • Continue front-end modularization & conversion to Typescript
  • Modernize use of transactions in data acquisition code
  • Add default sequences to Sensor, Device tables

Community Fishers

  • Upgraded task jobs to use task parameters to make searches
  • Extract code that checks if a new search is required from: DataPreviewCastGeneratorJob for reuse
  • New searches for CF state of ocean products now placed in queue
  • Implemented core functionality of Community Fishers State of the Ocean Climate Plot
  • Split code into new packages, CfSOCGenerationJobTest.java and CfSOCGenerationJob.java
  • Now set file state p on CF tablet log files
  • Added support for and populate blacklist station parameter 
  • Separated out the keywords into multiple attributes for cast datasets.xml metadata
  • Added comments made by DAQ team to the processing level text in datasets.xml

  • Set file to state to T when there is no community information in log file

Data Products

  • Fixed one search failure, fixed error submitting a search
  • Added MATLAB unit test to getsampleperiodTest, added regression test for API client libraries
  • Fixed issues with Matlab API client version  2.2.2 when trying to download files with more than 2^30 elements

  • Corrected incorrect data product options for a location

API & Mini-Projects

Earthquake Information Messaging System

  • Only show link to NRCan page on earthquake catalogue if the magnitude is at least 4
  • Hopefully sped up EIMS SMS internal notifications and reduced the amount that get sent out, should be at most 1 per minute.
    • 66 internal users are now subscribed to the system

API

  • Added byDeployment parameter to scalar data API that puts a nan value in between every deployment (useful for plotting)
  • Add dpRunId parameter to the dataProductDelivery status service
  • Added aggregateDeployments parameter to the location discovery API

Compromised Instrument List

  • Created a page for displaying compromised instrument annotations (hidden for now) 

Misc.

  • fixed reprocessing for cork devices with WARN sensors

New Features

Dashboards/Data Viewer/Latest Hydrophone Player

  • Improve Data Availability view in Widget configurations, now use new data availability public API, better performance and granularity
  • Support "Data Range" (aka All Available in Plotting Utility) option in Data Viewer so displayed date range spans data source range
  • Maintain selected Y-axis range in Chart
  • Fix issue with different deployments having joined traces by using scalardata 's byDeployment parameter
  • Fix issue with Data Player (Latest Hydrophone Player) not showing data
  • Fix issue with video not going to full screen from Dashboards

SeaTube

  • In-progress: annotation list widget in Fixed Video Camera app and related features including communication with other widgets
  • In-progress: public API for annotation retrieval by a given search tree location
  • In-progress: default layouts in the Fixed Video Cameras app for both logged-in users and anonymous users
  • Added recording and snapshot features to the Fixed Video Camera app
  • Improved the permission checking for fixed camera users for both public annotation and un-listed annotations
  • Other small improvements (WTA page, Hiding WoRDSS etc) 
  • Bug fixes

Instruments

  • P-One Slow Data Acquisition from MIDAS: this is a new service that runs on the PA shore station only.  It will listen for data from P-ONE/MIDAS, break the messages down to individual device data messages then publish to the normal parser queue.

Tickets Released: Oceans 3.0: 25.02.000 (accessible to internal users only), total: 139. Automated Testing: AT.25.02.000, total: 36.

February 19, 2025

Minor release, including SeaTube bug fixes, ONC Lights driver, update default option for time series scalar data products.

Tickets Released: Oceans 3.0: 25.01.001 (accessible to internal users only). Total: 7.

February 13, 2025

Python client library minor updates: output standard message, add check on fileSize, use the download manager.

MATLAB client library minor updates: handle special characters, improve synchronizing to the MATLAB file exchange.

Earthquake Dashboard (on oceannetworks.ca): fix incorrect timestamps, keep correct earthquake reference when sorted

Tickets Released: Python: CLP.2.5.0, total: 3. MATLAB: CLM.2.2.3, total: 1. CLM.2.2.2, total: 1. Earthquake Dashboard: EQADB.25.02.000, total: 2.

February 10, 2025

Major release.

Maintenance & Testing

  • Improvements and bug fixes on Cable Management page
  • Allow task management details table to expand wider to show complete information and fix paging and sorting issues

  • DeviceDetails-PhysicalCharacteristics: fix incorrect Labels in Mounting Devices
  • DeviceDetails-SiteTab: fix DeviceId population issue for Add Site Device Action
  • Fix SiteDevice page not redirecting issue after deleting SiteDevice
  • Delete a staged topology will refresh the tree and diagram

  • Fix topology disconnects no longer working issue when keeping the device at the same site
  • Calibration should take samplePeriod to calculate expected number of data
  • Archive jobs: check and make sure dateto>=datefrom in the filename before archive files
  • Fix "Add Devices Button" display issue on Network Console
  • Fix: index error issue for updating annotations
  • Bug fixes and improvements in Python Client Library
  • New internal data quality monitoring dashboard in Python (finished all 8 widgets, integrating codes)

SeaTube

  • Continue working on Fixed Location Video Cameras app
  • Added Dive Detail dialog to the new Dive Log app
  • Added a prototype for WoRMS taxon selection
  • Added some UI tests and Web Service tests supports
  • NOAA logger tests and related supports 
  • Bug fixes  

Community Fishers

  • Added service call to verify that organizations exist when they are added for community attribution to the Community Fisher app
  • Added support for rerunning tasks on files where the organization information has changed
  • Added task parameter with OrganzationIds that should not be altered when reprocessing
  • Added informative log error when cast cannot be processed due to the casting procedure not being followed
  • Added email reports to post process jobs
  • Create a task to build searches for CF state of the ocean climate plots
  • Create and add new data product mappings and formats for CF state of the ocean climate plots
  • Implemented a parser for task parameters

  • fixed two search failures and a number of internal & testing issues

Data Products

  • Minor fixes for soundmetrics sonar and soundscape metrics data product
  • MATLAB client library fixes
  • Automated Endeavour Earthquake Catalogue autolocate backfill job
  • Bug fixes for Endeavour Earthquake Catalogue autolocate

New Features

Data Policy

  • Can now assign a licence to a site device associated with an agreement to override agreement’s licence

Data Viewer

  • Can now select individual deployments
  • Date ranges in Chart configs can no longer be changed as dates are inherited from the Data Viewer page
  • Zoom to unsummarized affects Data Viewer date range

Dashboards

  • Latest video, when looping, will now pick up new files

API & Mini-Projects

  • automatic cache reloads over JMS no longer wipe out the cache
  • Created a compromised annotation instrument dialog
  • Data preview annotations now only show up in data search if the selected time range matches the annotation
  • Don't show AIS nodes on Data Search map by default
  • the getLatest and rowLimit fields on the scalar data public API now work together properly
  • both the date from and date to can be relative values now in all public API services (relative to the current time)
  • the EEC and EEW no longer save a common layout. This caused users to get weird layouts when using both pages.
  • Improvements to the data product availability service
  • raw and scalar public APIs no longer return data for non searchable devices and sites

Infrastructure

  • Feature: create table TaxonButtonSetLineAttribute
  • Feature: users/groups can be given permission to run individual commands on System Console (DS groups can now only reload caches)
  • Improvement: move System Console command form from top of window to bottom
  • Improvement: sort Role lists on System Console for easier grouping
  • Improvement: update System Console table to modern style
  • Improvement: replace the last uses of formik (except ManualEntry): SensorCalibrationMaintenance, MapDeviceDialog, MoveDeviceDialog, HydrophoneToolboxForm, SystemCommandSelectorDetails, ADCPToolboxForm
  • Improvement: use groupprivilegeid_seq as default for groupprivilege.groupprivilegeid
  • Improvement: update various components to Typescript using new form technologies: batch cancel/delete, DmasLink, ExpandableContainer, Multiselect, Snackbar
  • Improvement: error messages from issues with custom parameter validation
  • Bugfix: fix errors being logged by bad service calls from some device selectors
  • Bugfix: fix a few issues on SiteDeviceSubsetMaintenance
  • Bugfix: replace missing Campaign Root Taxon on DigitalFishersCampaignMaintenance
  • Bugfix: release sessions quickly in SQL database scalar data iterators
  • Bugfix: repair broken taxon button set "FABIO - NEPTUNE"
  • Refactor: modernize use of database transactions in data search & data acquisition code
  • Refactor: use translations.json in text fields
  • Refactor: extract icons, environment, autocompletes, filters, menus, closeable tab, tree, expandable search, useSnackbars, maps to separate packages of oceans-next
  • Removal: /CampaignMaintenance (replaced with /DigitalFishersCampaignManagement years ago)

Tickets Released: Oceans 3.0: 25.01.000 (accessible to internal users only), total: 200. Automated Testing: AT.25.01.000, total: 40. Endeavour Earthquake Autolocate: EEAL.1.0.2, total: 3.

January 28, 2025

Minor release to fix SeaTube issues and add a calibration formula for a Radiometer.

Tickets Released: Oceans 3.0: 24.12.002 (accessible to internal users only). Total: 4.

January 23, 2025

Minor release. Includes: driver updates for AML-6, bug fixes and improvements for Data Availability, Annotations, Permissions and MATLAB post-process jobs.

Tickets Released: Oceans 3.0: 24.12.001 (accessible to internal users only). Total: 16.

January 12, 2025

Major release.

Maintenance & Testing

  • Remove deprecated database tables and sequences
  • Fix display issue of Cable Management page for RO users
  • Create a sitedevice only after staging topology is approved
  • Update the data too big to download message in data search
  • Bug fixes and improvements in Python Client Library

API & Mini-Projects

  • Endeavour Earthquake catalogue improvements
  • Improvements to the Data Availability API (beta version)
  • Support piggyback devices for ArchiveFile public API
  • Don't allow empty string taxon vernaculars and clean up existing vernaculars

Community Fishers

  • Updated 'Geospatial Map Help and Support' Links
  • Now saving the OrganizationResourceRole into the database while handling data attributions that span midnight
  • Improved messaging when Cast Detection Job is run with incorrect date formats

  • Add roleComment in task parameters for each community

  • Activate Community Fishers Station Profile Animation data product

  • Removed the "soft delete" casts out of Cast Repostprocess management display
  • Bug fixes: null check on metadataSearchRunner, first card download links, DataPreviewService operation 22 failing to serialize in QA, broken, fix a broken ERDDAP data set

SeaTube

  • In-progress additions for the Fixed Video Camera app
  • Improved SeaTube Search to support future Fixed Video Camera search  
  • Upgraded the beta Dive Log to regular version
  • Confirmed the logic and performance for new way of WoRMS update
  • Bug fixes 

Infrastructure

  • Feature: Allow internal users to reload caches in QA
  • Feature: restrict most date inputs to a reasonable range
  • Improvement: remove unneeded error logging from ScalarDataAPIService, UserFileService, DeviceResourceRoleService, DOIDatasetService, DeviceService
  • Improvement: refactor Taxonomy web services to be RESTful
  • Improvement: cache objects heavily reused in ship-shore synchronization
  • Bugfix: race condition in summary scalar data generation job used only by diveloggers
  • Refactoring: remove unused components, convert a bunch of components to Typescript (map, menu, card, TextEditor, others?)
  • Feature: text fields support our translation model

New Features

  • Data Policy:
    • Prep work for overriding licensing for site devices: database changes and show default agreement licence on site device row
  • Data Viewer:
    • Changing date range on a chart using zoom or pan syncs other chart's displayed date range
    • Remove Prev/Next buttons - use page level instead
    • Remove three-dot menu and add Settings and Remove buttons to plotly menu
  • Data Viewer and User Defined Dashboards:
    • Widgets can have a reduced width header when when collapsed displays in the horizontal centre so the Pin button and menu are more easily accessed
  • Batch Management:
    • fix issue with paging for Batch table so more than the first page can be viewed; note that the total number of batches is no longer known so the page range isn't quite correct, e.g. it can say "95-90 of 96" but there can be more than 96.

Data Products

  • Correct averaging of active acoustic decibel data (convert to linear and then back to dB scale, using 10*log10 instead of 20*log10)

Instruments

  • Improvements to the json parser, now capable of parsing dynamic arrays.
  • AML 6 Driver

Tickets Released: Oceans 3.0: 24.12.000 (accessible to internal users only), total: 127. Automated Testing: AT.24.12.000, total: 19.