All Versions
66
Latest Version
Avg Release Cycle
155 days
Latest Release
150 days ago
Changelog History
Page 3
Changelog History
Page 3
-
v2.2.4 Changes
July 19, 2012π Bug Fixes:
- Fix excon so real requests are made with a connection constructed with same args as the original connection.
-
v2.2.3 Changes
July 09, 2012π Bug Fixes:
- Fix FakeWeb library hook so that it properly handles the case where multiple requests are made using the same Net::HTTP request object. Previously, a
NoMethodError
was raised. Thanks to Jacob Green for helping to troubleshoot this bug!
- Fix FakeWeb library hook so that it properly handles the case where multiple requests are made using the same Net::HTTP request object. Previously, a
-
v2.2.2 Changes
June 15, 2012π Bug Fixes:
- Fix
VCR.eject_cassette
so that it always pops a cassette off the cassette stack even if an error occurs while ejecting the cassette. This is important to keep things consistent, so that a cassette for one test doesn't remain in place for another test.
- Fix
-
v2.2.1 Changes
June 13, 2012π Bug Fixes:
- Fix matcher generated by
VCR.request_matchers.uri_without_params
so that it handles URIs w/o query params properly. Previously, it would allow any two URIs w/o query params to match, even if the hosts or paths differed.
- Fix matcher generated by
-
v2.2.0 Changes
May 31, 2012β¨ Enhancements:
- Add new
:persist_with
cassette option. It allows you to provide a customized persistence implementation so you can persist it to something other than disk (i.e. a key-value store or a database). Thanks to Chris Le for the idea and help with the implementation. - Allow requests to be stubbed by external libraries (e.g. WebMock, FakeWeb or Typhoeus) without needing to turn VCR off.
- Add new
:allow_unused_http_interactions
cassette option. When set to false, an error will be raised when a cassette is ejected and there are remaining unused HTTP interactions. Thanks to Mattias Putman for the idea and initial implementation.
π Bug Fixes:
- Fix
after_http_request
to handle symbol request predicate filters (e.g.:ignored?
,:stubbed?
,:recordable?
,:unhandled?
,:real?
) properly. Previously using one of these would raise an ArgumentError. Thanks to playupchris for reporting the bug and providing a fix. - Fix FakeWeb hook so that it no longer breaks
FakeWeb.allow_net_connect?
with arguments. Thanks to Ingemar for reporting the bug and providing a fix. - Fix WebMock hook so that it no longer breaks
WebMock.net_connect_allowed?
with arguments. Thanks to Gordon Wilson for reporting the bug and providing a fix. - Print a warning when VCR is used with a poorly behaved Faraday connection stack that has a middleware after the HTTP adapter. VCR may work improperly in this case.
- Raise an error if a response object is recorded with a non-string body. This fails early and indicates the problem rather than failing later with a strange error.
- Fix
filter_sensitive_data
/define_cassette_placeholder
so that they handle non-strings gracefully (e.g. the port number as a Fixnum). - Gracefully handle Faraday connection stacks that do not explicitly specify an HTTP adapter. Thanks to Patrick Roby for reporting the bug.
- Work around a bug in WebMock's em-http-request adapter that prevented VCR from working when using the
:redirects
option with em-http-request. This change is just a work around. It fixes the main problem, but some features (such as the http request hooks) may not work properly for this case. The bug will ultimately need to be fixed in WebMock. Thanks to Mark Abramov for reporting the bug and providing a great example test case. - Fix bug in handling of Faraday requests with multipart uploads. Thanks to Tyler Hunt for reporting and fixing the bug.
- Add new
-
v2.1.1 Changes
April 24, 2012- Fix
:use_scenario_name
cucumber tag option so that it works properly with multiple scenarios. Thanks to Brent Snook for reporting this bug. - Fix
:use_scenario_name
cucumber tag option so that it only uses the first line of the scenario feature name. Cucumber includes all of the pre-amble text in the feature name but that can create a ridiculously long cassette name. Thanks to Brent Snook for reporting this bug.
- Fix
-
v2.1.0 Changes
April 19, 2012- Add new
:use_scenario_name
option to the cucumber tags API. This allows you to use a generic tag (such as@vcr
) and have the cassettes named based on the feature and scenario rather than based on the tag. Thanks to Omer Rauchwerger for the implementation and Chad Jolly for the initial idea and feedback. - Add new
:decode_compressed_response
cassette option. When set to true, VCR will decompress a gzipped or deflated response before recording the cassette, in order to make it more human readable. Thanks to Mislav MarohnicΜ for the idea and implementation.
- Add new
-
v2.0.1 Changes
March 30, 2012- Fix encoding logic to not attempt to encode the request or response body on deserialization if there is no encoding specified. This should allow cassettes recorded on 1.8 to work on 1.9. Thanks to Kevin Menard for reporting the bug.
- Fix Excon adapter to fix a bug with Excon 0.11 and greater. When you passed a block to an excon request, the response body would not be recorded.
- Fix Faraday middleware so that it plays back parallel requests properly. Thanks to Dave Weiser for reporting this bug.
-
v2.0.0 Changes
March 02, 2012π Changed
- Previously, the last matching response in a cassette would repeatedly playback if the same request kept being made. This is no longer the case.
- The Faraday middleware has been rewritten.
- You no longer need to configure
stub_with :faraday
to use it. - It has been updated to work in parallel mode.
- It no longer accepts a block and uses that to determine the cassette. Instead, use
VCR.use_cassette
just like you would with FakeWeb or WebMock.
- You no longer need to configure
β Added
- Allow any callable (an object that responds to #call, such as a lambda) to be used as a request matcher. Thanks to Avdi Grimm for the idea.
- Add ability to register custom request matchers.
- Add
VCR.request_matchers.uri_without_param(:some_param)
to generate a request matcher that matches on URI but ignores the named parameter. - New
:allow_playback_repeats
cassette option preserves the old playback repeat behavior. Thanks to Avdi Grimm for the idea. - New
:exclusive
cassette option allows a cassette to be exclusively used rather than keeping the existing one active as a fallback. Thanks to Avdi Grimm for the idea.
β Removed
- Removed support for Ruby 1.8.6 and 1.9.1.
- Removed lots of old deprecated APIs.
- Removed support for manually changing the URI in a cassette to a regex.
π Deprecated
- Deprecated
VCR.config
in favor ofVCR.configure
. - Deprecated
VCR::Config
singleton module in favor ofVCR::Configuration
class. The current configuration instance can be accessed viaVCR.configuration
. - Deprecated
stub_with
in favor ofhook_into
. The stubbing adapters have been completely rewritten and are no longer an implementation of the adapter design pattern. Instead they simply use the named library to globally hook into every HTTP request.
-
v1.11.3 Changes
August 31, 2011- Fix cassette serialization so that it does not include extra
ignored
instance variable.
- Fix cassette serialization so that it does not include extra