Skip to content

Stable version v0.11.0

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Aug 00:27
· 44 commits to master since this release

This release is dedicated to Satisfactory, even though my giant
3D ball of rat's nest conveyor belt spaghetti is anything but.

CHANGELOG

v0.11.0 - 2025-08-03

Added

  • SC2327/SC2328: Warn about capturing the output of redirected commands.
  • SC2329: Warn when (non-escaping) functions are never invoked.
  • SC2330: Warn about unsupported glob matches with [[ .. ]] in BusyBox.
  • SC2331: Suggest using standard -e instead of unary -a in tests.
  • SC2332: Warn about [ ! -o opt ] being unconditionally true in Bash.
  • SC3062: Warn about bashism [ -o opt ].
  • Optional avoid-negated-conditions: suggest replacing [ ! a -eq b ]
    with [ a -ne b ], and similar for -ge/-lt/=/!=/etc (SC2335).
  • Precompiled binaries for Linux riscv64 (linux.riscv64)

Changed

  • SC2002 about Useless Use Of Cat is now disabled by default. It can be
    re-enabled with --enable=useless-use-of-cat or equivalent directive.
  • SC2236/SC2237 about replacing [ ! -n .. ] with [ -z ] and vice versa
    is now optional under avoid-negated-conditions.
  • SC2015 about A && B || C no longer triggers when B is a test command.
  • SC3012: Do not warn about \< and \> in test/[] as specified in POSIX.1-2024
  • Diff output now uses / as path separator on Windows

Fixed

  • SC2218 about function use-before-define is now more accurate.
  • SC2317 about unreachable commands is now less spammy for nested ones.
  • SC2292, optional suggestion for [[ ]], now triggers for Busybox.
  • Updates for Bash 5.3, including ${| cmd; } and source -p

Removed

  • SC3013: removed since the operators -ot/-nt/-ef are specified in POSIX.1-2024