|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -## v3.53.0 - 2026-08-18 |
| 3 | +## v3.53.1 - 2026-08-18 |
| 4 | + |
| 5 | +### 🚀 Features |
4 | 6 |
|
5 | 7 | - **Remote Taskfiles are now generally available!** This has been an |
6 | 8 | experimental feature for 3 years, but is now enabled by default. Massive |
7 | 9 | thanks to all those that contributed and gave feedback (too many to list |
8 | 10 | here). We've also given the |
9 | 11 | [Remote Taskfiles documentation](https://taskfile.dev/docs/remote-taskfiles) a |
10 | 12 | bit of a polish (#1317, #2906 by @pd93). |
| 13 | +- Added a per-command `timeout` that terminates a command once it exceeds the |
| 14 | + given duration (Go duration syntax). It covers shell commands, task calls, |
| 15 | + deferred commands, `deps` and the `if` condition, obeys `ignore_error`, and |
| 16 | + reports exit code `124`. Callers that join a `run: once` or `when_changed` |
| 17 | + task already running now honor their own `timeout`, and inherit that task's |
| 18 | + failure instead of being told it succeeded (#1569, #2898 by @vmaerten). |
11 | 19 | - Considerably improve performance of fingerprinting on large repositories |
12 | 20 | (monorepos). Fingerprinting is up to 86% faster and make up to 70% fewer |
13 | 21 | memory allocations on the more advanced scenarios. Benchmarks were added as |
14 | 22 | well. We're basically skipping work when not needed. (#2853, #2883 by |
15 | 23 | @Napolitain, #2884 by @Napolitain). |
16 | | -- Updated taskfile versions doc to mention when version checks were introduced |
17 | | - (#2184 by @jubr). |
18 | | -- Fixed `joinUrl` collapsing the `//` in a URL scheme (e.g. producing |
19 | | - `http:/localhost` instead of `http://localhost`) (#2915 by @vsaraikin). |
20 | | -- Added support for `enum.ref` in `--interactive` prompts. Required vars using |
21 | | - `enum.ref` now show the selection list like static enums, instead of falling |
22 | | - back to free-form input (#2817 by @vmaerten). |
23 | 24 | - Further improved fingerprinting performance on large repositories: hashing |
24 | 25 | source files now reuses a single buffer, reducing memory allocations by ~98% |
25 | 26 | and wall-clock time by ~7% (#2925 by @vmaerten). |
| 27 | +- `includes.excludes` can now exclude a whole namespace: append `:*` to the |
| 28 | + namespace name, e.g. `excludes: ['debug:*']`. Bare entries still match a |
| 29 | + single task name exactly (#2300, #2959 by @xmxxc). |
| 30 | +- Added support for `enum.ref` in `--interactive` prompts. Required vars using |
| 31 | + `enum.ref` now show the selection list like static enums, instead of falling |
| 32 | + back to free-form input (#2817 by @vmaerten). |
| 33 | +- Added Nushell completions, available via `task --completion nu`. They complete |
| 34 | + task names and aliases, every flag with its description, and the values of |
| 35 | + `--completion`, `--output` and `--sort` (#2966 by @vmaerten). |
| 36 | +- Added a verbose log line for failed tasks. In `--verbose` mode, a task whose |
| 37 | + command exits non-zero now reports `task: "<name>" failed: <error>` instead of |
| 38 | + stopping without a trace (#2240 by @Drino). |
| 39 | + |
| 40 | +### 🐛 Fixes |
| 41 | + |
| 42 | +- Fixed a pinned `checksum:` not being verified when a remote Taskfile came from |
| 43 | + the cache (#2980 by @vmaerten). |
26 | 44 | - Fixed the fingerprint variable (`{{.CHECKSUM}}`/`{{.TIMESTAMP}}`) ignoring a |
27 | 45 | `method:` set at the Taskfile level: the variable now follows the same method |
28 | 46 | resolution as the up-to-date check. Only the variable matching the effective |
29 | 47 | method is injected, so a task inheriting a Taskfile-level `method: timestamp` |
30 | 48 | gets `{{.TIMESTAMP}}` and no longer a `{{.CHECKSUM}}` (which now renders as an |
31 | 49 | empty string), and neither variable is injected when the effective method is |
32 | 50 | `none` (#2924 by @vmaerten). |
33 | | -- `includes.excludes` can now exclude a whole namespace: append `:*` to the |
34 | | - namespace name, e.g. `excludes: ['debug:*']`. Bare entries still match a |
35 | | - single task name exactly (#2300, #2959 by @xmxxc). |
36 | 51 | - Fixed `ref:` in `for: matrix:` and `enum:` only accepting literal lists. Refs |
37 | 52 | computed with template functions like `keys` or `splitList` no longer fail |
38 | 53 | with "must resolve to a list" (#2544, #2956 by @no-hup). |
| 54 | +- Fixed pressing `Esc` at an interactive variable prompt not cancelling the run |
| 55 | + (#2942 by @anilnatha). |
| 56 | +- Fixed `joinUrl` collapsing the `//` in a URL scheme (e.g. producing |
| 57 | + `http:/localhost` instead of `http://localhost`) (#2915 by @vsaraikin). |
39 | 58 | - Fixed the JSON schema rejecting `ignore_error` on a command inside a `for` |
40 | 59 | loop. Editors no longer flag a Taskfile that Task runs perfectly fine (#2044 |
41 | 60 | by @gokeefe-atb). |
42 | 61 | - Fixed the JSON schema rejecting more keys the Taskfile parser accepts: |
43 | 62 | `ignore_error` on a `task:` call, and `if`, `set` and `shopt` on a command |
44 | 63 | inside a `for` loop (#2967 by @vmaerten). |
45 | | -- Added a verbose log line for failed tasks. In `--verbose` mode, a task whose |
46 | | - command exits non-zero now reports `task: "<name>" failed: <error>` instead of |
47 | | - stopping without a trace (#2240 by @Drino). |
48 | | -- Fixed pressing `Esc` at an interactive variable prompt not cancelling the run |
49 | | - (#2942 by @anilnatha). |
50 | | -- Added Nushell completions, available via `task --completion nu`. They complete |
51 | | - task names and aliases, every flag with its description, and the values of |
52 | | - `--completion`, `--output` and `--sort` (#2966 by @vmaerten). |
53 | | -- Added a per-command `timeout` that terminates a command once it exceeds the |
54 | | - given duration (Go duration syntax). It covers shell commands, task calls, |
55 | | - deferred commands, `deps` and the `if` condition, obeys `ignore_error`, and |
56 | | - reports exit code `124`. Callers that join a `run: once` or `when_changed` |
57 | | - task already running now honor their own `timeout`, and inherit that task's |
58 | | - failure instead of being told it succeeded (#1569, #2898 by @vmaerten). |
59 | | -- Fixed a pinned `checksum:` not being verified when a remote Taskfile came from |
60 | | - the cache (#2980 by @vmaerten). |
| 64 | + |
| 65 | +### 📚 Documentation & Website |
| 66 | + |
| 67 | +- Updated taskfile versions doc to mention when version checks were introduced |
| 68 | + (#2184 by @jubr). |
61 | 69 | - Load the sidebar data and titles/excerpts from the blog post markdown document |
62 | 70 | and its frontmatter on the website (#2981 by @pd93). |
63 | 71 |
|
| 72 | +## v3.53.0 - 2026-08-18 |
| 73 | + |
| 74 | +- Failed due to an issue with our release process. |
| 75 | + |
64 | 76 | ## v3.52.0 - 2026-07-02 |
65 | 77 |
|
66 | 78 | - Fixed --interactive prompts for required vars sometimes appearing in a random |
|
0 commit comments