All Versions
16
Latest Version
Avg Release Cycle
62 days
Latest Release
95 days ago

Changelog History
Page 1

  • v0.13.3

    December 04, 2020
  • v0.13.2

    August 26, 2020
    • ๐Ÿ‘‰ Useless Assign: ignore variables with '_' prefix b5bd76d
    • โฌ†๏ธ Upgrade alpine docker image 5ee5429
  • v0.13.1

    July 16, 2020
    • Incorrectly reporting shadowingOuterLocalVar within macro included #161
    • #to_s variants with arguments are prevented. #160
  • v0.13.0

    June 19, 2020

    ๐Ÿš€ This is a small release that supports Crystal 0.35.0 and eliminates the deprecation messages which are related to yaml serialization.

    • ๐Ÿšš Move to YAML::Serializable #157
    • โœ… Travis CI: test against Crystal nightlies #153
    • ๐Ÿ”‹ Feature/Layout trailing lines, final newline checkup #152

    ๐Ÿ†• New rules added:

    • ๐Ÿ‘• Lint/BadDirective - reports incorrect comment directives for Ameba #143
    • ๐Ÿ’… Style/IsANil - disallows calls to is_a?(Nil) in favor of nil? #141
  • v0.12.1

    April 13, 2020

    This is a small release which includes few important bugfixes

    • ๐Ÿ‘• Incorrectly reporting Lint/ShadowingOuterLocalVar within macro #144
    • Make InlineComments::COMMENT_DIRECTIVE_REGEX more strict #146 (thanks @Sija)
    • ๐ŸŒฒ ConstantNames rule conflicts with good practice defined in Crystal book about new log system #148
  • v0.12.0

    March 27, 2020

    ๐Ÿ†• New features & improvements

    • โž• Added compability for Crystal 0.34 (BC with Crystal 0.33). See #138 (thanks @bcardiff)
    • โž• Added ability to configured globs and exclude paths to sources globally (see #125):

      .ameba.ymlGlobs: - **/*.cr - !libExcluded: - spec - src/server/*

    • ๐Ÿ’… Style/RedundantReturn rule was extended to catch redundant returns in binary operators. See 946ec67

    • ๐Ÿ‘• Lint/LiteralInInterpolation rule now reports multiple nodes and points to the specific literal locations. See 04497fe

    • ๐Ÿ‘€ AST::NodeVisitor is now a default for all rules, which reduces a good portion of a boilerplate. See 1a0468c

    ๐Ÿ†• New rules added:

    • ๐Ÿ’… Style/RedundantNext - disallows redundant next expressions. See #134
    • ๐Ÿ‘• Lint/SharedVarInSpawn - disallows using shared variables in fibers, which are mutated during iterations. See #135
    • ๐Ÿ‘• Lint/EmptyLoop - disallows empty loops, see #136
    • ๐Ÿ‘• Lint/RedundantStringCoercion - disallows string conversion in string interpolation, which is redundant. See #137

    ๐Ÿ›  Bugfixes

    • ๐Ÿ‘€ Corrected broken links in Readme. See #123 (thanks @hanneskaeufler)
    • ๐Ÿ›  Nested block params were mistakenly reported as useless assignments. This is now fixed 74dfa0b
    • ๐Ÿ›  Block params in macro were mistakenly reported as shadowed local var. This is now fixed aff723b
  • v0.11.0

    November 29, 2019

    ๐Ÿ†• 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

  • v0.10.1

    September 14, 2019

    ๐Ÿ›  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
  • v0.10.0

    June 06, 2019
  • v0.9.2

    June 03, 2019

    ๐Ÿ‘Œ Improvements

    • Rules now have severities. The --fail-level can be set to control the level of failure #100

    ๐Ÿ› Bug fixes

    • Stop calculating cyclomatic complexity for methods which have Macro cโ€ฆ #99
    • ๐ŸŽ Invalid Performance/SizeAfterFilter in macros #102
    • ๐ŸŽ Incorrect detection of Performance/FirstLastAfterFilter when first returns more than 1 #104