Releases: chanzuckerberg/miniwdl
v1.13.1
This regular maintenance release addresses minor bugs and dependency issues.
- CLI: replace bullet with questionary (#777 @bshifaw)
- make JSON pair definitions case-insensitive (#789 @stxue1)
- fix
asyncio.get_event_loop()error in newer Python versions (#791 #793 @wleepang) - migrate
pkg_resourcesusage toimportlib_metadata(#794 #802 @hexylena) - fix
miniwdl configure --cfg FILENAME_IN_CWD.cfg(#805 @hexylena) - ensure static type error for unknown fields in struct literals (#808 @gshiba)
Internal refactoring and implementation for WDL 1.2 continues in the background!
v1.13.0
v1.13.0 addresses several WDL 1.1 spec interoperability issues, with thanks to the reporting community members.
Interoperability
- dedent task commands before eval/interpolation (#674 @adamnovak)
- allow float values for task runtime.cpu (#690 @adamnovak)
round()"half up" instead of "to even" (#698 @stxue1)- fix Array runtime typing issues (#699 #700 @stxue1)
- allow trailing commas in meta arrays (#708 @adthrasher)
- fix ValueError reading empty JSON into Map (#726 @ahvigil)
- refactor typechecking for equatability & comparability (#736)
- allow non-typesafe
read_json(...)within arrays and if-then-else branches (#740 @ahvigil)
Runner
- allow namespace prefix in task-only input JSON files (#693 @stxue1)
- fix cache of task with empty outputs (#715 @adamnovak)
- fix recognition of exponential notation in JSON/YAML run input files (#717 @sach244n)
--no-quant-checkapplies to comparison operators (#752 @stxue1)
Python WDL API
- Multi-line strings (development/1.2 feature) get first-class AST representation as
WDL.Expr.MultiLineString, which is dedented upon evaluation (instead of during parsing intoWDL.Expr.String). WDL.Type.*classes exposety1.equatable(ty2)andty1.comparable(ty2)operators, indicating whether it is valid to use the WDL== !=or< <= > >=operators, respectively.
v1.13.0rc0
v1.13.0 addresses several WDL 1.1 spec interoperability issues, with thanks to the reporting community members.
Because these changes bear small backwards-compatibility risks, we begin with release candidate v1.13.0rc0 that must be expressly requested with: pip install miniwdl==1.13.0rc0. Please report any issues or unexpected behaviors for investigation over the next few weeks.
Interoperability
- dedent task commands before eval/interpolation (#674 @adamnovak)
- allow float values for task runtime.cpu (#690 @adamnovak)
round()"half up" instead of "to even" (#698 @stxue1)- fix Array runtime typing issues (#699 #700 @stxue1 )
- allow trailing commas in meta arrays (#708 @adthrasher)
- fix ValueError reading empty JSON into Map (#726 @ahvigil)
- refactor typechecking for equatability & comparability (#736)
- allow non-typesafe
read_json(...)within arrays and if-then-else branches (#740 @ahvigil)
Runner
- allow namespace prefix in task-only input JSON files (#693 @stxue1)
- fix cache of task with empty outputs (#715 @adamnovak)
- fix recognition of exponential notation in JSON/YAML run input files (#717 @sach244n)
Python WDL API
- Multi-line strings (development/1.2 feature) get first-class AST representation as
WDL.Expr.MultiLineString, which is dedented upon evaluation (instead of during parsing intoWDL.Expr.String). WDL.Type.*classes exposety1.equatable(ty2)andty1.comparable(ty2)operators, indicating whether it is valid to use the WDL== !=or< <= > >=operators, respectively.
v1.12.1
v1.12.0
- Fix coercions of
Array[File]andArray[Directory]toArray[String](#669 @john-smith, #681 @markjschreiber) - Ensure presence of optional fields in structs read from runner input JSON file (#686 @adthrasher)
miniwdl run: accept CLI inputs of compound types (pairs, maps, structs) as single-quoted JSON; also acceptArray[Directory]miniwdl check: warn when a document of an older WDL version imports a document of a newer WDL version- Dependency updates
v1.11.1
Maintenance release:
miniwdl input-template: add--no-namespaceoption to omit the top-level workflow name prefix- fix download caching when config
[file_io] rootis used (miniwdl-ext/miniwdl-aws#20 @staskh) - logging improvements and dependency updates
v1.11.0
v1.10.0
- WDL spec compatibility:
==and!=accept optional operands (#634 @jdidion)- fix resolution of imported struct type aliases when the original struct name is reused in current document (#635 @jdidion)
- WDL 1.1: allow placeholder options like
sep=in string expressions outside of task commands (#633 @adamnovak) - WDL 1.1: disable a few
version developmentfeatures that had been inadvertently enabled forversion 1.1(multi-line strings and optionalcall:keyword)
- allow extra JSON keys initializing structs (#524)
- fix bug in
WDL.Env.merge()that could resurrect previously-shadowed bindings (#637 @adamnovak) miniwdl zip --additionalto include any specified file(s) in the zip (#641 @rhpvorderman)
v1.9.1
- Change singularity invocation from
singularity runtosingularity exec(#628 @adthrasher) - WDL
version development:- Make the
input:keyword optional in calls (openwdl/wdl#524) miniwdl check: reduce spurious warnings onenvtask inputs used as environment variables instead of WDL interpolations (openwdl/wdl#504)
- Make the
v1.9.0
- 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 tominiwdl checkdeprecation warning since v1.7.1. They will still validate with--no-quant-check.
- Remove the default
- New config options (see default.cfg)
[task_runtime] command_shelland[task_runtime] command_preamblecustomize the task command bash interpreter. For example, to restore the login shell flag, set[task_runtime] command_shell = /bin/bash -lor environmentMINIWDL__TASK_RUNTIME__COMMAND_SHELL='/bin/bash -l'[file_io] chownto opt-out of the post-task chown of the working directory[podman] exeto 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