ShellCheck v0.7.0 Release Notes

Release Date: 2019-07-28 // over 4 years ago
  • โž• Added

    • ๐ŸŽ Precompiled binaries for macOS and Linux aarch64
    • ๐Ÿ‘ Preliminary support for fix suggestions
    • ๐Ÿ†• New -f diff unified diff format for auto-fixes
    • โœ… Files containing Bats tests can now be checked
    • Directory wide directives can now be placed in a .shellcheckrc
    • โœ… Optional checks: Use --list-optional to show a list of tests, Enable with -o flags or enable=name directives
    • Source paths: Use -P dir1:dir2 or a source-path=dir1 directive to specify search paths for sourced files.
    • json1 format like --format=json but treats tabs as single characters
    • Recognize FLAGS variables created by the shflags library.
    • Site-specific changes can now be made in Custom.hs for ease of patching
    • SC2154: Also warn about unassigned uppercase variables (optional)
    • SC2252: Warn about [ $a != x ] || [ $a != y ], similar to SC2055
    • SC2251: Inform about ineffectual ! in front of commands
    • SC2250: Warn about variable references without braces (optional)
    • 0๏ธโƒฃ SC2249: Warn about case with missing default case (optional)
    • SC2248: Warn about unquoted variables without special chars (optional)
    • SC2247: Warn about $"(cmd)" and $"{var}"
    • SC2246: Warn if a shebang's interpreter ends with /
    • SC2245: Warn that Ksh ignores all but the first glob result in [
    • SC2243/SC2244: Suggest using explicit -n for [ $foo ] (optional)
    • SC1135: Suggest not ending double quotes just to make $ literal

    ๐Ÿ”„ Changed

    • If a directive or shebang is not specified, a .bash/.bats/.dash/.ksh extension will be used to infer the shell type when present.
    • Disabling SC2120 on a function now disables SC2119 on call sites

    ๐Ÿ›  Fixed

    • ๐Ÿ–จ SC2183 no longer warns about missing printf args for %()T