Commit Graph

169 Commits

Author SHA1 Message Date
Vidar Holen
d09551a4e6 Update CHANGELOG post-release 2025-08-03 20:50:07 -07:00
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
2025-08-03 16:19:11 -07:00
Vidar Holen
5e6383578d Make SC2335 and friends optional (avoid-negated-conditions) 2025-07-28 15:16:22 -07: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
Vidar Holen
7dc4214149 Normalize \ to / in diff output on Windows (fixes #3240) 2025-07-17 13:40:33 -07:00
Vidar Holen
c3a597e6dd Update changelog with Bash 5.3 features 2025-07-17 12:32:55 -07:00
Vidar Holen
62a8ecf9bf Merge branch 'e-kwsm-SC3013' 2025-04-27 16:16:49 -07:00
Vidar Holen
fbb8386797 Merge pull request #3170 from e-kwsm/SC3012
fix(SC3012)!: do not warn about `\<` and `\>` in test/[] as specified in POSIX.1-2024
2025-04-09 10:51:44 -07:00
Vidar Holen
c41f3a4b8a Warn about [ ! -o opt ] (and -a) being unconditionally true (fixes #3174) 2025-04-08 10:53:52 -07:00
Vidar Holen
574c6d18fb Suggest using test -e instead of -a (fixes #3174). 2025-04-08 10:23:10 -07:00
Eisuke Kawashima
bc60607f9e fix(SC3012)!: do not warn about \< and \> in test/[] as specified in POSIX.1-2024
https://pubs.opengroup.org/onlinepubs/9799919799/utilities/test.html
fix #3168
2025-03-24 06:32:32 +09:00
Eisuke Kawashima
3a9ddae06b fix(SC3013)!: remove SC3013 since the operators are specified by POSIX.1-2024
https://pubs.opengroup.org/onlinepubs/9799919799/utilities/test.html
fix #3167
2025-03-24 06:24:12 +09:00
Vidar Holen
097018754b Mention that SC2002 (UUOC) is now no longer enabled by default. 2024-10-27 18:10:00 -07:00
Vidar Holen
5e3e98bcb0 Use CFG to determine use-before-define for SC2218 (fixes #3070) 2024-10-27 15:43:30 -07:00
Meng Zhuo
15de97e33f Add linux.riscv64 precompiled support 2024-05-30 19:20:21 +08:00
Vidar Holen
ac8fb00504 Account for BusyBox support of [[ ]] (fixes #2967) 2024-05-04 16:45:52 -07:00
Vidar Holen
76ff702e93 Supress SC2015 about A && B || C when B is a test. 2024-05-04 15:12:13 -07:00
Vidar Holen
4f81dbe839 Add warning about uninvoked functions, reduce repeated triggering of SC2317 (fixes #2966) 2024-05-04 14:35:26 -07:00
Vidar Holen
2c5155e43d Warn about capturing the output of redirected commands. 2024-04-14 18:47:19 -07:00
Vidar Holen
94214ee725 Post-release CHANGELOG 2024-03-07 19:11:12 -08:00
Vidar Holen
37dfb67768 Stable version v0.10.0
This release is dedicated to LLMs, for finally fulfilling the promise of
1960s scifi: systems you can hack using logic games and creative lies.
2024-03-07 17:54:39 -08:00
Vidar Holen
d80fdfa9e8 Add extended-analysis directive to toggle DFA 2024-02-03 16:11:39 -08:00
Grische
be8e4b2b8a add basic busybox sh support 2023-11-27 13:00:10 +01:00
Max Ulidtko
9605396bef Docs: describe fixes of PR #2837 in changelog 2023-10-01 21:23:25 +02:00
Vidar Holen
dd747b2a98 SC2325/SC2326: Warn about ! ! foo and foo | ! bar (fixes #2810) 2023-07-30 19:18:27 -07:00
Vidar Holen
9490b94886 Save and restore pending here docs when sourcing files (fixes #2803) 2023-07-30 16:52:40 -07:00
Vidar Holen
372c0b667e SC2324: Warn when x+=1 appends. 2023-07-30 15:00:43 -07:00
Vidar Holen
78dea1d4f9 Update changelog from release 2023-02-04 10:27:59 -08:00
Vidar Holen
a526ee0829 Stable version 0.9.0
This release is dedicated to Mindustry: the most fun you can
have with open source (outside of shell scripting of course).
2022-12-12 21:49:19 -08:00
Vidar Holen
d0dd81e1fa Allow quoting values in directives (fixes #2517) 2022-07-28 08:56:44 -07:00
Vidar Holen
52dac51cd4 SC2323: Warn about redundant parens in a[(x+1)] and $(( ((x)) )) (ref: #1666) 2022-07-24 14:18:38 -07:00
Vidar Holen
30bb0e0093 SC2321: Warn about redundant $(()) in arr[$((i))]=x (ref: #1666) 2022-07-24 14:18:38 -07:00
Vidar Holen
5cf6e01ce9 Warn when $? refers to echo or condition (ref #2541) 2022-07-23 09:39:26 -07:00
Vidar Holen
9caeec104b SC2318: Warn about backreferencing in declare x=1 y=$x (fixes #1653) 2022-07-22 12:40:59 -07:00
Vidar Holen
3ee4419ef4 Suppress SC2086 for variables declared -i (ref #2541) 2022-07-22 08:53:27 -07:00
Vidar Holen
da4885a71d Use DFA for SC2086 2022-07-20 08:08:44 -07:00
Vidar Holen
642ad86125 Add SC2317 warning about unreachable commands 2022-07-20 08:08:41 -07:00
Vidar Holen
f77a545282 Control Flow Graph / Data Flow Analysis support 2022-07-20 08:08:24 -07:00
Vidar Holen
399c04cc17 Mention SC2316 in changelog 2022-05-06 10:11:52 -07:00
Vidar Holen
4c186c20b9 Post-release CHANGELOG update 2021-11-06 23:18:19 -07:00
Vidar Holen
e5ad4cf420 Stable version 0.8.0
This release is dedicated to dibblego, who pushed me down the Haskell
rabbit hole. In 2006 I thought you were crazy. Today I *know* you are.
2021-11-06 22:12:39 -07:00
Vidar Holen
205ba429b3 Warn about read foo[i] expanding as glob (fixes #2345) 2021-10-07 18:50:44 -07:00
Vidar Holen
05bdeae3ab Mention require-double-brackets in CHANGELOG 2021-10-07 17:26:08 -07:00
Vidar Holen
38251abe26 Add suggestion level in text for TTY output (fixes #2339) 2021-10-07 17:14:41 -07:00
Vidar Holen
6f7eee4a27 Mention check-extra-masked-returns in changelog 2021-10-02 12:59:55 -07:00
Vidar Holen
3a296cd788 The removed check was SC1004, not SC1003 2021-09-19 12:27:16 -07:00
Vidar Holen
2536507060 Remove SC1004 (fixes #2326) 2021-09-18 17:43:55 -07:00
Vidar Holen
09aa15c9b7 Allow disable=all to disable all warnings (fixes #2323) 2021-09-18 12:50:01 -07:00
Vidar Holen
4e703e5c61 Allow specifying external-sources=true in shellcheckrc (fixes #1818) 2021-09-15 18:02:37 -07:00
Vidar Holen
ecacc2e9bb Merge pull request #2307 from a1346054/fixes
Fix redirect in license file and remove trailing whitespace elsewhere
2021-08-26 19:46:16 -07:00