You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Quoted strings in Go-syntax templates keep their dots, so {{ .FILE | replace ".tar.gz" "" }} strips what it was given. Affected tasks
re-run once, and a Taskfile already converted by task --migrate --write
needs checking by hand.
An escaped quote works inside a Go-syntax template string. A Taskfile
already converted by task --migrate --write needs checking by hand.
Go-syntax templates can call the string helpers directly, not only after
a pipe, so {{trimSuffix ".po" .ITEM}} works. splitList was splitting the
wrong argument. Affected tasks re-run once.
default, title, join, first and last mean the same on either side
of a pipe in Go-syntax Taskfiles — most visibly, default substitutes for
any empty value, not only an unset one. Jinja Taskfiles keep Jinja's meaning.
Affected tasks re-run once, and a Taskfile already converted needs checking by
hand.
The Go-template deprecation warning no longer runs into the next line.
A dependency cycle is reported as one, naming the path (a -> b -> a),
instead of running until the process ran out of stack. A task that reaches
itself is rejected: calling itself with different vars: still works, but
recursion driven by state outside the Taskfile no longer does.
Deep dependency trees no longer crash the runner. Thousands of levels
run; a runaway recursion stops with an error instead.
Tasks start in a different order, so interleaved output can differ. --output group and prefixed still keep each task's output together.
A failing dependency no longer stops its siblings starting. Under --failfast they all start and are cancelled when one fails, so a cancelled
sibling may leave partial work behind.
A failing run stops the commands it leaves behind instead of orphaning
them. It cannot tell those from a job a task backgrounded on purpose, so both
are stopped; TASK_NO_REAP=1 turns that off.
Ctrl-C reaches the commands, not just the runner. The second press is
passed on to them, and the third stops them before exiting.
A confirmation prompt no longer pauses the rest of the run, and Ctrl-C
works while one is waiting.
A SIGTERM stops the run at once, exiting 1 — it comes from a
supervisor, so there is no second signal to wait for. Ctrl-C keeps its
three-press escalation, and watch sessions are unchanged.