Skip to content

v0.0.41

Latest

Choose a tag to compare

@ewhauser ewhauser released this 21 May 04:04
Immutable release. Only release title and notes can be modified.
7167c71

0.0.41 (2026-05-21)

Features

  • formatter: expose format command by default (#1059) (33283da)
  • formatter: restore shell formatter (#1053) (e62dd71)
  • linter: add C016 stray control keyword rule (#1042) (3a7949c)
  • linter: add C162 extra masked returns (f66409a)
  • linter: add K006 rm rootish target rule (e6a8b37)
  • linter: add K007 chmod sensitive path rule (aa16519)
  • linter: add K008 fork bomb pattern rule (c30c38f)
  • linter: add S078 shebang shell policy rule (0a89e43)
  • linter: add S079 shebang form policy rule (e648253)
  • linter: add S080 script size threshold rule (3f5e6d9)
  • linter: add S081 file description rule (f21518e)
  • linter: add S082 todo format rule (174fbd8)
  • linter: add S083 missing function doc rule (e72640d)
  • linter: add S084 function doc content rule (#1040) (68bec68)
  • linter: add S085 main entrypoint rule (#1041) (a39cbb4)
  • linter: fix c-style arithmetic diagnostics (#1002) (d0d8f9f)
  • linter: fix ssh local expansion diagnostics (#1001) (8991782)
  • linter: fix suspect closing quote diagnostics (#1007) (eefbe2d)
  • linter: implement C016 stray closing keyword (#1009) (e6dfe43)
  • linter: implement C023 leading zero arithmetic (#1010) (75a44af)
  • linter: implement C024 assignment spacing (#1011) (0ca833d)
  • linter: implement C027 bare done word (#1012) (a394aa1)
  • linter: implement C031 bracket close spacing (#1013) (9acbae6)
  • linter: implement C032 jammed test bracket (#1014) (dab0380)
  • linter: implement C033 indented heredoc close (98b68aa)
  • linter: implement C034 unterminated if (62f6c89)
  • linter: implement C044 bare glob command path (8f2a5bb)
  • linter: implement C045 diff marker line (5c80793)
  • linter: implement C049 tautology chain (#1019) (6b4e94f)
  • linter: implement C051 duplicate redirect (29883ee)
  • linter: implement C052 assign special zero (763e6a8)
  • linter: implement C053 spacey assign (04e0f9e)
  • linter: implement C158 implicit globals (8a6ba6e)
  • linter: implement C159 mutable globals (b0da635)
  • linter: implement C160 unanchored source paths (31d3df2)
  • linter: implement C161 function call ordering (a46ae1f)
  • linter: implement rule-local autofixes (#1000) (f63f18b)
  • server: add document symbols (#1045) (e05f65e)
  • server: add LSP editor features (#1052) (923f249)
  • server: add semantic symbol hover (#1050) (29be31f)
  • server: add workspace symbols (#1046) (bc82227)
  • server: cache document analysis for LSP requests (#1051) (ec1e1e7)

Bug Fixes

  • deps: update dependency next to v16.2.6 [security] (#996) (9e15087)
  • formatter: improve shfmt corpus conformance (#1063) (0198a48)
  • formatter: restore shfmt parity (#1057) (f7ca339)
  • linter: add documented autofixes (#999) (209d590)
  • linter: handle missing xargs option arguments (#995) (98c1359)
  • linter: keep unicode quote spans source-backed (#998) (e88f2f7)
  • parser: handle corpus shell edge cases (#1062) (e0d948d)
  • parser: preserve command substitution spans (#1064) (60e715a)

Performance

  • formatter: parallelize file formatting (#1065) (907aef7)
  • linter: narrow zsh array fanout value-flow checks (#990) (c7f20bb)

Reverts

  • linter: roll back C162 extra masked returns (#1054) (e25292a)

Documentation

Refactor