Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Mar 11, 2025

This PR contains the following updates:

Package Update Change
mvdan/sh minor 3.7.0 -> 3.11.0

Release Notes

mvdan/sh (mvdan/sh)

v3.11.0

Compare Source

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"

v3.10.0

Compare Source

  • cmd/shfmt
    • Report the correct language variant in parser error messages - #​1102
    • Move --filename out of the parser options category - #​1079
  • syntax
    • Parse all CRLF line endings as LF, including inside heredocs - #​1088
    • Count skipped backslashes inside backticks in position column numbers - #​1098
    • Count skipped null bytes in position column numbers for consistency
  • interp
    • Fix a regression in v3.9.0 which broke redirecting files to stdin - #​1099
    • Fix a regression in v3.9.0 where HandlerContext.Stdin was never nil
    • Add an Interactive option to be used by interactive shells - #​1100
    • Support closing stdin, stdout, and stderr via redirections like <&-

Consider becoming a sponsor if you benefit from the work that went into this release!

Binaries built on go version go1.23.2 linux/amd64 with:

CGO_ENABLED=0 go build -trimpath -ldflags="-w -s -X=main.version=v3.10.0"

v3.9.0

Compare Source

This release drops support for Go 1.21 and includes many fixes.

  • cmd/shfmt
    • Switch the diff implementation to remove one dependency
  • syntax
    • Protect against overflows in position offset integers
  • interp
    • Use os.Pipe for stdin to prevent draining by subprocesses - #​1085
    • Support cancelling reads in builtins when stdin is a file - #​1066
    • Support the nocaseglob bash option - #​1073
    • Support the Bash 5.2 @k parameter expansion operator
    • Support the test -O and test -G operators on non-Windows - #​1080
    • Support the read -s builtin flag - #​1063
  • expand
    • Add support for case insensitive globbing - #​1073
    • Don't panic when pattern words are nil - #​1076

A special thanks to @​theclapp for their contributors to this release!

Consider becoming a sponsor if you benefit from the work that went into this release!

Binaries built on go version go1.23.0 linux/amd64 with:

CGO_ENABLED=0 go build -trimpath -ldflags="-w -s -X=main.version=v3.9.0"

v3.8.0

Compare Source

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"

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/mvdan-sh-3.x branch 4 times, most recently from 4dd8b49 to f6cb3b1 Compare March 12, 2025 13:21
@renovate renovate bot force-pushed the renovate/mvdan-sh-3.x branch from bee3755 to ae4681a Compare March 12, 2025 13:29
@MaxWinterstein MaxWinterstein merged commit be3cf5d into master Mar 12, 2025
10 checks passed
@renovate renovate bot deleted the renovate/mvdan-sh-3.x branch March 12, 2025 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants