Skip to content

Releases: ruby/did_you_mean

v1.2.0

02 Jan 20:49
Compare
Choose a tag to compare

This version 1.2.0 only has support for Ruby 2.5.0 and later as it uses new features that are only available in 2.5. All future patch releases under 1.2.* will only be compatible with Ruby 2.5.0 and later as well. Versions earlier than 1.1.* will still be maintained until Ruby 2.4 is deprecated. Any other versions below 1.0 will no longer be maintained.

New features

  • The KeyError name suggestion feature has been promoted to a stable feature and is available by default (acf5945https://bugs.ruby-lang.org/issues/12063)
  • Now suggests true, false or nil if a NameError occurs because of a typo in these names (#94, @styd)
  • New Formatter API: This provides a clean way to customize DidYouMean’s formatter without overriding the default formatter. Please refer to the built-in verbose formatter for how to use it

v1.1.2

24 Sep 07:28
Compare
Choose a tag to compare

This version is only compatible with Ruby 2.4 and later.

Bug Fixes

  • Fixed a bug where did_you_mean shows duplicate suggestions when the exception is raised multiple times (#84, c2e4008)

v1.1.1

24 Sep 07:24
Compare
Choose a tag to compare

This version has been yanked from Rubygems.org and is not available.

v1.0.3

24 Sep 07:22
Compare
Choose a tag to compare

This version is only compatible with Ruby 2.3 and later.

Bug Fixes

  • Fixed a bug where did_you_mean shows duplicate suggestions when the exception is raised multiple times (#84, c2e4008)

v1.1.0

19 Dec 23:19
Compare
Choose a tag to compare

The version 1.1.0 only has support for Ruby 2.4.0 and later. All patch releases under 1.1.* will only be compatible with Ruby 2.4.0 and later as well. Versions earlier than 1.0.* will still be maintained until Ruby 2.3 is deprecated. Any other versions below 1.0 will no longer be maintained.

New Features

  • Suggest a method name on a NameError from the Struct#[] or Struct#[]= method (#73):

    Struct.new(:foo).new[:fooo]
    # => NameError: no member 'fooo' in struct
    #    Did you mean?  foo
    #                   foo=
  • Added a public interface for the gem's spell checker:

    DidYouMean::SpellChecker.new(dictionary: ['email', 'fail', 'eval']).correct('meail')
    # => ['email']
  • Methods defined on nil by default are no longer suggested. Note that methods, defined after the gem is loaded, will still be suggested (e.g. ActiveSupport).

Bug Fixes

  • Fixed a bug where private method names were added to the dictionary when an argument was passed in to a public method. Use the NoMethodError#private_call? method instead (0a1b761)

v1.0.2

20 Nov 18:03
Compare
Choose a tag to compare

This version is only compatible with Ruby 2.3 and later.

Features

  • Experimental features are officially available through require 'did_you_mean/experimental'

Deprecations

  • require 'did_you_mean/extra_features' is now deprecated in favor of require 'did_you_mean/experimental'

Internal Changes

  • Replaced the DidYouMean::SpellCheckable module with the DidYouMean::SpellChecker class. This is a slower implementation but close to the model explained in this talk, more reusable and possibly makes it easier to expose the class as a public interface.

v1.0.1

15 May 05:17
Compare
Choose a tag to compare

This version is only compatible with Ruby 2.3 and later.

Bug Fixes

  • Fixed a bug where the gem suggests what is actually typed by the user: 1c52c88
  • Fixed features that didn't work on JRuby 9.1.0.0: dc48dde, 4de23f8, 00e3059. The local variable name correction is still disabled. Also see: jruby/jruby#3480

v1.0.0

25 Dec 05:13
Compare
Choose a tag to compare

This version is only compatible with Ruby 2.3 and later.

Features

Bug Fixes

  • Fixed a bug where the Jaro-Winkler implementation returns the wrong distance when 2 identical strings are given. fixes #58

Internal Changes

  • Slightly changed the spell checking algorithm. Take a look at e2f5b24 for more details. fixes #60

v1.0.0.rc1

25 Dec 05:02
Compare
Choose a tag to compare
v1.0.0.rc1 Pre-release
Pre-release

Internal Chagens

  • No longer uses TracePoint API by default. fixes #55 and #56

v1.0.0.beta3

25 Dec 04:56
Compare
Choose a tag to compare
v1.0.0.beta3 Pre-release
Pre-release

Internal Changes

  • Use the frozen-string-literal pragma rather than calling .freeze everywhere
  • Use the NameError#receiver method in DidYouMean:: ClassNameChecker to know the namespace where the constant call is made
  • Refactored the SpellCheckerTest