Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 85 additions & 2 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,105 @@
# StoX v4.2.0 (2026-01-30)

## Summary
* The StoX version 4.2.0 is a minor release containing a number of improvements and bug fixes:
* Tools for survey design thorugh the new functions TransectDesign and StationsAlongTransectDesign, and related functions for reporting, plotting and exporting to files for import to map applications (e.g. Olex).
* The Translate funcitons (TranslateBiotic, TranslateStoxBiotic, TranslateAcoustic, etc) now support using an R expression string in the NewValue column, which opens for transforming data (e.g. between different length measurements).
* Support for conditioning on variables in parent tables in Translate funcitons, e.g., conditioning on SpeciesCategory when translating columns in the Individual table of StoxBioticData.
* A number of bugs have been fixed and critical upgrades have been made, inparticular to the functions ICESDatras, ICESDatsu, ICESAcousic and ICESBiotic.
* The GUI has gained a speed increase of approximately 25 % for a nomral sized StoX project when manipulating arguments of a process and approximately 75% when moving between processes.
* The colors of stations in the map have been changed from 5 colors from light blue to pink to 7 colors from light blue to dark red, which adds support for a 5th and 6th FilterStoxBiotic process to be shown in addition to a StoxBiotic process.

## General changes
* Added message recommending to use the OutputVariables if not already used in Bootstrap().
* Added the new functions DefineTransectParameter, TransectDesign, ReportTransectDesign, WriteTransectDesign, StationsAlongTransectDesign ReportStationsAlongTransectDesign, WriteStationsAlongTransectDesign and PlotTransectDesign (plotting both TransectDesignData and StationsAlongTransectDesignData), which can be used to produce, plot, report and write a transect survey design with stations along the transects (inspired from the old surveyPlanner() funciton of the no longer maintained R package Rstox).
* Added support for specifying a function in NewValue in TranslationTable in Translate functions. This allows for mathematical transformation of values, e.g. IndividualTotalLength * 0.9 to get total length from fork length
* Added the possibility to condition on variables present in parent tables in Translate functions. This can be useful e.g. when translating variables in the Individual table of StoxBiotic conditioned on SpeciesCategory (which is found two tables up in the SpeciesCategory table).
* Restricted LengthType accepted to only "1" from ICESBiotic XML files in the StoxBiotic() function, equivalent to the only accepted lengthmeasurement "E" from NMDBiotic XML files.
* Added support for reading a table in from file in DefineSurvey() (not only form a project.xml/project.json).
* Improved the warnings when RemoveMissingValues is TRUE, which is now only triggered if there are missing values for any of the GroupingVariables.
* Changed the ICESDatras() to support the new definition of the Datras format published 2025 Q1.
* Changed also the RegroupLengthICESDatras() to support the new definition of the Datras format published 2025 Q1.
* Changed how help pages are generated, from generating the html on the fly using getObjectHelpAsHtml() to instead fetching html from the new RstoxDefinition object named "objectHelp", which is compiled from htmls generated by RstoxBuild for the individual Rstox packages. This saves significant time when moving between processes in the StoX GUI (roughly half the time compared to StoX 4.1.4).
* Added the option AggregateSa to WriteICESAcoustic() which when set to TRUE aggregates the DataValue (acoustic variable 'sa') for each combination of LogDistance, SampleChannelDepthUpper and DataSaCategory. This can be useful when DataSaCategory have been merged using translate-functions, so that one DataSaCategory occurs with multiple entries for the same LogDistance and SampleChannelDepthUpper.
* Added option of reading a file with PSUByTime in DefineAcousticPSU().
* Added the argument SplitTableAllocation to RedefineStoxBiotic().
* Added the documentation for StoxBioticMapping, which shows the mapping between the different biotic input files and the different tables of the StoxBioticData.
* Removed the argument AllowRemoveSpecies in ICESBiotic(), and added the backwards compatibility action that any ICESBiotic process is split into an ICESBiotic process and a FilterICESBiotic process that keeps only those species present in the ICES vocabulary at the time of opening the old project.
* Added drop-down list of possible values in TranslationTable in Translation* funcitons (except for the NewValue).

## Bug fixes
* Fixed bug in Bootstrap() when UseOutputData was TRUE, in which case the stored output file was not found.
* Fixed bug in the drop down list of DensityUnit in ReportDensity(), where only the area number density units were shown even when DensityType was "AreaWeightDensity" (by introducing the column variableType in dataTypeUnits).
* Fixed bug in ICESAcoustic, where reading an NMDEchosounder file in the ReadAcoustic process used as input failed in the merging of tables "distance", "frequency", "sa", Now expanded to merge "distance", "frequency", "ch_type", "sa_by_acocat" and "sa".
* Fixed bug where ReplaceLevel and ReplaceStratumLayerIndividual were not reset in ImputeSuperIndividuals, so that values from a previous such process remained in the output.
* Fixed bug where a process was shown as terminal (bold face) even if it was used in a later model.
* Fixed bug in TranslateICESDatsusc(), where conditional values were ignored.
* Changed NA to empty string ("") in WriteICESDatsusc().
* Changed Weight in ICESDatsusc() to always be grouped (changed in the column Notes).
* Fixed bug where links to external (non Rstox) packages did not work in the GUI.
* Fixed bug where the only the first Survey from the Survey table of BioticData read from ICESBiotic XML files was added to the Cruise table. In the ICESBiotic CSV file multiple surveys concatenated with "~" as separator, which is not adopted in RstoxData.
* Fixed bug where PreserveClass was not showing in the GUI even if Overwrite was set to TRUE.
* Fixed bug that made all plots fail in StoX 4.1.4!
* Fixed bug in ICESAcoustic(), where LogOrigin and LogOrigin2 were set to "start" and "end" even then positions were missing, resulting in error when trying to submit data to ICES.
* Fixed bug in all Copy-functions (CopyBiotic, CopyStoxBiotic, CopyICESBiotic, CopyICESDatras, CopyICESDatsusc, CopyAcoustic, CopyStoxAcoustic, CopyICESAcoustic, CopyLanding, CopyStoxLanding) where the argument PreserveClass was visible even when Overwrite was FALSE.
* Fixed bug in RedefineStoxBiotic() where redefining a variable in the Station level where there are multiple hauls per station in the BioticData (multiple 'serialnumber' per 'station' in NMDBiotic) resulted in duplicated rows in the Station table of the output StoxBioticData.
* Fixed bug in RedefineStoxBiotic(), where multiple rows in the Redefinition table resulted in an error (*e.g., "'length = 2' in coercion to 'logical(1)'" for two rows).
* Fixed bug in RedefineStoxBiotic(), where redefining a variable by a variable in a different table silently resulted in the replacement to be simply added to the relevant table and the original variable kept, i.e. no replacement. This is now replaced with a warning.
* Changed to hard coding UnitWgt to "kg" and UnitLngt to "m" in ICESDatsusc().
* Fixed the following bugs in ICESDatsusc():
* Added values in the field ICESrectangle in the HH table.
* Changed the FishID in the PI and PP table to unique value by concatenating catchsampleid and specimenid, separated by dash.
* Changed the PreySequence to unique value by concatenating preysampleid and preylengthid (set to 0 if not present), separated by dash.
* Added values in the field ICESrectangle in the HH table.
* Added values in the field ICESrectangle in the HH table.
* Changed to compute Weight in the PP table only when TotalCount is present.
* Changed from -9 to NA in EmptyStomWgt in the PI table.
* Changed -9 to empty string ("") to represent missing values in WriteICESDatsusc().
* Fixed bug where WriteICESDatsusc actually called WriteICESDatrasOne().
* Added rounding of the StratumPolygon to 12 digits in TransectDesign() to avoid the error "IllegalArgumentException: Points of LinearRing do not form a closed linestring" that appeared on macOS arm64 on R v4.5.2.
* Removed all check against ICES vocabularies in ICESAcoustic() and ICESBiotic(). Comprehensive checks are run when a file is submitted to the acoustic database at ICES.

## Detailed changes
* Added units for area_weight_density.
* Added documentation of the output of getProcessTable.
* Changed the warning i StoxBiotic() for non-total length (lengthmeasurement != "E" or LengthType != "1") to not list the species, but rather inform about the possibility to transform the length values using Translate functions.
* Added the LocalID as key field in the Survey table of BioticData and AcousticData when read from ICES XML files.
* Updated documentation of DefineTranslation().
* Fixed bug where the current process and beyond were shown in the drop down list for function inputs.
* Updated the test project coastalCod_20 to contain translation of length.
* Restricted error when BaselineSeedTable does not include all required processes to not include non-Enabled processes.
* Renamed UseDefaultTextSettings to UseDefaultLabelSettings in PlotReportBootstrap().
* Added a check when UseProcessData = TRUE in DefineAcousticPSU() for whether recalculated PSUByTime differs from the existing in processData. If differing, a message is shown to the user that the process can be re-run with DefinitionMethod "Manual" in order to update the PSUByTime.
* Removed unused PSUDefinitionMethod in MeanLengthDistribution() and MeanSpeciesCategoryCatch().
* Refactored PlotAcousticTrawlSurvey() and dependent functions to work consistently with the new PlotSurveyPlan().
* Improved the description of the argument SplitTableAllocation.


# StoX v4.2.0-9004 (2026-01-13)

## Summary
* The StoX version 4.2.0-9004 is a pre-release to the minor release 4.2.0 containing bug fixes.

## General changes
* Added message recommending to use the OutputVariables if not given in Bootstrap().
* Added message recommending to use the OutputVariables if not already used in Bootstrap().
* Added the new function ReportStationsAlongTransectDesign().

## Bug fixes
* Fixed bug in Bootstrap() when UseOutputData was TRUE, in which case the stored output file was not found.
* Fixed bug in the drop down list of DensityUnit in ReportDensity(), where only the area number density units were shown even when DensityType was "AreaWeightDensity" (by introducing the column variableType in dataTypeUnits).
* Fixed bug in ICESAcoustic, where reading an NMDEchosounder file in the ReadAcoustic process used as input failed in the merging of tables "distance", "frequency", "sa", Now expanded to merge "distance", "frequency", "ch_type", "sa_by_acocat" and "sa".
* Fixed bug where ReplaceLevel and ReplaceStratumLayerIndividual were not reset in ImputeSuperIndividuals, so that values from a previous such process remained in the output.
* Fixed bug where a process was shown as terminal (bold face) even if it was used in a later model.
* Fixed bug in TranslateICESDatsusc(), where conditional values were ignored.
* Changed NA to empty string ("") in WriteICESDatsusc().
* Changed Weight in ICESDatsusc() to always be grouped (changed in the column Notes).
* Fixed bug in PlotTransectDesign() where TrackPointColor did not work.
* Fixed bug where links to external (non Rstox) packages did not work in the GUI.

## Detailed changes
* Added units for area_weight_density.
* Added documentation of the output of getProcessTable.
* Re-organized arguments of TransectDesign() to have SurveyDistance before SurveyTime, since SurveyDistance has precedence over SurveyTime.


# StoX v4.2.0-9003 (2025-12-17)
Expand Down Expand Up @@ -104,7 +188,6 @@
* Improved the description of the argument SplitTableAllocation.



# StoX v4.1.4 (2025-04-30)

## Summary
Expand Down
1 change: 1 addition & 0 deletions Official_StoX_versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ Official StoX versions are fully tested and are the only one that should be used
| 4.1.2| 4.1.2| 2.1.2| 2.1.2| 1.3.0| 2025-01-21| [StoX-v4.1.2](https://github.com/StoXProject/StoX/releases/tag/v4.1.2)| R >= 4.3
| 4.1.3| 4.1.3| 2.1.3| 2.1.4| 1.6.0| 2025-04-01| [StoX-v4.1.3](https://github.com/StoXProject/StoX/releases/tag/v4.1.3)| R >= 4.3
| 4.1.4| 4.1.4| 2.1.3| 2.1.5| 1.6.0| 2025-04-30| [StoX-v4.1.4](https://github.com/StoXProject/StoX/releases/tag/v4.1.4)| R >= 4.3
| 4.2.0| 4.2.0| 2.2.0| 2.2.0| 1.7.0| 2026-01-30| [StoX-v4.2.0](https://github.com/StoXProject/StoX/releases/tag/v4.2.0)| R >= 4.4
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ StoX is an open source software developed at IMR, Norway, to analyze survey data

The following describes installation of the latest *official* StoX version (Se [all official StoX versions](https://github.com/StoXProject/StoX/blob/master/Official_StoX_versions.md)). For unofficial versions installation of the Rstox-packages must be done in R (details given at the end of this paragraph). It is highly recommended to use official versions, as these are fully tested, whereas tetsting is limited for unofficial versions.

See [release notes for StoX 4.1.4](https://github.com/StoXProject/StoX/blob/master/NEWS.md#stox-v414-2025-04-30).
See [release notes for StoX 4.2.0](https://github.com/StoXProject/StoX/blob/master/NEWS.md#stox-v420-2026-01-30).

Download StoX from (https://github.com/StoXProject/StoX/releases/tag/v4.1.4). For Windows download the .msi file, for MacOS download the .dmg file and for Linux download the .rpm or .deb file. Then follow the instructions below:
Download StoX from (https://github.com/StoXProject/StoX/releases/tag/v4.2.0). For Windows download the .msi file, for MacOS download the .dmg file and for Linux download the .rpm or .deb file. Then follow the instructions below:

### Windows:

Expand Down
2 changes: 1 addition & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "stox",
"version": "4.2.0-9004",
"version": "4.2.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "StoX",
"productName": "StoX",
"version": "4.2.0-9004",
"version": "4.2.0",
"description": "StoX: An open source software for marine survey analyses",
"main": "build/index.js",
"scripts": {
Expand Down
3 changes: 2 additions & 1 deletion srv/OfficialRstoxFrameworkVersions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,4 +95,5 @@ StoX RstoxFramework Dependencies OptionalDependencies Official Date
4.2.0-9001 4.2.0-9004 RstoxBase_2.2.0-9007,RstoxData_2.2.0-9006 RstoxFDA_1.7.0-9999 FALSE 2025-11-03
4.2.0-9002 4.2.0-9005 RstoxBase_2.2.0-9008,RstoxData_2.2.0-9007 RstoxFDA_1.7.0-9999 FALSE 2025-12-03
4.2.0-9003 4.2.0-9006 RstoxBase_2.2.0-9008,RstoxData_2.2.0-9010 RstoxFDA_1.7.0-9999 FALSE 2025-12-16
4.2.0-9004 4.2.0-9007 RstoxBase_2.2.0-9009,RstoxData_2.2.0-9011 RstoxFDA_1.7.0-9999 FALSE 2026-01-14
4.2.0-9004 4.2.0-9007 RstoxBase_2.2.0-9009,RstoxData_2.2.0-9011 RstoxFDA_1.7.0-9999 FALSE 2026-01-24
4.2.0 4.2.0 RstoxBase_2.2.0,RstoxData_2.2.0 RstoxFDA_1.7.0 TRUE 2026-01-30
1 change: 1 addition & 0 deletions srv/Official_StoX_versions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@
4.1.2
4.1.3
4.1.4
4.2.0
5 changes: 2 additions & 3 deletions srv/StoXGUIInternal.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
supportedRVersion = c(
"4.4",
"4.3",
"4.2"
"4.5",
"4.4"
)

#' Install official Rstox packages
Expand Down
Loading