Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
shfmt_v3.12.0_linux_arm | 2025-07-06 | 2.9 MB | |
shfmt_v3.12.0_darwin_amd64 | 2025-07-06 | 3.0 MB | |
shfmt_v3.12.0_linux_amd64 | 2025-07-06 | 2.9 MB | |
shfmt_v3.12.0_linux_arm64 | 2025-07-06 | 2.9 MB | |
shfmt_v3.12.0_linux_386 | 2025-07-06 | 2.7 MB | |
shfmt_v3.12.0_windows_386.exe | 2025-07-06 | 3.0 MB | |
shfmt_v3.12.0_darwin_arm64 | 2025-07-06 | 2.9 MB | |
sha256sums.txt | 2025-07-06 | 744 Bytes | |
shfmt_v3.12.0_windows_amd64.exe | 2025-07-06 | 3.2 MB | |
README.md | 2025-07-06 | 1.8 kB | |
v3.12.0 source code.tar.gz | 2025-07-06 | 232.3 kB | |
v3.12.0 source code.zip | 2025-07-06 | 271.0 kB | |
Totals: 12 Items | 24.0 MB | 12 |
- The
mvdan-sh
JS package is discontinued in favor ofsh-syntax
- [#1145] - cmd/shfmt
- Support the "simplify" and "minify" flags via EditorConfig - [#819]
- Do not allow
--write
to replace non-regular files - [#843] - interp
- Add
IsBuiltin
to check if a command name is a shell built-in - [#1164] - Add
HandlerContext.Builtin
to allowExecHandlerFunc
to call built-ins - Initial support for
$!
andwait PID
- [#221] - Return non-fatal
ExecHandlerFunc
errors via theRunner.Run
API - Add
HandlerContext.Pos
to provide handlers with source positions - Deprecate
NewExitStatus
andIsExitStatus
in favor ofExitStatus
- Fix
wait
to always return the status of the last given job - Copy all env vars for background subshells to avoid data races
- Support reading random numbers via
$RANDOM
and$SRANDOM
- Set
$BASH_REMATCH
when matching regular expressions via=~
- Support modifying local vars from the parent calling function
- expand
- Adjust which backslash sequences are expanded in here-docs - [#1138]
- Tweak tilde expansions to match Bash semantics
- pattern
- Remove the flawed and broken
Braces
mode; usesyntax.SplitBraces
instead - Tweak
**
to only act as "globstar" when alone as a path element - [#1149] - Tweak
*
and**
to not match leading dots in basenames - Add a
NoGlobStar
mode to match the POSIX semantics - fileutil
- Treat all non-regular files as definitely not shell scripts - [#1089]
Consider becoming a sponsor if you benefit from the work that went into this release!
Binaries built on go version go1.24.4 linux/amd64
with:
CGO_ENABLED=0 go build -trimpath -ldflags="-w -s -X=main.version=v3.12.0"