= RSpec Changelog

== Version 0.8.0

This release introduces a new approach to handling expectations using Expression Matchers.

See Upgrade[http://rspec.rubyforge.org/upgrade.html], Spec::Expectations, Spec::Matchers and RELEASE-PLAN for more info.

This release also improves the spec command line by adding DRb support and making it possible to
store command line options in a file. This means a more flexible RSpec experience with Rails, 
Rake and editor plugins like TextMate.

It also sports myriad new features, bug fixes, patches and general goodness:

* Fixed [#8928] rspec_on_rails 0.8.0-RC1 controller tests make double call to setup_with_fixtures
* Fixed [#8925] Documentation bug in 0.8.0RC1 rspec website
* Applied [#8132] [PATCH] RSpec breaks "rake db:sessions:create" in a rails project that has the rspec_on_rails plugin (Patch from Erik Kastner)
* Fixed [#8789] --line and --spec not working when the context has parenhesis in the name
* Added [#8783] auto generate spec names from last expectation
* --heckle now fails if the heckled class or module is not found.
* Fixed [#8771] Spec::Mocks::BaseExpectation#with converts hash params to array of arrays with #collect
* Fixed [#8750] should[_not]_include backwards compatibility between 0.8.0-RC1 and 0.7.5.1 broken
* Fixed [#8646] Context Runner does not report on Non standard exceptions and return a 0 return code
* RSpec on Rails' spec_helper.rb will only force RAILS_ENV to test if it was not specified on the command line.
* Fixed [#5485] proc#should_raise and proc#should_not_raise output
* Added [#8484] should_receive with blocks
* Applied [#8218] heckle_runner.rb doesn't work with heckle >= 1.2.0 (Patch from Michal Kwiatkowski)
* Fixed [#8240] Cryptic error message when no controller_name
* Applied [#7461] [PATCH] Contexts don't call Module::included when they include a module
* Removed unintended block of test/unit assertions in rspec_on_rails - they should all, in theory, now be accessible
* Added mock_model method to RSpec on Rails, which stubs common methods. Based on http://metaclass.org/2006/12/22/making-a-mockery-of-activerecord
* Fixed [#8165] Partial Mock Errors when respond_to? is true but the method is not in the object
* Fixed [#7611] Partial Mocks override Subclass methods
* Fixed [#8302] Strange side effect when mocking a class method
* Applied [#8316] to_param should return a stringified key in resource generator's controller spec (Patch from Chris Anderson)
* Applied [#8216] shortcut for creating object stub
* Applied [#8008] Correct generated specs for view when calling resource generator (Patch from Jonathan Tron)
* Fixed [#7754] Command-R fails to run spec in TextMate (added instruction from Luke Redpath to the website)
* Fixed [#7826] RSpect.tmbundle web page out of date.
* RSpec on Rails specs are now running against RoR 1.2.1 and 1.2.2
* rspec_resource now generates specs for views (TODO: make them use the new assert_select, when it's documented)
* In a Rails app, RSpec core is only loaded when RAILS_ENV==test (init.rb)
* Added support for target.should arbitrary_expectation_handler and target.should_not arbitrary_expectation_handler
* Fixed [#7533] Spec suite fails and the process exits with a code 0
* Fixed [#7565] Subsequent stub! calls for method fail to override the first call to method
* Applied [#7524] Incorrect Documentation for 'pattern' in Rake task (patch from Stephen Duncan)
* Fixed [#7409] default fixtures do not appear to run.
* Fixed [#7507] "render..and return" doesn't return
* Fixed [#7509] rcov/rspec incorrectly includes boot.rb (Patch from Courtenay)
* Fixed [#7506] unnecessary complex output on failure of response.should_be_redirect
* Applied [#6098] Make scaffold_resource generator. Based on code from Pat Maddox.
* The drbspec command is gone. Use spec --drb instead.
* The drb option is gone from the Rake task. Pass --drb to spec_opts instead.
* New -X/--drb option for running specs against a server like spec/rails' script/rails_spec_server
* New -O/--options and -G/--generate flags for file-based options (handy for spec/rails)
* Applied [#7339] Turn off caching in HTML reports
* Applied [#7419] "c option for colorizing output does not work with rails_spec" (Patch from Shintaro Kakutani)
* Applied [#7406] [PATCH] 0.7.5 rspec_on_rails loads fixtures into development database (Patch from Wilson Bilkovich)
* Applied [#7387] Allow stubs to return consecutive values (Patch from Pat Maddox)
* Applied [#7393] Fix for rake task (Patch from Pat Maddox)
* Reinstated support for response.should_render (in addition to controller.should_render)

== Version 0.7.5.1

Bug fix release to allow downloads of rspec gem using rubygems 0.9.1.

== Version 0.7.5
This release adds support for Heckle - Seattle'rb's code mutation tool.
There are also several bug fixes to the RSpec core and the RSpec on Rails plugin.

* Removed svn:externals on rails versions and plugins
* Applied [#7345] Adding context_setup and context_teardown, with specs and 100% rcov
* Applied [#7320] [PATCH] Allow XHR requests in controller specs to render RJS templates
* Applied [#7319] Migration code uses drop_column when it should use remove_column (patch from Pat Maddox)
* Added support for Heckle
* Applied [#7282] dump results even if spec is interrupted (patch from Kouhei Sutou)
* Applied [#7277] model.should_have(n).errors_on(:attribute) (patch from Wilson Bilkovich)
* Applied [#7270] RSpec render_partial colliding with simply_helpful (patch from David Goodlad)
* Added [#7250] stubs should support throwing
* Added [#7249] stubs should support yielding
* Fixed [#6760] fatal error when accessing nested finders in rspec
* Fixed [#7179] script/generate rspec_resource generates incorrect helper name
* Added preliminary support for assert_select (response.should_have)
* Fixed [#6971] and_yield does not work when the arity is -1
* Fixed [#6898] Can we separate rspec from the plugins?
* Added [#7025] should_change should accept a block
* Applied [#6989] partials with locals (patch from Micah Martin)
* Applied [#7023] Typo in team.page

== Version 0.7.4

This release features a complete redesign of the reports generated with --format html.
As usual there are many bug fixes - mostly related to spec/rails.

* Applied [#7010] Fixes :spacer_template does not work w/ view spec (patch from Shintaro Kakutani)
* Applied [#6798] ensure two ':' in the first backtrace line for Emacs's 'next-error' command (patch from Kouhei Sutou)
* Added Much nicer reports to generated website
* Much nicer reports with --format --html (patch from Luke Redpath)
* Applied [#6959] Calls to render and redirect in controllers should return true
* Fixed [#6981] helper method is not available in partial template.
* Added [#6978] mock should tell you the expected and actual args when receiving the right message with the wrong args
* Added the possibility to tweak the output of the HtmlFormatter (by overriding extra_failure_content).
* Fixed [#6936] View specs don't include ApplicationHelper by default
* Fixed [#6903] Rendering a partial in a view makes the view spec blow up
* Added callback library from Brian Takita
* Added [#6925] support controller.should_render :action_name
* Fixed [#6884] intermittent errors related to method binding
* Fixed [#6870] rspec on edge rails spec:controller fixture loading fails
* Using obj.inspect for all messages
* Improved performance by getting rid of instance_exec (instance_eval is good enough because we never need to pass it args)

== Version 0.7.3

Almost normal bug fix/new feature release.

A couple of things you need to change in your rails specs:
# spec_helper.rb is a little different (see http://rspec.rubyforge.org/upgrade.html)
# use controller.should_render before OR after the action (controller.should_have_rendered is deprecated)

* Applied [#6577] messy mock backtrace when frozen to edge rails (patch from Jay Levitt)
* Fixed [#6674] rspec_on_rails fails on @session deprecation warning
* Fixed [#6780] routing() was failing...fix included - works for 1.1.6 and edge (1.2)
* Fixed [#6835] bad message with arbitrary predicate
* Added [#6731] Partial templates rendered
* Fixed [#6713] helper methods not rendered in view tests?
* Fixed [#6707] cannot run controller / helper tests via rails_spec or spec only works with rake
* Applied [#6417] lambda {...}.should_change(receiver, :message) (patch from Wilson Bilkovich)
* Eliminated dependency on ZenTest
* Fixed [#6650] Reserved characters in the TextMate bundle break svn on Win32
* Fixed [#6643] script/generate rspec_controller: invalid symbol generation for 'controller_name' for *modularized* controllers
* The script/rails_spec command has been moved to bin/drbspec in RSpec core (installed by the gem)

== Version 0.7.2

This release introduces a brand new RSpec bundle for TextMate, plus some small bugfixes.

* Packaged RSpec.tmbundle.tgz as part of the distro
* Fixed [#6593] Add moving progress bar to HtmlFormatter using Javascript
* Applied [#6265] should_raise should accept an Exception object
* Fixed [#6616] Can't run Rails specs with RSpec.tmbundle
* Fixed [#6411] Can't run Rails specs with ruby
* Added [#6589] New -l --line option. This is useful for IDE/editor runners/extensions.
* Fixed [#6615] controller.should_render_rjs should support :partial => 'path/to/template'

== Version 0.7.1

Bug fixes and a couple o' new features.

* Fixed [#6575] Parse error in aliasing the partial mock original method (patch by Brian Takita)
* Fixed [#6277] debris left by stubbing (trunk) [submitted by dastels] (fixed by fix to [#6575])
* Fixed [#6575] Parse error in aliasing the partial mock original method
* Fixed [#6555] should_have_tag does not match documentation
* Fixed [#6567] SyntaxError should not stop entire run
* Fixed [#6558] integrated views look for template even when redirected
* Fixed [#6547] response.should_be_redirect broken in 0.7.0
* Applied [#6471] Easy way to spec routes
* Applied [#6587] Rspec on Rails displays "Spec::Rails::ContextFactory" as context name
* Applied [#6514] Document has trivial typos.
* Added [#6560] controller.session should be available before the action
* Added support for should_have_rjs :visual_effect
* Different printing and colours for unmet expectations (red) and other exceptions (magenta)
* Simplified method_missing on mock_methods to make it less invasive on partial mocks. 

== Version 0.7.0

This is the "Grow up and eat your own dog food release". RSpec is now used on itself and
we're no longer using Test::Unit to test it. Although, we are still extending Test::Unit
for the rails plugin (indirectly - through ZenTest)

IMPORTANT NOTE: THIS RELEASE IS NOT 100% BACKWARDS COMPATIBLE TO 0.6.x

There are a few changes that will require that you change your existing specs.

RSpec now handles equality exactly like ruby does:

# actual.should_equal(expected) will pass if actual.equal?(expected) returns true
# actual.should_eql(expected) will pass if actual.eql?(expected) returns true
# actual.should == expected will pass if actual == expected) returns true

At the high level, eql? implies equivalence, while equal? implies object identity. For more
information on how ruby deals w/ equality, you should do this:

ri equal?

or look at this:

http://www.ruby-doc.org/core/classes/Object.html#M001057

Also, we left in should_be as a synonym for should_equal, so the only specs that should break are the
ones using should_equal (which used to use <code>==</code> instead of <code>.equal?</code>).

Lastly, should_be used to handle true and false differently from any other values. We've removed
this special handling, so now actual.should_be true will fail for any value other than true (it
used to pass for any non-nil, non-false value), and actual.should_be false will fail for any
value other than false (it used to pass for nil or false).

Here's what you'll need to do to update your specs:
# search for "should_equal" and replace with "should_eql"
# run specs

If any specs still fail, they are probably related to should_be(true) or should_be(false) using
non-boolean values. Those you'll just have to inspect manually and adjust appropriately (sorry!).

--------------------------------------------------
Specifying multiple return values in mocks now works like this:

mock.should_receive(:message).and_return(1,2,3)

It used to work like this:

mock.should_receive(:message).and_return([1,2,3])

but we decided that was counter intuitive and otherwise lame.

Here's what you'll need to do to update your specs:
# search for "and_return(["
# get rid of the "[" and "]"

--------------------------------------------------
RSpec on Rails now supports the following (thanks to ZenTest upon which it is built):

# Separate specs for models, views, controllers and helpers
# Controller specs are completely decoupled from the views by default (though you can tell them to couple themselves if you prefer)
# View specs are completely decoupled from app-specific controllers

See http://rspec.rubyforge.org/documentation/rails/index.html for more information
--------------------------------------------------
As usual, there are also other new features and bug fixes:

* Added lots of documentation on mocks/stubs and the rails plugin.
* Added support for assigns[key] syntax for controller specs (to align w/ pre-existing syntax for view specs)
* Added support for controller.should_redirect_to
* RSpec on Rails automatically checks whether it's compatible with the installed RSpec
* Applied [#6393] rspec_on_rails uses deprecated '@response' instead of the accessor
* RSpec now has 100% spec coverage(!)
* Added support for stubbing and partial mocking
* Progress (....F..F.) is now coloured. Tweaked patch from KAKUTANI Shintaro.
* Backtrace now excludes the rcov runner (/usr/local/bin/rcov)
* Fixed [#5539] predicates do not work w/ rails
* Added [#6091] support for Regexp matching messages sent to should_raise
* Added [#6333] support for Regexp matching in mock arguments
* Applied [#6283] refactoring of diff support to allow selectable formats and custom differs
* Fixed [#5564] "ruby spec_file.rb" doesn't work the same way as "spec spec_file.rb"
* Fixed [#6056] Multiple output of failing-spec notice
* Fixed [#6233] Colours in specdoc
* Applied [#6207] Allows --diff option to diff target and expected's #inspect output (Patch by Lachie Cox)
* Fixed [#6203] Failure messages are misleading - consider using inspect.
* Added [#6334] subject.should_have_xyz will try to call subject.has_xyz? - use this for hash.should_have_key(key)
* Fixed [#6017] Rake task should ignore empty or non-existent spec-dirs

== Version 0.6.4

In addition to a number of bug fixes and patches, this release begins to formalize the support for
RSpec on Rails.

* Added Christopher Petrilli's TextMate bundle to vendor/textmate/RSpec.tmbundle
* Fixed [#5909], once again supporting multi_word_predicates
* Applied [#5873] - response.should_have_rjs (initial patch from Jake Howerton, based on ARTS by Kevin Clark)
* Added generation of view specs for rspec_on_rails
* Applied [#5815] active_record_subclass.should_have(3).records
* Added support in "rake stats" for view specs (in spec/views)
* Applied [#5801] QuickRef.pdf should say RSpec, not rSpec
* Applied [#5728] rails_spec_runner fails on Windows (Patch from Lindsay Evans).
* Applied [#5708] RSpec Rails plugin rspec_controller generator makes specs that do not parse.
* Cleaned up RSpec on Rails so it doesn't pollute as much during bootstrapping.
* Added support for response.should_have_tag and response.should_not_have_tag (works just like assert_tag in rails)
* Added new -c, --colour, --color option for colourful (red/green) output. Inspired from Pat Eyler's Redgreen gem.
* Added examples for Watir and Selenium under the gem's vendor directory.
* Renamed rails_spec_runner to rails_spec_server (as referred to in the docs)
* Added support for trying a plural for arbitrary predicates.  E.g. Album.should_exist(:name => "Hey Jude") will call Album.exists?(:name => "Hey Jude")
* Added support for should_have to work with methods taking args returning a collection.  E.g. @dave.should_have(3).albums_i_have_that_this_guy_doesnt(@aslak)
* Added [#5570] should_not_receive(:msg).with(:specific, "args")
* Applied [#5065] to support using define_method rather than method_missing to capture expected messages on mocks. Thanks to Eero Saynatkari for the tip that made it work.
* Restructured directories and Modules in order to separate rspec into three distinct Modules: Spec::Expectations, Spec::Runner and Spec::Mocks. This will allow us to more easily integrate other mock frameworks and/or allow test/unit users to take advantage of the expectation API.
* Applied [#5620] support any boolean method and arbitrary comparisons (5.should_be < 6) (Patch from Mike Williams)
 
== Version 0.6.3

This release fixes some minor bugs related to RSpec on Rails
Note that if you upgrade a rails app with this version of the rspec_on_rails plugin
you should remove your lib/tasks/rspec.rake if it exists.

* Backtraces from drb (and other standard ruby libraries) are now stripped from backtraces.
* Applied [#5557] Put rspec.rake into the task directory of the RSpec on Rails plugin (Patch from Daniel Siemssen)
* Applied [#5556] rails_spec_server loads environment.rb twice (Patch from Daniel Siemssen)

== Version 0.6.2
This release fixes a couple of regressions with the rake task that were introduced in the previous version (0.6.1)

* Fixed [#5518] ruby -w: warnings in 0.6.1
* Applied [#5525] fix rake task path to spec tool for gem-installed rspec (patch from Riley Lynch)
* Fixed a teensey regression with the rake task - introduced in 0.6.1. The spec command is now quoted so it works on windows.

== Version 0.6.1
This is the "fix the most annoying bugs release" of RSpec. There are 9 bugfixes this time.
Things that may break backwards compatibility:
1) Spec::Rake::SpecTask no longer has the options attribute. Use ruby_opts, spec_opts and rcov_opts instead.

* Fixed [#4891] RCOV task failing on windows
* Fixed [#4896] Shouldn't modify user's $LOAD_PATH (Tip from Gavin Sinclair)
* Fixed [#5369] ruby -w: warnings in RSpec 0.5.16 (Tip from Suraj Kurapati)
* Applied [#5141] SpecMatcher doesn't escape strings before matching (Patch from Nikolai Weibull).
* Fixed [#5224] Move 'require diff-lcs' from test_helper.rb to diff_test.rb (Tip from Chris Roos)
* Applied [#5449] Rake stats for specs (Patch from Nick Sieger)
* Applied [#5468, #5058] Fix spec runner to correctly run controller specs (Patch from Daniel Siemssen)
* Applied fixes to rails_spec_server to improve its ability to run several times. (Patch from Daniel Siemssen)
* Changed RCov::VerifyTask to fail if the coverage is above the threshold. This is to ensure it gets bumped when coverage improves.

== Version 0.6.0
This release makes an official commitment to underscore_syntax (with no more support for dot.syntax)

* Fixed bug (5292) that caused mock argument matching to fail
* Converted ALL tests to use underscore syntax
* Fixed all remaining problems with underscores revealed by converting all the tests to underscores
* Enhanced sugar to support combinations of methods (i.e. once.and_return) 
* Simplified helper structure taking advantage of dot/underscore combos (i.e. should.be.an_instance_of, which can be expressed as should_be_an_instance_of)
* Added support for at_most in mocks
* Added support for should_not_receive(:msg) (will be removing should_receive(:msg).never some time soon)
* Added support for should_have_exactly(5).items_in_collection

== Version 0.5.16
This release improves Rails support and test2spec translation.

* Fixed underscore problems that occurred when RSpec was used in Rails
* Simplified the Rails support by packaging it as a plugin instead of a generator gem.
* Fixed [#5063] 'rspec_on_rails' require line in spec_helper.rb
* Added pre_commit rake task to reduce risk of regressions. Useful for RSpec developers and patchers.
* Added failure_message to RSpec Rake task
* test2spec now defines converted helper methods outside of the setup block (bug #5057).

== Version 0.5.15
This release removes a prematurely added feature that shouldn't have been added.

* Removed support for differences that was added in 0.5.14. The functionality is not aligned with RSpec's vision.

== Version 0.5.14
This release introduces better ways to extend specs, improves some of the core API and
a experimental support for faster rails specs.

* Added proc methods for specifying differences (increments and decrements). See difference_test.rb
* Methods can now be defined alongside specs. This obsoletes the need for defining methods in setup. (Patch #5002 from Brian Takita)
* Sugar (underscores) now works correctly with should_be_a_kind_of and should_be_an_instance_of
* Added support for include and inherit in contexts. (Patch #4971 from Brian Takita)
* Added rails_spec and rails_spec_server for faster specs on rails (still buggy - help needed)
* Fixed bug that caused should_render to break if given a :symbol (in Rails)
* Added support for comparing exception message in should_raise and should_not_raise

== Version 0.5.13
This release fixes some subtle bugs in the mock API.

* Use fully-qualified class name of Exceptions in failure message. Easier to debug that way.
* Fixed a bug that caused mocks to yield a one-element array (rather than the element) when one yield arg specified.
* Mocks not raise AmbiguousReturnError if an explicit return is used at the same time as an expectation block.
* Blocks passed to yielding mocks can now raise without causing mock verification to fail.

== Version 0.5.12
This release adds diff support for failure messages, a HTML formatter plus some other
minor enhancements.

* Added HTML formatter.
* Added fail_on_error option to spectask.
* Added support for diffing, using the diff-lcs Rubygem (#2648).
* Remove RSpec on Rails files from backtrace (#4694).
* All of RSpec's own tests run successfully after translation with test2spec.
* Added --verbose mode for test2spec - useful for debugging when classes fail to translate.
* Output of various formatters is now flushed - to get more continuous output.

== Version 0.5.11
This release makes test2spec usable with Rails (with some manual steps). 
See http://rspec.rubyforge.org/tools/rails.html for more details

* test2spec now correctly translates bodies of helper methods (non- test_*, setup and teardown ones).
* Added more documentation about how to get test2spec to work with Rails.

== Version 0.5.10
This version features a second rewrite of test2spec - hopefully better than the previous one.

* Improved test2spec's internals. It now transforms the syntax tree before writing out the code.

== Version 0.5.9
This release improves test2spec by allowing more control over the output

* Added --template option to test2spec, which allows for custom output driven by ERB
* Added --quiet option to test2spec
* Removed unnecessary dependency on RubyToC

== Version 0.5.8
This release features a new Test::Unit to RSpec translation tool.
Also note that the RubyGem of the previous release (0.5.7) was corrupt.
We're close to being able to translate all of RSpec's own Test::Unit
tests and have them run successfully!

* Updated test2spec documentation.
* Replaced old test2rspec with a new test2spec, which is based on ParseTree and RubyInline.

== Version 0.5.7
This release changes examples and documentation to recommend underscores rather than dots,
and addresses some bugfixes and changes to the spec commandline.

* spec DIR now works correctly, recursing down and slurping all *.rb files
* All documentation and examples are now using '_' instead of '.'
* Custom external formatters can now be specified via --require and --format.

== Version 0.5.6
This release fixes a bug in the Rails controller generator

* The controller generator did not write correct source code (missing 'do'). Fixed.

== Version 0.5.5
This release adds initial support for Ruby on Rails in the rspec_generator gem.

* [Rails] Reorganised Lachie's original code to be a generator packaged as a gem rather than a plugin.
* [Rails] Imported code from http://lachie.info/svn/projects/rails_plugins/rspec_on_rails (Written by Lachie Cox)
* Remove stack trace lines from TextMate's Ruby bundle
* Better error message from spectask when no spec files are found.

== Version 0.5.4
The "the tutorial is ahead of the gem" release

* Support for running a single spec with --spec
* Exitcode is now 1 unless all specs pass, in which case it's 0.
* -v, --version now both mean the same thing
* For what was verbose output (-v), use --format specdoc or -f s
* --format rdoc always runs in dry-run mode
* Removed --doc and added --format and --dry-run
* Refactored towards more pluggable formatters
* Use webgen's execute tag when generating website (more accurate)
* Fixed incorrect quoting of spec_opts in SpecTask
* Added patch to enable underscored shoulds like 1.should_equal(1) - patch from Rich Kilmer
* Removed most inherited instance method from Mock, making more methods mockable.
* Made the RCovVerify task part of the standard toolset.
* Documented Rake task and how to use it with Rcov
* Implemented <ruby></ruby> tags for website (hooking into ERB, RedCloth and syntax)
* RSpec Rake task now takes spec_opts and out params so it can be used for doc generation
* RCov integration for RSpec Rake task (#4058)
* Group all results instead of printing them several times (#4057)
* Mocks can now yield
* Various improvements to error reporting (including #4191)
* backtrace excludes rspec code - use -b to include it
* split examples into examples (passing) and failing_examples

== Version 0.5.3
The "hurry up, CoR is in two days" release.

* Don't run rcov by default
* Make separate task for running tests with RCov
* Added Rake task to fail build if coverage drops below a certain threshold
* Even more failure output cleanup (simplification)
* Added duck_type constraint for mocks

== Version 0.5.2
This release has minor improvements to the commandline and fixes some gem warnings

* Readded README to avoid RDoc warnings
* Added --version switch to commandline
* More changes to the mock API

== Version 0.5.1
This release is the first release of RSpec with a new website. It will look better soon.

* Added initial documentation for API
* Added website based on webgen
* Modified test task to use rcov
* Deleted unused code (thanks, rcov!)
* Various changes to the mock API,
* Various improvements to failure reporting

== Version 0.5.0
This release introduces a new API and obsolesces previous versions.

* Moved source code to separate subfolders
* Added new DSL runner based on instance_exec
* Added spike for testdox/rdoc generation
* merge Astels' and Chelimsky's work on ShouldHelper
* this would be 0.5.0 if I updated the documentation
* it breaks all of your existing specifications.  We're not sorry.

== Version 0.3.2

The "srbaker is an idiot" release.

* also forgot to update the path to the actual Subversion repository
* this should be it

== Version 0.3.1

This is just 0.3.0, but with the TUTORIAL added to the documentation list.

* forgot to include TUTORIAL in the documentation

== Version 0.3.0

It's been a while since last release, lots of new stuff is available.  For instance:

* improvements to the runners
* addition of should_raise expectation (thanks to Brian Takita)
* some documentation improvements
* RSpec usable as a DSL

== Version 0.2.0

This release provides a tutorial for new users wishing to get started with
RSpec, and many improvements.

* improved reporting in the spec runner output
* update the examples to the new mock api
* added TUTORIAL, a getting started document for new users of RSpec

== Version 0.1.7

This release improves installation and documentation, mock integration and error reporting.

* Comparison errors now print the class name too.
* Mocks now take an optional +options+ parameter to specify behaviour.
* Removed __expects in favour of should_receive
* Added line number reporting in mock error messages for unreceived message expectations.
* Added should_match and should_not_match.
* Added a +mock+ method to Spec::Context which will create mocks that autoverify (no need to call __verify).
* Mocks now require names in the constructor to ensure sensible error messages.
* Made 'spec' executable and updated usage instructions in README accordingly.
* Made more parts of the Spec::Context API private to avoid accidental usage.
* Added more RDoc to Spec::Context.

== Version 0.1.6

More should methods.

* Added should_match and should_not_match.

== Version 0.1.5

Included examples and tests in gem.

== Version 0.1.4

More tests on block based Mock expectations.

== Version 0.1.3

Improved mocking:

* block based Mock expectations.

== Version 0.1.2

This release adds some improvements to the mock API and minor syntax improvements

* Added Mock.should_expect for a more consistent DSL.
* Added MockExpectation.and_returns for a better DSL.
* Made Mock behave as a null object after a call to Mock.ignore_missing
* Internal syntax improvements.
* Improved exception trace by adding exception class name to error message.
* Renamed some tests for better consistency.

== Version 0.1.1

This release adds some shoulds and improves error reporting

* Added should_be_same_as and should_not_be_same_as.
* Improved error reporting for comparison expectations.

== Version 0.1.0

This is the first preview release of RSpec, a Behaviour-Driven Development library for Ruby 

* Added Rake script with tasks for gems, rdoc etc.
* Added an XForge task to make release go easier.
