<commit_before>### Development

Breaking Changes for 3.0.0:

* Raise an explicit error if `should_not_receive(...).and_return` is used. (Sam
  Phippen)
* Remove 1.8.6 workarounds (<NAME>)

Enhancements:

* Document test spies in the readme. (<NAME>)
* Add an `array_including` matcher. (<NAME>)

Bug Fixes:

* Bypass RSpec::Mocks::Syntax when mass-assigning stubs via double(). (<NAME>)
* Allow a block implementation to be used in combination with
  `and_yield`, `and_raise`, `and_return` or `and_throw`. This got fixed
  in 2.13.1 but failed to get merged into master for the 2.14.0.rc1
  release (Myron Marston).

### 2.14.0.rc1 / 2013-05-27
[full changelog](http://github.com/rspec/rspec-mocks/compare/v2.13.0...v2.14.0.rc1)

Enhancements:

* Refactor internals so that the mock proxy methods and state are held
  outside of the mocked object rather than inside it. This paves the way
  for future syntax enhancements and removes the need for some hacky
  work arounds for `any_instance` dup'ing and `YAML` serialization,
  among other things. Note that the code now relies upon `__id__`
  returning a unique, consistent value for any object you want to
  mock or stub (Myron Marston).
* Add support for test spies. This allows you to verify a message
  was received afterwards using the `have_received` matcher.
  Note that you must first stub the method or use a null double.
  (<NAME> and <NAME>)
* Make `at_least` and `at_most` style receive expectations print that they were<commit_msg>Changelog entry<commit_after>### Development

Breaking Changes for 3.0.0:

* Raise an explicit error if `should_not_receive(...).and_return` is used. (Sam
  Phippen)
* Remove 1.8.6 workarounds (<NAME>)

Enhancements:

* Document test spies in the readme. (<NAME>)
* Add an `array_including` matcher. (<NAME>)

Bug Fixes:

* Bypass RSpec::Mocks::Syntax when mass-assigning stubs via double(). (<NAME>)
* Allow a block implementation to be used in combination with
  `and_yield`, `and_raise`, `and_return` or `and_throw`. This got fixed
  in 2.13.1 but failed to get merged into master for the 2.14.0.rc1
  release (Myron Marston).
* `Marshal.dump` does not unnecessarily duplicate objects when rspec-mocks has
  not been fully initialized. This could cause errors when using `spork` or
  similar preloading gems (<NAME>).

### 2.14.0.rc1 / 2013-05-27
[full changelog](http://github.com/rspec/rspec-mocks/compare/v2.13.0...v2.14.0.rc1)

Enhancements:

* Refactor internals so that the mock proxy methods and state are held
  outside of the mocked object rather than inside it. This paves the way
  for future syntax enhancements and removes the need for some hacky
  work arounds for `any_instance` dup'ing and `YAML` serialization,
  among other things. Note that the code now relies upon `__id__`
  returning a unique, consistent value for any object you want to
  mock or stub (Myron Marston).
* Add support for test spies. This allows you to verify a message
  was received afterwards using the `have_received` matcher.
  Note that you must first stub the method or use a null double.
  (<NAME> and <NAME>)
* Make `at_least` and `at_most` style receive expectations print that they were
{'fraction_non_alphanumeric': 0.09205152371976123, 'fraction_numerical': 0.023248507697141062, 'mean_word_length': 4.15210355987055, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 16, 'https://': 0, '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': '5468698', 'n_tokens_mistral': 1047, 'n_tokens_neox': 977, 'n_words': 421}