Skip to content
Newer
Older
100644 232 lines (167 sloc) 12.4 KB
709f593 @myronmarston Update changelog.
authored
1 # Changelog
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
2
e305b26 @myronmarston Update changelog.
authored
3 ## In git
4
5 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.2.0...master)
6
7 * Moved documentation from README to [Wiki](http://github.com/myronmarston/vcr/wiki).
8 * Refactoring and code cleanup.
9
d25e34c @myronmarston 1.2.0 release.
authored
10 ## 1.2.0 (October 13, 2010)
4839e58 @myronmarston Improved the :all record mode so that it keeps previously recorded in…
authored
11
d25e34c @myronmarston 1.2.0 release.
authored
12 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.1.2...v1.2.0)
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
13
4839e58 @myronmarston Improved the :all record mode so that it keeps previously recorded in…
authored
14 * Improved the `:all` record mode so that it keeps previously recorded interactions that do not match the
15 new recorded interactions. Previously, all of the previously recorded interactions were deleted.
d0e7dbd @myronmarston Add :re_record_interval cassette option.
authored
16 * Added `:re_record_interval` cassette option. This option causes a cassette to be re-recorded when the
17 existing file is older than the specified interval.
f4cce4c @myronmarston Improved RSpec support.
authored
18 * Improved RSpec support. Added #use_vcr_cassette RSpec macro method that sets up a cassette for an RSpec
19 example group.
709f593 @myronmarston Update changelog.
authored
20 * Fixed VCR/Net::HTTP/WebMock integration so that VCR no longer loads its Net::HTTP monkey patch when
21 WebMock is used, and relies upon WebMock's after_request callback to record Net::HTTP instead. This
22 fixes [a bug](http://github.com/myronmarston/vcr/issues/14) when using WebMock and Open URI.
6c86a96 @myronmarston Consider 0.0.0.0 to be a localhost alias.
authored
23 * Consider 0.0.0.0 to be a localhost alias (previously only "localhost" and 127.0.0.1 were considered).
ea777b9 @myronmarston Add test coverage for Curb support.
authored
24 * Added spec and feature coverage for Curb integration. Works out of the box with no changes required
8f369c1 @myronmarston Fixed typo.
authored
25 to VCR due to [Pete Higgins'](http://github.com/phiggins) great work to add Curb support to WebMock.
646eab5 @myronmarston Got specs and features to pass on rubinius 1.1.
authored
26 * Got specs and features to pass on rubinius.
91d67ad @myronmarston Upgrade to WebMock 1.4.0.
authored
27 * Changed WebMock version requirement to 1.4.0.
4839e58 @myronmarston Improved the :all record mode so that it keeps previously recorded in…
authored
28
b827a7b @myronmarston 1.1.2 release.
authored
29 ## 1.1.2 (September 9, 2010)
30
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
31 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.1.1...v1.1.2)
32
b827a7b @myronmarston 1.1.2 release.
authored
33 * Fixed a minor bug with the WebMock integration: WebMock extends each `Net::HTTPResponse` with an extension
34 module after reading the body, and VCR was doing the same thing, leading to some slight deviance from
35 standard Net::HTTP behavior. The fix prevents VCR from adding the same extension to a `Net::HTTPResponse`
36 that has already been extende by WebMock.
37 * Fixed a minor bug in the `VCR::Net::HTTPResponse` module so that it correctly handles nil bodies (such as
38 for a HEAD request).
39 * Refactored `VCR::Net::HTTPResponse` module so it is implemented in a much simpler manner.
40 * Updated specs and features so they pass against the latest WebMock release (1.3.5).
41 * Minor documentation updates.
42
69c0fe7 @myronmarston 1.1.1 release.
authored
43 ## 1.1.1 (August 26, 2010)
4d68e93 @myronmarston Optimized #stub_requests a bit.
authored
44
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
45 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.1.0...v1.1.1)
46
ed4a662 @myronmarston The latest FakeWeb passes this spec (was pending before).
authored
47 * Updated to use and require FakeWeb 1.3.0. It includes a fix for a bug related to multiple values for the
48 same response header.
7f58282 @myronmarston Use FakeWeb::Utility.request_uri_as_string rather than our own logic …
authored
49 * Use new `FakeWeb::Utility.request_uri_as_string` method rather than our own logic to construct a request uri.
5fc0ba4 @myronmarston Use a localhost regex with FakeWeb.allow_net_connect for the ignore_l…
authored
50 * Use new `FakeWeb.allow_net_connect = /url regex/` feature to power the `ignore_localhost` VCR option rather
51 then toggling `FakeWeb.allow_net_connect` in our Net::HTTP extension.
4d68e93 @myronmarston Optimized #stub_requests a bit.
authored
52 * Optimized `VCR.http_stubbing_adapter.stub_requests` a bit.
5f5da7a @myronmarston Change http stubbing adapters to be modules rather than classes.
authored
53 * Changed the http stubbing adapters to be modules rather than classes. They should never be instantiated and
54 don't really hold state, so a module is more appropriate.
0a979b4 @myronmarston Refactored and updated #check_version! on FakeWeb/WebMock adapters so…
authored
55 * Warn when FakeWeb or WebMock are a minor or major version number ahead of the required version, as the new
56 version isn't known to work with VCR.
4d68e93 @myronmarston Optimized #stub_requests a bit.
authored
57
4a465ca @myronmarston 1.1.0 release.
authored
58 ## 1.1.0 (August 22, 2010)
0289298 @myronmarston Removed task runner as it's no longer needed.
authored
59
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
60 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.0.3...v1.1.0)
61
3def0be @myronmarston Documentation updates for new :match_requests_on option.
authored
62 * Added `:match_requests_on` cassette option, which determines how VCR matches requests.
0289298 @myronmarston Removed task runner as it's no longer needed.
authored
63 * Removed VCR::TaskRunner and the corresponding rake task definition. The rake task migrated cassettes from the
64 0.3.1 format to the 0.4+ format. If you are still on 0.3.1 or earlier, I recommend you upgrade to 0.4.1 first,
65 migrate your cassettes and deal with migration warnings, then upgrade to the current release.
606e328 @myronmarston Raise an error if VCR::Cassette.new is given invalid options.
authored
66 * Added some code to VCR::Cassette.new to check the options passed to the cassette and raise an error if any
67 invalid options are passed.
f2bb986 @myronmarston Optimized ERB rendering a bit.
authored
68 * Optimized ERB rendering a bit. Rather than creating a new struct subclass for each time we render an ERB
69 cassette with locals, we keep a cache of reusable struct subclasses based on the desired attributes.
70 [Benchmarking](http://gist.github.com/512948) reveals this is about 28% faster.
a40025f @myronmarston Updated em-http-request to 0.2.10.
authored
71 * Upgraded tests to use em-http-request 0.2.10 rather than 0.2.7.
0289298 @myronmarston Removed task runner as it's no longer needed.
authored
72
ce13279 @myronmarston 1.0.3 release.
authored
73 ## 1.0.3 (August 5, 2010)
74
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
75 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.0.2...v1.0.3)
76
ce13279 @myronmarston 1.0.3 release.
authored
77 * Upgraded VCR specs to RSpec 2.
78 * Updated `VCR::CucumberTags` so that it uses an `around` hook rather than a `before` hook and an `after` hook.
79 Around hooks were added to Cucumber in the 0.7.3 release, so you'll have to be on that version or higher to use
80 the `VCR::CucumberTags` feature.
81 * Updated the WebMock version requirement to 1.3.3 or greater. 1.3.2 and earlier versions did not properly handle
82 multiple value for the same response header.
83 * Miscellaneous documentation updates.
84
e13d215 @myronmarston 1.0.2 release.
authored
85 ## 1.0.2 (July 6, 2010)
86
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
87 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.0.1...v1.0.2)
88
e13d215 @myronmarston 1.0.2 release.
authored
89 * Fixed VCR to work with [rest-client](http://github.com/archiloque/rest-client). Rest-client extends the Net::HTTP
90 response body string with a module containing additional data, which got serialized to the cassette file YAML
91 and occasionally caused problems when the YAML was deserialized. Bug reported by
92 [Thibaud Guillaume-Gentil](http://github.com/thibaudgg).
93 * Setup bundler to manage development dependencies.
94
ade8181 @myronmarston 1.0.1 release.
authored
95 ## 1.0.1 (July 1, 2010)
96
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
97 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.0.0...v1.0.1)
98
ade8181 @myronmarston 1.0.1 release.
authored
99 * Fixed specs and features so they pass on MRI 1.9.2-preview3 and JRuby 1.5.1.
100 * Normalized response and request headers so that they are stored the same (i.e. lower case keys, arrays of values)
101 in the cassette yaml files, regardless of which HTTP library is used. This is the same way Net::HTTP normalizes
102 HTTP headers.
103 * Fixed `VCR.use_cassette` so that it doesn't eject a cassette if an exception occurs while inserting one.
104 * Fixed FakeWeb adapter so that it works for requests that use basic auth. Patch submitted by
105 [Eric Allam](http://github.com/rubymaverick).
106
a5ac5bf @myronmarston 1.0.0 release.
authored
107 ## 1.0.0 (June 22, 2010)
108
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
109 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.4.1...v1.0.0)
110
a5ac5bf @myronmarston 1.0.0 release.
authored
111 * New Features
112 * Added support for [HTTPClient](http://github.com/nahi/httpclient), [Patron](http://github.com/toland/patron) and
113 [em-http-request](http://github.com/igrigorik/em-http-request) when WebMock is used. Any future http libraries
114 WebMock supports should (theoretically, at least) work without any VCR code changes. Thanks to
115 [Bartosz Blimke](http://github.com/bblimke) for adding the necessary code to WebMock to make this happen!
116 * Added support for dynamic responses using ERB. A cassette will be evaluated as ERB before the YAML
117 is deserialized if you pass it an `:erb => true` option. You can pass variables using
118 `:erb => { :var1 => 'some value', :var2 => 'another value' }`.
119 * Added `ignore_localhost` configuration setting, which defaults to false. Setting it true does the following:
120 * Localhost requests will proceed as normal. The "Real HTTP connections are disabled" error will not occur.
121 * Localhost requests will not be recorded.
122 * Previously recorded localhost requests will not be replayed.
123 * Exposed the version number:
124 * `VCR.version` => string (in the format "major.minor.patch")
125 * `VCR.version.parts` => array of integers
126 * `VCR.version.major` => integer
127 * `VCR.version.minor` => integer
128 * `VCR.version.patch` => integer
129 * Added test coverage and documentation of using a regex for non-deterministic URLs (i.e. URLs that include
130 a timestamp as a query parameter). It turns out this feature worked before, and I just didn't realize it :).
131
132 * Breaking Changes
133 * The `:allow_real_http => lambda { |uri| ... }` cassette option has been removed. There was no way to get
134 this to work with the newly supported http libraries without extensive monkeypatching, and it was mostly
135 useful for localhost requests, which is more easily handled by the new `ignore_localhost` config setting.
136 * Removed methods and options that had been previously deprecated. If you're upgrading from an old version,
137 I recommend upgrading to 0.4.1 first, deal with all the deprecation warnings, then upgrade to 1.0.0.
138
139 * Misc Changes:
140 * Removed dependency on [jeweler](http://github.com/technicalpickles/jeweler). Manage the gemspec by hand instead.
141 * Removed some extensions that are no longer necessary.
142
dfceeb1 @myronmarston 0.4.1 release.
authored
143 ## 0.4.1 May 11, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
144
145 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.4.0...v0.4.1)
146
dfceeb1 @myronmarston 0.4.1 release.
authored
147 * Fixed a bug: when `Net::HTTPResponse#read_body` was called after VCR had read the body to record a new request,
148 it raised an error (`IOError: Net::HTTPResponse#read_body called twice`). My fix extends Net::HTTPResponse
149 so that it no longer raises this error.
150
7663252 @myronmarston 0.4.0 release.
authored
151 ## 0.4.0 April 28, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
152
153 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.3.1...v0.4.0)
154
af61cfc @myronmarston Updated CHANGELOG with the info about what is coming in the next rele…
authored
155 * Added support for webmock. All the fakeweb-specific code is now in an adapter (as is the webmock code).
156
157 * Changed the format of the VCR cassettes. The old format was tied directly to Net::HTTP, but webmock supports
158 other HTTP libraries and I plan to allow VCR to use them in the future. Note that this is a breaking change--your
159 old VCR cassettes from prior releases will not work with VCR 0.4.0. However, VCR provides a rake task to assist
160 you in migrating your cassettes to the new format. Simply add `load 'vcr/tasks/vcr.rake'` to your project's Rakefile,
161 and run:
162
163 $ rake vcr:migrate_cassettes DIR=path/to/cassete/library/directory
164
165 * The new cassette format records more information about the request (i.e. the request headers and body), so that it
166 can potentially be used with webmock in the future.
167
168 * Made most of `VCR::Cassette`'s methods private. I had forgotten to make the methods private before, and most of them
169 don't need to be exposed.
170
171 * Automatically disallow http connections using the appropriate setting of the http stubbing library (fakeweb or webmock).
172 This relieves users from the need to set the option themselves, so they hopefully aren't using either fakeweb or webmock
173 directly, making it much easier to switch between these.
174
175 * Change documentation from rdoc to markdown format.
176
177 * Lots of other refactoring.
178
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
179 ## 0.3.1 April 10, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
180
181 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.3.0...v0.3.1)
182
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
183 * Fixed a bug: when `Net::HTTP#request` was called with a block that had a return statement, the response was not being recorded.
184
185 ## 0.3.0 March 24, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
186
187 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.2.0...v0.3.0)
188
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
189 * Renamed a bunch of methods, replacing them with method names that more clearly fit the VCR/cassette metaphor:
190 * `VCR.create_cassette!` => `VCR.insert_cassette`
191 * `VCR.destroy_cassette!` => `VCR.eject_cassette`
192 * `VCR.with_cassette` => `VCR.use_cassette`
193 * `VCR::Cassette#destroy!` => `VCR::Cassette#eject`
194 * `VCR::Cassette#cache_file` => `VCR::Cassette#file`
195 * `VCR::Config.cache_dir` => `VCR::Config.cassette_library_dir`
196 * `:unregistered` record mode => `:new_episodes` record mode
197
198 * All the old methods still work, but you'll get deprecation warnings.
199
200 ## 0.2.0 March 9, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
201
202 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.1.2...v0.2.0)
203
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
204 * Added `:allow_real_http` cassette option, which allows VCR to work with capybara and a javascript driver.
205 Bug reported by [Ben Hutton](http://github.com/benhutton).
206
207 * Deprecated the `default_cassette_record_mode` option. Use `default_cassette_options[:record_mode]` instead.
208
209 ## 0.1.2 March 4, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
210
211 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.1.1...v0.1.2)
212
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
213 * Added explanatory note about VCR to `FakeWeb::NetConnectNotAllowedError#message`.
214
215 * Got things to work for when a cassette records multiple requests made to the same URL with the same HTTP verb,
216 but different responses. We have to register an array of responses with fakeweb.
217
218 * Fixed our `Net::HTTP` monkey patch so that it only stores the recorded response once per request.
219 Internally, `Net::HTTP#request` recursively calls itself (passing slightly different arguments) in certain circumstances.
220
221 ## 0.1.1 February 25, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
222
223 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.1.0...v0.1.1)
224
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
225 * Handle asynchronous HTTP requests (such as for mechanize). Bug reported by [Thibaud Guillaume-Gentil](http://github.com/thibaudgg).
226
227 ## 0.1.0 February 25, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
228
229 [Full Changelog](http://github.com/myronmarston/vcr/compare/d2577f79247d7db60bf160881b1b64e9fa10e4fd...v0.1.0)
230
ade8181 @myronmarston 1.0.1 release.
authored
231 * Initial release. Basic recording and replaying of responses works.
Something went wrong with that request. Please try again.