Skip to content

chore(mise): update tool shfmt to v3.14.1 [automerge] - #435

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/shfmt-3.x
Sep 26, 2026
Merged

renovate[bot] merged 1 commit into
mainfrom
renovate/shfmt-3.x

Conversation

@renovate

@renovate renovate Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
shfmt tools minor 3.13.1 → 3.14.1

Release Notes

mvdan/sh (shfmt)

v3.14.1

Compare Source

  • syntax
    • Fix the indentation of heredocs nested inside command substitutions - #​1403
    • Keep literal tabs in <<- heredoc bodies rather than replacing them with spaces
    • Don't indent heredocs without dashes nested in <<- ones, whose output no longer parsed
    • Zsh: don't drop the prefix in short forms like $#"$foo" and $+"$foo" - #​1405
  • interp
    • Fix the build on 32-bit FreeBSD and NetBSD
  • expand
    • Don't let escaped characters such as \* act as glob metacharacters
  • pattern
    • Treat unclosed extended operator groups like @(a as literals, avoiding a panic

v3.14.0

Compare Source

This release drops support for Go 1.25 and includes many enhancements,
particularly in the interpreter, which implements more shell features
and fixes many divergences from Bash.

  • cmd/shfmt
    • Add --detect to find shell files by executable bit or shebang - #​944
  • syntax
    • Add Preorder, an iterator over all nodes, complementing Walk
    • Add encoding.TextUnmarshaler implementations for each operator type
    • Support ${ foo;} and ${|foo;} inside double quotes - #​1368
    • Support array elements in {varname} redirects, like exec {fds[3]}>&- - #​719
    • Backslashes inside backquotes within double quotes escape double quotes - #​1083
    • Allow pound signs in associative array keys like ${args[cmd,#]} - #​1285
    • Don't treat # as the start of a comment inside [[ ]] tests - #​1326
    • Don't join then or do with a semicolon when heredocs are pending - #​1047
    • Print a space after ! in arithmetic expressions, avoiding history expansion - #​987
    • Space nested closing parentheses like the opening ones - #​876
    • Make SplitBraces reject malformed sequences and skip backslash escapes - #​1330
    • Zsh: support the ${=name}, ${~name}, and ${^name} prefixes - #​1238
    • Zsh: support the ;| case terminator and leading parentheses for globs - #​1293, #​1279
    • Zsh: parse subscript flag arguments as patterns, and allow [ globs in arrays - #​1278, #​1322
  • syntax/typedjson
    • Encode operators as their syntax form, such as ">>", rather than integers - #​1321
    • Return errors rather than panicking on malformed input
  • interp
    • Add BashOpts to set Bash options like shopt - #​962
    • Add AccessHandler to control file access checks, used by -r and cd - #​1318
    • Add HandlerContext.LastExitStatus, and provide a HandlerContext to stat handlers
    • Implement the help and times builtins, as well as $- - #​1398
    • Implement the ;& and ;;& case terminators - #​1391
    • Implement the -N test operator, and make -nt and -ot follow POSIX - #​1340
    • Support sparse indexed arrays such as a=([5]=x) - #​1373
    • Run files as shell scripts when exec fails with ENOEXEC - #​1065
    • Support empty here-documents, and don't expand quoted ones - #​1390
    • Support js/wasm, where subprocesses and pipes are unavailable
    • Keep the redirections applied by exec with no arguments
    • Only fire the exit trap when the shell exits, rather than after every Run
  • expand
    • Add BracesSeq with a config and error reporting, deprecating Braces
    • Add Variable.Indexes to describe sparse indexed arrays
    • Support integer bases in arithmetic - #​339
    • Short-circuit the arithmetic && and || operators - #​1371
    • Apply per-element operators to quoted array expansions like "${a[@]%o}" - #​1081
    • Make unquoted ${!arr[@]} consistent with the quoted form - #​672
    • Fix many divergences from Bash in arithmetic, string, and brace expansions
    • Reject unsupported Zsh syntax rather than panicking - #​1363
  • pattern
    • Treat an unmatched [ as a literal character, like Bash - #​1372
    • Fix panics and mismatches in bracket expressions, such as [![:space:]]
  • fileutil
    • Recognize dash shebangs as POSIX shell for -ln=auto - #​1307

Configuration

📅 Schedule: (in timezone Europe/Amsterdam)

  • Branch creation
    • "every weekend,on Friday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, 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.

@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 92748af9-23ff-4fda-9480-c58edc3de766

📥 Commits

Reviewing files that changed from the base of the PR and between b29ec52 and fb41927.

📒 Files selected for processing (1)
  • .mise.toml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

The mise configuration updates the configured shfmt version from 3.13.1 to 3.14.1.

Changes

Tooling version update

Layer / File(s) Summary
Update shfmt version
.mise.toml
The configured shfmt version changes from 3.13.1 to 3.14.1.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Suggested reviewers: devsecninja

Merge Risk: ⚪ Minimal · up to fb419

This is a tooling-version update with no concrete user-facing or operational risk identified, so it is mergeable after normal checks.

Architecture Summary

Architecture risk: 🔵 Low · up to fb419

The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency.

Changed systems: None identified.

Architecture concerns
No architecture-level concerns identified.

Review details

Before / after behavior

  • observed — Modified behavior in .mise.toml: The configured shfmt version changed from 3.13.1 to 3.14.1.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: updating the mise-managed shfmt tool to v3.14.1.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@renovate
renovate Bot merged commit 0e90e9b into main Sep 26, 2026
27 checks passed
@renovate
renovate Bot deleted the renovate/shfmt-3.x branch September 26, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants