Go: Update module mvdan.cc/sh/v3 to v3.13.1

This MR contains the following updates:

Package Type Update Change
mvdan.cc/sh/v3 require minor v3.12.0 -> v3.13.1

⚠️ Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

MR created with the help of gitlab-org/frontend/renovate-gitlab-bot


Release Notes

mvdan/sh (mvdan.cc/sh/v3)

v3.13.1

Compare Source

  • cmd/shfmt
    • Add support for [[zsh]] in EditorConfig files
    • Detect the shell variant from filenames like .zshrc and .bash_profile
    • Fix --apply-ignore when used with explicit args - #​1310
  • syntax
    • Revert an accidental change to how array subscripts are formatted - #​1314
    • Never join ;; with the previous line when formatting - #​1289
    • Fix a bug where $1[foo] was parsed as a subscript in Zsh - #​1288
    • Correctly parse $! in double quotes in Zsh - #​1298
    • Allow indexing into special parameters in Zsh - #​1299
    • Allow parameter expansions with empty names in Zsh - #​1280
  • interp
    • Test against Bash 5.3 and fix three new discrepancies
    • Fix a few bugs related to nameref variables
    • Avoid panics when user input encounters unimplemented features

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

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

CGO_ENABLED=0 go build -trimpath -ldflags="-w -s"

v3.13.0

Compare Source

This release introduces support for Zsh in the parser and formatter, which was tracked in issue #​120 alongside the label https://github.com/mvdan/sh/labels/zsh. While support is not complete, it should be far enough for many use cases.

This release also drops support for Go 1.24 and includes many other enhancements:

  • cmd/shfmt
    • Exit with a non-zero status when -l prints any filenames
    • shfmt -version is now derived from the git current tag, dropping the -ldflags workaround
  • syntax
    • New nodes types and node fields are introduced alongside LangZsh
    • LangVariant is now a bitset, allowing the use of sets like "Bash-like"
    • Add InteractiveSeq and StmtsSeq iterator methods for Parser
    • Stop exposing the internal buffer in Printer via struct embedding
    • Support the use of brace expansions like declare {a,b}_c=value
    • Fix a bug where POSIX and Bash incorrectly allowed empty command lists
  • interp
    • Add support for shopt -s dotglob and shopt -s extglob
    • Add support for simple uses of !(expr) extended glob patterns
    • Support more builtin flags for declare, type, read
    • Fix various bugs relating to nulls, errors, and arrays
  • expand
    • Add Config.DotGlob and Config.ExtGlob for the interpreter
    • Add Variable.Flags to get the one-character declare flags
    • Do not force env vars on Windows to be uppercase
    • Fix various bugs relating to glob pattern matching
  • pattern
    • Add GlobLeadingDot and ExtendedOperators for the interpreter
    • Add NegExtGlobError to mark the use of !(expr) negation patterns

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

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

CGO_ENABLED=0 go build -trimpath -ldflags="-w -s"

Note that this release no longer includes a sha256sums.txt asset; GitHub now provide digests natively.


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: Never, or you tick the rebase/retry checkbox.

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


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

This MR has been generated by Renovate Bot.

Edited by GitLab Dependency Bot

Merge request reports

Loading
Loading