ameba v0.11.0 Release Notes

Release Date: 2019-11-29 // 6 months ago
  • 🆕 New features & improvements

    • 👕 --gen-config now does not generate a todo file if there are no linting issues, see 2704a0d
    • 👀 A new AST structure typeof is added to the list of scope, so rules now properly report unused assignment, shadowed variables etc, see 677c757

      typeof(begin foo = 1 # unused variable# ...end)

    Note: Such kind of structure is usually used as type specs when the compiler can report a problem at the compilation step instead of runtime.

    • 👕 Ameba can now lint in parallel, see #118
    • 🆕 New rule: RedundantWithIndex, see #120
    • 🆕 New rule: RedundantWithObject, see #121

    🐛 Bug fixes

    • 👕 Lint/UnusedArgument: fails to recognized used argument inside macro #117
    • 🛠 Generated TODO file could have duplicated sections in yaml file. This is fixed by 1115965, 4ae0195
    • 🛠 A custom bin/ameba.cr run file could be deleted even it was already created by the user. This is fixed by 4a54f6d
    • Previously Ameba reported false positiveness if argument is shadowed by instance variable:

      def bar(@foo) @foo.try do |foo| endend

    🛠 This is fixed by 6b56c87


Previous changes from v0.10.1

  • 🛠 Fixes and improvements:

    • CyclomaticCompexity: report only def name b868d88
    • 👉 Make Ameba::VERSION work with paths containing spaces #114
    • 🔌 Ameba supports external plugins #112
    • ⬇️ Drop support of Crystal 0.24.2 9065a5f