Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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