BREAKING CHANGES
* `DockerPlatform`: A Docker setup will be performed by default. Default strategy has been changed to `ifneedbepullelsecachedbuild` (57).
`---setup` strategy has been removed and `---docker_setup_strategy` has been renamed to `---setup`.
This change allows running a component for the first time. During first time setup, the Docker container will be pulled or built automatically.
* `NativePlatform`: Deprecated the native setup field.
MAJOR CHANGES
* `NXF`: This version changes the handling logic for arguments. An argument can be either `required` or not and can have a `default: ...` value or not. Checks are implemented to verify that required arguments are effectively provided _during_ pipeline running.
* `NXF`: If one sticks to long-option argments in the viash config, for all arguments that are _required_, the way of specifying the arguments on the CLI is identical for the Docker and NextFlow platforms. Non-required arguments can still be accessed from CLI using `--<component_name>__<argument_name> ...`.
* `NXF`: Running a module as a standalone pipeline has become easier.
* `viash run`: Implement verbosity levels (58). viash executables now have 7 levels of verbosity: emergency, alert, critical, error, warning, notice, info, debug.
The default verbosity level is 'notice'. Passing `-v` or `--verbose` bumps up the verbosity level by one, `-vv` by two. The verbosity level can be set manually by passing `--verbosity x`.
MINOR CHANGES
* `Docker Platform`: Added `privileged` argument, allowing to run docker with the `--privileged` flag.
* `Docker Requirements`: Allow specifying environment variables in the Dockerfile.
* Config modding: Added a `+0=` operator to prepend items to a list.
* `viash run`: Added a `--version` flag to viash executables for viewing the version of the component.
* `Functionality`: Added checks on the functionality and argument names.
* `viash run`: Added examples to functionality and arguments. Reworked `--help` formatting to include more information and be more consistent (56).
BUG FIXES
* `Docker R Requirements`: Install `remotes` when using `{ type: r, packages: [ foo ] }`.
* `config`: Throw error when user made a typo in the viash config (62).
TESTING
* `NXF`: Add an end-to-end test for running a nextflow pipeline using viash components.
* `Docker`: Reorganized viash docker build testbench into a main testbench with smaller auxiliary testbenches to keep them more manageable and clear what happens where.
* `viash ns`: Added a basic testbench for namespace tests.