Skip to content
Newer
Older
100644 112 lines (86 sloc) 6.32 KB
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored Apr 20, 2010
1 #Changelog
2
ade8181 @myronmarston 1.0.1 release.
authored Jul 1, 2010
3 ## 1.0.1 (July 1, 2010)
4
5 * Fixed specs and features so they pass on MRI 1.9.2-preview3 and JRuby 1.5.1.
6 * Normalized response and request headers so that they are stored the same (i.e. lower case keys, arrays of values)
7 in the cassette yaml files, regardless of which HTTP library is used. This is the same way Net::HTTP normalizes
8 HTTP headers.
9 * Fixed `VCR.use_cassette` so that it doesn't eject a cassette if an exception occurs while inserting one.
10 * Fixed FakeWeb adapter so that it works for requests that use basic auth. Patch submitted by
11 [Eric Allam](http://github.com/rubymaverick).
12
a5ac5bf @myronmarston 1.0.0 release.
authored Jun 19, 2010
13 ## 1.0.0 (June 22, 2010)
14
15 * New Features
16 * Added support for [HTTPClient](http://github.com/nahi/httpclient), [Patron](http://github.com/toland/patron) and
17 [em-http-request](http://github.com/igrigorik/em-http-request) when WebMock is used. Any future http libraries
18 WebMock supports should (theoretically, at least) work without any VCR code changes. Thanks to
19 [Bartosz Blimke](http://github.com/bblimke) for adding the necessary code to WebMock to make this happen!
20 * Added support for dynamic responses using ERB. A cassette will be evaluated as ERB before the YAML
21 is deserialized if you pass it an `:erb => true` option. You can pass variables using
22 `:erb => { :var1 => 'some value', :var2 => 'another value' }`.
23 * Added `ignore_localhost` configuration setting, which defaults to false. Setting it true does the following:
24 * Localhost requests will proceed as normal. The "Real HTTP connections are disabled" error will not occur.
25 * Localhost requests will not be recorded.
26 * Previously recorded localhost requests will not be replayed.
27 * Exposed the version number:
28 * `VCR.version` => string (in the format "major.minor.patch")
29 * `VCR.version.parts` => array of integers
30 * `VCR.version.major` => integer
31 * `VCR.version.minor` => integer
32 * `VCR.version.patch` => integer
33 * Added test coverage and documentation of using a regex for non-deterministic URLs (i.e. URLs that include
34 a timestamp as a query parameter). It turns out this feature worked before, and I just didn't realize it :).
35
36 * Breaking Changes
37 * The `:allow_real_http => lambda { |uri| ... }` cassette option has been removed. There was no way to get
38 this to work with the newly supported http libraries without extensive monkeypatching, and it was mostly
39 useful for localhost requests, which is more easily handled by the new `ignore_localhost` config setting.
40 * Removed methods and options that had been previously deprecated. If you're upgrading from an old version,
41 I recommend upgrading to 0.4.1 first, deal with all the deprecation warnings, then upgrade to 1.0.0.
42
43 * Misc Changes:
44 * Removed dependency on [jeweler](http://github.com/technicalpickles/jeweler). Manage the gemspec by hand instead.
45 * Removed some extensions that are no longer necessary.
46
dfceeb1 @myronmarston 0.4.1 release.
authored May 11, 2010
47 ## 0.4.1 May 11, 2010
48 * Fixed a bug: when `Net::HTTPResponse#read_body` was called after VCR had read the body to record a new request,
49 it raised an error (`IOError: Net::HTTPResponse#read_body called twice`). My fix extends Net::HTTPResponse
50 so that it no longer raises this error.
51
7663252 @myronmarston 0.4.0 release.
authored Apr 28, 2010
52 ## 0.4.0 April 28, 2010
af61cfc @myronmarston Updated CHANGELOG with the info about what is coming in the next rele…
authored Apr 24, 2010
53 * Added support for webmock. All the fakeweb-specific code is now in an adapter (as is the webmock code).
54
55 * Changed the format of the VCR cassettes. The old format was tied directly to Net::HTTP, but webmock supports
56 other HTTP libraries and I plan to allow VCR to use them in the future. Note that this is a breaking change--your
57 old VCR cassettes from prior releases will not work with VCR 0.4.0. However, VCR provides a rake task to assist
58 you in migrating your cassettes to the new format. Simply add `load 'vcr/tasks/vcr.rake'` to your project's Rakefile,
59 and run:
60
61 $ rake vcr:migrate_cassettes DIR=path/to/cassete/library/directory
62
63 * The new cassette format records more information about the request (i.e. the request headers and body), so that it
64 can potentially be used with webmock in the future.
65
66 * Made most of `VCR::Cassette`'s methods private. I had forgotten to make the methods private before, and most of them
67 don't need to be exposed.
68
69 * Automatically disallow http connections using the appropriate setting of the http stubbing library (fakeweb or webmock).
70 This relieves users from the need to set the option themselves, so they hopefully aren't using either fakeweb or webmock
71 directly, making it much easier to switch between these.
72
73 * Change documentation from rdoc to markdown format.
74
75 * Lots of other refactoring.
76
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored Apr 21, 2010
77 ## 0.3.1 April 10, 2010
78 * Fixed a bug: when `Net::HTTP#request` was called with a block that had a return statement, the response was not being recorded.
79
80 ## 0.3.0 March 24, 2010
81 * Renamed a bunch of methods, replacing them with method names that more clearly fit the VCR/cassette metaphor:
82 * `VCR.create_cassette!` => `VCR.insert_cassette`
83 * `VCR.destroy_cassette!` => `VCR.eject_cassette`
84 * `VCR.with_cassette` => `VCR.use_cassette`
85 * `VCR::Cassette#destroy!` => `VCR::Cassette#eject`
86 * `VCR::Cassette#cache_file` => `VCR::Cassette#file`
87 * `VCR::Config.cache_dir` => `VCR::Config.cassette_library_dir`
88 * `:unregistered` record mode => `:new_episodes` record mode
89
90 * All the old methods still work, but you'll get deprecation warnings.
91
92 ## 0.2.0 March 9, 2010
93 * Added `:allow_real_http` cassette option, which allows VCR to work with capybara and a javascript driver.
94 Bug reported by [Ben Hutton](http://github.com/benhutton).
95
96 * Deprecated the `default_cassette_record_mode` option. Use `default_cassette_options[:record_mode]` instead.
97
98 ## 0.1.2 March 4, 2010
99 * Added explanatory note about VCR to `FakeWeb::NetConnectNotAllowedError#message`.
100
101 * Got things to work for when a cassette records multiple requests made to the same URL with the same HTTP verb,
102 but different responses. We have to register an array of responses with fakeweb.
103
104 * Fixed our `Net::HTTP` monkey patch so that it only stores the recorded response once per request.
105 Internally, `Net::HTTP#request` recursively calls itself (passing slightly different arguments) in certain circumstances.
106
107 ## 0.1.1 February 25, 2010
108 * Handle asynchronous HTTP requests (such as for mechanize). Bug reported by [Thibaud Guillaume-Gentil](http://github.com/thibaudgg).
109
110 ## 0.1.0 February 25, 2010
ade8181 @myronmarston 1.0.1 release.
authored Jul 2, 2010
111 * Initial release. Basic recording and replaying of responses works.
Something went wrong with that request. Please try again.