Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
shfmt_v3.11.0_linux_386 | 2025-03-05 | 2.7 MB | |
shfmt_v3.11.0_linux_arm | 2025-03-05 | 2.9 MB | |
shfmt_v3.11.0_darwin_amd64 | 2025-03-05 | 2.9 MB | |
shfmt_v3.11.0_darwin_arm64 | 2025-03-05 | 2.9 MB | |
shfmt_v3.11.0_linux_amd64 | 2025-03-05 | 2.9 MB | |
shfmt_v3.11.0_linux_arm64 | 2025-03-05 | 2.9 MB | |
shfmt_v3.11.0_windows_386.exe | 2025-03-05 | 3.0 MB | |
sha256sums.txt | 2025-03-05 | 744 Bytes | |
shfmt_v3.11.0_windows_amd64.exe | 2025-03-05 | 3.2 MB | |
README.md | 2025-03-05 | 1.4 kB | |
v3.11.0 source code.tar.gz | 2025-03-05 | 232.0 kB | |
v3.11.0 source code.zip | 2025-03-05 | 273.9 kB | |
Totals: 12 Items | 24.0 MB | 6 |
This release drops support for Go 1.22 and includes many enhancements.
- cmd/shfmt
- Support
-l=0
and-f=0
to split filenames with null bytes - [#1096] - syntax
- New iterator API:
Parser.WordsSeq
- Fix
Parser.Incomplete
andIsIncomplete
to work well withParser.Words
- [#937] - Initial support for parsing incomplete shell via
RecoverErrors
- Expand
LangError
to include which language was used when parsing - interp
- Refactor setting variables to fix array declaration edge cases - [#1108]
- Fix
test
read/write/exec operators to work correctly on directories - [#1116] - Replace the
cancelreader
dependency withos.File.SetReadDeadline
- Avoid waiting for process substitutions, matching Bash
- Skip
OpenHandler
when opening named pipes for process substitutions - [#1120] - Use
TMPDIR
if set viaEnv
to create temporary files such as named pipes - expand
- New iterator API:
FieldsSeq
- Correctly handle repeated backslashes in double quotes - [#1106]
- Don't expand backslashes inside here-documents - [#1070]
Consider becoming a sponsor if you benefit from the work that went into this release!
Binaries built on go version go1.24.0 linux/amd64
with:
CGO_ENABLED=0 go build -trimpath -ldflags="-w -s -X=main.version=v3.11.0"