Add flag to measure recipe execution time#3099
Conversation
casey
left a comment
There was a problem hiding this comment.
See comments! There will be conflicts when rebasing, but the changes to the completion files won't be needed.
Signed-off-by: George Liontos <georgeliontos98@gmail.com>
casey
left a comment
There was a problem hiding this comment.
See comments! Also, this should have a test.
| let suffix = color.suffix(); | ||
| let recipe_name = self.name.lexeme(); | ||
|
|
||
| eprintln!("{prefix}{recipe_name} (Duration: {elapsed:.2?}){suffix}"); |
There was a problem hiding this comment.
Add a four-character marker, so it doesn't get lost in other output, also, the display implementation shouldn't be used:
| eprintln!("{prefix}{recipe_name} (Duration: {elapsed:.2?}){suffix}"); | |
| eprintln!("{prefix}---> {recipe_name} completed in {:.3}s{suffix}", elapsed.as_secs_f64()); |
Three digits of precision seems good since milliseconds is a common unit.
There was a problem hiding this comment.
You mean that I shouldn't use the Debug implementation.
The reason I used the Debug implementation, is because it is more human friendly.
It automatically converts to the closest unit of time that has elapsed.
For example, the output is going to be one of:
- seconds
- milliseconds
- nanoseconds
- microseconds
There was a problem hiding this comment.
I'm leaving this open for discussion for now. I have added tests as well.
There was a problem hiding this comment.
I agree that it would be more user-friendly to do that, but the debug implementation is unstable, meaning that there are no guarantees that it might not change in the future.
There was a problem hiding this comment.
Yeah from that perspective I agree. I will update the code as you suggested.
|
Nice, thank you! |
##### [\`1.49.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1490---2026-04-04) ##### Added - Add `--time` to print recipe execution time ([#3099](casey/just#3099) by [GeorgeLS](https://github.com/GeorgeLS)) - Add user-defined functions ([#3247](casey/just#3247) by [casey](https://github.com/casey)) - Add just skill for agents ([#3241](casey/just#3241) by [casey](https://github.com/casey)) - Allow expressions in confirm attribute ([#3238](casey/just#3238) by [begoon](https://github.com/begoon)) - Add `--complete-aliases` ([#3235](casey/just#3235) by [casey](https://github.com/casey)) - Add `--justfile-name` to configure justfile filename ([#3234](casey/just#3234) by [casey](https://github.com/casey)) - Add `runtime_directory()` function ([#3226](casey/just#3226) by [barskern](https://github.com/barskern)) - Add `--evaluate-format` ([#3221](casey/just#3221) by [casey](https://github.com/casey)) - Allow passing variable and module paths to `--evaluate` ([#3219](casey/just#3219) by [casey](https://github.com/casey)) - Add `--indentation` ([#3215](casey/just#3215) by [casey](https://github.com/casey)) - Add `module_file()` and `module_directory()` to readme ([#2965](casey/just#2965) by [cspotcode](https://github.com/cspotcode)) - Add Nix flake ([#2972](casey/just#2972) by [neunenak](https://github.com/neunenak)) ##### Fixed - Allow reading `.env` from special files ([#3250](casey/just#3250) by [casey](https://github.com/casey)) - Load environment files in submodules ([#3243](casey/just#3243) by [casey](https://github.com/casey)) - Avoid process substitution in bash completion script ([#3217](casey/just#3217) by [casey](https://github.com/casey)) - Dont pass shell name to powershell ([#3209](casey/just#3209) by [casey](https://github.com/casey)) ##### Misc - Add just implementation of rule110 ([#3249](casey/just#3249) by [casey](https://github.com/casey)) - Add instructions for skill to readme ([#3245](casey/just#3245) by [casey](https://github.com/casey)) - Remove comma in readme ([#3244](casey/just#3244) by [casey](https://github.com/casey)) - Move bash completion registration script into etc/ ([#3242](casey/just#3242) by [casey](https://github.com/casey)) - Avoid to\_string\_lossy in directory function tests ([#3232](casey/just#3232) by [casey](https://github.com/casey)) - Add installation overview ([#3231](casey/just#3231) by [casey](https://github.com/casey)) - Warn if invocation directory or justfile path is not Unicode ([#3230](casey/just#3230) by [casey](https://github.com/casey)) - Don't use make syntax highlighting in vim ([#2906](casey/just#2906) by [alerque](https://github.com/alerque)) - Fix Name Display impl to pad correctly ([#3222](casey/just#3222) by [casey](https://github.com/casey)) - Rename `evaluate_target` to `evaluation_target` ([#3220](casey/just#3220) by [casey](https://github.com/casey)) - Include recipe path in verbose output ([#3213](casey/just#3213) by [behnam-oneschema](https://github.com/behnam-oneschema)) - Move recipe methods onto resolved recipe ([#3214](casey/just#3214) by [casey](https://github.com/casey)) - Document that `semver_matches()` returns strings ([#3212](casey/just#3212) by [casey](https://github.com/casey)) - Build riscv64 release binaries ([#3210](casey/just#3210) by [gounthar](https://github.com/gounthar)) - Include shell name in I/O error messages ([#3208](casey/just#3208) by [casey](https://github.com/casey)) - Don't print signal error message if recipe has `[no-exit-message]` ([#3200](casey/just#3200) by [imp-joshi](https://github.com/imp-joshi)) --- ##### [\`1.48.1\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1481---2026-03-27) - Fix bash completion of command lines containing `:` ([#3205](casey/just#3205) by [casey](https://github.com/casey)) - Call zsh completion function when first auto-loaded ([#3199](casey/just#3199) by [casey](https://github.com/casey)) - Fix `--set` missing value error message interpolation ([#3198](casey/just#3198) by [cuiweixie](https://github.com/cuiweixie)) - Add `#compdef` to zsh completion script ([#3197](casey/just#3197) by [casey](https://github.com/casey)) - Add instructions for alias completions in bash ([#3190](casey/just#3190) by [casey](https://github.com/casey)) - Remove redundant clap derive attributes ([#3183](casey/just#3183) by [casey](https://github.com/casey)) - Move files into etc/ ([#3182](casey/just#3182) by [casey](https://github.com/casey)) - Update stable features in readme ([#3181](casey/just#3181) by [casey](https://github.com/casey)) --- ##### [\`1.48.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1480---2026-03-23) ##### Added - Build docker images ([#3174](casey/just#3174) by [casey](https://github.com/casey)) - Dynamically complete recipes for `--usage` ([#3172](casey/just#3172) by [casey](https://github.com/casey)) - Dynamically complete groups ([#3171](casey/just#3171) by [casey](https://github.com/casey)) - Dynamically complete recipes and variables ([#3169](casey/just#3169) by [casey](https://github.com/casey)) - Complete appropriate filetypes ([#3168](casey/just#3168) by [casey](https://github.com/casey)) - Allow overriding variables in submodules ([#3151](casey/just#3151) by [casey](https://github.com/casey)) - Add `--json` as synonym for `--dump --dump-format json` ([#3143](casey/just#3143) by [casey](https://github.com/casey)) ##### Changed - Stabilize lazy evaluation ([#3180](casey/just#3180) by [casey](https://github.com/casey)) - Switch to dynamic completion engine ([#3167](casey/just#3167) by [casey](https://github.com/casey)) - Respect PATH and PATHEXT when running commands on Windows ([#3160](casey/just#3160) by [casey](https://github.com/casey)) - Make `which()` and `require()` respect PATHEXT on Windows ([#3144](casey/just#3144) by [casey](https://github.com/casey)) ##### Misc - Add completion script installation instructions ([#3178](casey/just#3178) by [casey](https://github.com/casey)) - Fix readme typo ([#3176](casey/just#3176) by [Rohan5commit](https://github.com/Rohan5commit)) - Remove Vagrantfile ([#3173](casey/just#3173) by [casey](https://github.com/casey)) - Fix signal handling typo ([#3170](casey/just#3170) by [Rohan5commit](https://github.com/Rohan5commit)) - Add cargo-binstall installation instructions ([#3165](casey/just#3165) by [casey](https://github.com/casey)) - Fix typos ([#3162](casey/just#3162) by [casey](https://github.com/casey)) - Readme typo: forground ([#3161](casey/just#3161) by [Rohan5commit](https://github.com/Rohan5commit)) - Use clap derive to parse arguments ([#3158](casey/just#3158) by [casey](https://github.com/casey)) - Fix readme typo ([#3156](casey/just#3156) by [teee32](https://github.com/teee32)) - Document that path\_exists() returns strings ([#2946](casey/just#2946) by [cspotcode](https://github.com/cspotcode)) - Remove version references from readme headings ([#3153](casey/just#3153) by [casey](https://github.com/casey)) - Fix readme typo ([#3152](casey/just#3152) by [Rohan5commit](https://github.com/Rohan5commit)) - Fix variadic parameter typo in readme ([#3150](casey/just#3150) by [casey](https://github.com/casey)) - Fix readme typo ([#3148](casey/just#3148) by [Rohan5commit](https://github.com/Rohan5commit)) - Avoid conditional compilation ([#3145](casey/just#3145) by [casey](https://github.com/casey)) - Update VS Code extension in Chinese readme ([#2984](casey/just#2984) by [A-moment096](https://github.com/A-moment096)) - Change replace wording in readme ([#3137](casey/just#3137) by [Rohan5commit](https://github.com/Rohan5commit)) - Document recipe metadata ([#3142](casey/just#3142) by [casey](https://github.com/casey))
##### [\`1.49.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1490---2026-04-04) ##### Added - Add `--time` to print recipe execution time ([#3099](casey/just#3099) by [GeorgeLS](https://github.com/GeorgeLS)) - Add user-defined functions ([#3247](casey/just#3247) by [casey](https://github.com/casey)) - Add just skill for agents ([#3241](casey/just#3241) by [casey](https://github.com/casey)) - Allow expressions in confirm attribute ([#3238](casey/just#3238) by [begoon](https://github.com/begoon)) - Add `--complete-aliases` ([#3235](casey/just#3235) by [casey](https://github.com/casey)) - Add `--justfile-name` to configure justfile filename ([#3234](casey/just#3234) by [casey](https://github.com/casey)) - Add `runtime_directory()` function ([#3226](casey/just#3226) by [barskern](https://github.com/barskern)) - Add `--evaluate-format` ([#3221](casey/just#3221) by [casey](https://github.com/casey)) - Allow passing variable and module paths to `--evaluate` ([#3219](casey/just#3219) by [casey](https://github.com/casey)) - Add `--indentation` ([#3215](casey/just#3215) by [casey](https://github.com/casey)) - Add `module_file()` and `module_directory()` to readme ([#2965](casey/just#2965) by [cspotcode](https://github.com/cspotcode)) - Add Nix flake ([#2972](casey/just#2972) by [neunenak](https://github.com/neunenak)) ##### Fixed - Allow reading `.env` from special files ([#3250](casey/just#3250) by [casey](https://github.com/casey)) - Load environment files in submodules ([#3243](casey/just#3243) by [casey](https://github.com/casey)) - Avoid process substitution in bash completion script ([#3217](casey/just#3217) by [casey](https://github.com/casey)) - Dont pass shell name to powershell ([#3209](casey/just#3209) by [casey](https://github.com/casey)) ##### Misc - Add just implementation of rule110 ([#3249](casey/just#3249) by [casey](https://github.com/casey)) - Add instructions for skill to readme ([#3245](casey/just#3245) by [casey](https://github.com/casey)) - Remove comma in readme ([#3244](casey/just#3244) by [casey](https://github.com/casey)) - Move bash completion registration script into etc/ ([#3242](casey/just#3242) by [casey](https://github.com/casey)) - Avoid to\_string\_lossy in directory function tests ([#3232](casey/just#3232) by [casey](https://github.com/casey)) - Add installation overview ([#3231](casey/just#3231) by [casey](https://github.com/casey)) - Warn if invocation directory or justfile path is not Unicode ([#3230](casey/just#3230) by [casey](https://github.com/casey)) - Don't use make syntax highlighting in vim ([#2906](casey/just#2906) by [alerque](https://github.com/alerque)) - Fix Name Display impl to pad correctly ([#3222](casey/just#3222) by [casey](https://github.com/casey)) - Rename `evaluate_target` to `evaluation_target` ([#3220](casey/just#3220) by [casey](https://github.com/casey)) - Include recipe path in verbose output ([#3213](casey/just#3213) by [behnam-oneschema](https://github.com/behnam-oneschema)) - Move recipe methods onto resolved recipe ([#3214](casey/just#3214) by [casey](https://github.com/casey)) - Document that `semver_matches()` returns strings ([#3212](casey/just#3212) by [casey](https://github.com/casey)) - Build riscv64 release binaries ([#3210](casey/just#3210) by [gounthar](https://github.com/gounthar)) - Include shell name in I/O error messages ([#3208](casey/just#3208) by [casey](https://github.com/casey)) - Don't print signal error message if recipe has `[no-exit-message]` ([#3200](casey/just#3200) by [imp-joshi](https://github.com/imp-joshi)) --- ##### [\`1.48.1\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1481---2026-03-27) - Fix bash completion of command lines containing `:` ([#3205](casey/just#3205) by [casey](https://github.com/casey)) - Call zsh completion function when first auto-loaded ([#3199](casey/just#3199) by [casey](https://github.com/casey)) - Fix `--set` missing value error message interpolation ([#3198](casey/just#3198) by [cuiweixie](https://github.com/cuiweixie)) - Add `#compdef` to zsh completion script ([#3197](casey/just#3197) by [casey](https://github.com/casey)) - Add instructions for alias completions in bash ([#3190](casey/just#3190) by [casey](https://github.com/casey)) - Remove redundant clap derive attributes ([#3183](casey/just#3183) by [casey](https://github.com/casey)) - Move files into etc/ ([#3182](casey/just#3182) by [casey](https://github.com/casey)) - Update stable features in readme ([#3181](casey/just#3181) by [casey](https://github.com/casey)) --- ##### [\`1.48.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1480---2026-03-23) ##### Added - Build docker images ([#3174](casey/just#3174) by [casey](https://github.com/casey)) - Dynamically complete recipes for `--usage` ([#3172](casey/just#3172) by [casey](https://github.com/casey)) - Dynamically complete groups ([#3171](casey/just#3171) by [casey](https://github.com/casey)) - Dynamically complete recipes and variables ([#3169](casey/just#3169) by [casey](https://github.com/casey)) - Complete appropriate filetypes ([#3168](casey/just#3168) by [casey](https://github.com/casey)) - Allow overriding variables in submodules ([#3151](casey/just#3151) by [casey](https://github.com/casey)) - Add `--json` as synonym for `--dump --dump-format json` ([#3143](casey/just#3143) by [casey](https://github.com/casey)) ##### Changed - Stabilize lazy evaluation ([#3180](casey/just#3180) by [casey](https://github.com/casey)) - Switch to dynamic completion engine ([#3167](casey/just#3167) by [casey](https://github.com/casey)) - Respect PATH and PATHEXT when running commands on Windows ([#3160](casey/just#3160) by [casey](https://github.com/casey)) - Make `which()` and `require()` respect PATHEXT on Windows ([#3144](casey/just#3144) by [casey](https://github.com/casey)) ##### Misc - Add completion script installation instructions ([#3178](casey/just#3178) by [casey](https://github.com/casey)) - Fix readme typo ([#3176](casey/just#3176) by [Rohan5commit](https://github.com/Rohan5commit)) - Remove Vagrantfile ([#3173](casey/just#3173) by [casey](https://github.com/casey)) - Fix signal handling typo ([#3170](casey/just#3170) by [Rohan5commit](https://github.com/Rohan5commit)) - Add cargo-binstall installation instructions ([#3165](casey/just#3165) by [casey](https://github.com/casey)) - Fix typos ([#3162](casey/just#3162) by [casey](https://github.com/casey)) - Readme typo: forground ([#3161](casey/just#3161) by [Rohan5commit](https://github.com/Rohan5commit)) - Use clap derive to parse arguments ([#3158](casey/just#3158) by [casey](https://github.com/casey)) - Fix readme typo ([#3156](casey/just#3156) by [teee32](https://github.com/teee32)) - Document that path\_exists() returns strings ([#2946](casey/just#2946) by [cspotcode](https://github.com/cspotcode)) - Remove version references from readme headings ([#3153](casey/just#3153) by [casey](https://github.com/casey)) - Fix readme typo ([#3152](casey/just#3152) by [Rohan5commit](https://github.com/Rohan5commit)) - Fix variadic parameter typo in readme ([#3150](casey/just#3150) by [casey](https://github.com/casey)) - Fix readme typo ([#3148](casey/just#3148) by [Rohan5commit](https://github.com/Rohan5commit)) - Avoid conditional compilation ([#3145](casey/just#3145) by [casey](https://github.com/casey)) - Update VS Code extension in Chinese readme ([#2984](casey/just#2984) by [A-moment096](https://github.com/A-moment096)) - Change replace wording in readme ([#3137](casey/just#3137) by [Rohan5commit](https://github.com/Rohan5commit)) - Document recipe metadata ([#3142](casey/just#3142) by [casey](https://github.com/casey))
##### [\`1.49.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1490---2026-04-04) ##### Added - Add `--time` to print recipe execution time ([#3099](casey/just#3099) by [GeorgeLS](https://github.com/GeorgeLS)) - Add user-defined functions ([#3247](casey/just#3247) by [casey](https://github.com/casey)) - Add just skill for agents ([#3241](casey/just#3241) by [casey](https://github.com/casey)) - Allow expressions in confirm attribute ([#3238](casey/just#3238) by [begoon](https://github.com/begoon)) - Add `--complete-aliases` ([#3235](casey/just#3235) by [casey](https://github.com/casey)) - Add `--justfile-name` to configure justfile filename ([#3234](casey/just#3234) by [casey](https://github.com/casey)) - Add `runtime_directory()` function ([#3226](casey/just#3226) by [barskern](https://github.com/barskern)) - Add `--evaluate-format` ([#3221](casey/just#3221) by [casey](https://github.com/casey)) - Allow passing variable and module paths to `--evaluate` ([#3219](casey/just#3219) by [casey](https://github.com/casey)) - Add `--indentation` ([#3215](casey/just#3215) by [casey](https://github.com/casey)) - Add `module_file()` and `module_directory()` to readme ([#2965](casey/just#2965) by [cspotcode](https://github.com/cspotcode)) - Add Nix flake ([#2972](casey/just#2972) by [neunenak](https://github.com/neunenak)) ##### Fixed - Allow reading `.env` from special files ([#3250](casey/just#3250) by [casey](https://github.com/casey)) - Load environment files in submodules ([#3243](casey/just#3243) by [casey](https://github.com/casey)) - Avoid process substitution in bash completion script ([#3217](casey/just#3217) by [casey](https://github.com/casey)) - Dont pass shell name to powershell ([#3209](casey/just#3209) by [casey](https://github.com/casey)) ##### Misc - Add just implementation of rule110 ([#3249](casey/just#3249) by [casey](https://github.com/casey)) - Add instructions for skill to readme ([#3245](casey/just#3245) by [casey](https://github.com/casey)) - Remove comma in readme ([#3244](casey/just#3244) by [casey](https://github.com/casey)) - Move bash completion registration script into etc/ ([#3242](casey/just#3242) by [casey](https://github.com/casey)) - Avoid to\_string\_lossy in directory function tests ([#3232](casey/just#3232) by [casey](https://github.com/casey)) - Add installation overview ([#3231](casey/just#3231) by [casey](https://github.com/casey)) - Warn if invocation directory or justfile path is not Unicode ([#3230](casey/just#3230) by [casey](https://github.com/casey)) - Don't use make syntax highlighting in vim ([#2906](casey/just#2906) by [alerque](https://github.com/alerque)) - Fix Name Display impl to pad correctly ([#3222](casey/just#3222) by [casey](https://github.com/casey)) - Rename `evaluate_target` to `evaluation_target` ([#3220](casey/just#3220) by [casey](https://github.com/casey)) - Include recipe path in verbose output ([#3213](casey/just#3213) by [behnam-oneschema](https://github.com/behnam-oneschema)) - Move recipe methods onto resolved recipe ([#3214](casey/just#3214) by [casey](https://github.com/casey)) - Document that `semver_matches()` returns strings ([#3212](casey/just#3212) by [casey](https://github.com/casey)) - Build riscv64 release binaries ([#3210](casey/just#3210) by [gounthar](https://github.com/gounthar)) - Include shell name in I/O error messages ([#3208](casey/just#3208) by [casey](https://github.com/casey)) - Don't print signal error message if recipe has `[no-exit-message]` ([#3200](casey/just#3200) by [imp-joshi](https://github.com/imp-joshi)) --- ##### [\`1.48.1\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1481---2026-03-27) - Fix bash completion of command lines containing `:` ([#3205](casey/just#3205) by [casey](https://github.com/casey)) - Call zsh completion function when first auto-loaded ([#3199](casey/just#3199) by [casey](https://github.com/casey)) - Fix `--set` missing value error message interpolation ([#3198](casey/just#3198) by [cuiweixie](https://github.com/cuiweixie)) - Add `#compdef` to zsh completion script ([#3197](casey/just#3197) by [casey](https://github.com/casey)) - Add instructions for alias completions in bash ([#3190](casey/just#3190) by [casey](https://github.com/casey)) - Remove redundant clap derive attributes ([#3183](casey/just#3183) by [casey](https://github.com/casey)) - Move files into etc/ ([#3182](casey/just#3182) by [casey](https://github.com/casey)) - Update stable features in readme ([#3181](casey/just#3181) by [casey](https://github.com/casey)) --- ##### [\`1.48.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1480---2026-03-23) ##### Added - Build docker images ([#3174](casey/just#3174) by [casey](https://github.com/casey)) - Dynamically complete recipes for `--usage` ([#3172](casey/just#3172) by [casey](https://github.com/casey)) - Dynamically complete groups ([#3171](casey/just#3171) by [casey](https://github.com/casey)) - Dynamically complete recipes and variables ([#3169](casey/just#3169) by [casey](https://github.com/casey)) - Complete appropriate filetypes ([#3168](casey/just#3168) by [casey](https://github.com/casey)) - Allow overriding variables in submodules ([#3151](casey/just#3151) by [casey](https://github.com/casey)) - Add `--json` as synonym for `--dump --dump-format json` ([#3143](casey/just#3143) by [casey](https://github.com/casey)) ##### Changed - Stabilize lazy evaluation ([#3180](casey/just#3180) by [casey](https://github.com/casey)) - Switch to dynamic completion engine ([#3167](casey/just#3167) by [casey](https://github.com/casey)) - Respect PATH and PATHEXT when running commands on Windows ([#3160](casey/just#3160) by [casey](https://github.com/casey)) - Make `which()` and `require()` respect PATHEXT on Windows ([#3144](casey/just#3144) by [casey](https://github.com/casey)) ##### Misc - Add completion script installation instructions ([#3178](casey/just#3178) by [casey](https://github.com/casey)) - Fix readme typo ([#3176](casey/just#3176) by [Rohan5commit](https://github.com/Rohan5commit)) - Remove Vagrantfile ([#3173](casey/just#3173) by [casey](https://github.com/casey)) - Fix signal handling typo ([#3170](casey/just#3170) by [Rohan5commit](https://github.com/Rohan5commit)) - Add cargo-binstall installation instructions ([#3165](casey/just#3165) by [casey](https://github.com/casey)) - Fix typos ([#3162](casey/just#3162) by [casey](https://github.com/casey)) - Readme typo: forground ([#3161](casey/just#3161) by [Rohan5commit](https://github.com/Rohan5commit)) - Use clap derive to parse arguments ([#3158](casey/just#3158) by [casey](https://github.com/casey)) - Fix readme typo ([#3156](casey/just#3156) by [teee32](https://github.com/teee32)) - Document that path\_exists() returns strings ([#2946](casey/just#2946) by [cspotcode](https://github.com/cspotcode)) - Remove version references from readme headings ([#3153](casey/just#3153) by [casey](https://github.com/casey)) - Fix readme typo ([#3152](casey/just#3152) by [Rohan5commit](https://github.com/Rohan5commit)) - Fix variadic parameter typo in readme ([#3150](casey/just#3150) by [casey](https://github.com/casey)) - Fix readme typo ([#3148](casey/just#3148) by [Rohan5commit](https://github.com/Rohan5commit)) - Avoid conditional compilation ([#3145](casey/just#3145) by [casey](https://github.com/casey)) - Update VS Code extension in Chinese readme ([#2984](casey/just#2984) by [A-moment096](https://github.com/A-moment096)) - Change replace wording in readme ([#3137](casey/just#3137) by [Rohan5commit](https://github.com/Rohan5commit)) - Document recipe metadata ([#3142](casey/just#3142) by [casey](https://github.com/casey))
##### [\`1.49.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1490---2026-04-04) ##### Added - Add `--time` to print recipe execution time ([#3099](casey/just#3099) by [GeorgeLS](https://github.com/GeorgeLS)) - Add user-defined functions ([#3247](casey/just#3247) by [casey](https://github.com/casey)) - Add just skill for agents ([#3241](casey/just#3241) by [casey](https://github.com/casey)) - Allow expressions in confirm attribute ([#3238](casey/just#3238) by [begoon](https://github.com/begoon)) - Add `--complete-aliases` ([#3235](casey/just#3235) by [casey](https://github.com/casey)) - Add `--justfile-name` to configure justfile filename ([#3234](casey/just#3234) by [casey](https://github.com/casey)) - Add `runtime_directory()` function ([#3226](casey/just#3226) by [barskern](https://github.com/barskern)) - Add `--evaluate-format` ([#3221](casey/just#3221) by [casey](https://github.com/casey)) - Allow passing variable and module paths to `--evaluate` ([#3219](casey/just#3219) by [casey](https://github.com/casey)) - Add `--indentation` ([#3215](casey/just#3215) by [casey](https://github.com/casey)) - Add `module_file()` and `module_directory()` to readme ([#2965](casey/just#2965) by [cspotcode](https://github.com/cspotcode)) - Add Nix flake ([#2972](casey/just#2972) by [neunenak](https://github.com/neunenak)) ##### Fixed - Allow reading `.env` from special files ([#3250](casey/just#3250) by [casey](https://github.com/casey)) - Load environment files in submodules ([#3243](casey/just#3243) by [casey](https://github.com/casey)) - Avoid process substitution in bash completion script ([#3217](casey/just#3217) by [casey](https://github.com/casey)) - Dont pass shell name to powershell ([#3209](casey/just#3209) by [casey](https://github.com/casey)) ##### Misc - Add just implementation of rule110 ([#3249](casey/just#3249) by [casey](https://github.com/casey)) - Add instructions for skill to readme ([#3245](casey/just#3245) by [casey](https://github.com/casey)) - Remove comma in readme ([#3244](casey/just#3244) by [casey](https://github.com/casey)) - Move bash completion registration script into etc/ ([#3242](casey/just#3242) by [casey](https://github.com/casey)) - Avoid to\_string\_lossy in directory function tests ([#3232](casey/just#3232) by [casey](https://github.com/casey)) - Add installation overview ([#3231](casey/just#3231) by [casey](https://github.com/casey)) - Warn if invocation directory or justfile path is not Unicode ([#3230](casey/just#3230) by [casey](https://github.com/casey)) - Don't use make syntax highlighting in vim ([#2906](casey/just#2906) by [alerque](https://github.com/alerque)) - Fix Name Display impl to pad correctly ([#3222](casey/just#3222) by [casey](https://github.com/casey)) - Rename `evaluate_target` to `evaluation_target` ([#3220](casey/just#3220) by [casey](https://github.com/casey)) - Include recipe path in verbose output ([#3213](casey/just#3213) by [behnam-oneschema](https://github.com/behnam-oneschema)) - Move recipe methods onto resolved recipe ([#3214](casey/just#3214) by [casey](https://github.com/casey)) - Document that `semver_matches()` returns strings ([#3212](casey/just#3212) by [casey](https://github.com/casey)) - Build riscv64 release binaries ([#3210](casey/just#3210) by [gounthar](https://github.com/gounthar)) - Include shell name in I/O error messages ([#3208](casey/just#3208) by [casey](https://github.com/casey)) - Don't print signal error message if recipe has `[no-exit-message]` ([#3200](casey/just#3200) by [imp-joshi](https://github.com/imp-joshi)) --- ##### [\`1.48.1\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1481---2026-03-27) - Fix bash completion of command lines containing `:` ([#3205](casey/just#3205) by [casey](https://github.com/casey)) - Call zsh completion function when first auto-loaded ([#3199](casey/just#3199) by [casey](https://github.com/casey)) - Fix `--set` missing value error message interpolation ([#3198](casey/just#3198) by [cuiweixie](https://github.com/cuiweixie)) - Add `#compdef` to zsh completion script ([#3197](casey/just#3197) by [casey](https://github.com/casey)) - Add instructions for alias completions in bash ([#3190](casey/just#3190) by [casey](https://github.com/casey)) - Remove redundant clap derive attributes ([#3183](casey/just#3183) by [casey](https://github.com/casey)) - Move files into etc/ ([#3182](casey/just#3182) by [casey](https://github.com/casey)) - Update stable features in readme ([#3181](casey/just#3181) by [casey](https://github.com/casey)) --- ##### [\`1.48.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1480---2026-03-23) ##### Added - Build docker images ([#3174](casey/just#3174) by [casey](https://github.com/casey)) - Dynamically complete recipes for `--usage` ([#3172](casey/just#3172) by [casey](https://github.com/casey)) - Dynamically complete groups ([#3171](casey/just#3171) by [casey](https://github.com/casey)) - Dynamically complete recipes and variables ([#3169](casey/just#3169) by [casey](https://github.com/casey)) - Complete appropriate filetypes ([#3168](casey/just#3168) by [casey](https://github.com/casey)) - Allow overriding variables in submodules ([#3151](casey/just#3151) by [casey](https://github.com/casey)) - Add `--json` as synonym for `--dump --dump-format json` ([#3143](casey/just#3143) by [casey](https://github.com/casey)) ##### Changed - Stabilize lazy evaluation ([#3180](casey/just#3180) by [casey](https://github.com/casey)) - Switch to dynamic completion engine ([#3167](casey/just#3167) by [casey](https://github.com/casey)) - Respect PATH and PATHEXT when running commands on Windows ([#3160](casey/just#3160) by [casey](https://github.com/casey)) - Make `which()` and `require()` respect PATHEXT on Windows ([#3144](casey/just#3144) by [casey](https://github.com/casey)) ##### Misc - Add completion script installation instructions ([#3178](casey/just#3178) by [casey](https://github.com/casey)) - Fix readme typo ([#3176](casey/just#3176) by [Rohan5commit](https://github.com/Rohan5commit)) - Remove Vagrantfile ([#3173](casey/just#3173) by [casey](https://github.com/casey)) - Fix signal handling typo ([#3170](casey/just#3170) by [Rohan5commit](https://github.com/Rohan5commit)) - Add cargo-binstall installation instructions ([#3165](casey/just#3165) by [casey](https://github.com/casey)) - Fix typos ([#3162](casey/just#3162) by [casey](https://github.com/casey)) - Readme typo: forground ([#3161](casey/just#3161) by [Rohan5commit](https://github.com/Rohan5commit)) - Use clap derive to parse arguments ([#3158](casey/just#3158) by [casey](https://github.com/casey)) - Fix readme typo ([#3156](casey/just#3156) by [teee32](https://github.com/teee32)) - Document that path\_exists() returns strings ([#2946](casey/just#2946) by [cspotcode](https://github.com/cspotcode)) - Remove version references from readme headings ([#3153](casey/just#3153) by [casey](https://github.com/casey)) - Fix readme typo ([#3152](casey/just#3152) by [Rohan5commit](https://github.com/Rohan5commit)) - Fix variadic parameter typo in readme ([#3150](casey/just#3150) by [casey](https://github.com/casey)) - Fix readme typo ([#3148](casey/just#3148) by [Rohan5commit](https://github.com/Rohan5commit)) - Avoid conditional compilation ([#3145](casey/just#3145) by [casey](https://github.com/casey)) - Update VS Code extension in Chinese readme ([#2984](casey/just#2984) by [A-moment096](https://github.com/A-moment096)) - Change replace wording in readme ([#3137](casey/just#3137) by [Rohan5commit](https://github.com/Rohan5commit)) - Document recipe metadata ([#3142](casey/just#3142) by [casey](https://github.com/casey))
##### [\`1.49.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1490---2026-04-04) ##### Added - Add `--time` to print recipe execution time ([#3099](casey/just#3099) by [GeorgeLS](https://github.com/GeorgeLS)) - Add user-defined functions ([#3247](casey/just#3247) by [casey](https://github.com/casey)) - Add just skill for agents ([#3241](casey/just#3241) by [casey](https://github.com/casey)) - Allow expressions in confirm attribute ([#3238](casey/just#3238) by [begoon](https://github.com/begoon)) - Add `--complete-aliases` ([#3235](casey/just#3235) by [casey](https://github.com/casey)) - Add `--justfile-name` to configure justfile filename ([#3234](casey/just#3234) by [casey](https://github.com/casey)) - Add `runtime_directory()` function ([#3226](casey/just#3226) by [barskern](https://github.com/barskern)) - Add `--evaluate-format` ([#3221](casey/just#3221) by [casey](https://github.com/casey)) - Allow passing variable and module paths to `--evaluate` ([#3219](casey/just#3219) by [casey](https://github.com/casey)) - Add `--indentation` ([#3215](casey/just#3215) by [casey](https://github.com/casey)) - Add `module_file()` and `module_directory()` to readme ([#2965](casey/just#2965) by [cspotcode](https://github.com/cspotcode)) - Add Nix flake ([#2972](casey/just#2972) by [neunenak](https://github.com/neunenak)) ##### Fixed - Allow reading `.env` from special files ([#3250](casey/just#3250) by [casey](https://github.com/casey)) - Load environment files in submodules ([#3243](casey/just#3243) by [casey](https://github.com/casey)) - Avoid process substitution in bash completion script ([#3217](casey/just#3217) by [casey](https://github.com/casey)) - Dont pass shell name to powershell ([#3209](casey/just#3209) by [casey](https://github.com/casey)) ##### Misc - Add just implementation of rule110 ([#3249](casey/just#3249) by [casey](https://github.com/casey)) - Add instructions for skill to readme ([#3245](casey/just#3245) by [casey](https://github.com/casey)) - Remove comma in readme ([#3244](casey/just#3244) by [casey](https://github.com/casey)) - Move bash completion registration script into etc/ ([#3242](casey/just#3242) by [casey](https://github.com/casey)) - Avoid to\_string\_lossy in directory function tests ([#3232](casey/just#3232) by [casey](https://github.com/casey)) - Add installation overview ([#3231](casey/just#3231) by [casey](https://github.com/casey)) - Warn if invocation directory or justfile path is not Unicode ([#3230](casey/just#3230) by [casey](https://github.com/casey)) - Don't use make syntax highlighting in vim ([#2906](casey/just#2906) by [alerque](https://github.com/alerque)) - Fix Name Display impl to pad correctly ([#3222](casey/just#3222) by [casey](https://github.com/casey)) - Rename `evaluate_target` to `evaluation_target` ([#3220](casey/just#3220) by [casey](https://github.com/casey)) - Include recipe path in verbose output ([#3213](casey/just#3213) by [behnam-oneschema](https://github.com/behnam-oneschema)) - Move recipe methods onto resolved recipe ([#3214](casey/just#3214) by [casey](https://github.com/casey)) - Document that `semver_matches()` returns strings ([#3212](casey/just#3212) by [casey](https://github.com/casey)) - Build riscv64 release binaries ([#3210](casey/just#3210) by [gounthar](https://github.com/gounthar)) - Include shell name in I/O error messages ([#3208](casey/just#3208) by [casey](https://github.com/casey)) - Don't print signal error message if recipe has `[no-exit-message]` ([#3200](casey/just#3200) by [imp-joshi](https://github.com/imp-joshi)) --- ##### [\`1.48.1\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1481---2026-03-27) - Fix bash completion of command lines containing `:` ([#3205](casey/just#3205) by [casey](https://github.com/casey)) - Call zsh completion function when first auto-loaded ([#3199](casey/just#3199) by [casey](https://github.com/casey)) - Fix `--set` missing value error message interpolation ([#3198](casey/just#3198) by [cuiweixie](https://github.com/cuiweixie)) - Add `#compdef` to zsh completion script ([#3197](casey/just#3197) by [casey](https://github.com/casey)) - Add instructions for alias completions in bash ([#3190](casey/just#3190) by [casey](https://github.com/casey)) - Remove redundant clap derive attributes ([#3183](casey/just#3183) by [casey](https://github.com/casey)) - Move files into etc/ ([#3182](casey/just#3182) by [casey](https://github.com/casey)) - Update stable features in readme ([#3181](casey/just#3181) by [casey](https://github.com/casey)) --- ##### [\`1.48.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1480---2026-03-23) ##### Added - Build docker images ([#3174](casey/just#3174) by [casey](https://github.com/casey)) - Dynamically complete recipes for `--usage` ([#3172](casey/just#3172) by [casey](https://github.com/casey)) - Dynamically complete groups ([#3171](casey/just#3171) by [casey](https://github.com/casey)) - Dynamically complete recipes and variables ([#3169](casey/just#3169) by [casey](https://github.com/casey)) - Complete appropriate filetypes ([#3168](casey/just#3168) by [casey](https://github.com/casey)) - Allow overriding variables in submodules ([#3151](casey/just#3151) by [casey](https://github.com/casey)) - Add `--json` as synonym for `--dump --dump-format json` ([#3143](casey/just#3143) by [casey](https://github.com/casey)) ##### Changed - Stabilize lazy evaluation ([#3180](casey/just#3180) by [casey](https://github.com/casey)) - Switch to dynamic completion engine ([#3167](casey/just#3167) by [casey](https://github.com/casey)) - Respect PATH and PATHEXT when running commands on Windows ([#3160](casey/just#3160) by [casey](https://github.com/casey)) - Make `which()` and `require()` respect PATHEXT on Windows ([#3144](casey/just#3144) by [casey](https://github.com/casey)) ##### Misc - Add completion script installation instructions ([#3178](casey/just#3178) by [casey](https://github.com/casey)) - Fix readme typo ([#3176](casey/just#3176) by [Rohan5commit](https://github.com/Rohan5commit)) - Remove Vagrantfile ([#3173](casey/just#3173) by [casey](https://github.com/casey)) - Fix signal handling typo ([#3170](casey/just#3170) by [Rohan5commit](https://github.com/Rohan5commit)) - Add cargo-binstall installation instructions ([#3165](casey/just#3165) by [casey](https://github.com/casey)) - Fix typos ([#3162](casey/just#3162) by [casey](https://github.com/casey)) - Readme typo: forground ([#3161](casey/just#3161) by [Rohan5commit](https://github.com/Rohan5commit)) - Use clap derive to parse arguments ([#3158](casey/just#3158) by [casey](https://github.com/casey)) - Fix readme typo ([#3156](casey/just#3156) by [teee32](https://github.com/teee32)) - Document that path\_exists() returns strings ([#2946](casey/just#2946) by [cspotcode](https://github.com/cspotcode)) - Remove version references from readme headings ([#3153](casey/just#3153) by [casey](https://github.com/casey)) - Fix readme typo ([#3152](casey/just#3152) by [Rohan5commit](https://github.com/Rohan5commit)) - Fix variadic parameter typo in readme ([#3150](casey/just#3150) by [casey](https://github.com/casey)) - Fix readme typo ([#3148](casey/just#3148) by [Rohan5commit](https://github.com/Rohan5commit)) - Avoid conditional compilation ([#3145](casey/just#3145) by [casey](https://github.com/casey)) - Update VS Code extension in Chinese readme ([#2984](casey/just#2984) by [A-moment096](https://github.com/A-moment096)) - Change replace wording in readme ([#3137](casey/just#3137) by [Rohan5commit](https://github.com/Rohan5commit)) - Document recipe metadata ([#3142](casey/just#3142) by [casey](https://github.com/casey))
##### [\`1.49.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1490---2026-04-04) ##### Added - Add `--time` to print recipe execution time ([#3099](casey/just#3099) by [GeorgeLS](https://github.com/GeorgeLS)) - Add user-defined functions ([#3247](casey/just#3247) by [casey](https://github.com/casey)) - Add just skill for agents ([#3241](casey/just#3241) by [casey](https://github.com/casey)) - Allow expressions in confirm attribute ([#3238](casey/just#3238) by [begoon](https://github.com/begoon)) - Add `--complete-aliases` ([#3235](casey/just#3235) by [casey](https://github.com/casey)) - Add `--justfile-name` to configure justfile filename ([#3234](casey/just#3234) by [casey](https://github.com/casey)) - Add `runtime_directory()` function ([#3226](casey/just#3226) by [barskern](https://github.com/barskern)) - Add `--evaluate-format` ([#3221](casey/just#3221) by [casey](https://github.com/casey)) - Allow passing variable and module paths to `--evaluate` ([#3219](casey/just#3219) by [casey](https://github.com/casey)) - Add `--indentation` ([#3215](casey/just#3215) by [casey](https://github.com/casey)) - Add `module_file()` and `module_directory()` to readme ([#2965](casey/just#2965) by [cspotcode](https://github.com/cspotcode)) - Add Nix flake ([#2972](casey/just#2972) by [neunenak](https://github.com/neunenak)) ##### Fixed - Allow reading `.env` from special files ([#3250](casey/just#3250) by [casey](https://github.com/casey)) - Load environment files in submodules ([#3243](casey/just#3243) by [casey](https://github.com/casey)) - Avoid process substitution in bash completion script ([#3217](casey/just#3217) by [casey](https://github.com/casey)) - Dont pass shell name to powershell ([#3209](casey/just#3209) by [casey](https://github.com/casey)) ##### Misc - Add just implementation of rule110 ([#3249](casey/just#3249) by [casey](https://github.com/casey)) - Add instructions for skill to readme ([#3245](casey/just#3245) by [casey](https://github.com/casey)) - Remove comma in readme ([#3244](casey/just#3244) by [casey](https://github.com/casey)) - Move bash completion registration script into etc/ ([#3242](casey/just#3242) by [casey](https://github.com/casey)) - Avoid to\_string\_lossy in directory function tests ([#3232](casey/just#3232) by [casey](https://github.com/casey)) - Add installation overview ([#3231](casey/just#3231) by [casey](https://github.com/casey)) - Warn if invocation directory or justfile path is not Unicode ([#3230](casey/just#3230) by [casey](https://github.com/casey)) - Don't use make syntax highlighting in vim ([#2906](casey/just#2906) by [alerque](https://github.com/alerque)) - Fix Name Display impl to pad correctly ([#3222](casey/just#3222) by [casey](https://github.com/casey)) - Rename `evaluate_target` to `evaluation_target` ([#3220](casey/just#3220) by [casey](https://github.com/casey)) - Include recipe path in verbose output ([#3213](casey/just#3213) by [behnam-oneschema](https://github.com/behnam-oneschema)) - Move recipe methods onto resolved recipe ([#3214](casey/just#3214) by [casey](https://github.com/casey)) - Document that `semver_matches()` returns strings ([#3212](casey/just#3212) by [casey](https://github.com/casey)) - Build riscv64 release binaries ([#3210](casey/just#3210) by [gounthar](https://github.com/gounthar)) - Include shell name in I/O error messages ([#3208](casey/just#3208) by [casey](https://github.com/casey)) - Don't print signal error message if recipe has `[no-exit-message]` ([#3200](casey/just#3200) by [imp-joshi](https://github.com/imp-joshi)) --- ##### [\`1.48.1\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1481---2026-03-27) - Fix bash completion of command lines containing `:` ([#3205](casey/just#3205) by [casey](https://github.com/casey)) - Call zsh completion function when first auto-loaded ([#3199](casey/just#3199) by [casey](https://github.com/casey)) - Fix `--set` missing value error message interpolation ([#3198](casey/just#3198) by [cuiweixie](https://github.com/cuiweixie)) - Add `#compdef` to zsh completion script ([#3197](casey/just#3197) by [casey](https://github.com/casey)) - Add instructions for alias completions in bash ([#3190](casey/just#3190) by [casey](https://github.com/casey)) - Remove redundant clap derive attributes ([#3183](casey/just#3183) by [casey](https://github.com/casey)) - Move files into etc/ ([#3182](casey/just#3182) by [casey](https://github.com/casey)) - Update stable features in readme ([#3181](casey/just#3181) by [casey](https://github.com/casey)) --- ##### [\`1.48.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1480---2026-03-23) ##### Added - Build docker images ([#3174](casey/just#3174) by [casey](https://github.com/casey)) - Dynamically complete recipes for `--usage` ([#3172](casey/just#3172) by [casey](https://github.com/casey)) - Dynamically complete groups ([#3171](casey/just#3171) by [casey](https://github.com/casey)) - Dynamically complete recipes and variables ([#3169](casey/just#3169) by [casey](https://github.com/casey)) - Complete appropriate filetypes ([#3168](casey/just#3168) by [casey](https://github.com/casey)) - Allow overriding variables in submodules ([#3151](casey/just#3151) by [casey](https://github.com/casey)) - Add `--json` as synonym for `--dump --dump-format json` ([#3143](casey/just#3143) by [casey](https://github.com/casey)) ##### Changed - Stabilize lazy evaluation ([#3180](casey/just#3180) by [casey](https://github.com/casey)) - Switch to dynamic completion engine ([#3167](casey/just#3167) by [casey](https://github.com/casey)) - Respect PATH and PATHEXT when running commands on Windows ([#3160](casey/just#3160) by [casey](https://github.com/casey)) - Make `which()` and `require()` respect PATHEXT on Windows ([#3144](casey/just#3144) by [casey](https://github.com/casey)) ##### Misc - Add completion script installation instructions ([#3178](casey/just#3178) by [casey](https://github.com/casey)) - Fix readme typo ([#3176](casey/just#3176) by [Rohan5commit](https://github.com/Rohan5commit)) - Remove Vagrantfile ([#3173](casey/just#3173) by [casey](https://github.com/casey)) - Fix signal handling typo ([#3170](casey/just#3170) by [Rohan5commit](https://github.com/Rohan5commit)) - Add cargo-binstall installation instructions ([#3165](casey/just#3165) by [casey](https://github.com/casey)) - Fix typos ([#3162](casey/just#3162) by [casey](https://github.com/casey)) - Readme typo: forground ([#3161](casey/just#3161) by [Rohan5commit](https://github.com/Rohan5commit)) - Use clap derive to parse arguments ([#3158](casey/just#3158) by [casey](https://github.com/casey)) - Fix readme typo ([#3156](casey/just#3156) by [teee32](https://github.com/teee32)) - Document that path\_exists() returns strings ([#2946](casey/just#2946) by [cspotcode](https://github.com/cspotcode)) - Remove version references from readme headings ([#3153](casey/just#3153) by [casey](https://github.com/casey)) - Fix readme typo ([#3152](casey/just#3152) by [Rohan5commit](https://github.com/Rohan5commit)) - Fix variadic parameter typo in readme ([#3150](casey/just#3150) by [casey](https://github.com/casey)) - Fix readme typo ([#3148](casey/just#3148) by [Rohan5commit](https://github.com/Rohan5commit)) - Avoid conditional compilation ([#3145](casey/just#3145) by [casey](https://github.com/casey)) - Update VS Code extension in Chinese readme ([#2984](casey/just#2984) by [A-moment096](https://github.com/A-moment096)) - Change replace wording in readme ([#3137](casey/just#3137) by [Rohan5commit](https://github.com/Rohan5commit)) - Document recipe metadata ([#3142](casey/just#3142) by [casey](https://github.com/casey))
##### [\`1.49.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1490---2026-04-04) ##### Added - Add `--time` to print recipe execution time ([#3099](casey/just#3099) by [GeorgeLS](https://github.com/GeorgeLS)) - Add user-defined functions ([#3247](casey/just#3247) by [casey](https://github.com/casey)) - Add just skill for agents ([#3241](casey/just#3241) by [casey](https://github.com/casey)) - Allow expressions in confirm attribute ([#3238](casey/just#3238) by [begoon](https://github.com/begoon)) - Add `--complete-aliases` ([#3235](casey/just#3235) by [casey](https://github.com/casey)) - Add `--justfile-name` to configure justfile filename ([#3234](casey/just#3234) by [casey](https://github.com/casey)) - Add `runtime_directory()` function ([#3226](casey/just#3226) by [barskern](https://github.com/barskern)) - Add `--evaluate-format` ([#3221](casey/just#3221) by [casey](https://github.com/casey)) - Allow passing variable and module paths to `--evaluate` ([#3219](casey/just#3219) by [casey](https://github.com/casey)) - Add `--indentation` ([#3215](casey/just#3215) by [casey](https://github.com/casey)) - Add `module_file()` and `module_directory()` to readme ([#2965](casey/just#2965) by [cspotcode](https://github.com/cspotcode)) - Add Nix flake ([#2972](casey/just#2972) by [neunenak](https://github.com/neunenak)) ##### Fixed - Allow reading `.env` from special files ([#3250](casey/just#3250) by [casey](https://github.com/casey)) - Load environment files in submodules ([#3243](casey/just#3243) by [casey](https://github.com/casey)) - Avoid process substitution in bash completion script ([#3217](casey/just#3217) by [casey](https://github.com/casey)) - Dont pass shell name to powershell ([#3209](casey/just#3209) by [casey](https://github.com/casey)) ##### Misc - Add just implementation of rule110 ([#3249](casey/just#3249) by [casey](https://github.com/casey)) - Add instructions for skill to readme ([#3245](casey/just#3245) by [casey](https://github.com/casey)) - Remove comma in readme ([#3244](casey/just#3244) by [casey](https://github.com/casey)) - Move bash completion registration script into etc/ ([#3242](casey/just#3242) by [casey](https://github.com/casey)) - Avoid to\_string\_lossy in directory function tests ([#3232](casey/just#3232) by [casey](https://github.com/casey)) - Add installation overview ([#3231](casey/just#3231) by [casey](https://github.com/casey)) - Warn if invocation directory or justfile path is not Unicode ([#3230](casey/just#3230) by [casey](https://github.com/casey)) - Don't use make syntax highlighting in vim ([#2906](casey/just#2906) by [alerque](https://github.com/alerque)) - Fix Name Display impl to pad correctly ([#3222](casey/just#3222) by [casey](https://github.com/casey)) - Rename `evaluate_target` to `evaluation_target` ([#3220](casey/just#3220) by [casey](https://github.com/casey)) - Include recipe path in verbose output ([#3213](casey/just#3213) by [behnam-oneschema](https://github.com/behnam-oneschema)) - Move recipe methods onto resolved recipe ([#3214](casey/just#3214) by [casey](https://github.com/casey)) - Document that `semver_matches()` returns strings ([#3212](casey/just#3212) by [casey](https://github.com/casey)) - Build riscv64 release binaries ([#3210](casey/just#3210) by [gounthar](https://github.com/gounthar)) - Include shell name in I/O error messages ([#3208](casey/just#3208) by [casey](https://github.com/casey)) - Don't print signal error message if recipe has `[no-exit-message]` ([#3200](casey/just#3200) by [imp-joshi](https://github.com/imp-joshi)) --- ##### [\`1.48.1\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1481---2026-03-27) - Fix bash completion of command lines containing `:` ([#3205](casey/just#3205) by [casey](https://github.com/casey)) - Call zsh completion function when first auto-loaded ([#3199](casey/just#3199) by [casey](https://github.com/casey)) - Fix `--set` missing value error message interpolation ([#3198](casey/just#3198) by [cuiweixie](https://github.com/cuiweixie)) - Add `#compdef` to zsh completion script ([#3197](casey/just#3197) by [casey](https://github.com/casey)) - Add instructions for alias completions in bash ([#3190](casey/just#3190) by [casey](https://github.com/casey)) - Remove redundant clap derive attributes ([#3183](casey/just#3183) by [casey](https://github.com/casey)) - Move files into etc/ ([#3182](casey/just#3182) by [casey](https://github.com/casey)) - Update stable features in readme ([#3181](casey/just#3181) by [casey](https://github.com/casey)) --- ##### [\`1.48.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1480---2026-03-23) ##### Added - Build docker images ([#3174](casey/just#3174) by [casey](https://github.com/casey)) - Dynamically complete recipes for `--usage` ([#3172](casey/just#3172) by [casey](https://github.com/casey)) - Dynamically complete groups ([#3171](casey/just#3171) by [casey](https://github.com/casey)) - Dynamically complete recipes and variables ([#3169](casey/just#3169) by [casey](https://github.com/casey)) - Complete appropriate filetypes ([#3168](casey/just#3168) by [casey](https://github.com/casey)) - Allow overriding variables in submodules ([#3151](casey/just#3151) by [casey](https://github.com/casey)) - Add `--json` as synonym for `--dump --dump-format json` ([#3143](casey/just#3143) by [casey](https://github.com/casey)) ##### Changed - Stabilize lazy evaluation ([#3180](casey/just#3180) by [casey](https://github.com/casey)) - Switch to dynamic completion engine ([#3167](casey/just#3167) by [casey](https://github.com/casey)) - Respect PATH and PATHEXT when running commands on Windows ([#3160](casey/just#3160) by [casey](https://github.com/casey)) - Make `which()` and `require()` respect PATHEXT on Windows ([#3144](casey/just#3144) by [casey](https://github.com/casey)) ##### Misc - Add completion script installation instructions ([#3178](casey/just#3178) by [casey](https://github.com/casey)) - Fix readme typo ([#3176](casey/just#3176) by [Rohan5commit](https://github.com/Rohan5commit)) - Remove Vagrantfile ([#3173](casey/just#3173) by [casey](https://github.com/casey)) - Fix signal handling typo ([#3170](casey/just#3170) by [Rohan5commit](https://github.com/Rohan5commit)) - Add cargo-binstall installation instructions ([#3165](casey/just#3165) by [casey](https://github.com/casey)) - Fix typos ([#3162](casey/just#3162) by [casey](https://github.com/casey)) - Readme typo: forground ([#3161](casey/just#3161) by [Rohan5commit](https://github.com/Rohan5commit)) - Use clap derive to parse arguments ([#3158](casey/just#3158) by [casey](https://github.com/casey)) - Fix readme typo ([#3156](casey/just#3156) by [teee32](https://github.com/teee32)) - Document that path\_exists() returns strings ([#2946](casey/just#2946) by [cspotcode](https://github.com/cspotcode)) - Remove version references from readme headings ([#3153](casey/just#3153) by [casey](https://github.com/casey)) - Fix readme typo ([#3152](casey/just#3152) by [Rohan5commit](https://github.com/Rohan5commit)) - Fix variadic parameter typo in readme ([#3150](casey/just#3150) by [casey](https://github.com/casey)) - Fix readme typo ([#3148](casey/just#3148) by [Rohan5commit](https://github.com/Rohan5commit)) - Avoid conditional compilation ([#3145](casey/just#3145) by [casey](https://github.com/casey)) - Update VS Code extension in Chinese readme ([#2984](casey/just#2984) by [A-moment096](https://github.com/A-moment096)) - Change replace wording in readme ([#3137](casey/just#3137) by [Rohan5commit](https://github.com/Rohan5commit)) - Document recipe metadata ([#3142](casey/just#3142) by [casey](https://github.com/casey))
##### [\`1.49.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1490---2026-04-04) ##### Added - Add `--time` to print recipe execution time ([#3099](casey/just#3099) by [GeorgeLS](https://github.com/GeorgeLS)) - Add user-defined functions ([#3247](casey/just#3247) by [casey](https://github.com/casey)) - Add just skill for agents ([#3241](casey/just#3241) by [casey](https://github.com/casey)) - Allow expressions in confirm attribute ([#3238](casey/just#3238) by [begoon](https://github.com/begoon)) - Add `--complete-aliases` ([#3235](casey/just#3235) by [casey](https://github.com/casey)) - Add `--justfile-name` to configure justfile filename ([#3234](casey/just#3234) by [casey](https://github.com/casey)) - Add `runtime_directory()` function ([#3226](casey/just#3226) by [barskern](https://github.com/barskern)) - Add `--evaluate-format` ([#3221](casey/just#3221) by [casey](https://github.com/casey)) - Allow passing variable and module paths to `--evaluate` ([#3219](casey/just#3219) by [casey](https://github.com/casey)) - Add `--indentation` ([#3215](casey/just#3215) by [casey](https://github.com/casey)) - Add `module_file()` and `module_directory()` to readme ([#2965](casey/just#2965) by [cspotcode](https://github.com/cspotcode)) - Add Nix flake ([#2972](casey/just#2972) by [neunenak](https://github.com/neunenak)) ##### Fixed - Allow reading `.env` from special files ([#3250](casey/just#3250) by [casey](https://github.com/casey)) - Load environment files in submodules ([#3243](casey/just#3243) by [casey](https://github.com/casey)) - Avoid process substitution in bash completion script ([#3217](casey/just#3217) by [casey](https://github.com/casey)) - Dont pass shell name to powershell ([#3209](casey/just#3209) by [casey](https://github.com/casey)) ##### Misc - Add just implementation of rule110 ([#3249](casey/just#3249) by [casey](https://github.com/casey)) - Add instructions for skill to readme ([#3245](casey/just#3245) by [casey](https://github.com/casey)) - Remove comma in readme ([#3244](casey/just#3244) by [casey](https://github.com/casey)) - Move bash completion registration script into etc/ ([#3242](casey/just#3242) by [casey](https://github.com/casey)) - Avoid to\_string\_lossy in directory function tests ([#3232](casey/just#3232) by [casey](https://github.com/casey)) - Add installation overview ([#3231](casey/just#3231) by [casey](https://github.com/casey)) - Warn if invocation directory or justfile path is not Unicode ([#3230](casey/just#3230) by [casey](https://github.com/casey)) - Don't use make syntax highlighting in vim ([#2906](casey/just#2906) by [alerque](https://github.com/alerque)) - Fix Name Display impl to pad correctly ([#3222](casey/just#3222) by [casey](https://github.com/casey)) - Rename `evaluate_target` to `evaluation_target` ([#3220](casey/just#3220) by [casey](https://github.com/casey)) - Include recipe path in verbose output ([#3213](casey/just#3213) by [behnam-oneschema](https://github.com/behnam-oneschema)) - Move recipe methods onto resolved recipe ([#3214](casey/just#3214) by [casey](https://github.com/casey)) - Document that `semver_matches()` returns strings ([#3212](casey/just#3212) by [casey](https://github.com/casey)) - Build riscv64 release binaries ([#3210](casey/just#3210) by [gounthar](https://github.com/gounthar)) - Include shell name in I/O error messages ([#3208](casey/just#3208) by [casey](https://github.com/casey)) - Don't print signal error message if recipe has `[no-exit-message]` ([#3200](casey/just#3200) by [imp-joshi](https://github.com/imp-joshi)) --- ##### [\`1.48.1\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1481---2026-03-27) - Fix bash completion of command lines containing `:` ([#3205](casey/just#3205) by [casey](https://github.com/casey)) - Call zsh completion function when first auto-loaded ([#3199](casey/just#3199) by [casey](https://github.com/casey)) - Fix `--set` missing value error message interpolation ([#3198](casey/just#3198) by [cuiweixie](https://github.com/cuiweixie)) - Add `#compdef` to zsh completion script ([#3197](casey/just#3197) by [casey](https://github.com/casey)) - Add instructions for alias completions in bash ([#3190](casey/just#3190) by [casey](https://github.com/casey)) - Remove redundant clap derive attributes ([#3183](casey/just#3183) by [casey](https://github.com/casey)) - Move files into etc/ ([#3182](casey/just#3182) by [casey](https://github.com/casey)) - Update stable features in readme ([#3181](casey/just#3181) by [casey](https://github.com/casey)) --- ##### [\`1.48.0\`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1480---2026-03-23) ##### Added - Build docker images ([#3174](casey/just#3174) by [casey](https://github.com/casey)) - Dynamically complete recipes for `--usage` ([#3172](casey/just#3172) by [casey](https://github.com/casey)) - Dynamically complete groups ([#3171](casey/just#3171) by [casey](https://github.com/casey)) - Dynamically complete recipes and variables ([#3169](casey/just#3169) by [casey](https://github.com/casey)) - Complete appropriate filetypes ([#3168](casey/just#3168) by [casey](https://github.com/casey)) - Allow overriding variables in submodules ([#3151](casey/just#3151) by [casey](https://github.com/casey)) - Add `--json` as synonym for `--dump --dump-format json` ([#3143](casey/just#3143) by [casey](https://github.com/casey)) ##### Changed - Stabilize lazy evaluation ([#3180](casey/just#3180) by [casey](https://github.com/casey)) - Switch to dynamic completion engine ([#3167](casey/just#3167) by [casey](https://github.com/casey)) - Respect PATH and PATHEXT when running commands on Windows ([#3160](casey/just#3160) by [casey](https://github.com/casey)) - Make `which()` and `require()` respect PATHEXT on Windows ([#3144](casey/just#3144) by [casey](https://github.com/casey)) ##### Misc - Add completion script installation instructions ([#3178](casey/just#3178) by [casey](https://github.com/casey)) - Fix readme typo ([#3176](casey/just#3176) by [Rohan5commit](https://github.com/Rohan5commit)) - Remove Vagrantfile ([#3173](casey/just#3173) by [casey](https://github.com/casey)) - Fix signal handling typo ([#3170](casey/just#3170) by [Rohan5commit](https://github.com/Rohan5commit)) - Add cargo-binstall installation instructions ([#3165](casey/just#3165) by [casey](https://github.com/casey)) - Fix typos ([#3162](casey/just#3162) by [casey](https://github.com/casey)) - Readme typo: forground ([#3161](casey/just#3161) by [Rohan5commit](https://github.com/Rohan5commit)) - Use clap derive to parse arguments ([#3158](casey/just#3158) by [casey](https://github.com/casey)) - Fix readme typo ([#3156](casey/just#3156) by [teee32](https://github.com/teee32)) - Document that path\_exists() returns strings ([#2946](casey/just#2946) by [cspotcode](https://github.com/cspotcode)) - Remove version references from readme headings ([#3153](casey/just#3153) by [casey](https://github.com/casey)) - Fix readme typo ([#3152](casey/just#3152) by [Rohan5commit](https://github.com/Rohan5commit)) - Fix variadic parameter typo in readme ([#3150](casey/just#3150) by [casey](https://github.com/casey)) - Fix readme typo ([#3148](casey/just#3148) by [Rohan5commit](https://github.com/Rohan5commit)) - Avoid conditional compilation ([#3145](casey/just#3145) by [casey](https://github.com/casey)) - Update VS Code extension in Chinese readme ([#2984](casey/just#2984) by [A-moment096](https://github.com/A-moment096)) - Change replace wording in readme ([#3137](casey/just#3137) by [Rohan5commit](https://github.com/Rohan5commit)) - Document recipe metadata ([#3142](casey/just#3142) by [casey](https://github.com/casey))
As part of this PR, I have added a new simple feature for printing elapsed time of recipes.
The output format is really simple:
<materialized_recipe> (<elapsed_time>).Here's an example of two recipes and the output for those:
Recipe 1:
Output:
Recipe 2:
Invocation:
Output:
The duration is reported as soon as the recipe finishes.
Please note that if you have recursive recipes where you basically invoke
justinside the recipe, the time reporting won't be propagated to the recursive invocation. If you want to measure the inner-invoked recipe, just pass-t/--timeto the innerjustinvocation.