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.