- Two **potentially breaking changes**:
- Remove the default `-l` (login shell) flag that had been supplied to each task command bash interpreter starting in v1.5.3, but caused interoperability problems (603). New config options mentioned below can restore this flag if necessary.
- Disallow implicit coercions of `Boolean? Int? Float? File? Directory?` to (non-optional) `String`, which should never have been permitted (596). These had been subject to `miniwdl check` deprecation warning since v1.7.1. They will still validate with `--no-quant-check`.
- New config options (see [default.cfg](https://github.com/chanzuckerberg/miniwdl/blob/v1.9.0/WDL/runtime/config_templates/default.cfg))
- `[task_runtime] command_shell` and `[task_runtime] command_preamble` customize the task command bash interpreter. For example, to restore the login shell flag, set `[task_runtime] command_shell = /bin/bash -l` or environment `MINIWDL__TASK_RUNTIME__COMMAND_SHELL='/bin/bash -l'`
- `[file_io] chown` to opt-out of the post-task chown of the working directory
- `[podman] exe` to customize the invocation for the podman backend (for example, to remove sudo)
- Relax PyYAML version requirements (625 adamnovak)
- Improve MultipleDefinitions error messages (622 crabba)
- Allow underscores in the short tags used to identify each iteration of a scatter
- `miniwdl zip`: fix assertion error importing WDL from a sibling directory sharing a common basename prefix with the main directory