Download Latest Version v3.11.0 source code.tar.gz (232.0 kB)
Email in envelope

Get an email when there's a new version of sh

Home / v3.11.0
Name Modified Size InfoDownloads / 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 and IsIncomplete to work well with Parser.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 with os.File.SetReadDeadline
  • Avoid waiting for process substitutions, matching Bash
  • Skip OpenHandler when opening named pipes for process substitutions - [#1120]
  • Use TMPDIR if set via Env 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"
Source: README.md, updated 2025-03-05