### 2.9.1 / 2012-04-03
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.9.0...2.9.1)
Bug fixes
* Provide a helpful message if the diff between two objects is empty.
* Fix bug diffing single strings with multiline strings.
* Fix for error with using custom matchers inside other custom matchers
(mirasrael)
* Fix using execution context methods in nested DSL matchers (mirasrael)
### 2.9.0 / 2012-03-17
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.8.0...v2.9.0)
Enhancements
* Move built-in matcher classes to RSpec::Matchers::BuiltIn to reduce pollution
of RSpec::Matchers (which is included in every example).
* Autoload files with matcher classes to improve load time.
Bug fixes
* Align respond_to? and method_missing in DSL-defined matchers.
* Clear out user-defined instance variables between invocations of DSL-defined
matchers.
* Dup the instance of a DSL generated matcher so its state is not changed by
subsequent invocations.
* Treat expected args consistently across positive and negative expectations
(thanks to Ralf Kistner for the heads up)
2.8.0 / 2012-01-04
full changelog
Enhancements
* Better diff output for Hash (Philippe Creux)
* Eliminate Ruby warnings (Olek Janiszewski)
2.8.0.rc2 / 2011-12-19
full changelog
No changes for this release. Just releasing with the other rspec gems.
2.8.0.rc1 / 2011-11-06
full changelog
Enhancements
* Use classes for the built-in matchers (they're faster).
* Eliminate Ruby warnings (Matijs van Zuijlen)