RSpec-2.5.0 is released!
This is a minor upgrade, and is fully backward compatible with rspec-2.4. It includes several bug fixes, enhancements, and one deprecation. See the changelog below for details.
We had a little glitch publishing the docs to [http://relishapp.com/rspec\](http://relishapp.com/rspec\), so the 2.5 docs won't be up for another day or two, so I'll detail the noticable differences here (and on http://blog.davidchelimsky.net/2011/02/06/rspec-250-is-released/).
## Autotest/Bundler integration
### --skip-bundler
RSpec's Autotest integration assumes that you want `bundle exec` in the shell command generated by Autotest if you have a `Gemfile`. This works fine for some situations, but not all, so we added an opt-out for rspec-2.5:
autotest -- --skip-bundler
Autotest ignores everything after the initial `--`, so RSpec's Autotest extension handles the `--skip-bundler` option.
### Autotest's bundler plugin
Autotest ships with a plugin for bundler. Just add the following to a `.autotest` file in the project's root directory, or your home directory:
require 'autotest/bundler'
This prefixes the generated shell command with 'bundle exec'.
### Implicit detection of Gemfile is deprecated
Given that Autotest has its own way of dealing with Bundler (see above), we deprecated the implicit assumption that `Gemfile` means "use bundler". You'll see a deprecation notice if you are relying on that, but it _still works_. It's just a deprecation warning. To silence the warning, either use the `--skip-bundler` option or Autotest's bundler plugin, described above.
## HTML Formatter
The HTML formatter now has a set of checkboxes in the header that allow you to filter what you're looking at:
<img src="Skitch | Evernote;
## to not, or not to not
Are you the sort of person for whom "expect this block of code _to not_ raise an error" is like nails on chalkboard? If so, relief has arrived. You may now type either of the following, and RSpec will happily service you:
expect { ... }.to_not raise_error expect { ... }.not_to raise_error
## Changelog
### rspec-core-2.5.0
[full changelog](Comparing v2.4.0...v2.5.0 · rspec/rspec-core · GitHub)
* Enhancements * Autotest::Rspec2 parses command line args passed to autotest after '--' * --skip-bundler option for autotest command * Autotest regexp fixes (Jon Rowe) * Add filters to html and textmate formatters (Daniel Quimper) * Explicit passing of block (need for JRuby 1.6) (John Firebaugh)
* Bug fixes * fix dom IDs in HTML formatter (Brian Faherty) * fix bug with --drb + formatters when not running in drb * include --tag options in drb args (monocle) * fix regression so now SPEC_OPTS take precedence over CLI options again (Roman Chernyatchik) * only call its(:attribute) once (failing example from Brian Dunn) * fix bizarre bug where rspec would hang after `String.alias :to_int :to_i` (Damian Nurzynski)
* Deprecations * implicit inclusion of 'bundle exec' when Gemfile present (use autotest's bundler plugin instead)
### rspec-expectations-2.5.0
[full changelog](Comparing v2.4.0...v2.5.0 · rspec/rspec-expectations · GitHub)
* Enhancements * `should exist` works with `exist?` or `exists?` (Myron Marston) * `expect { ... }.not_to do_something` (in addition to `to_not`)
* Documentation * improved docs for `raise_error` matcher (James Almond)
### rspec-mocks-2.5.0
[full changelog](Comparing v2.4.0...v2.5.0 · rspec/rspec-mocks · GitHub)
* Bug fixes * message expectation counts now work in combination with a stub (Damian Nurzynski) * fix failure message when message received with incorrect args (Josep M. Bach)
### rspec-rails-2.5.0
[full changelog](Comparing v2.4.1...v2.5.0 · rspec/rspec-rails · GitHub)
* Enhancements * use `index_helper` instead of `table_name` when generating specs (Reza Primardiansyah)
* Bug fixes * fixed bug in which `render_views` in a nested group set the value in its parent group. * only include MailerExampleGroup when it is defiend (Steve Sloan) * `mock_model.as_null_object.attribute.blank?` returns `false` (Randy Schmidt) * fix typo in request specs (Paco Guzman)