# just 1.57.0 - Product: just (https://whatsnew.fyi/product/just) - Vendor: Casey Rodarmor - Date: 2026-07-19 - Version: 1.57.0 - Original notes: https://github.com/casey/just/releases/tag/1.57.0 - Permalink: https://whatsnew.fyi/product/just/releases/1.57.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Pass arguments to `cmd.exe` without escaping - **changed** — `split('')` splits into characters - **changed** — Accept markdown justfiles found by name - **changed** — Make `[env]` variables visible to `shell()` invocations - **changed** — Forbid duplicate groups - **changed** — Forbid option names beginning with `-` - **changed** — Don't accept option arguments starting with `-=` or `--=` - **changed** — Reject empty alphabet in `choose()` regardless of count - **changed** — Forbid `[arg(flag)]` with `[arg(pattern)]` - **changed** — Add extension to cache key - **fixed** — Don't reevaluate lazy assignments in user-defined functions - **fixed** — Don't print parenthesis around dependencies without arguments - **fixed** — Accept override paths containing module aliases - **fixed** — Fix line number in error message after multi-line interpolation - **fixed** — Don't execute dotenv commands during dry run - **fixed** — Only run `dotenv-command` in root module - **fixed** — Detect module cycle when path uses `..` - **fixed** — Recipes with `[arg(min)]` greater than zero cannot be default - **fixed** — Avoid panic in ambiguous module file error - **added** — Add `len()` function ###### 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)) - _[Truncated at 4000 characters — full notes: https://github.com/casey/just/releases/tag/1.57.0]_