This release drops support for Go 1.19 and 1.20 and includes many features and bugfixes, such as improving EditorConfig support in shfmt
.
- cmd/shfmt
- Support EditorConfig language sections such as
[[shell]]
- #664
- Add
--apply-ignore
for tools and editors - #1037
- syntax
- Allow formatting redirects before all command argumetnts - #942
- Support brace expansions with uppercase letters - #1042
- Unescape backquotes in single quotes within backquotes - #1041
- Better error when using
function
in POSIX mode - #993
- Better column numbers for escapes inside backquotes - #1028
- interp
- Support parentheses in classic test commands - #1036
- Determine access to a directory via
unix.Access
- #1033
- Support subshells with
FuncEnviron
as Env
- #1043
- Add support for
fs.DirEntry
via ReadDirHandler2
- expand
- Add support for
fs.DirEntry
via ReadDir2
- Support zero-padding in brace expansions - #1042
A special thanks to all the contributors to this release! @theclapp @slabstone @MaienM
Consider becoming a sponsor if you benefit from the work that went into this release!
Binaries built on go version go1.22.0 linux/amd64
with:
CGO_ENABLED=0 go build -trimpath -ldflags="-w -s -X=main.version=v3.8.0"