Releases: stjude-rust-labs/wdl
Releases · stjude-rust-labs/wdl
wdl-v0.17.0
What's Changed
wdl-grammar
Added
- Added
is_keyword
andis_operator
used for LSP semantic highlighting (#569).
wdl-ast
Added
- Added support used by LSP hovers and completions (#519).
wdl-analysis
Added
- Added semantic highlighting support for the WDL Language Server (#569).
- Added support for ignorefiles, although by default it is not enabled (#565).
- Added rename support for the WDL Language Server (#563).
- Added hover support for the WDL Language Server (#540).
wdl-doc
Added
- Added support for ignorefiles, although by default it is not enabled (#565).
- Custom logo support for the top of the left sidebar (#559).
wdl-engine
Added
- Added an experimental config flag to support golden testing that reduces environment-specific output (#553).
wdl-lsp
Added
- Added support for semantic highlighting (#569).
- Added support for renaming (#563).
- Added support for hover (#540).
wdl-cli
Added
- Added support for ignorefiles, although by default it is not enabled (#565).
Full Changelog: wdl-v0.16.0...wdl-v0.17.0
wdl-v0.16.0
What's Changed
wdl-grammar
Added
- Added token sets used for LSP auto-completion (#519).
wdl-ast
Added
- Added support used by LSP hovers and completions (#519).
wdl-analysis
Added
- Added code completion support for the WDL Language Server (#519).
- Added an
ArrayType::unqualified
method to cheaply drop the+
qualifier (#529).
Changed
- The
UnusedCall
rule no longer emits a diagnostic for tasks/workflows called if they have an empty or missingoutput
section (#532).
wdl-lint
Fixed
- Updated shellcheck logic that erroneously flagged placeholders that are quoted (#541).
Removed
- Removed the
OutputSection
lint rule (#532).
wdl-engine
Added
- Added
cpu_limit_behavior
andmemory_limit_behavior
options to task execution configuration (#543) - Serialize
Pair
asObject
for execution-levelinputs.json
andoutputs.json
(#538).
Changed
wdl-engine::Inputs
supplied via dotted path notation (i.e. user inputs from input files and command line arguments) can be implicitly converted to WDL strings if that is what the task or workflow input expects (#544).
Fixed
- Fixed a failure to clean input file and directory paths (#537).
- Fixed a panic that may occur in array and map literal evaluation (#529).
wdl-lsp
Added
wdl-cli
Added
- Inputs on the CL can have the name of the called task or workflow specified and then ommitted from individual input pairs (#535).
Full Changelog: wdl-v0.15.1...wdl-v0.16.0
wdl-v0.15.1
What's Changed
- fix: use the absolute path of an input file as its origin. by @peterhuene in #523
- release: patch by @a-frantz in #524
Full Changelog: wdl-v0.15.0...wdl-v0.15.1
wdl-v0.15.0
wdl-grammar
Removed
- Removed the
SyntaxExt
trait (#482).
Deprecated
- Deprecated
SyntaxTokenExt::succeeding_trivia()
(#498).
wdl-ast
Changed
- Removed inherent impls of
can_cast()
,cast()
, andinner()
forExpr
andPlaceholderOption
that were redundant with methods onAstNode
(#480).
wdl-analysis
Added
- Added support for struct members, struct literals and call inputs in
goto_definition
(#491). - Added
find references
support for WDL Language Server (#484). - Added
goto_definition
support for WDL Language Server (#468). - Added a
fallback_version
configuration option (#475).
Changed
Analyzer
now takes a general-purposeConfig
argument, which contains the previousDiagnosticsConfig
argument (#475).- Non-error diagnostics during parsing no longer prevent
wdl-analysis
from analyzing documents (#475).
Fixed
wdl-format
Added
- Added panic documentation to functions which may panic (#498).
- Added documentation to places which needed more clarity (#498).
Changed
- Renamed some methods of
TokenStream<PreToken>
for increased clarity (#498).
Removed
- Removed the
exactly_one!
macro (#498).
wdl-doc
Added
wdl-doc
crate is feature-complete-enough for a beta release 🎉 (#339).
wdl-lint
Changed
ShellCheck
now has additional logic to suppress erroneous warnings for globbing and word splitting (#457).
wdl-engine
Added
- TES input and outputs now include authentication query parameters (#466).
Fixed
- Fixed guest paths for redirected stdio for both the Docker and TES backends (#470).
Changed
- Backend configuration has changed to allow multiple backends to be defined (#469).
wdl-lsp
Added
- Added
goto_definition
,find_all_references
tests (#489).
Fixed
- Ensure the server is fully initialized before responding (#487).
wdl-cli
Changed
- Source now has a default implementation (#476).
wdl-v0.14.0
wdl-ast
Fixed
- If a WDL >=v1.2 workflow has a non-boolean value for the "allow nested inputs" hint, the metadata will also be searched for
allowNestedInputs: <bool>
instead of prematurely dis-allowing nested inputs (#445).
wdl-format
Dependencies
- Bumps dependencies.
wdl-lint
Added
- Added
RedundantNone
rule (#444).
Dependencies
- Bumps dependencies.
wdl-analysis
Dependencies
- Bumps dependencies.
wdl-doc
Dependencies
- Bumps dependencies.
wdl-engine
Added
- Implemented a TES task execution backend (#454).
- Adds the
insecure
option to the TES backend configuration (#459).
wdl-lsp
Dependencies
- Bumps dependencies.
wdl-cli
Dependencies
- Bumps dependencies.
wdl
Dependencies
- Bumps dependencies.
wdl-v0.13.2
wdl-analysis
Changed
wdl_analysis::document::Document
was moved towdl_analysis::Document
(#440).
wdl-cli
Fixed
- JSON and YAML files are now correctly parsed (#440).
- Removes the unused
shellcheck
option inwdl::cli::Analysis
(#441).
wdl-doc
Dependencies
- Dependencies were updated.
wdl-engine
Fixed
- JSON and YAML files are now correctly parsed (#440).
- The
From<IndexMap<String, Value>>
method was moved to the private constructorwdl_engine::Object::new()
, as there are some guarantees the caller has to uphold that weren't obvious in theFrom
implementation (#440).
Dependencies
- Dependencies were updated.
wdl-lint
Dependencies
- Dependencies were updated.
wdl-lsp
Dependencies
- Dependencies were updated.
wdl
Dependencies
- Dependencies were updated.
Full Changelog: wdl-v0.13.1...wdl-v0.13.2
wdl-v0.13.1
Full Changelog: wdl-v0.13.0...wdl-v0.13.1
wdl-v0.13.0
What's Changed
wdl-ast
Changed
- AST validation has been moved from this crate to
wdl-analysis
(#341).- This removed the
validation
andvisitor
modules from this crate.
- This removed the
wdl-analysis
Changed
- AST validation now occurs as part of analysis instead of during parsing (#341).
Added
- Added
Visitor
(moved trait definition fromwdl-ast
towdl-analysis
) (#341). - Added
Validator
(moved struct definition fromwdl-ast
towdl-analysis
) (#341). - Added
SyntaxNodeExt
(moved trait definition fromwdl-ast
towdl-analysis
) (#341). - Added
Default
impls toDiagnosticsConfig
andAnalyzer
(#341). - Added static validation of regex expression in a string literal (#404).
Fixed
- Placeholder options are now statically type checked (#345).
- Prevent lsp crash due to panic in single file analysis (#431).
wdl-lint
Changed
util::is_properly_quoted
is nowutil::is_quote_balanced
(#341).ShellCheck
is now based on type analysis and is no longer in "beta" (#341).ShellCheck
has been made part of the default lint rule set (#341).- This removes the
optional_rule()
function.
- This removes the
- Linting is now based off an analyzed document instead of just a parsed AST (#341).
- This removes the
LintVisitor
struct.
- This removes the
Added
- Added
serialize_oxford_comma()
to theutil
module (#341). - Added a
Linter
struct which lints analyzed documents (#341). - made
find_nearest_rule()
pub (#412).
Changed
- Renamed lint rules to be more consistent (#408).
Fixed
- Downgraded
PreambleCommentPlacement
severity fromerror
tonote
(#418).
wdl-engine
Added
- Added writing
inputs.json
andoutputs.json
for each task and workflow
that was evaluated (#437). - Implemented remote file localization for task execution (#386).
- Implemented concurrent file downloads for localization for task execution (#424).
Fixed
- Fix overly verbose call stacks in task failure messages (#435)
- Fix
sub
replacement of multiple instances (#426). - Fix path translation in more expressions (#422).
- The
sep
placeholder option was not performing guest path translation (#417). - Placeholder options are now type checked at runtime (#345).
- Whether or not a task manager state represents unlimited resources is now correctly calculated (#397).
- Fixed environment variable values are not using guest paths for Docker backend (#398).
- Ensure output files created by Docker tasks running as root have correct host user permissions (#379).
- Fixes
chown
functionality by making the path absolute (#428).
Changed
- Refactored
crankshaft
backend to thedocker
backend (#436). - Evaluation errors now contain a "backtrace" containing call locations (#432).
- Changed origin path resolution in inputs to accommodate incremental command line parsing (#430).
wdl-cli
Added
- Adds the initial version of the crate.
wdl
Changed
- Changed the behaviour of
cli
to accept case insensitive--except
args (#423). - Removed the
wdl
binary and thecli
module in favor ofsprocket
and thewdl-cli
package respectively (#430).
New Contributors
- @Ankush1oo8 made their first contribution in #345
Full Changelog: wdl-v0.12.0...wdl-v0.13.0
wdl-v0.12.0
What's Changed
wdl-grammar
Changed
wdl-ast
Changed
- Refactored AST API to support different syntax tree element representations (#355).
- Updated to Rust 2024 edition (#353).
- Refactored whitespace counting out of
strip_whitespace
intocount_whitespace
method (#317).
Fixed
- AST validation now checks for duplicate
hints
sections in 1.2 documents (#355).
wdl-analysis
Added
missing_call_input
now generates a warning for missing inputs when nested inputs are allowed, without changing the existing error behavior ([#344]#344).- Added
path
method toDocument
(#327).
Changed
- Refactored analysis API to support different syntax tree element
representations (#355). - Updated to Rust 2024 edition (#353).
Document
is now trivially cloned (#320).- The task evaluation graph now forms implicit edges between the command and
other nodes in the graph; the command now always depends on an input even if
the input is not transitively referenced by the command. This does not impact
the diagnostic relating to unused inputs (#320).
Fixed
- Fixed type of
task.container
to beString?
(#327). - Fixed a missing version 1.2 constraint on the
String
overload ofbasename
(#320).
wdl-lint
Added
- Added suggestion for similar rule names when encountering unknown lint rules (#334).
- Added
DisallowedDeclarationName
rule (#343). - Added
DEFINITIONS.md
file with centralized documentation for WDL concepts (#195). - Added
Rule::related_rules()
for linking related lint rules (#371). - Added
TryFrom
for Tags to convert strings to Tag enums (#374).
Changed
- Added
InputSectionNode
andOutputSectionNode
toSnakeCase
exceptable_nodes()
(#343). - Updated to use new
wdl-ast
API (#355). - Updated to Rust 2024 edition (#353).
- Relaxed
CommentWhitespace
rule so that it doesn't fire when a comment has extra spaces before it (#314). fix
messages suggest the correct order of imports to the user inImportSort
rule (#332).- Updated
SectionOrdering
to support ordering ofstruct
definitions (#367 - Replaced
TryFrom
withFromStr
for Tags (#376).
Fixed
- Fixed the
MatchingParameterMeta
rule to also check if the order of inputs matches parameter metadata (#354) - Fixed misplacement of highlighted spans for some ShellCheck lints (#317).
wdl-format
Changed
wdl-lsp
Changed
- Updated to Rust 2024 edition (#353).
Fixed
- Fixed an issue where the LSP was expecting a directory URI instead of file URI (#362).
wdl-engine
Added
- Added support for cloud storage URIs (#367).
- Added support reading of remote files from the stdlib file functions (#364)
- Added support for YAML input files (.yml and .yaml) alongside JSON (#352).
- Added support for graceful cancellation of evaluation (#327).
- Added support for
max_cpu
andmax_memory
hints in task evaluation (#327). - Added a Crankshaft backend with initial support for Docker (#327).
- Added calculation for mounting input files for future backends that use
containers (#323). - Added retry logic for task execution (#320).
- Added a
Config
type for specifying evaluation configuration (#320). - Added progress callback to
WorkflowEvaluator
(#310).
Fixed
- Fixed support for URLs in file stdlib functions (#369).
- Fixed panic when an input path in a complex type did not exist (#327).
- Fixed path translation in nested placeholder evaluation (#327).
- Fixed path translation to mount inputs individually (#327).
- Fixed not including task temp directories in mounts (#327).
- Fixed an incorrect type being used for scatter statement outputs (#316).
- Fixed handling of input dependencies in workflow graph evaluation (#360).
Changed
- Make stdlib file functions asynchronous (#359).
- Refactored expression evaluation to make it async (#357).
- Updated for refactored
wdl-ast
API so that evaluation can now operate
directly on AST nodes inasync
context (#355). - Updated to Rust 2024 edition (#353).
- Docker backend is now the default backend (#327).
- Refactored a common task management implementation to use in task execution
backends (#327). - Workflow evaluation now uses
tokio::spawn
internally for running graph
evaluation concurrently (#320). - Improved evaluation reporting to include how many tasks are ready for
execution (#320). - Updates the
crankshaft
andhttp-cache-stream-reqwest
dependencies to official, upstreamed crates (#383).
wdl-doc
Added
- Basic CSS styling using TailwindCSS (#262).
Changed
- Updated to use new
wdl-ast
API (#355). - Updated to Rust 2024 edition (#353).
wdl-doc
crate is now implemented using aDocsTree
struct which simplifies
the API of doc generation (#262).
wdl
Added
- Added ability to compile and watch a CSS style directory for
wdl doc
(#262). - Added ability to skip CSS compilation using a precompiled stylesheet for
wdl doc
(#262). - Added graceful cancellation on SIGINT (#327).
- Added
--config
option to therun
command (#327). - Added executing task information to the
wdl run
progress bar (#310).
Fixed
- Progress bars no longer interleave their output with the rest of tracing
output (#320). - Fixed
wdl run
not correctly updating file/directory paths in an inputs file (#302).
Changed
- Updated to Rust 2024 edition (#353).
wdl
run now prefers running the workflow in a document containing a single
workflow and a single task (#310).- Changed the default log level of the
wdl
binary fromerror
towarn
(#310). - Updates the
crankshaft
andhttp-cache-stream-reqwest
dependencies to official, upstreamed crates (#383).
New Contributors
- @Pabsthegreat made their first contribution in https://github.com...
wdl-v0.11.0
What's Changed
- docs: Update RULES.md by @a-frantz in #236
- feat: whitespace stripping of commands and strings by @a-frantz in #238
- refactor: refactor call types in
wdl-analysis
. by @peterhuene in #239 - feat: implement JSON inputs files in
wdl-engine
. by @peterhuene in #241 - ci: makes relevant CI tests multi-platform by @claymcleod in #230
- Feat: redundant assignment rule by @michaelgattas in #244
- fix: formatting of command sections by @a-frantz in #240
- feat: support analysis of URLs by @a-frantz in #246
- feat: adds groundwork for formatting in the Sprocket VSCode extension by @claymcleod in #247
- feat: implement expression evaluation in
wdl-engine
. by @peterhuene in #249 - feat: implement the standard library numeric functions. by @peterhuene in #251
- feat: implement the string functions in the WDL standard library. by @peterhuene in #252
- feat: implement the file functions from the WDL standard library. by @peterhuene in #254
- feat: implement the string array functions from the WDL standard library. by @peterhuene in #255
- feat: implement the generic array functions from the WDL standard library. by @peterhuene in #256
- feat: implement the generic map functions from the WDL standardy library. by @peterhuene in #257
- feat: implement the
defined
andlength
functions from the WDL standard library. by @peterhuene in #258 - feat: break
refresh
opt intobless
andupdate
by @a-frantz in #261 - fix: shorten spans and remove some fixes by @a-frantz in #260
- feat: init wdl-doc by @a-frantz in #248
- feat: implement WDL 1.2 task evaluation. by @peterhuene in #265
- feat: add --open flag to wdl doc dev tool by @a-frantz in #269
- fix(strip_whitespace): conditionally strip chars from first line by @a-frantz in #271
- fix: conditionally strip chars from first line by @a-frantz in #272
- refactor: make
Analyzer
accept the diagnostics configuration. by @peterhuene in #274 - feat: implement shellcheck lints in command blocks (#191) by @thatRichman in #264
- refactor: remove
Types
collection fromwdl-analysis
. by @peterhuene in #277 - revise: file existence for input validation by @a-frantz in #281
- fix: fix validation not to treat specified call inputs as missing. by @peterhuene in #282
- fix: fix a regression caused by #282. by @peterhuene in #286
- fix: fix 2024 edition lints for CI. by @peterhuene in #287
- feat: simpler
wdl
entrypoints by @a-frantz in #283 - chore: gauntlet --update by @a-frantz in #288
- fix: remove extra end_line() call by @a-frantz in #290
- fix: remove trailing carriage return when stripping whitespace. by @peterhuene in #291
- test: add format idempotency test by @Scott8440 in #285
- feat(format): respect max line width by @a-frantz in #242
- feat: implement workflow evaluation. by @peterhuene in #292
- feat: implement the
env
declaration modifier in WDL 1.2. by @peterhuene in #296 - feat: improve shellcheck fix messages by @thatRichman in #284
- ci: updates to latest by @a-frantz in #297
- ci: bump to right version by @a-frantz in #298
- release: bump versions by @a-frantz in #299
New Contributors
- @thatRichman made their first contribution in #264
- @Scott8440 made their first contribution in #285
Full Changelog: wdl-v0.10.0...wdl-v0.11.0