<commit_before>### 3.0 Development
[full changelog](http://github.com/rspec/rspec-expectations/compare/2-99-maintenance...master)

Breaking Changes for 3.0.0:

* Remove explicit support for 1.8.6. (<NAME>)
* Remove the deprecated `be_close` matcher, preferring `be_within` instead.
  (<NAME>)
* Rename `be_true` and `be_false` to `be_truthy` and `be_falsey`. (<NAME>)
* Make `expect { }.to_not raise_error(SomeSpecificClass, message)`,
       `expect { }.to_not raise_error(SomeSpecificClass)` and
       `expect { }.to_not raise_error(message)` invalid, since they are prone
  to hiding failures. Instead, use `expect { }.to_not raise_error` (with no
  args). (<NAME>)
* Within `RSpec::Matchers.define` blocks, helper methods made available
  either via `def self.helper` or `extend HelperModule` are no longer
  available to the `match` block (or any of the others). Instead
  `include` your helper module and define the helper method as an
  instance method. (Myron Marston)

Enhancements:

* Support `do..end` style block with `raise_error` matcher. (<NAME>)
* Rewrote custom matcher DSL to simplify its implementation and solve a
  few issues. (Myron Marston)
* Allow early `return` from within custom matcher DSL blocks. (Myron
  Marston)
* The custom matcher DSL's `chain` can now accept a block. (Myron
  Marston)
* Support setting an expectation on a `raise_error` matcher via a chained
  `with_message` method call. (<NAME>)

Bug Fixes:

* Allow `include` and `match` matchers to be used from within a
  DSL-defined custom matcher's `match` block. (Myron Marston)

Deprecations:

 * Using the old `:should` syntax without explicitly configuring it is deprecated.
   It will continue to work but will emit a deprecation warning in RSpec 3 if
   you do not explicitly enable it. (<NAME>)

### 2.14.4 / 2013-11-06
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.3...v2.14.4)

Bug fixes

* Make the `match` matcher produce a diff output. (<NAME>, <NAME>)
* Choose encoding for diff's more intelligently, and when all else fails fall
  back to default internal encoding with replacing characters. (<NAME>)

### 2.14.3 / 2013-09-22
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.2...v2.14.3)

Bug fixes

* Fix operator matchers (`should` syntax) when `method` is redefined on target.
  (<NAME>)
* Fix diffing of hashes with object based keys. (<NAME>)
* Fix operator matchers (`should` syntax) when operator is defined via
  `method_missing` (<NAME>)

### 2.14.2 / 2013-08-14
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.1...v2.14.2)
<commit_msg>Update changelog with 2.99.0.beta1 release notes.<commit_after>### 3.0 Development
[full changelog](http://github.com/rspec/rspec-expectations/compare/2-99-maintenance...master)

Breaking Changes for 3.0.0:

* Remove explicit support for 1.8.6. (<NAME>)
* Remove the deprecated `be_close` matcher, preferring `be_within` instead.
  (<NAME>)
* Rename `be_true` and `be_false` to `be_truthy` and `be_falsey`. (<NAME>)
* Make `expect { }.to_not raise_error(SomeSpecificClass, message)`,
       `expect { }.to_not raise_error(SomeSpecificClass)` and
       `expect { }.to_not raise_error(message)` invalid, since they are prone
  to hiding failures. Instead, use `expect { }.to_not raise_error` (with no
  args). (<NAME>)
* Within `RSpec::Matchers.define` blocks, helper methods made available
  either via `def self.helper` or `extend HelperModule` are no longer
  available to the `match` block (or any of the others). Instead
  `include` your helper module and define the helper method as an
  instance method. (<NAME>)

Enhancements:

* Support `do..end` style block with `raise_error` matcher. (<NAME>)
* Rewrote custom matcher DSL to simplify its implementation and solve a
  few issues. (My<NAME>ston)
* Allow early `return` from within custom matcher DSL blocks. (Myron
  Marston)
* The custom matcher DSL's `chain` can now accept a block. (Myron
  Marston)
* Support setting an expectation on a `raise_error` matcher via a chained
  `with_message` method call. (<NAME>)

Bug Fixes:

* Allow `include` and `match` matchers to be used from within a
  DSL-defined custom matcher's `match` block. (Myron Marston)

Deprecations:

 * Using the old `:should` syntax without explicitly configuring it is deprecated.
   It will continue to work but will emit a deprecation warning in RSpec 3 if
   you do not explicitly enable it. (<NAME>)

### 2.99.0.beta1 / 2013-11-07
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.4...v2.99.0.beta1)

Deprecations

* Deprecate `have`, `have_at_least` and `have_at_most`. You can continue using those
	matchers through https://github.com/rspec/rspec-collection_matchers, or
	you can rewrite your expectations with something like
	`expect(your_object.size).to eq(num)`. (<NAME>)
* Deprecate `be_xyz` predicate matcher when `xyz?` is a private method.
  (<NAME>)
* Deprecate `be_true`/`be_false` in favour of `be_truthy`/`be_falsey`
  (for Ruby's conditional semantics) or `be true`/`be false`
  (for exact equality). (<NAME>)
* Deprecate calling helper methods from a custom matcher with the wrong
  scope. (<NAME>)
  * `def self.foo` / `extend Helper` can be used to add macro methods
    (e.g. methods that call the custom matcher DSL methods), but should
    not be used to define helper methods called from within the DSL
    blocks.
  * `def foo` / `include Helper` is the opposite: it's for helper methods
    callable from within a DSL block, but not for defining macros.
  * RSpec 2.x allowed helper methods defined either way to be used for
    either purpose, but RSpec 3.0 will not.

### 2.14.4 / 2013-11-06
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.3...v2.14.4)

Bug fixes

* Make the `match` matcher produce a diff output. (<NAME>, <NAME>)
* Choose encoding for diff's more intelligently, and when all else fails fall
  back to default internal encoding with replacing characters. (<NAME>)

### 2.14.3 / 2013-09-22
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.2...v2.14.3)

Bug fixes

* Fix operator matchers (`should` syntax) when `method` is redefined on target.
  (<NAME>)
* Fix diffing of hashes with object based keys. (<NAME>)
* Fix operator matchers (`should` syntax) when operator is defined via
  `method_missing` (<NAME>)

### 2.14.2 / 2013-08-14
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.1...v2.14.2)

{'fraction_non_alphanumeric': 0.1190842040565458, 'fraction_numerical': 0.026736324523663185, 'mean_word_length': 4.186454183266933, 'pattern_counts': {'":': 0, '<': 35, '<?xml version=': 0, '>': 35, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1242850', 'n_tokens_mistral': 2241, 'n_tokens_neox': 2067, 'n_words': 753}