Viash 0.7.2

Project-relative paths and improved metadata handling

New Release
Author

Viash Team

Published

April 17, 2023

What’s new?

This update adds functionality to resolve paths starting with a slash as relative to the project directory, improves handling of info metadata in the config, and fixes to the operator precedence of config mods.

Full changelog

NEW FUNCTIONALITY

  • Resolve resource and merge paths starting with a slash (/) as relative to the project directory (PR #380). To define absolute paths (which is not recommended anyway), prefix the path with the file:// protocol. Examples:

    • /foo is a file or directory called foo in the current project directory.
    • file:/foo is a file or directory called foo in the system root.

MINOR CHANGES

  • viash config view: Do not modify (e.g. strip empty fields) of the .functionality.info and .functionality.arguments[].info fields (#386).

BUG FIXES

  • ConfigMods: Fix operator precedence issues with conditions in the config mod parsers (PR #390).

INTERNAL CHANGES

  • Clean up unused code (PR #380).

  • Move circe encoders/decoders for File and Path from io.viash.functionality.arguments to io.viash.helpers.circe (PR #380).

  • Store the project root directory (that is, the directory of the _viash.yaml) in a ViashProject object (PR #380).

  • Tests: Reworked language tests to be grouped in their own subfolder and split off the bash language test from the general testbash folder (PR #381).

  • Tests: Add additional language tests for viash config inject (PR #381).

  • Tests: Added test for io.viash.helpers.IO (PR #380).