Commit Graph

2140 Commits

Author SHA1 Message Date
Vidar Holen
aac0823e6b Stable version v0.11.0
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
v0.11.0
2025-08-03 16:19:11 -07:00
Vidar Holen
1857608dc3 Update release checklist 2025-08-03 16:16:04 -07:00
Vidar Holen
abf3c0ca66 Prevent cabal.project.freeze from interfering with distro tests 2025-08-02 14:39:12 -07:00
Vidar Holen
3f3c2cd94b Add snap docker support for distro testing 2025-08-02 14:39:01 -07:00
Vidar Holen
109b847c75 Git ignore cabal.project.freeze 2025-08-02 12:40:46 -07:00
Vidar Holen
8a9bed1bbd Update linux.x86_64 image 2025-07-30 19:00:38 -07:00
Vidar Holen
29b1bf3a52 Merge pull request #3076 from kuraian/patch-1
Update README.md
2025-07-30 10:02:36 -07:00
Vidar Holen
6c1542a0e3 Merge branch 'Flu-add-bang-to-function-chars' 2025-07-30 09:55:37 -07:00
Vidar Holen
b014ce13da Add unit tests for function names with "#" 2025-07-30 09:55:00 -07:00
Vidar Holen
20fd67da07 Merge branch 'add-bang-to-function-chars' of github.com:Flu/shellcheck into Flu-add-bang-to-function-chars 2025-07-28 15:49:30 -07:00
Vidar Holen
b6c0673edf Merge branch 'e-kwsm-fix-3164' 2025-07-28 15:19:03 -07:00
Vidar Holen
5e6383578d Make SC2335 and friends optional (avoid-negated-conditions) 2025-07-28 15:16:22 -07:00
Vidar Holen
60c0be98b6 Merge branch 'fix-3164' of github.com:e-kwsm/shellcheck into e-kwsm-fix-3164 2025-07-28 14:08:25 -07:00
Vidar Holen
bbd5d211cf Merge pull request #3256 from e-kwsm/SC2143
feat(SC2143): add grep variants for compressed data
2025-07-28 14:06:08 -07:00
Vidar Holen
ed081f8f43 Merge pull request #3253 from e-kwsm/docker
build: simplify Dockerfile
2025-07-27 11:25:54 -07:00
Vidar Holen
1e679444d7 Merge pull request #3257 from e-kwsm/SC2232
feat(SC2232): add more shell builtins
2025-07-24 09:54:13 -07:00
Vidar Holen
5b40fde630 Merge pull request #3258 from e-kwsm/doas-run0
feat(SC2016,SC2032,SC2033): check doas and run0 similarly to sudo
2025-07-24 09:53:45 -07:00
Vidar Holen
317507b8cd Update CI with new builders/ directory name 2025-07-23 16:00:20 -07:00
Vidar Holen
7a768a4b0f Update builder images. Yay for GHC's improved cross-compiler support! 2025-07-23 14:57:41 -07:00
Vidar Holen
89806b96fa Update dependencies 2025-07-22 14:40:25 -07:00
Vidar Holen
d92b0fdd43 Rename build/ to builders/ to avoid looking like build output 2025-07-22 14:38:10 -07:00
Vidar Holen
95ddc900fe Merge pull request #3251 from juhp/patch-1
allow QuickCheck-2.16
2025-07-19 19:43:11 -07:00
Eisuke Kawashima
aba0ffb8d3 feat(SC2016,SC2032,SC2033): check doas and run0 similarly to sudo
partially address #3255
2025-07-20 08:13:16 +09:00
Eisuke Kawashima
c0f1265fa0 feat(SC2232): add more shell builtins 2025-07-20 08:02:13 +09:00
Eisuke Kawashima
6e65eb7136 feat(SC2143): add grep variants for compressed data 2025-07-20 04:53:02 +09:00
Eisuke Kawashima
34cdbaa5e0 feat: avoid double negative of a binary operator in test
suggest `[ a != b ]` over `[ ! a = b ]` and `! [ a = b ]`, and so forth.
c.f. SC2236 and SC2237 (unary operations)

close #3164
2025-07-20 03:18:38 +09:00
Eisuke Kawashima
6c2cb4d009 build: simplify Dockerfile 2025-07-20 02:59:43 +09:00
Jens Petersen
ce6f18cfb7 allow QuickCheck-2.16
see also commercialhaskell/stackage#7787
2025-07-18 19:27:05 +08:00
Vidar Holen
7dc4214149 Normalize \ to / in diff output on Windows (fixes #3240) 2025-07-17 13:40:33 -07:00
Vidar Holen
9b8e0b6f8c Update issue templates 2025-07-17 12:48:56 -07:00
Vidar Holen
c3a597e6dd Update changelog with Bash 5.3 features 2025-07-17 12:32:55 -07:00
Vidar Holen
0c26fb405d Add support for Bash 5.3 source -p .. file (just ignores the path) 2025-07-17 12:27:43 -07:00
Vidar Holen
23097320a4 Add support for ${| ..} expansion (fixes #3243) 2025-07-17 12:01:54 -07:00
Vidar Holen
6a758d5dc7 Update with new Bash 5.3 printf formats 2025-07-17 10:53:05 -07:00
Vidar Holen
64b172e090 Merge pull request #3223 from simondeziel/snap-core24-base
snap: switch to `core24` base
2025-07-17 09:23:17 -07:00
Vidar Holen
947a0ebc7f Merge pull request #3238 from polluks/patch-1
Update shellcheck.1.md
2025-07-17 08:44:00 -07:00
Vidar Holen
2ae0aeaff9 Merge branch 'slycordinator-leading_X' 2025-07-17 08:41:07 -07:00
Vidar Holen
c592abb984 Add unit test for #2689 2025-07-17 08:37:58 -07:00
Christopher Slycord
08329b0698 x-prefix: add support for "!=" and X (capital x)
Changes checkComparisonWithLeadingX to:
1) Work with the "!=" operator in addition to "=" and "==".
2) Support prefixing with "x" and "X". This is helpful since some scripts have comparisons like [ "X$var" = "X" ] and the like
2025-07-17 13:14:04 +09:00
Stefan
24891542c2 Update shellcheck.1.md 2025-07-05 12:13:32 +02:00
Simon Deziel
9477e26858 snap: strip executable during installation
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
2025-06-18 16:34:35 -04:00
Simon Deziel
638eb88a5a snap: remove now unneeded libatomic1 stage package
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
2025-06-18 16:01:24 -04:00
Simon Deziel
34f582c81c snap: don't abort on swapon failures
This is needed when building snap on LXD containers.

Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
2025-06-18 15:24:14 -04:00
Simon Deziel
310932be8e snap: modern cabal no longer have sandbox subcommand
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
2025-06-18 15:24:14 -04:00
Simon Deziel
fa99cfd355 snap: replace dd by fallocate (faster)
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
2025-06-18 12:50:29 -04:00
Simon Deziel
133bc8a543 snap: newer mkswap require stricter perms
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
2025-06-18 12:50:07 -04:00
Simon Deziel
677243d5aa snap: switch to core24 base
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
2025-06-18 12:40:34 -04:00
Vidar Holen
20d11c1c33 Merge branch 'e-kwsm-tautologically-false' 2025-05-17 00:56:52 +00:00
Vidar Holen
47d358c1d4 Tighten SC2333/SC2334 to only trigger against literals. 2025-05-17 00:55:50 +00:00
Vidar Holen
ad58768563 Merge branch 'tautologically-false' of github.com:e-kwsm/shellcheck into e-kwsm-tautologically-false 2025-05-12 17:04:34 +00:00