Skip to content
This repository has been archived by the owner on Mar 16, 2023. It is now read-only.

1.1.0

Compare
Choose a tag to compare
@yorickpeterse yorickpeterse released this 02 Feb 19:27
· 166 commits to master since this release

This release changes the way the definitions system works so that it no longer
stores a set of global definition objects. Instead "templates" (so to speak)
are provided which are applied to individual RubyLint::VirtualMachine
instances. This makes it much easier to analyze code that patches core classes
such as String or Fixnum.

There have also been various other, smaller changes. The ones worth mentioning
as following:

  • A new analysis class, UselessEqualityChecks, has been added. This class adds
    warnings for expressions such as "foo" == true.
  • A Rake task class has been added, making it easier to integrate ruby-lint in
    a Rakefile.
  • The CLI has been cleaned up and the plot and ast commands have been
    removed. A new command, cache has been introduced to manage ruby-lint cache
    files more easily.
  • A bug has been fixed that would prevent ruby-lint from properly loading files
    from multiple directories, see Git commit
    292bb2b73aa6adfdc750fb846884025afc841393.
  • Definitions have been added for Devise and Nokogiri.
  • Most built-in definitions have been re-generated.
  • Definitions system has been overhauled to no longer use a global state and a
    complex data copying system. Instead the definitions are applied to every
    individual RubyLint::VirtualMachine instance.
  • Updated the version of the parser Gem to use.

The following bugs/issues have been resolved in this release: