Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency shfmt to v3.10.0 #22

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 9, 2025

This PR contains the following updates:

Package Update Change
shfmt minor latest -> 3.10.0

Release Notes

mvdan/sh (shfmt)

v3.10.0

  • 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!

v3.9.0

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!

v3.8.0

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

v3.7.0

  • syntax
    • Correctly parse $foo#bar as a single word - #​1003
    • Make &> redirect operators an error in POSIX mode - #​991
    • Avoid producing invalid shell when minifying some heredocs - #​923
    • Revert the simplification of ${foo:-} into ${foo-} - #​970
  • interp
    • Add ExecHandlers to support layering multiple middlewares - #​964
    • Add initial support for the select clause - #​969
    • Support combining the errexit and pipefail options - #​870
    • Set EUID just like UID - #​958
    • Replace panics on unimplemented builtins with errors - #​999
    • Tweak build tags to support building for js/wasm - #​983
  • syntax/typedjson
    • Avoid reflect.Value.MethodByName to reduce binary sizes - #​961

v3.6.0

This release drops support for Go 1.17 and includes many features and fixes.

  • cmd/shfmt
    • Implement --from-json as the reverse of --to-json - [#​900]
    • Improve the quality of the --to-json output - [#​900]
    • Provide detected language when erroring with -ln=auto - [#​803]
  • syntax
    • Don't require peeking two bytes after echo * - [#​835]
    • Simplify ${name:-} to the equivalent ${name-} - [#​849]
    • Don't print trailing whitespaces on nested subshells - [#​814]
    • Don't print extra newlines in some case clauses - [#​779]
    • Don't indent comments preceding case clause items - [#​917]
    • Allow escaped newlines before unquoted words again - [#​873]
    • Parse a redirections edge case without spaces - [#​879]
    • Give a helpful error when <<< is used in POSIX mode - [#​881]
    • Forbid ${!foo*} and ${!foo@} in mksh mode - [#​929]
    • Batch allocations less aggressively in the parser
  • syntax/typedjson
    • Expose --from-json and --to-json as Go APIs - [#​885]
  • expand
    • Improve support for expanding array keys and values - [#​884]
    • Don't panic on unsupported syntax nodes - [#​841]
    • Don't panic on division by zero - [#​892]
    • Properly expand unquoted parameters with spaces - [#​886]
    • Trim spaces when converting strings to integers - [#​928]
  • interp
    • Add initial implementation for mapfile and readarray - [#​863]
    • Improve matching patterns against multiple lines - [#​866]
    • Support %b in the printf builtin - [#​955]
    • Display all Bash options in shopt - [#​877]
  • pattern
    • Add EntireString to match the entire string using ^$ - [#​866]

v3.5.1

  • cmd/shfmt
    • Fix the Docker publishing script bug which broke 3.5.0 - [#​860]
  • interp
    • Support multi-line strings when pattern matching in [[ - [#​861]
    • Invalid glob words are no longer removed with nullglob - [#​862]
  • pattern
    • Regexp now returns the typed error SyntaxError - [#​862]

v3.5.0

This release drops support for Go 1.16 and includes many new features.

  • cmd/shfmt
    • Switch to -ln=auto by default to detect the shell language
    • Add support for long flags, like --indent for -i
  • syntax
    • Allow extglob wildcards as function names like @() { ... }
    • Add support for heredocs surrounded by backquotes
    • Add support for backquoted inline comments
    • Add NewPos to create Pos values externally
    • Support escaped newlines with CRLF line endings
    • Minify no longer omits a leading shebang comment
    • Avoid printing escaped newlines in non-quoted words
    • Fix some printer edge cases where comments weren't properly spaced
  • fileutil
    • Add Shebang to extract the shell language from a #! line
  • expand
    • Reimplement globstar ** globbing for correctness
    • Replace os.Stat as the last direct use of the filesystem
  • interp
    • Add CallHandler to intercept all interpreted CallExpr nodes
    • Add ReadDirHandler to intercept glob expansion filesystem reads
    • Add StatHandler to intercept os.Stat and os.Lstat calls
    • Always surface exit codes from command substitutions
    • Add initial and incomplete support for set -x
    • Add support for cd - as cd "$OLDPWD"
    • Avoid panic on set - args

v3.4.3

  • cmd/shfmt
    • New Docker v3 tag to track the latest stable version
    • Don't duplicate errors when walking directories
  • interp
    • Properly handle empty paths in the test builtin
    • Allow unsetting global vars from inside a function again
    • Use %w to wrap errors in Dir

v3.4.2

  • The tests no longer assume what locales are installed
  • interp
    • Keep PATH list separators OS-specific to fix a recent regression
    • Avoid negative elapsed durations in the time builtin

v3.4.1

  • syntax
    • Don't return an empty string on empty input to Quote
  • expand
    • Properly sort in ListEnviron to avoid common prefix issues
  • interp
    • export used in functions now affects the global scope
    • Support looking for scripts in $PATH in source
    • Properly slice arrays in parameter expansions

v3.4.0

This release drops support for Go 1.15,
which allows the code to start benefitting from io/fs.

  • cmd/shfmt
    • Walks directories ~10% faster thanks to filepath.WalkDir
  • syntax
    • Add Quote to mirror strconv.Quote for shell syntax
    • Skip null characters when parsing, just like Bash
    • Rewrite fuzzers with Go 1.18's native fuzzing
  • fileutil
    • Add CouldBeScript2 using io/fs.DirEntry
  • expand
    • Skip or stop at null characters, just like Bash
  • interp
    • Set GID just like UID
    • Add support for read -p
    • Add support for pwd flags
    • Create random FIFOs for process substitutions more robustly
    • Avoid leaking an open file when interpreting $(<file)

v3.3.1

  • syntax
    • Don't convert & in a separate line into ;
    • Fix a BinaryNextLine edge case idempotency bug
    • Never start printing a command with an escaped newline
  • interp
    • Support calling Runner.Reset before Runner.Run
    • Obey set -e for failed redirections

v3.3.0

  • cmd/shfmt
    • Document the FORCE_COLOR env var to always use colors in diffs
  • syntax
    • Add the printer SingleLine option to avoid printing newlines
    • Positions now use more bits for line numbers than column numbers
    • Test operators like && and || no longer escape newlines
    • Properly handle closing backquotes in a few edge cases
    • Properly handle trailing escaped newlines in heredocs
  • interp
    • Redesigned variable scoping to fix a number of edge cases
    • Refactor set -o nounset support to fix many edge cases
    • Deprecate LookPath in favor of LookPathDir
    • Array element words are now expanded correctly
    • Add support for trap with error and exit signals
    • Add support for shopt -s nullglob
    • Add support for type -p

v3.2.4

  • cmd/shfmt
    • Don't stop handling arguments when one results in a failure
  • expand
    • Don't panic when a backslash is followed by EOF

v3.2.2

  • syntax
    • Avoid comment position panic in the printer

v3.2.1

  • syntax
    • Fix an endless loop when parsing single quotes in parameter expansions
    • Properly print assignments using escaped newlines
    • Print inline heredoc comments in the right place
  • interp
    • Always expand ~ in Bash test expressions
  • expand
    • Don't panic on out of bounds array index expansions

v3.2.0

  • cmd/shfmt
    • Add a man page via scdoc; see shfmt.1.scd
    • Add -filename to give a name to standard input
  • syntax
    • Add initial support for Bats
    • Protect line and column position numbers against overflows
    • Rewrite arithmetic parsing to fix operator precedence
    • Don't add parentheses to function f {...} declarations for ksh support
    • KeepPadding now obeys extra indentation when using space indentation
    • Properly tokenize (( within test expressions
    • Properly tokenize single quotes within parameter expansions
    • Obey print options inside <<- heredocs
    • Don't simplify indexed parameter expansions in arithmetic expressions
    • Improve parsing errors for missing test expressions
    • LangVariant now implements flag.Value
  • interp
    • Avoid panic on C-style loops which omit expressions
    • $@&#8203; and $* always exist, so "$@&#8203;" can expand to zero words

v3.1.2

  • syntax
    • Fix brace indentation when using FunctionNextLine
    • Support indirect parameter expansions with transformations
    • Stop heredoc bodies only when the entire line matches
  • interp
    • Make the tests pass on 32-bit platforms

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.

Copy link
Contributor Author

renovate bot commented Feb 9, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: devbox.lock
Command failed: devbox install
Installing nix with: curl -L https://releases.nixos.org/nix/nix-2.24.7/install | sh -s
This may require sudo access.
Error: exit status 1

Error: There was an internal error. Run with DEVBOX_DEBUG=1 for a detailed error message, and consider reporting it at https://github.com/jetify-com/devbox/issues

@renovate renovate bot requested review from a team as code owners February 9, 2025 20:40
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.

0 participants