Skip to content

Viash 0.9.0-RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Grifs Grifs released this 30 Jan 14:03
· 217 commits to develop since this release

Viash 0.9.0-RC1 (2024-01-26): Restructure platforms into runners and engines

This release restructures the platforms field into runners and engines.
Additionally changes are made to sanitize the built config output and include additional relevant meta data.

BREAKING CHANGES

  • runners and engines: The usage of platforms is deprecated and instead these are split into runners and engines (PR #510).
    The platforms field is still supported but will be removed in a future release.
    In brief, the native platform became a native engine and docker platform became a docker engine.
    Additionally, the native platform and docker platform became a executable runner, nextflow platform became a nextflow runner.
    The fields of docker platform is split between docker engine and docker runner: port, workdir, setup_strategy, and run_args are captured by the runner as they define how the component is run. The other fields are captured by the engine as they define the environment in which the component is run. One exception is chown which is rarely set to false and is now always enabled.

  • arguments: Merge arguments into argument_groups during a json decode prepare step (PR #574). The --parse_argument_groups option from ns list and config view is deprecated as it is now always enabled.

NEW FUNCTIONALITY

  • export json_schema: Add a --strict option to output a subset of the schema representing the internal structure of the Viash config (PR #564).

  • config view and ns list: Do not output internal functionality fields (#564). Additionally, add a validation that no internal fields are present when reading a Viash config file.

  • project config: Add fields in the project config to specify default values for component config fields (PR #612). This allows for a more DRY approach to defining the same values for multiple components.

MINOR CHANGES

  • testbenches: Add testbenches for local dependencies (PR #565).

  • testbenches: Refactor testbenches helper functions to uniformize them (PR #565).

  • logging: Preserve log order of StdOut and StdErr messages during reading configs in namespaces (PR #571).

  • Java 21 support: Update Scala to 2.13.12 and update dependencies (PR #602).

  • project config: Output the project config under the default name ProjectConfig instead of Project during schema export (PR #631). This is now important as the project config is now part of the component config. Previously this was overridden as the class name was ViashProject which was less descriptive.

BUG FIXES

  • __merge__: Handle invalid yaml during merging (PR #570). There was not enough error handling during this operation. Switched to the more advanced Convert.textToJson helper method.

  • config: Anonymize paths in the config when outputting the config (PR #625).