Add format argument to [timestamp] attribute - #3681
Merged
Merged
Conversation
casey
enabled auto-merge (squash)
July 26, 2026 04:21
1 task
hbjydev
pushed a commit
to hbjydev/phoebe
that referenced
this pull request
Aug 27, 2026
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [just](https://github.com/casey/just) | minor | `1.46.0` → `1.58.0` |
---
> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/141) for more information.
---
### Release Notes
<details>
<summary>casey/just (just)</summary>
### [`v1.58.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1580---2026-08-03)
[Compare Source](https://github.com/casey/just/compare/1.57.0...1.58.0)
##### Changed
- Surround interoplation expressions with spaces when formatting ([#​3685](https://github.com/casey/just/pull/3685) by [casey](https://github.com/casey))
- Accept multiple `,`-separated values in `--justfile-name` ([#​3676](https://github.com/casey/just/pull/3676) by [casey](https://github.com/casey))
##### Added
- Add format argument to `[timestamp]` attribute ([#​3681](https://github.com/casey/just/pull/3681) by [casey](https://github.com/casey))
- Add `[timestamp]` recipe attribute ([#​3680](https://github.com/casey/just/pull/3680) by [casey](https://github.com/casey))
##### Misc
- Note that `no-cd` only affects recipe working directory ([#​3679](https://github.com/casey/just/pull/3679) by [casey](https://github.com/casey))
- Link to GitHub from docs ([#​3674](https://github.com/casey/just/pull/3674) by [casey](https://github.com/casey))
### [`v1.57.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1570---2026-07-18)
[Compare Source](https://github.com/casey/just/compare/1.56.0...1.57.0)
##### Changed
- Pass arguments to `cmd.exe` without escaping ([#​3636](https://github.com/casey/just/pull/3636) by [casey](https://github.com/casey))
- `split('')` splits into characters ([#​3650](https://github.com/casey/just/pull/3650) by [casey](https://github.com/casey))
- Accept markdown justfiles found by name ([#​3648](https://github.com/casey/just/pull/3648) by [casey](https://github.com/casey))
- Make `[env]` variables visible to `shell()` invocations ([#​3631](https://github.com/casey/just/pull/3631) by [casey](https://github.com/casey))
- Forbid duplicate groups ([#​3626](https://github.com/casey/just/pull/3626) by [casey](https://github.com/casey))
- Forbid option names beginning with `-` ([#​3608](https://github.com/casey/just/pull/3608) by [casey](https://github.com/casey))
- Don't accept option arguments starting with `-=` or `--=` ([#​3607](https://github.com/casey/just/pull/3607) by [casey](https://github.com/casey))
- Reject empty alphabet in `choose()` regardless of count ([#​3605](https://github.com/casey/just/pull/3605) by [casey](https://github.com/casey))
- Forbid `[arg(flag)]` with `[arg(pattern)]` ([#​3602](https://github.com/casey/just/pull/3602) by [casey](https://github.com/casey))
- Add extension to cache key ([#​3600](https://github.com/casey/just/pull/3600) by [casey](https://github.com/casey))
##### Fixed
- Don't reevaluate lazy assignments in user-defined functions ([#​3654](https://github.com/casey/just/pull/3654) by [casey](https://github.com/casey))
- Don't print parenthesis around dependencies without arguments ([#​3653](https://github.com/casey/just/pull/3653) by [casey](https://github.com/casey))
- Accept override paths containing module aliases ([#​3652](https://github.com/casey/just/pull/3652) by [casey](https://github.com/casey))
- Fix line number in error message after multi-line interpolation ([#​3646](https://github.com/casey/just/pull/3646) by [casey](https://github.com/casey))
- Don't execute dotenv commands during dry run ([#​3644](https://github.com/casey/just/pull/3644) by [casey](https://github.com/casey))
- Only run `dotenv-command` in root module ([#​3643](https://github.com/casey/just/pull/3643) by [casey](https://github.com/casey))
- Detect module cycle when path uses `..` ([#​3641](https://github.com/casey/just/pull/3641) by [casey](https://github.com/casey))
- Recipes with `[arg(min)]` greater than zero cannot be default ([#​3639](https://github.com/casey/just/pull/3639) by [casey](https://github.com/casey))
- Avoid panic in ambiguous module file error ([#​3638](https://github.com/casey/just/pull/3638) by [casey](https://github.com/casey))
- Consider value when checking for setting conflicts ([#​3627](https://github.com/casey/just/pull/3627) by [casey](https://github.com/casey))
- Ignore disabled indentation settings ([#​3618](https://github.com/casey/just/pull/3618) by [casey](https://github.com/casey))
- Reject duplicate function parameters ([#​3611](https://github.com/casey/just/pull/3611) by [casey](https://github.com/casey))
- Allow defaulted option before required positional parameter ([#​3609](https://github.com/casey/just/pull/3609) by [casey](https://github.com/casey))
- Truncate cache entry before writing ([#​3603](https://github.com/casey/just/pull/3603) by [casey](https://github.com/casey))
- Ignore absent optional modules under `--allow-missing` ([#​3601](https://github.com/casey/just/pull/3601) by [casey](https://github.com/casey))
##### Added
- Add `len()` function ([#​3663](https://github.com/casey/just/pull/3663) by [casey](https://github.com/casey))
- Avoid panic when passed parentless justfile path ([#​3624](https://github.com/casey/just/pull/3624) by [casey](https://github.com/casey))
##### Misc
- Fix flags and options link in readme ([#​3669](https://github.com/casey/just/pull/3669) by [casey](https://github.com/casey))
- Add `else if` to grammar ([#​3667](https://github.com/casey/just/pull/3667) by [casey](https://github.com/casey))
- Remove function context macro ([#​3659](https://github.com/casey/just/pull/3659) by [casey](https://github.com/casey))
- Remove on-demand assignment evaluation ([#​3658](https://github.com/casey/just/pull/3658) by [casey](https://github.com/casey))
- Compute assignment references for `--evaluate` ([#​3657](https://github.com/casey/just/pull/3657) by [casey](https://github.com/casey))
- Evaluate const assignments in evaluation order ([#​3656](https://github.com/casey/just/pull/3656) by [casey](https://github.com/casey))
- Collect references transitively ([#​3655](https://github.com/casey/just/pull/3655) by [casey](https://github.com/casey))
- Serialize dependency path in JSON ([#​3651](https://github.com/casey/just/pull/3651) by [casey](https://github.com/casey))
- Print full recipe path for alias targets in `--show` and `--usage` ([#​3649](https://github.com/casey/just/pull/3649) by [casey](https://github.com/casey))
- Reject unexpected arguments to `--completions` ([#​3642](https://github.com/casey/just/pull/3642) by [casey](https://github.com/casey))
- Use recipe path in usage hint ([#​3635](https://github.com/casey/just/pull/3635) by [casey](https://github.com/casey))
- Trim non-cycle prefix from circular variable dependency errors ([#​3634](https://github.com/casey/just/pull/3634) by [casey](https://github.com/casey))
- Suggest similarly named submodules ([#​3633](https://github.com/casey/just/pull/3633) by [casey](https://github.com/casey))
- Report disabled recipes and aliases in `--show` and `--usage` ([#​3632](https://github.com/casey/just/pull/3632) by [casey](https://github.com/casey))
- Respect `--no-highlight` when echoing script recipes ([#​3630](https://github.com/casey/just/pull/3630) by [casey](https://github.com/casey))
- Report undefined variables in order ([#​3629](https://github.com/casey/just/pull/3629) by [casey](https://github.com/casey))
- Report correct final recipe in circular dependencies ([#​3628](https://github.com/casey/just/pull/3628) by [casey](https://github.com/casey))
- Ignore files with module directory name ([#​3625](https://github.com/casey/just/pull/3625) by [casey](https://github.com/casey))
- Dump unexports in alphabetical order ([#​3623](https://github.com/casey/just/pull/3623) by [casey](https://github.com/casey))
- Reject extra arguments to `--groups` ([#​3622](https://github.com/casey/just/pull/3622) by [casey](https://github.com/casey))
- Reject search-path-prefixes with `--global-justfile` ([#​3621](https://github.com/casey/just/pull/3621) by [casey](https://github.com/casey))
- Refactor AST display ([#​3620](https://github.com/casey/just/pull/3620) by [casey](https://github.com/casey))
- Format justfile with no items as empty string ([#​3619](https://github.com/casey/just/pull/3619) by [casey](https://github.com/casey))
- Return search errors other than `NotFound` during fallback ([#​3617](https://github.com/casey/just/pull/3617) by [casey](https://github.com/casey))
- Propagate more exit codes ([#​3615](https://github.com/casey/just/pull/3615) by [casey](https://github.com/casey))
- Use interpreter file name to determine script shell kind ([#​3614](https://github.com/casey/just/pull/3614) by [casey](https://github.com/casey))
- Resolve module aliases in `--evaluate` paths ([#​3613](https://github.com/casey/just/pull/3613) by [casey](https://github.com/casey))
- Trim and ignore empty doc comments ([#​3612](https://github.com/casey/just/pull/3612) by [casey](https://github.com/casey))
- Blame second recipe for duplicate `[default]` attribute ([#​3610](https://github.com/casey/just/pull/3610) by [casey](https://github.com/casey))
- Visit modules in order in `--choose` ([#​3606](https://github.com/casey/just/pull/3606) by [casey](https://github.com/casey))
- Include path in `canonicalize()` error message ([#​3604](https://github.com/casey/just/pull/3604) by [casey](https://github.com/casey))
- Remove fuzzer ([#​3599](https://github.com/casey/just/pull/3599) by [casey](https://github.com/casey))
### [`v1.56.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1560---2026-07-09)
[Compare Source](https://github.com/casey/just/compare/1.55.1...1.56.0)
##### Fixed
- Omit authorization header in install script if GITHUB\_TOKEN is empty ([#​3595](https://github.com/casey/just/pull/3595) by [casey](https://github.com/casey))
- Evaluate assignments in dependency order ([#​3591](https://github.com/casey/just/pull/3591) by [casey](https://github.com/casey))
- Do not run `shell()` commands during dry run ([#​3588](https://github.com/casey/just/pull/3588) by [casey](https://github.com/casey))
- List aliases for recipes in other modules ([#​3581](https://github.com/casey/just/pull/3581) by [casey](https://github.com/casey))
- Don't unindent format strings twice ([#​3579](https://github.com/casey/just/pull/3579) by [casey](https://github.com/casey))
- Include doc comments and attributes in `--show` ([#​3578](https://github.com/casey/just/pull/3578) by [casey](https://github.com/casey))
- Don't resolve submodule variables to parent module variables ([#​3577](https://github.com/casey/just/pull/3577) by [casey](https://github.com/casey))
- Show dependency paths ([#​3576](https://github.com/casey/just/pull/3576) by [casey](https://github.com/casey))
- Reject shell-expanded string identifier in format string interpolation ([#​3575](https://github.com/casey/just/pull/3575) by [casey](https://github.com/casey))
- Resolve variables in `[cache]` expressions ([#​3573](https://github.com/casey/just/pull/3573) by [casey](https://github.com/casey))
- Preserve blank CRLF lines between recipes ([#​3568](https://github.com/casey/just/pull/3568) by [casey](https://github.com/casey))
- Report mixed leading whitespace in recipe bodies ([#​3567](https://github.com/casey/just/pull/3567) by [casey](https://github.com/casey))
- Preserve `eager` keyword in `--dump` and `--fmt` ([#​3565](https://github.com/casey/just/pull/3565) by [casey](https://github.com/casey))
- Export `[env]` variables to recipe bodies ([#​3566](https://github.com/casey/just/pull/3566) by [casey](https://github.com/casey))
- Don't add trailing space to empty doc comments ([#​3564](https://github.com/casey/just/pull/3564) by [casey](https://github.com/casey))
- Preserve CRLF when unindenting blank lines ([#​3563](https://github.com/casey/just/pull/3563) by [casey](https://github.com/casey))
- Include parameter `multiple` in dump ([#​3562](https://github.com/casey/just/pull/3562) by [casey](https://github.com/casey))
- Skip private variables when calculating `--evaluate` padding ([#​3561](https://github.com/casey/just/pull/3561) by [casey](https://github.com/casey))
- Don't show flag placeholders in `--usage` ([#​3559](https://github.com/casey/just/pull/3559) by [casey](https://github.com/casey))
- Fix `is_dependency()` in `[confirm]` expressions ([#​3558](https://github.com/casey/just/pull/3558) by [casey](https://github.com/casey))
- Skip private modules when choosing ([#​3557](https://github.com/casey/just/pull/3557) by [casey](https://github.com/casey))
- Don't re-evaluate assignments in user-defined functions ([#​3555](https://github.com/casey/just/pull/3555) by [casey](https://github.com/casey))
- Forbid format-string backticks ([#​3554](https://github.com/casey/just/pull/3554) by [casey](https://github.com/casey))
- Don't use shebangs as doc comments ([#​3553](https://github.com/casey/just/pull/3553) by [casey](https://github.com/casey))
- Don't deduplicate ASTs ([#​3552](https://github.com/casey/just/pull/3552) by [casey](https://github.com/casey))
- Allow escaping CRLF in strings ([#​3550](https://github.com/casey/just/pull/3550) by [casey](https://github.com/casey))
- Ignore sigils on continuation lines ([#​3549](https://github.com/casey/just/pull/3549) by [casey](https://github.com/casey))
- Catch circular references though function calls ([#​3548](https://github.com/casey/just/pull/3548) by [casey](https://github.com/casey))
- Resolve references in module `[doc]` attributes ([#​3547](https://github.com/casey/just/pull/3547) by [casey](https://github.com/casey))
- Avoid exponential blowup when traversing dependencies ([#​3546](https://github.com/casey/just/pull/3546) by [casey](https://github.com/casey))
- Handle invalid shebang lines ([#​3545](https://github.com/casey/just/pull/3545) by [casey](https://github.com/casey))
- Fix variable shadowing ([#​3543](https://github.com/casey/just/pull/3543) by [casey](https://github.com/casey))
- Handle timestamp formatting errors ([#​3542](https://github.com/casey/just/pull/3542) by [casey](https://github.com/casey))
- Display correct mismatched delimiter in format string ([#​3540](https://github.com/casey/just/pull/3540) by [casey](https://github.com/casey))
- Handle unterminated format string ([#​3539](https://github.com/casey/just/pull/3539) by [casey](https://github.com/casey))
- Error on end-of-file after backslash ([#​3538](https://github.com/casey/just/pull/3538) by [casey](https://github.com/casey))
##### Changed
- Make `path_exists('')` return false ([#​3570](https://github.com/casey/just/pull/3570) by [casey](https://github.com/casey))
- Make `set ignore-comments` only apply to shell recipes ([#​3544](https://github.com/casey/just/pull/3544) by [casey](https://github.com/casey))
- Remove `!include` error ([#​3541](https://github.com/casey/just/pull/3541) by [casey](https://github.com/casey))
- Allow `[doc]` to be const expression ([#​3516](https://github.com/casey/just/pull/3516) by [casey](https://github.com/casey))
- Allow conditional attributes on all items ([#​3515](https://github.com/casey/just/pull/3515) by [casey](https://github.com/casey))
##### Added
- Resolve module aliases in `--show`, `--list`, and `--usage` ([#​3580](https://github.com/casey/just/pull/3580) by [casey](https://github.com/casey))
- Add `num_jobs()` function ([#​3537](https://github.com/casey/just/pull/3537) by [casey](https://github.com/casey))
- Add `--jobs` option to limit parallelism ([#​3531](https://github.com/casey/just/pull/3531) by [casey](https://github.com/casey))
- Add `indentation` setting ([#​3530](https://github.com/casey/just/pull/3530) by [casey](https://github.com/casey))
- Add `[arg(min)]` ([#​3524](https://github.com/casey/just/pull/3524) by [casey](https://github.com/casey))
- Add `[arg(max)]` ([#​3522](https://github.com/casey/just/pull/3522) by [casey](https://github.com/casey))
##### Misc
- Construct `ExpressionContext` with `.into()` ([#​3590](https://github.com/casey/just/pull/3590) by [casey](https://github.com/casey))
- Add Spack package to readme ([#​3589](https://github.com/casey/just/pull/3589) by [casey](https://github.com/casey))
- Look up variables by number ([#​3585](https://github.com/casey/just/pull/3585) by [casey](https://github.com/casey))
- Consolidate variable resolution ([#​3584](https://github.com/casey/just/pull/3584) by [casey](https://github.com/casey))
- Add `ListEntry` ([#​3583](https://github.com/casey/just/pull/3583) by [casey](https://github.com/casey))
- Give format string token kinds unique display implementations ([#​3574](https://github.com/casey/just/pull/3574) by [casey](https://github.com/casey))
- Update `[arg(min, max)]` description in readme ([#​3572](https://github.com/casey/just/pull/3572) by [casey](https://github.com/casey))
- Move lexiclean into source tree ([#​3569](https://github.com/casey/just/pull/3569) by [casey](https://github.com/casey))
- Remove debug assert in `Recipe::group_arguments()` ([#​3560](https://github.com/casey/just/pull/3560) by [casey](https://github.com/casey))
- Deprecate `set windows-shell` ([#​3536](https://github.com/casey/just/pull/3536) by [casey](https://github.com/casey))
- Move `[arg]` attribute construction into helper method ([#​3525](https://github.com/casey/just/pull/3525) by [casey](https://github.com/casey))
- Consolidate attribute display ([#​3514](https://github.com/casey/just/pull/3514) by [casey](https://github.com/casey))
### [`v1.55.1`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1551---2026-06-29)
[Compare Source](https://github.com/casey/just/compare/1.55.0...1.55.1)
##### Fixed
- Fix panic when empty path is passed to `--show` and `--usage` ([#​3511](https://github.com/casey/just/pull/3511) by [casey](https://github.com/casey))
##### Misc
- Upgrade sha2 to 0.11.0 ([#​3512](https://github.com/casey/just/pull/3512) by [casey](https://github.com/casey))
- Remove `Test::test_round_trip()` ([#​3509](https://github.com/casey/just/pull/3509) by [casey](https://github.com/casey))
- Remove round-trip testing ([#​3508](https://github.com/casey/just/pull/3508) by [casey](https://github.com/casey))
### [`v1.55.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1550---2026-06-29)
[Compare Source](https://github.com/casey/just/compare/1.54.0...1.55.0)
##### Fixed
- Fix forwarded dependency flag value ([#​3489](https://github.com/casey/just/pull/3489) by [casey](https://github.com/casey))
##### Changed
- Allow `[arg(pattern)]` to be a list ([#​3484](https://github.com/casey/just/pull/3484) by [casey](https://github.com/casey))
- Allow `[arg(help)]` to be expression ([#​3483](https://github.com/casey/just/pull/3483) by [casey](https://github.com/casey))
- Allow `[arg(pattern)]` to be expression ([#​3482](https://github.com/casey/just/pull/3482) by [casey](https://github.com/casey))
##### Added
- Add stream gates to `style()` ([#​3503](https://github.com/casey/just/pull/3503) by [casey](https://github.com/casey))
- Accept `-F` for `--dotenv-filename` ([#​3498](https://github.com/casey/just/pull/3498) by [casey](https://github.com/casey))
- Add `just_version()` function ([#​3497](https://github.com/casey/just/pull/3497) by [casey](https://github.com/casey))
- Add `[arg(multiple)]` ([#​3493](https://github.com/casey/just/pull/3493) by [casey](https://github.com/casey))
- Allow combining short options ([#​3490](https://github.com/casey/just/pull/3490) by [casey](https://github.com/casey))
- Allow variadic parameters to be options ([#​3488](https://github.com/casey/just/pull/3488) by [casey](https://github.com/casey))
- Default `[arg(short)]` to first character of parameter name ([#​3486](https://github.com/casey/just/pull/3486) by [casey](https://github.com/casey))
- Add support for RGB and fixed colors to `style()` ([#​3479](https://github.com/casey/just/pull/3479) by [casey](https://github.com/casey))
- Improve `style()` function ([#​3478](https://github.com/casey/just/pull/3478) by [casey](https://github.com/casey))
- Add `set minimum-version` ([#​3477](https://github.com/casey/just/pull/3477) by [casey](https://github.com/casey))
- Add module aliases ([#​3472](https://github.com/casey/just/pull/3472) by [casey](https://github.com/casey))
##### Misc
- Add example to cached recipes readme ([#​3506](https://github.com/casey/just/pull/3506) by [casey](https://github.com/casey))
- Fix readme heading levels ([#​3505](https://github.com/casey/just/pull/3505) by [casey](https://github.com/casey))
- Move Friendly Admonitions higher in Cached Recipes section ([#​3504](https://github.com/casey/just/pull/3504) by [casey](https://github.com/casey))
- Rename test helper functions ([#​3502](https://github.com/casey/just/pull/3502) by [casey](https://github.com/casey))
- Simplify tests ([#​3501](https://github.com/casey/just/pull/3501) by [casey](https://github.com/casey))
- Use `assert_eval_eq` in tests ([#​3499](https://github.com/casey/just/pull/3499) by [casey](https://github.com/casey))
- Expand readme intro list ([#​3496](https://github.com/casey/just/pull/3496) by [casey](https://github.com/casey))
- Organize readme into sections ([#​3495](https://github.com/casey/just/pull/3495) by [casey](https://github.com/casey))
- Rename option tests ([#​3494](https://github.com/casey/just/pull/3494) by [casey](https://github.com/casey))
- Move option application to `switch.apply()` ([#​3491](https://github.com/casey/just/pull/3491) by [casey](https://github.com/casey))
- Document that `[arg(help)]` may be a list ([#​3485](https://github.com/casey/just/pull/3485) by [casey](https://github.com/casey))
- Move override processing out of `Analyzer` ([#​3481](https://github.com/casey/just/pull/3481) by [casey](https://github.com/casey))
- Add `ConstEvalError` ([#​3480](https://github.com/casey/just/pull/3480) by [casey](https://github.com/casey))
- Remove `ModuleAlias` ([#​3475](https://github.com/casey/just/pull/3475) by [casey](https://github.com/casey))
- Chain tests ([#​3476](https://github.com/casey/just/pull/3476) by [casey](https://github.com/casey))
- Remove temptree dependency ([#​3473](https://github.com/casey/just/pull/3473) by [casey](https://github.com/casey))
- Simplify show tests ([#​3471](https://github.com/casey/just/pull/3471) by [casey](https://github.com/casey))
- Remove unnecessary tab escapes ([#​3470](https://github.com/casey/just/pull/3470) by [casey](https://github.com/casey))
- Indent `Test::write()` strings ([#​3469](https://github.com/casey/just/pull/3469) by [casey](https://github.com/casey))
- Document cache key printing ([#​3468](https://github.com/casey/just/pull/3468) by [casey](https://github.com/casey))
- Remove generic argument from `Count` ([#​3467](https://github.com/casey/just/pull/3467) by [casey](https://github.com/casey))
### [`v1.54.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1540---2026-06-22)
[Compare Source](https://github.com/casey/just/compare/1.53.0...1.54.0)
##### Fixed
- Forbid duplicate attribute keys ([#​3454](https://github.com/casey/just/pull/3454) by [casey](https://github.com/casey))
- Clear signal handler when infallible line catches signal ([#​3444](https://github.com/casey/just/pull/3444) by [casey](https://github.com/casey))
##### Changed
- Allow passing `--dotenv-command` multiple times ([#​3445](https://github.com/casey/just/pull/3445) by [casey](https://github.com/casey))
- Allow `[arg]` `value` to be expression ([#​3429](https://github.com/casey/just/pull/3429) by [casey](https://github.com/casey))
##### Added
- Add `[continue]` attribute ([#​3442](https://github.com/casey/just/pull/3442) by [casey](https://github.com/casey))
- Add `--dotenv-command` and `set dotenv-command` ([#​3441](https://github.com/casey/just/pull/3441) by [casey](https://github.com/casey))
##### Cached Recipes
- Add cache key to verbose output ([#​3465](https://github.com/casey/just/pull/3465) by [casey](https://github.com/casey))
- Add `--no-cache` flag ([#​3463](https://github.com/casey/just/pull/3463) by [casey](https://github.com/casey))
- Remove empty cache entries with `just --clean` ([#​3462](https://github.com/casey/just/pull/3462) by [casey](https://github.com/casey))
- Add `just --clean` instructions to readme ([#​3461](https://github.com/casey/just/pull/3461) by [casey](https://github.com/casey))
- Allow filtering `--clean` by recipe and module path ([#​3460](https://github.com/casey/just/pull/3460) by [casey](https://github.com/casey))
- Add `--clean` subcommand for clearing recipe cache ([#​3459](https://github.com/casey/just/pull/3459) by [casey](https://github.com/casey))
- Include recipe name in cache entries ([#​3457](https://github.com/casey/just/pull/3457) by [casey](https://github.com/casey))
- Add extra user-supplied cache key ([#​3456](https://github.com/casey/just/pull/3456) by [casey](https://github.com/casey))
- Fix working directory cache key ([#​3455](https://github.com/casey/just/pull/3455) by [casey](https://github.com/casey))
- Add output files to cached recipes ([#​3453](https://github.com/casey/just/pull/3453) by [casey](https://github.com/casey))
- Add file inputs to cached recipes ([#​3452](https://github.com/casey/just/pull/3452) by [casey](https://github.com/casey))
- Use body lines in cache key ([#​3451](https://github.com/casey/just/pull/3451) by [casey](https://github.com/casey))
- Use recipe body in cache key instead of lines ([#​3447](https://github.com/casey/just/pull/3447) by [casey](https://github.com/casey))
- Add additional cache keys ([#​3446](https://github.com/casey/just/pull/3446) by [casey](https://github.com/casey))
- Add cached recipes ([#​3437](https://github.com/casey/just/pull/3437) by [casey](https://github.com/casey))
##### Misc
- Rename `AttributeDiscriminant` to `AttributeKind` ([#​3464](https://github.com/casey/just/pull/3464) by [casey](https://github.com/casey))
- Improve invalid shell recipe attribute error message ([#​3458](https://github.com/casey/just/pull/3458) by [casey](https://github.com/casey))
- Add `Environment` struct ([#​3450](https://github.com/casey/just/pull/3450) by [casey](https://github.com/casey))
- Remove `Test::no_justfile()` ([#​3449](https://github.com/casey/just/pull/3449) by [casey](https://github.com/casey))
- Use plural consistently in `UnstableFeature` enum ([#​3448](https://github.com/casey/just/pull/3448) by [casey](https://github.com/casey))
- Lowercase `ctrl` consistently ([#​3443](https://github.com/casey/just/pull/3443) by [casey](https://github.com/casey))
- Add activating environments section to readme ([#​3440](https://github.com/casey/just/pull/3440) by [casey](https://github.com/casey))
- Bump minimum-supported Rust version to 1.89.0 ([#​3438](https://github.com/casey/just/pull/3438) by [casey](https://github.com/casey))
- Make non-unicode error messages consistent ([#​3436](https://github.com/casey/just/pull/3436) by [casey](https://github.com/casey))
- Lowercase function error messages ([#​3435](https://github.com/casey/just/pull/3435) by [casey](https://github.com/casey))
- Reword readme ([#​3433](https://github.com/casey/just/pull/3433) by [casey](https://github.com/casey))
- Remove emacs `Local Variables:` block from justfile ([#​3432](https://github.com/casey/just/pull/3432) by [casey](https://github.com/casey))
### [`v1.53.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1530---2026-06-16)
[Compare Source](https://github.com/casey/just/compare/1.52.0...1.53.0)
##### Added
- Add `recipe_name()` function ([#​3366](https://github.com/casey/just/pull/3366) by [casey](https://github.com/casey))
- Support markdown justfiles ([#​3361](https://github.com/casey/just/pull/3361) by [casey](https://github.com/casey))
##### Changed
- Allow omitting `assert()` message ([#​3423](https://github.com/casey/just/pull/3423) by [casey](https://github.com/casey))
- Preserve bare `[arg]` long key when formatting ([#​3397](https://github.com/casey/just/pull/3397) by [casey](https://github.com/casey))
##### Lists
- Add list concatenation operator ([#​3427](https://github.com/casey/just/pull/3427) by [casey](https://github.com/casey))
- Do not export empty lists ([#​3424](https://github.com/casey/just/pull/3424) by [casey](https://github.com/casey))
- Add `split()` function ([#​3420](https://github.com/casey/just/pull/3420) by [casey](https://github.com/casey))
- Make `which()` require `set lists` ([#​3418](https://github.com/casey/just/pull/3418) by [casey](https://github.com/casey))
- Make `env()` functions work with lists ([#​3416](https://github.com/casey/just/pull/3416) by [casey](https://github.com/casey))
- Make `+` and `/` work with lists ([#​3415](https://github.com/casey/just/pull/3415) by [casey](https://github.com/casey))
- Allow lists as regex operands of `=~` and `!~` ([#​3414](https://github.com/casey/just/pull/3414) by [casey](https://github.com/casey))
- Allow multiple `--dotenv-filename` and `--dotenv-path` options ([#​3413](https://github.com/casey/just/pull/3413) by [casey](https://github.com/casey))
- Load multiple `.env` files ([#​3412](https://github.com/casey/just/pull/3412) by [casey](https://github.com/casey))
- Flatten interpreter settings ([#​3410](https://github.com/casey/just/pull/3410) by [casey](https://github.com/casey))
- Make `[env]` work with lists ([#​3409](https://github.com/casey/just/pull/3409) by [casey](https://github.com/casey))
- Join lists in `assert()` and `[confirm]` messages ([#​3408](https://github.com/casey/just/pull/3408) by [casey](https://github.com/casey))
- Join lists in interpolations ([#​3407](https://github.com/casey/just/pull/3407) by [casey](https://github.com/casey))
- Using lists in string contexts is an error ([#​3406](https://github.com/casey/just/pull/3406) by [casey](https://github.com/casey))
- `assert(condition)` evaluates to `condition` ([#​3405](https://github.com/casey/just/pull/3405) by [casey](https://github.com/casey))
- Make `assert()` evaluate to `"true"` when `set lists` is enabled ([#​3404](https://github.com/casey/just/pull/3404) by [casey](https://github.com/casey))
- Make `=~` and `!~` work with lists ([#​3403](https://github.com/casey/just/pull/3403) by [casey](https://github.com/casey))
- `if` without `else` evalutes to `[]` when false ([#​3401](https://github.com/casey/just/pull/3401) by [casey](https://github.com/casey))
- Check structural equality in `!=` and `==` ([#​3402](https://github.com/casey/just/pull/3402) by [casey](https://github.com/casey))
- Add `flag` `[arg]` attribute ([#​3398](https://github.com/casey/just/pull/3398) by [casey](https://github.com/casey))
- Make `show()` require `set lists` ([#​3392](https://github.com/casey/just/pull/3392) by [casey](https://github.com/casey))
- Add `bool()` function ([#​3391](https://github.com/casey/just/pull/3391) by [casey](https://github.com/casey))
- Add negation operator `!` ([#​3389](https://github.com/casey/just/pull/3389) by [casey](https://github.com/casey))
- Allow conditions to be used in arbitrary expressions ([#​3387](https://github.com/casey/just/pull/3387) by [casey](https://github.com/casey))
- Add `show()` function ([#​3383](https://github.com/casey/just/pull/3383) by [casey](https://github.com/casey))
- Print lists in `--evaluate` ([#​3382](https://github.com/casey/just/pull/3382) by [casey](https://github.com/casey))
- Reform booleans ([#​3381](https://github.com/casey/just/pull/3381) by [casey](https://github.com/casey))
- Add list literals ([#​3380](https://github.com/casey/just/pull/3380) by [casey](https://github.com/casey))
- Allow mapping dependencies over lists ([#​3379](https://github.com/casey/just/pull/3379) by [casey](https://github.com/casey))
- Forwards lists to dependencies ([#​3378](https://github.com/casey/just/pull/3378) by [casey](https://github.com/casey))
- Map `append()` and `prepend()` over lists ([#​3375](https://github.com/casey/just/pull/3375) by [casey](https://github.com/casey))
- Map `absolute_path()` over lists ([#​3374](https://github.com/casey/just/pull/3374) by [casey](https://github.com/casey))
- Add `set lists` ([#​3372](https://github.com/casey/just/pull/3372) by [casey](https://github.com/casey))
- Preserve variadic arguments as lists of strings ([#​3362](https://github.com/casey/just/pull/3362) by [casey](https://github.com/casey))
##### Misc
- Improve broken WSL bash workaround ([#​3426](https://github.com/casey/just/pull/3426) by [casey](https://github.com/casey))
- Fix `[arg]` attribute examples in readme ([#​3422](https://github.com/casey/just/pull/3422) by [casey](https://github.com/casey))
- Organize lists readme section ([#​3421](https://github.com/casey/just/pull/3421) by [casey](https://github.com/casey))
- Remove extra detail from most list in string context errors ([#​3417](https://github.com/casey/just/pull/3417) by [casey](https://github.com/casey))
- Add tokens to `[env]` and `[working-directory]` string context errors ([#​3411](https://github.com/casey/just/pull/3411) by [casey](https://github.com/casey))
- Reduce parser test churn ([#​3400](https://github.com/casey/just/pull/3400) by [casey](https://github.com/casey))
- Add example using `[parallel]` with mapped dependencies ([#​3399](https://github.com/casey/just/pull/3399) by [casey](https://github.com/casey))
- Use `StringResult` and `ValueResult` instead of `FunctionResult` ([#​3396](https://github.com/casey/just/pull/3396) by [casey](https://github.com/casey))
- Allow stable calls to user-defined functions that shadow unstable functions ([#​3395](https://github.com/casey/just/pull/3395) by [casey](https://github.com/casey))
- Replace rule 110 with rule 124 ([#​3394](https://github.com/casey/just/pull/3394) by [casey](https://github.com/casey))
- Consolidate list feature errors ([#​3393](https://github.com/casey/just/pull/3393) by [casey](https://github.com/casey))
- Simplify `Lexer::lex_choices()` ([#​3390](https://github.com/casey/just/pull/3390) by [casey](https://github.com/casey))
- Consolidate list feature tracking ([#​3388](https://github.com/casey/just/pull/3388) by [casey](https://github.com/casey))
- Refactor function context retrieval ([#​3386](https://github.com/casey/just/pull/3386) by [casey](https://github.com/casey))
- Remove `summary` module ([#​3385](https://github.com/casey/just/pull/3385) by [casey](https://github.com/casey))
- Use `show()` and `--evaluate` in tests ([#​3384](https://github.com/casey/just/pull/3384) by [casey](https://github.com/casey))
- Include number in counts ([#​3376](https://github.com/casey/just/pull/3376) by [casey](https://github.com/casey))
- Improve list tests ([#​3373](https://github.com/casey/just/pull/3373) by [casey](https://github.com/casey))
- Add `rule110` recipe to `demo` group ([#​3368](https://github.com/casey/just/pull/3368) by [casey](https://github.com/casey))
- Move doc comments above long recipe signatures in `--list` ([#​3367](https://github.com/casey/just/pull/3367) by [casey](https://github.com/casey))
- Propagate `is_dependency` to defined function evaluators ([#​3365](https://github.com/casey/just/pull/3365) by [casey](https://github.com/casey))
- Use `value` consistently in functions ([#​3364](https://github.com/casey/just/pull/3364) by [casey](https://github.com/casey))
### [`v1.52.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1520---2026-06-08)
[Compare Source](https://github.com/casey/just/compare/1.51.0...1.52.0)
##### Added
- Add `[shell]` attribute to override `default-script` setting ([#​3359](https://github.com/casey/just/pull/3359) by [casey](https://github.com/casey))
- Add `default-script` setting ([#​3354](https://github.com/casey/just/pull/3354) by [casey](https://github.com/casey))
- Add `--default-list` flag ([#​3350](https://github.com/casey/just/pull/3350) by [casey](https://github.com/casey))
- Add `default-list` setting ([#​3337](https://github.com/casey/just/pull/3337) by [casey](https://github.com/casey))
##### Changed
- Disable aliases that depend on absent modules ([#​3358](https://github.com/casey/just/pull/3358) by [casey](https://github.com/casey))
- Print formatted justfile to stdout when source is stdin ([#​3356](https://github.com/casey/just/pull/3356) by [casey](https://github.com/casey))
- Allow search directory with more subcommands ([#​3353](https://github.com/casey/just/pull/3353) by [casey](https://github.com/casey))
- Disable recipes that depend on absent modules ([#​3352](https://github.com/casey/just/pull/3352) by [casey](https://github.com/casey))
##### Misc
- Improve absent optional module error messages ([#​3357](https://github.com/casey/just/pull/3357) by [casey](https://github.com/casey))
- Alphabetize Attribute derive macro order ([#​3355](https://github.com/casey/just/pull/3355) by [casey](https://github.com/casey))
- Include UTF-8 byte-order mark in PowerShell scripts ([#​3347](https://github.com/casey/just/pull/3347) by [casey](https://github.com/casey))
- Remove options from `--list` output ([#​3346](https://github.com/casey/just/pull/3346) by [casey](https://github.com/casey))
- Switch from ansi\_term to nu\_ansi\_term ([#​3344](https://github.com/casey/just/pull/3344) by [casey](https://github.com/casey))
- Remove redundant argument parser attributes ([#​3340](https://github.com/casey/just/pull/3340) by [casey](https://github.com/casey))
### [`v1.51.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1510---2026-05-09)
[Compare Source](https://github.com/casey/just/compare/1.50.0...1.51.0)
##### Added
- Add `no-cd` setting ([#​2981](https://github.com/casey/just/pull/2981) by [hans-d](https://github.com/hans-d))
##### Changed
- Allow `[env]` attribute to take expressions ([#​3329](https://github.com/casey/just/pull/3329) by [casey](https://github.com/casey))
- Allow using expressions with `[working-directory]` ([#​3326](https://github.com/casey/just/pull/3326) by [casey](https://github.com/casey))
- Read justfile from standard input with `--justfile -` ([#​3325](https://github.com/casey/just/pull/3325) by [casey](https://github.com/casey))
- Make `parent_directory()` of bare filename return `.` ([#​3313](https://github.com/casey/just/pull/3313) by [casey](https://github.com/casey))
- Make `[env]` override module-level exports ([#​3312](https://github.com/casey/just/pull/3312) by [casey](https://github.com/casey))
##### Fixed
- Fail on deep recursion instead of overflowing stack ([#​3319](https://github.com/casey/just/pull/3319) by [casey](https://github.com/casey))
- Invoke chooser selections separately ([#​3311](https://github.com/casey/just/pull/3311) by [casey](https://github.com/casey))
- Don't evaluate unused assertions ([#​3310](https://github.com/casey/just/pull/3310) by [casey](https://github.com/casey))
- Respect lazy setting in submodules ([#​3308](https://github.com/casey/just/pull/3308) by [casey](https://github.com/casey))
- Fix overrides not being visible in user-defined functions ([#​3307](https://github.com/casey/just/pull/3307) by [casey](https://github.com/casey))
- Don't panic on invalid datetime format string ([#​3304](https://github.com/casey/just/pull/3304) by [casey](https://github.com/casey))
##### Misc
- Use `cargo-limit` commands in justfile ([#​3331](https://github.com/casey/just/pull/3331) by [casey](https://github.com/casey))
- Simplify code more ([#​3330](https://github.com/casey/just/pull/3330) by [casey](https://github.com/casey))
- Update install-dev-deps recipe with compatible mdbook ([#​3328](https://github.com/casey/just/pull/3328) by [casey](https://github.com/casey))
- Simplify code ([#​3327](https://github.com/casey/just/pull/3327) by [casey](https://github.com/casey))
- Link to duplicate recipe issue in readme ([#​3321](https://github.com/casey/just/pull/3321) by [casey](https://github.com/casey))
- Remove periods from error messages ([#​3316](https://github.com/casey/just/pull/3316) by [casey](https://github.com/casey))
- Avoid multi-sentence error messagess ([#​3315](https://github.com/casey/just/pull/3315) by [casey](https://github.com/casey))
- Make error messages lowercase ([#​3314](https://github.com/casey/just/pull/3314) by [casey](https://github.com/casey))
- Actually bump version to 1.50.0 ([#​3303](https://github.com/casey/just/pull/3303) by [casey](https://github.com/casey))
### [`v1.50.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1510---2026-05-09)
[Compare Source](https://github.com/casey/just/compare/1.49.0...1.50.0)
##### Added
- Add `no-cd` setting ([#​2981](https://github.com/casey/just/pull/2981) by [hans-d](https://github.com/hans-d))
##### Changed
- Allow `[env]` attribute to take expressions ([#​3329](https://github.com/casey/just/pull/3329) by [casey](https://github.com/casey))
- Allow using expressions with `[working-directory]` ([#​3326](https://github.com/casey/just/pull/3326) by [casey](https://github.com/casey))
- Read justfile from standard input with `--justfile -` ([#​3325](https://github.com/casey/just/pull/3325) by [casey](https://github.com/casey))
- Make `parent_directory()` of bare filename return `.` ([#​3313](https://github.com/casey/just/pull/3313) by [casey](https://github.com/casey))
- Make `[env]` override module-level exports ([#​3312](https://github.com/casey/just/pull/3312) by [casey](https://github.com/casey))
##### Fixed
- Fail on deep recursion instead of overflowing stack ([#​3319](https://github.com/casey/just/pull/3319) by [casey](https://github.com/casey))
- Invoke chooser selections separately ([#​3311](https://github.com/casey/just/pull/3311) by [casey](https://github.com/casey))
- Don't evaluate unused assertions ([#​3310](https://github.com/casey/just/pull/3310) by [casey](https://github.com/casey))
- Respect lazy setting in submodules ([#​3308](https://github.com/casey/just/pull/3308) by [casey](https://github.com/casey))
- Fix overrides not being visible in user-defined functions ([#​3307](https://github.com/casey/just/pull/3307) by [casey](https://github.com/casey))
- Don't panic on invalid datetime format string ([#​3304](https://github.com/casey/just/pull/3304) by [casey](https://github.com/casey))
##### Misc
- Use `cargo-limit` commands in justfile ([#​3331](https://github.com/casey/just/pull/3331) by [casey](https://github.com/casey))
- Simplify code more ([#​3330](https://github.com/casey/just/pull/3330) by [casey](https://github.com/casey))
- Update install-dev-deps recipe with compatible mdbook ([#​3328](https://github.com/casey/just/pull/3328) by [casey](https://github.com/casey))
- Simplify code ([#​3327](https://github.com/casey/just/pull/3327) by [casey](https://github.com/casey))
- Link to duplicate recipe issue in readme ([#​3321](https://github.com/casey/just/pull/3321) by [casey](https://github.com/casey))
- Remove periods from error messages ([#​3316](https://github.com/casey/just/pull/3316) by [casey](https://github.com/casey))
- Avoid multi-sentence error messagess ([#​3315](https://github.com/casey/just/pull/3315) by [casey](https://github.com/casey))
- Make error messages lowercase ([#​3314](https://github.com/casey/just/pull/3314) by [casey](https://github.com/casey))
- Actually bump version to 1.50.0 ([#​3303](https://github.com/casey/just/pull/3303) by [casey](https://github.com/casey))
### [`v1.49.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1490---2026-04-04)
[Compare Source](https://github.com/casey/just/compare/1.48.1...1.49.0)
##### Added
- Add `--time` to print recipe execution time ([#​3099](https://github.com/casey/just/pull/3099) by [GeorgeLS](https://github.com/GeorgeLS))
- Add user-defined functions ([#​3247](https://github.com/casey/just/pull/3247) by [casey](https://github.com/casey))
- Add just skill for agents ([#​3241](https://github.com/casey/just/pull/3241) by [casey](https://github.com/casey))
- Allow expressions in confirm attribute ([#​3238](https://github.com/casey/just/pull/3238) by [begoon](https://github.com/begoon))
- Add `--complete-aliases` ([#​3235](https://github.com/casey/just/pull/3235) by [casey](https://github.com/casey))
- Add `--justfile-name` to configure justfile filename ([#​3234](https://github.com/casey/just/pull/3234) by [casey](https://github.com/casey))
- Add `runtime_directory()` function ([#​3226](https://github.com/casey/just/pull/3226) by [barskern](https://github.com/barskern))
- Add `--evaluate-format` ([#​3221](https://github.com/casey/just/pull/3221) by [casey](https://github.com/casey))
- Allow passing variable and module paths to `--evaluate` ([#​3219](https://github.com/casey/just/pull/3219) by [casey](https://github.com/casey))
- Add `--indentation` ([#​3215](https://github.com/casey/just/pull/3215) by [casey](https://github.com/casey))
- Add `module_file()` and `module_directory()` to readme ([#​2965](https://github.com/casey/just/pull/2965) by [cspotcode](https://github.com/cspotcode))
- Add Nix flake ([#​2972](https://github.com/casey/just/pull/2972) by [neunenak](https://github.com/neunenak))
##### Fixed
- Allow reading `.env` from special files ([#​3250](https://github.com/casey/just/pull/3250) by [casey](https://github.com/casey))
- Load environment files in submodules ([#​3243](https://github.com/casey/just/pull/3243) by [casey](https://github.com/casey))
- Avoid process substitution in bash completion script ([#​3217](https://github.com/casey/just/pull/3217) by [casey](https://github.com/casey))
- Dont pass shell name to powershell ([#​3209](https://github.com/casey/just/pull/3209) by [casey](https://github.com/casey))
##### Misc
- Add just implementation of rule110 ([#​3249](https://github.com/casey/just/pull/3249) by [casey](https://github.com/casey))
- Add instructions for skill to readme ([#​3245](https://github.com/casey/just/pull/3245) by [casey](https://github.com/casey))
- Remove comma in readme ([#​3244](https://github.com/casey/just/pull/3244) by [casey](https://github.com/casey))
- Move bash completion registration script into etc/ ([#​3242](https://github.com/casey/just/pull/3242) by [casey](https://github.com/casey))
- Avoid to\_string\_lossy in directory function tests ([#​3232](https://github.com/casey/just/pull/3232) by [casey](https://github.com/casey))
- Add installation overview ([#​3231](https://github.com/casey/just/pull/3231) by [casey](https://github.com/casey))
- Warn if invocation directory or justfile path is not Unicode ([#​3230](https://github.com/casey/just/pull/3230) by [casey](https://github.com/casey))
- Don't use make syntax highlighting in vim ([#​2906](https://github.com/casey/just/pull/2906) by [alerque](https://github.com/alerque))
- Fix Name Display impl to pad correctly ([#​3222](https://github.com/casey/just/pull/3222) by [casey](https://github.com/casey))
- Rename `evaluate_target` to `evaluation_target` ([#​3220](https://github.com/casey/just/pull/3220) by [casey](https://github.com/casey))
- Include recipe path in verbose output ([#​3213](https://github.com/casey/just/pull/3213) by [behnam-oneschema](https://github.com/behnam-oneschema))
- Move recipe methods onto resolved recipe ([#​3214](https://github.com/casey/just/pull/3214) by [casey](https://github.com/casey))
- Document that `semver_matches()` returns strings ([#​3212](https://github.com/casey/just/pull/3212) by [casey](https://github.com/casey))
- Build riscv64 release binaries ([#​3210](https://github.com/casey/just/pull/3210) by [gounthar](https://github.com/gounthar))
- Include shell name in I/O error messages ([#​3208](https://github.com/casey/just/pull/3208) by [casey](https://github.com/casey))
- Don't print signal error message if recipe has `[no-exit-message]` ([#​3200](https://github.com/casey/just/pull/3200) by [imp-joshi](https://github.com/imp-joshi))
### [`v1.48.1`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1481---2026-03-27)
[Compare Source](https://github.com/casey/just/compare/1.48.0...1.48.1)
- Fix bash completion of command lines containing `:` ([#​3205](https://github.com/casey/just/pull/3205) by [casey](https://github.com/casey))
- Call zsh completion function when first auto-loaded ([#​3199](https://github.com/casey/just/pull/3199) by [casey](https://github.com/casey))
- Fix `--set` missing value error message interpolation ([#​3198](https://github.com/casey/just/pull/3198) by [cuiweixie](https://github.com/cuiweixie))
- Add `#compdef` to zsh completion script ([#​3197](https://github.com/casey/just/pull/3197) by [casey](https://github.com/casey))
- Add instructions for alias completions in bash ([#​3190](https://github.com/casey/just/pull/3190) by [casey](https://github.com/casey))
- Remove redundant clap derive attributes ([#​3183](https://github.com/casey/just/pull/3183) by [casey](https://github.com/casey))
- Move files into etc/ ([#​3182](https://github.com/casey/just/pull/3182) by [casey](https://github.com/casey))
- Update stable features in readme ([#​3181](https://github.com/casey/just/pull/3181) by [casey](https://github.com/casey))
### [`v1.48.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1480---2026-03-23)
[Compare Source](https://github.com/casey/just/compare/1.47.1...1.48.0)
##### Added
- Build docker images ([#​3174](https://github.com/casey/just/pull/3174) by [casey](https://github.com/casey))
- Dynamically complete recipes for `--usage` ([#​3172](https://github.com/casey/just/pull/3172) by [casey](https://github.com/casey))
- Dynamically complete groups ([#​3171](https://github.com/casey/just/pull/3171) by [casey](https://github.com/casey))
- Dynamically complete recipes and variables ([#​3169](https://github.com/casey/just/pull/3169) by [casey](https://github.com/casey))
- Complete appropriate filetypes ([#​3168](https://github.com/casey/just/pull/3168) by [casey](https://github.com/casey))
- Allow overriding variables in submodules ([#​3151](https://github.com/casey/just/pull/3151) by [casey](https://github.com/casey))
- Add `--json` as synonym for `--dump --dump-format json` ([#​3143](https://github.com/casey/just/pull/3143) by [casey](https://github.com/casey))
##### Changed
- Stabilize lazy evaluation ([#​3180](https://github.com/casey/just/pull/3180) by [casey](https://github.com/casey))
- Switch to dynamic completion engine ([#​3167](https://github.com/casey/just/pull/3167) by [casey](https://github.com/casey))
- Respect PATH and PATHEXT when running commands on Windows ([#​3160](https://github.com/casey/just/pull/3160) by [casey](https://github.com/casey))
- Make `which()` and `require()` respect PATHEXT on Windows ([#​3144](https://github.com/casey/just/pull/3144) by [casey](https://github.com/casey))
##### Misc
- Add completion script installation instructions ([#​3178](https://github.com/casey/just/pull/3178) by [casey](https://github.com/casey))
- Fix readme typo ([#​3176](https://github.com/casey/just/pull/3176) by [Rohan5commit](https://github.com/Rohan5commit))
- Remove Vagrantfile ([#​3173](https://github.com/casey/just/pull/3173) by [casey](https://github.com/casey))
- Fix signal handling typo ([#​3170](https://github.com/casey/just/pull/3170) by [Rohan5commit](https://github.com/Rohan5commit))
- Add cargo-binstall installation instructions ([#​3165](https://github.com/casey/just/pull/3165) by [casey](https://github.com/casey))
- Fix typos ([#​3162](https://github.com/casey/just/pull/3162) by [casey](https://github.com/casey))
- Readme typo: forground ([#​3161](https://github.com/casey/just/pull/3161) by [Rohan5commit](https://github.com/Rohan5commit))
- Use clap derive to parse arguments ([#​3158](https://github.com/casey/just/pull/3158) by [casey](https://github.com/casey))
- Fix readme typo ([#​3156](https://github.com/casey/just/pull/3156) by [teee32](https://github.com/teee32))
- Document that path\_exists() returns strings ([#​2946](https://github.com/casey/just/pull/2946) by [cspotcode](https://github.com/cspotcode))
- Remove version references from readme headings ([#​3153](https://github.com/casey/just/pull/3153) by [casey](https://github.com/casey))
- Fix readme typo ([#​3152](https://github.com/casey/just/pull/3152) by [Rohan5commit](https://github.com/Rohan5commit))
- Fix variadic parameter typo in readme ([#​3150](https://github.com/casey/just/pull/3150) by [casey](https://github.com/casey))
- Fix readme typo ([#​3148](https://github.com/casey/just/pull/3148) by [Rohan5commit](https://github.com/Rohan5commit))
- Avoid conditional compilation ([#​3145](https://github.com/casey/just/pull/3145) by [casey](https://github.com/casey))
- Update VS Code extension in Chinese readme ([#​2984](https://github.com/casey/just/pull/2984) by [A-moment096](https://github.com/A-moment096))
- Change replace wording in readme ([#​3137](https://github.com/casey/just/pull/3137) by [Rohan5commit](https://github.com/Rohan5commit))
- Document recipe metadata ([#​3142](https://github.com/casey/just/pull/3142) by [casey](https://github.com/casey))
### [`v1.47.1`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1471---2026-03-16)
[Compare Source](https://github.com/casey/just/compare/1.47.0...1.47.1)
##### Fixed
- Block on running parallel dependencies ([#​3139](https://github.com/casey/just/pull/3139) by [casey](https://github.com/casey))
- Fix setting-exported assignment visibility in child modules ([#​3128](https://github.com/casey/just/pull/3128) by [casey](https://github.com/casey))
##### Added
- Add `eager` keyword to force evaluation of unused assignments ([#​3131](https://github.com/casey/just/pull/3131) by [casey](https://github.com/casey))
##### Changed
- Only evaluate used variables in --evaluate and --command ([#​3130](https://github.com/casey/just/pull/3130) by [casey](https://github.com/casey))
##### Misc
- Make eager assignments unstable ([#​3140](https://github.com/casey/just/pull/3140) by [casey](https://github.com/casey))
- Include path to .env file in error messages ([#​3135](https://github.com/casey/just/pull/3135) by [casey](https://github.com/casey))
- Consolidate override checking ([#​3127](https://github.com/casey/just/pull/3127) by [casey](https://github.com/casey))
- Update readme version references ([#​3126](https://github.com/casey/just/pull/3126) by [casey](https://github.com/casey))
### [`v1.47.0`](https://github.com/casey/just/blob/HEAD/CHANGELOG.md#1470---2026-03-14)
[Compare Source](https://github.com/casey/just/compare/1.46.0...1.47.0)
##### Added
- Add lazy evaluation setting ([#​3083](https://github.com/casey/just/pull/3083) by [casey](https://github.com/casey))
- Add guard sigil `?` ([#​2547](https://github.com/casey/just/pull/2547) by [casey](https://github.com/casey))
- Add `--group` flag to filter `--list` output by group ([#​3117](https://github.com/casey/just/pull/3117) by [terror](https://github.com/terror))
- Add attributes for DragonFly BSD, FreeBSD, and NetBSD ([#​3115](https://github.com/casey/just/pull/3115) by [jakewilliami](https://github.com/jakewilliami))
- Add `[env(NAME, VALUE)` recipe attribute ([#​2957](https://github.com/casey/just/pull/2957) by [neunenak](https://github.com/neunenak))
##### Changed
- Make `--timestamp` print timestamps unconditionally ([#​3114](https://github.com/casey/just/pull/3114) by [casey](https://github.com/casey))
- Print `--timestamps` with script recipes ([#​3050](https://github.com/casey/just/pull/3050) by [casey](https://github.com/casey))
- `[private]` modules are excluded from `--list` output ([#​2889](https://github.com/casey/just/pull/2889) by [Scott-Guest](https://github.com/Scott-Guest))
##### Misc
- Fix readme typo ([#​3122](https://github.com/casey/just/pull/3122) by [Rohan5commit](https://github.com/Rohan5commit))
- Move choose and run into match statement ([#​3120](https://github.com/casey/just/pull/3120) by [casey](https://github.com/casey))
- Add uv install instructions to readme ([#​3062](https://github.com/casey/just/pull/3062) by [npikall](https://github.com/npikall))
- Suppress error when --choose is cancelled by user ([#​3098](https://github.com/casey/just/pull/3098) by [cobyfrombrooklyn-bot](https://github.com/cobyfrombrooklyn-bot))
- Test formatting justfile with undefined variable succeeds ([#​3110](https://github.com/casey/just/pull/3110) by [casey](https://github.com/casey))
- Format without compiling ([#​3103](https://github.com/casey/just/pull/3103) by [terror](https://github.com/terror))
- Fix Gentoo installation instructions ([#​3085](https://github.com/casey/just/pull/3085) by [DarthGandalf](https://github.com/DarthGandalf))
- Deny unreachable pub ([#​3080](https://github.com/casey/just/pull/3080) by [casey](https://github.com/casey))
- Fix readme typo ([#​3079](https://github.com/casey/just/pull/3079) by [pvinis](https://github.com/pvinis))
- Include blank chapters in book ([#​3076](https://github.com/casey/just/pull/3076) by [casey](https://github.com/casey))
- Clean up build script ([#​3078](https://github.com/casey/just/pull/3078) by [casey](https://github.com/casey))
- Increase stack size on Windows ([#​3077](https://github.com/casey/just/pull/3077) by [casey](https://github.com/casey))
- Fix readme typo ([#​3066](https://github.com/casey/just/pull/3066) by [kenden](https://github.com/kenden))
- Remove dependency on executable-path ([#​3058](https://github.com/casey/just/pull/3058) by [casey](https://github.com/casey))
- Fix typos ([#​3056](https://github.com/casey/just/pull/3056) by [galenseilis](https://github.com/galenseilis))
- Avoid conditional compilation in integration tests ([#​3055](https://github.com/casey/just/pull/3055) by [casey](https://github.com/casey))
- Assert exit status last in `Test` builder ([#​3054](https://github.com/casey/just/pull/3054) by [casey](https://github.com/casey))
- Remove makedeb/MPR installation instructions ([#​3053](https://github.com/casey/just/pull/3053) by [Chengings](https://github.com/Chengings))
- Handle errors when checking for files ([#​3051](https://github.com/casey/just/pull/3051) by [casey](https://github.com/casey))
</details>
---
### Configuration
📅 **Schedule**: (in timezone Europe/London)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI2MC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9naXRodWItcmVsZWFzZSIsInR5cGUvbWlub3IiXX0=-->
Reviewed-on: https://forgejo.hayden.moe/hayden/phoebe/pulls/361
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.