Skip to content

v1.13.0rc0

Pre-release
Pre-release

Choose a tag to compare

@mlin mlin released this 12 Apr 10:48

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 into WDL.Expr.String).
  • WDL.Type.* classes expose ty1.equatable(ty2) and ty1.comparable(ty2) operators, indicating whether it is valid to use the WDL == != or < <= > >= operators, respectively.