All Versions
66
Latest Version
Avg Release Cycle
155 days
Latest Release
150 days ago

Changelog History
Page 3

  • v2.2.4 Changes

    July 19, 2012

    Full Changelog

    πŸ› 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

    Full Changelog

    πŸ› 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!
  • v2.2.2 Changes

    June 15, 2012

    Full Changelog

    πŸ› 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.
  • v2.2.1 Changes

    June 13, 2012

    Full Changelog

    πŸ› 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.
  • v2.2.0 Changes

    May 31, 2012

    Full Changelog

    ✨ 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.
  • v2.1.1 Changes

    April 24, 2012

    Full Changelog

    • 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.
  • v2.1.0 Changes

    April 19, 2012

    Full Changelog

    • 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 Marohnić for the idea and implementation.
  • v2.0.1 Changes

    March 30, 2012

    Full Changelog

    • 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

    Full Changelog

    πŸ”„ 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.

    βž• 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 of VCR.configure.
    • Deprecated VCR::Config singleton module in favor of VCR::Configuration class. The current configuration instance can be accessed via VCR.configuration.
    • Deprecated stub_with in favor of hook_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

    Full Changelog

    • Fix cassette serialization so that it does not include extra ignored instance variable.