Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 610 lines (460 sloc) 29.785 kb
2e87813 @myronmarston Words.
authored
1 ## In git
2
618a581 @myronmarston Release 2.0.0.rc2.
authored
3 [Full Changelog](http://github.com/myronmarston/vcr/compare/v2.0.0.rc2...master)
4
5bf57c1 @myronmarston Update changelog.
authored
5 * Add some additional logged events for the `debug_logger`.
efc5712 @myronmarston Update changelog.
authored
6 * Don't worry about stripping the standard port from the request URI on
7 playback. The standard port only needs to be stripped during recording;
8 for playback, it will have already been stripped. This allows people
9 to use the `filter_sensitive_data` option in a way that changes the URI;
10 before this change, doing so could result in `URI::InvalidURIError`.
11 Thanks to [Patrick Schmitz](https://github.com/bullfight) and
12 [Dan Thompson](https://github.com/danthompson) for reporting the issue
13 and helping diagnose it.
5bf57c1 @myronmarston Update changelog.
authored
14
618a581 @myronmarston Release 2.0.0.rc2.
authored
15 ## 2.0.0 RC 2 (February 23, 2012)
16
17 [Full Changelog](http://github.com/myronmarston/vcr/compare/v2.0.0.rc1...v2.0.0.rc2)
c06d3f0 @myronmarston Release 2.0.0.rc1.
authored
18
e0d3a4f @myronmarston Update changelog.
authored
19 ## New Features
20
21 * Add YARD documentation for the public API. Thanks to
22 [Ben Oakes](https://github.com/benjaminoakes) for help with setting
23 this up.
24 * Fix `around_http_request` hook so that `request.proceed` returns
25 the response.
26 * Resolve `cassette_library_dir` to an absolute path. Thanks to
27 [Nate Clark](https://github.com/heythisisnate) for the suggestion.
2062381 @myronmarston Update Changelog.
authored
28 * Add to the `VCR::Request` API in `before_http_request` and
29 `after_http_request` hooks so the request has query methods like
30 `#real?`, `#recordable?`, `#ignored?`, etc. Thanks to
31 [Nate Clark](https://github.com/heythisisnate) for the idea.
32 * Allow filters (objects that respond to `#to_proc`) to be passed
33 to `before_http_request` and `after_http_request`. This allows
34 an API like `before_http_request(:real?)` or
35 `after_http_request(lambda { |req| req.uri =~ /amazon/ })`.
36 * Add `debug_logger` config option. This can be used to
37 troubleshoot what VCR is doing.
580f827 @myronmarston Update webmock dependency now that 1.8.0 is out.
authored
38 * Update WebMock to version (1.8.0) that supports Excon stubbing.
994a236 @myronmarston Words.
authored
39 * Store the encoding with the request & response bodies in the
40 serialized cassette.
41 * Add new `preserve_exact_body_bytes` option that base64 encodes the
42 request or response body in order to preserve the bytes exactly.
43 Thanks to [Jeff Pollard](https://github.com/Fluxx) for help
44 designing this feature and for code reviewing it.
9380ddb @myronmarston Use latest Excon.
authored
45 * Update to and require latest Excon (0.9.6).
e0d3a4f @myronmarston Update changelog.
authored
46
47 ## Bug Fixes
48
49 * Fix rspec metadata integration to allow the cassette name to be set
50 at the example group level and apply to multiple examples. Thanks to
51 [Paul Russell](https://github.com/pauljamesrussell) for reporting the
52 bug.
53 * Add missing `require 'vcr/version'` to the cassette migrator task.
54 If you tried the migration rake task with 2.0.0.rc1 and got a
55 `NoMethodError`, it should be fixed now.
56 * Update Excon dependency to 0.9.5; 0.9.5 includes an important bug
57 fix needed by VCR.
58 * Ensure the excon retry limit is honored properly.
59 * Ensure that the correct error class is raised by excon when stubbing
60 an unexpected status.
61 * Fix FakeWeb library hook so that it records the request body when
62 using `Net::HTTP.post_form`. Thanks to
63 [Retistic](https://github.com/Retistic) for reporting the bug.
64
c06d3f0 @myronmarston Release 2.0.0.rc1.
authored
65 ## 2.0.0 RC 1 (December 8, 2011)
66
67 [Full Changelog](http://github.com/myronmarston/vcr/compare/v2.0.0.beta2...v2.0.0.rc1)
a47947b @myronmarston 2.0.0.beta2 release.
authored
68
8be100d @myronmarston Update changelog.
authored
69 * Add Faraday hook that automatically inserts the VCR middleware so that
70 you can use VCR with Faraday without needing to insert the middleware
71 yourself. Use `VCR.configure { |c| c.hook_into :faraday }`.
72 * Add `ignore_request` config option. Pass it a block that returns
958c36e @myronmarston Update Changelog.
authored
73 true if the given request should be ignored.
74 * Improve the unhandled HTTP request error message so that it lists
75 different options for how to get VCR to handle it.
76 * Add {before,after,around}_http_request hooks.
77 * Updated WebMock integration and bumped up required version to 1.7.8.
78 * Test against latest Excon (0.7.9) and confirm that VCR works fine with
79 it.
80 * Add define_cassette_placeholder as an alias for filter_sensitive_data.
81 * Fix Faraday middleware so that it works properly when you use parallel
82 requests.
83 * Integrate VCR with RSpec metadata. Thanks to [Ryan Bates](https://github.com/ryanb)
84 for the great idea.
8be100d @myronmarston Update changelog.
authored
85
a47947b @myronmarston 2.0.0.beta2 release.
authored
86 ## 2.0.0 Beta 2 (November 6, 2011)
87
88 [Full Changelog](http://github.com/myronmarston/vcr/compare/v2.0.0.beta1...v2.0.0.beta2)
e57f1c3 @myronmarston 2.0.0.beta1 release.
authored
89
46c3be8 @myronmarston Update to latest typhoeus. No more need to monkey patch it!
authored
90 * Update to (and require) Typhoeus 0.3.2.
a70c39f @myronmarston Acknowledge sfesekaran for that last fix.
authored
91 * Fix a bug with `VCR.request_matchers.uri_without_param(:some_param)`
92 so that it properly handles URIs that have no parameters. Thanks to
0520b4e @myronmarston Use sfekaran's full name based on the commit.
authored
93 [Sathya Sekaran](https://github.com/sfsekaran) for this fix.
814eba2 @myronmarston Update changelog.
authored
94 * The cassette format has changed significantly:
95 * The HTTPInteractions are no longer normalized in a lossy fashion.
96 VCR 1.x converted all HTTP header keys to lowercase. VCR 2.0 no
97 longer does this because it is impossible to know what the original
98 casing was (i.e. given `etag`, was it originally `etag`, `ETag` or
99 `Etag`?). Also, some HTTP libraries add particular request headers
100 to every request, and these used to be ignored. The aren't anymore.
101 * The ruby struct objects are not directly serialized anymore.
102 Instead, only primitives (hashes, arrays, strings, integers) are
103 serialized. This allows swappable serializers and will allow other
104 tools to read and use a VCR cassette.
105 * Add new serializer API. VCR ships with YAML, Syck, Psych and JSON
106 serializers, and it is very simple to implement your own. The
107 serializer can be configured on a per-cassette basis.
108 * New `vcr:migrate_cassettes DIR=path/to/cassettes` rake task assists
109 with upgrading from VCR 1.x to 2.0.
110 * Cassettes now contain a `recorded_with` attribute. This should
111 allow the cassette structure to be updated more easily in the future
112 as the version number provides a means for easily migrating
113 cassettes.
114 * Add `recorded_at` to data serialized with an HTTPInteraction. This
115 allows the `:re_record_interval` cassette option to work more
116 accurately and no longer rely on the file modification time.
117
118 Note that VCR 1.x cassettes cannot be used with VCR 2.0. See the
119 upgrade notes for more info.
120
121 ## 2.0.0 Beta 1 (October 8, 2011)
46c3be8 @myronmarston Update to latest typhoeus. No more need to monkey patch it!
authored
122
e57f1c3 @myronmarston 2.0.0.beta1 release.
authored
123 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.11.3...v2.0.0.beta1)
124
60f00d1 @myronmarston Use past tense verb like the other parts of the changelog.
authored
125 ### Changed
e57f1c3 @myronmarston 2.0.0.beta1 release.
authored
126
127 * Previously, the last matching response in a cassette would
128 repeatedly playback if the same request kept being made. This is
129 no longer the case.
130 * The Faraday middleware has been rewritten.
131 * You no longer need to configure `stub_with :faraday` to use it.
132 * It has been updated to work in parallel mode.
133 * It no longer accepts a block and uses that to determine the
134 cassette. Instead, use `VCR.use_cassette` just like you would
135 with FakeWeb or WebMock.
136
137 ### Added
138
139 * Allow any callable (an object that responds to #call, such as a
140 lambda) to be used as a request matcher. Thanks to [Avdi Grimm](https://github.com/avdi)
141 for the idea.
142 * Add ability to register custom request matchers.
143 * Add `VCR.request_matchers.uri_without_param(:some_param)` to generate
144 a request matcher that matches on URI but ignores the named parameter.
145 * New `:allow_playback_repeats` cassette option preserves the old
146 playback repeat behavior. Thanks to [Avdi Grimm](https://github.com/avdi)
147 for the idea.
148 * New `:exclusive` cassette option allows a cassette to be exclusively
149 used rather than keeping the existing one active as a fallback. Thanks
150 to [Avdi Grimm](https://github.com/avdi) for the idea.
0544db9 @myronmarston 1.11.3 release.
authored
151
ad12768 @myronmarston Rework changelog a bit.
authored
152 ### Removed
153
e57f1c3 @myronmarston 2.0.0.beta1 release.
authored
154 * Removed support for Ruby 1.8.6 and 1.9.1.
155 * Removed lots of old deprecated APIs.
156 * Removed support for manually changing the URI in a cassette to a regex.
ad12768 @myronmarston Rework changelog a bit.
authored
157
158 ### Deprecated
159
e36ed0e @myronmarston Deprecate `VCR::Config` in favor of `VCR.configuration` and `VCR.config`...
authored
160 * Deprecated `VCR.config` in favor of `VCR.configure`.
161 * Deprecated `VCR::Config` singleton module in favor of
162 `VCR::Configuration` class. The current configuration instance
163 can be accessed via `VCR.configuration`.
e57f1c3 @myronmarston 2.0.0.beta1 release.
authored
164 * Deprecated `stub_with` in favor of `hook_into`. The stubbing
165 adapters have been completely rewritten and are no longer an
166 implementation of the adapter design pattern. Instead they simply
167 use the named library to globally hook into every HTTP request.
145918e @myronmarston Update changelog.
authored
168
0544db9 @myronmarston 1.11.3 release.
authored
169 ## 1.11.3 (August 31, 2011)
170
171 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.11.2...v1.11.3)
172
173 * Fix cassette serialization so that it does not include extra `ignored`
174 instance variable.
76c8d2b @myronmarston 1.11.2 release.
authored
175
176 ## 1.11.2 (August 28, 2011)
177
178 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.11.1...v1.11.2)
179
180 * Updated rake, cucumber and aruba dev dependencies to latest releases.
181 * Fix all warnings originating from VCR. VCR is now warning-free!
5393e26 @myronmarston 1.11.1 release.
authored
182
183 ## 1.11.1 (August 18, 2011)
184
185 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.11.0...v1.11.1)
186
187 * Yanked 1.11.0 and rebuilt gem on 1.8.7 to deal with syck/psych
188 incompatibilties in gemspec.
966d8ba @myronmarston 1.11.0 release.
authored
189
190 ## 1.11.0 (August 18, 2011)
191
192 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.10.3...v1.11.0)
193
194 * Updates to work with WebMock 1.7.0.
d62fe13 @myronmarston 1.10.3 release.
authored
195
196 ## 1.10.3 (July 21, 2011)
197
198 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.10.2...v1.10.3)
199
200 * Fix `:update_content_length_header` option so no error is raised if
201 a response body is nil. Bug reported by [jg](https://github.com/jg).
e472188 @myronmarston 1.10.2 release.
authored
202
203 ## 1.10.2 (July 16, 2011)
204
205 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.10.1...v1.10.2)
206
207 * Yanked 1.10.1 and rebuilt gem on 1.8.7 to deal with syck/psych
208 incompatibilties in gemspec.
7573d96 @myronmarston 1.10.1 release.
authored
209
210 ## 1.10.1 (July 16, 2011)
211
212 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.10.0...v1.10.1)
5fcfa61 @myronmarston 1.10.0 release.
authored
213
662ed74 @myronmarston Fix changelog wording.
authored
214 * Fix typo in error message. Fix provided by [Bradley](https://github.com/bradleyisotope).
a216984 @myronmarston Fix excon adapter to handle query specified as a hash.
authored
215 * Fix excon adapter to properly handle queries specified as a hash.
662ed74 @myronmarston Fix changelog wording.
authored
216 * Fix excon adapter to stub a response with a hash as excon expects.
217 Fix provided by [Wesley Beary](https://github.com/geemus).
ca1e54a @myronmarston Fix excon adapter so that it records a response even when excon raises a...
authored
218 * Fix excon adapter so that it records a response even when excon raises
219 an error due to an unexpected response.
b604625 @myronmarston Update changelog.
authored
220
5fcfa61 @myronmarston 1.10.0 release.
authored
221 ## 1.10.0 (May 18, 2011)
222
223 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.9.0...v1.10.0)
ab598a7 @myronmarston 1.9.0 release.
authored
224
7613284 @myronmarston Update changelog.
authored
225 * Fix header normalization so that it properly handles nested arrays and
226 non-string values.
227 * Add cucumber scenario documenting how VCR sanitizes cassette names
228 to "normal" file names (i.e. only alphanumerics, no spaces).
229 * Add `:ignore_cassettes` option to `VCR.turn_off!`. This causes
230 cassette insertions to be ignored rather than to trigger an error.
b466443 @myronmarston Update contributors.
authored
231 Patch provided by [Justin Smestad](https://github.com/jsmestad).
eb530ae @myronmarston Fix rack middleware so that it is threadsafe.
authored
232 * Fix rack middleware to make it threadsafe.
f52b13a @myronmarston Update rspec to latest.
authored
233 * Update to latest RSpec (rspec 2.6).
7613284 @myronmarston Update changelog.
authored
234
ab598a7 @myronmarston 1.9.0 release.
authored
235 ## 1.9.0 (April 14, 2011)
236
237 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.8.0...v1.9.0)
238
239 * Add support for [Excon](https://github.com/geemus/excon).
487332d @myronmarston 1.8.0 release.
authored
240
241 ## 1.8.0 (March 31, 2011)
242
243 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.7.2...v1.8.0)
717d7c8 @myronmarston 1.7.2 release.
authored
244
fb156a7 @myronmarston Update to Faraday 0.6.
authored
245 * Updated Faraday middleware to work with newly released Faraday 0.6.0.
246
717d7c8 @myronmarston 1.7.2 release.
authored
247 ## 1.7.2 (March 26, 2011)
248
249 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.7.1...v1.7.2)
0022cf7 @myronmarston 1.7.1 release.
authored
250
dbbc4b3 @myronmarston Ensure that header values are the same when recording and replaying.
authored
251 * Fixed Typhoeus adapter so headers are returned in the same form during
252 playback as they would be without VCR. Bug reported by
253 [Avdi Grimm](https://github.com/avdi).
254 * Fixed Faraday adapter so it treats response headers in the same way
255 Faraday itself does (i.e. with lowercase keys).
256
0022cf7 @myronmarston 1.7.1 release.
authored
257 ## 1.7.1 (March 19, 2011)
258
259 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.7.0...v1.7.1)
1467ebb @myronmarston 1.7.0 release.
authored
260
0d4d9f5 @myronmarston Fix faraday adapter so that it properly normalizes query parameters.
authored
261 * Fix Faraday adapter so that it properly normalizes query parameters
262 in the same way that Faraday itself does.
263
1467ebb @myronmarston 1.7.0 release.
authored
264 ## 1.7.0 (March 1, 2011)
265
266 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.6.0...v1.7.0)
de8c689 @myronmarston 1.6.0 release.
authored
267
d66f924 @myronmarston Update changelog.
authored
268 * Use Psych for YAML serialization/deserialization when it is available.
269 Syck, Ruby's old YAML engine, will remove whitespace from some
270 strings. Bug reported by [Robert Poor](https://github.com/rdpoor).
271 * Add new `:update_content_length_header` cassette option. The option
272 will ensure the `content-length` header value matches the actual
273 response body length.
8ca9b67 @myronmarston Update changelog.
authored
274 * Add new `:once` record mode. It operates like `:new_episodes` except
275 when the cassette file already exists, in which case it causes
276 new requests to raise an error. Feature suggested by
277 [Jamie Cobbett](https://github.com/jamiecobbett).
278 * Made `:once` the default record mode.
1f9fa36 @myronmarston Add new filter_sensitive_data configuration option.
authored
279 * Add new `filter_sensitive_data` configuration option. Feature
280 suggested by [Nathaniel Bibler](https://github.com/nbibler).
8050f83 @myronmarston Update Changelog.
authored
281 * Commit to [Semantic Versioning](http://semver.org/). The cucumber
282 features document the public API for the purposes of semver.
06cf3f6 @myronmarston Update changelog.
authored
283 * Add support for CI builds using [travis-ci](http://travis-ci.org/myronmarston/vcr).
fd67425 @myronmarston Update changelog.
authored
284 * Add support for running tests through `gem test vcr`. Visit
285 [test.rubygems.org](http://test.rubygems.org/gems/vcr) to see
286 the results.
acfb274 @myronmarston Use separate Before/After hooks rather than a single Around hook.
authored
287 * Fix cucumber support to use separate `Before` & `After` hooks rather than
288 a single `Around` hook because of a bug in cucumber that prevents
289 background steps from running within the `Around` hook.
d66f924 @myronmarston Update changelog.
authored
290
de8c689 @myronmarston 1.6.0 release.
authored
291 ## 1.6.0 (February 3, 2011)
292
293 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.5.1...v1.6.0)
294
295 * Add new `ignore_hosts` configuration option that allows you to ignore
296 any host (not just localhost aliases, as the `ignore_localhost` option
297 works). Feature suggested by [Claudio Poli](https://github.com/masterkain).
298 * Upgraded to the latest Typhoeus (0.2.1).
299 * General code clean up and refactoring.
be6672d @myronmarston 1.5.1 release.
authored
300
301 ## 1.5.1 (January 12, 2011)
302
303 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.5.0...v1.5.1)
304
305 * Fix response and request serialization so that the headers are raw
306 strings. This fixes intermittent YAML seg faults for paperclip
d66f924 @myronmarston Update changelog.
authored
307 uploads to S3. Bug reported by [Rob Slifka](https://github.com/rslifka).
9c4a71c @myronmarston 1.5.0 release.
authored
308
309 ## 1.5.0 (January 12, 2011)
310
311 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.4.0...v1.5.0)
2e87813 @myronmarston Words.
authored
312
313 * Fix VCR::Cassette so it does not raise an error when a cassette file is
314 empty. Bug reported and fixed by [Karl Baum](https://github.com/kbaum).
4765bcf @myronmarston Update changelog.
authored
315 * Lots of code cleanup.
316 * Fix the stubbing adapters so that they use the cassette instance
317 rather than the cassette name to create and restore checkpoints.
318 * Raise an appropriate error when a nested cassette is inserted with the
319 same name as a cassette that is already in the stack (VCR's design
320 doesn't allow this and you would get weird errors later on).
321 * Raise an appropriate error when restoring a stubs checkpoint if the
322 checkpoint cannot be found.
fb94dec @myronmarston Words.
authored
323 * Add `before_record` and `before_playback` hooks. Idea and initial
324 implementation by [Oliver Searle-Barnes](https://github.com/opsb);
325 futher suggestions, testing and feedback by
326 [Nathaniel Bibler](https://github.com/nbibler).
2e87813 @myronmarston Words.
authored
327
6d40d17 @myronmarston 1.4.0 release.
authored
328 ## 1.4.0 (December 3, 2010)
c1c590e @myronmarston Update changelog.
authored
329
6d40d17 @myronmarston 1.4.0 release.
authored
330 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.3.3...v1.4.0)
c1c590e @myronmarston Update changelog.
authored
331
b58808d @myronmarston Add rack middleware feature.
authored
332 * Added support for making HTTP requests without a cassette (i.e. if you don't
c1c590e @myronmarston Update changelog.
authored
333 want to use VCR for all of your test suite). There are a few ways to
334 enable this:
335 * In your `VCR.config` block, set `allow_http_connections_when_no_cassette`
336 to true to allow HTTP requests without a cassette.
337 * You can temporarily turn off VCR using `VCR.turned_off { ... }`.
338 * You can toggle VCR off and on with `VCR.turn_off!` and `VCR.turn_on!`.
b58808d @myronmarston Add rack middleware feature.
authored
339 * Fixed bug with `ignore_localhost` config option. Previously, an error would
021cfea @myronmarston Fixed bug with ignore_localhost config option.
authored
340 be raised if it was set before the `stub_with` option.
b58808d @myronmarston Add rack middleware feature.
authored
341 * Added VCR::Middleware::Rack (see features/middleware/rack.feature for usage).
4f8e467 @myronmarston Add Faraday support.
authored
342 * Added support for Faraday (see features/middleware/faraday.feature for usage).
c1c590e @myronmarston Update changelog.
authored
343
ae45360 @myronmarston 1.3.3 release.
authored
344 ## 1.3.3 (November 21, 2010)
76137bf @myronmarston Hit a local sinatra app rather than example.com in specs.
authored
345
ae45360 @myronmarston 1.3.3 release.
authored
346 [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
347
348 * In specs, hit a local sinatra server rather than example.com. This makes
349 the specs faster and removes an external dependency. The specs can pass
350 without being online!
26fae52 @myronmarston Fix VCR::Config.http_stubbing_libraries so that it always returns an arr...
authored
351 * Raise an explicit error when the http stubbing library is not configured
352 (rather than letting the user get a confusing error later).
ae45360 @myronmarston 1.3.3 release.
authored
353 * Test against the latest WebMock release (1.6.1) (no changes required).
354 * 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
355
2efe05d @myronmarston 1.3.2 release.
authored
356 ## 1.3.2 (November 16, 2010)
0025871 @myronmarston Normalize structs so they are serialized the same regardless of which HT...
authored
357
2efe05d @myronmarston 1.3.2 release.
authored
358 [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
359
360 * Fix serialized structs so that they are normalized andthey will be the same
361 regardless of which HTTP library made the request.
362 * Status "OK " => "OK"
363 * Body '' => nil
364 * Headers {} => nil
365 * Remove extraneous headers added by the HTTP lib (i.e. Typhoeus user agent)
2efe05d @myronmarston 1.3.2 release.
authored
366 * Rewrite cucumber features in a more documentation-oriented style.
0025871 @myronmarston Normalize structs so they are serialized the same regardless of which HT...
authored
367
75fd8bd @myronmarston 1.3.1 release.
authored
368 ## 1.3.1 (November 11, 2010)
369
429619f @myronmarston Fix URLs in changelog.
authored
370 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.3.0...v1.3.1)
75fd8bd @myronmarston 1.3.1 release.
authored
371
372 * Update WebMock adapter to work with (and require) newly released WebMock 1.6.0.
373
a2e9b46 @myronmarston 1.3.0 release.
authored
374 ## 1.3.0 (November 11, 2010)
e305b26 @myronmarston Update changelog.
authored
375
429619f @myronmarston Fix URLs in changelog.
authored
376 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.2.0...v1.3.0)
e305b26 @myronmarston Update changelog.
authored
377
378 * Moved documentation from README to [Wiki](http://github.com/myronmarston/vcr/wiki).
379 * Refactoring and code cleanup.
922f145 @myronmarston Fix InternetConnection.available? so that it memoizes correctly when a c...
authored
380 * 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
381 * 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
382 * Add support for [Typhoeus](https://github.com/pauldix/typhoeus). Thanks to
383 [David Balatero](https://github.com/dbalatero) for making the necessary changes in Typhoeus
384 to support VCR.
26fae52 @myronmarston Fix VCR::Config.http_stubbing_libraries so that it always returns an arr...
authored
385 * Remove FakeWeb/WebMock inference logic. You _must_ configure the http stubbing library
386 explicitly now.
e305b26 @myronmarston Update changelog.
authored
387
d25e34c @myronmarston 1.2.0 release.
authored
388 ## 1.2.0 (October 13, 2010)
4839e58 @myronmarston Improved the :all record mode so that it keeps previously recorded inter...
authored
389
d25e34c @myronmarston 1.2.0 release.
authored
390 [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
391
4839e58 @myronmarston Improved the :all record mode so that it keeps previously recorded inter...
authored
392 * Improved the `:all` record mode so that it keeps previously recorded interactions that do not match the
393 new recorded interactions. Previously, all of the previously recorded interactions were deleted.
d0e7dbd @myronmarston Add :re_record_interval cassette option.
authored
394 * Added `:re_record_interval` cassette option. This option causes a cassette to be re-recorded when the
395 existing file is older than the specified interval.
f4cce4c @myronmarston Improved RSpec support.
authored
396 * Improved RSpec support. Added #use_vcr_cassette RSpec macro method that sets up a cassette for an RSpec
397 example group.
709f593 @myronmarston Update changelog.
authored
398 * Fixed VCR/Net::HTTP/WebMock integration so that VCR no longer loads its Net::HTTP monkey patch when
399 WebMock is used, and relies upon WebMock's after_request callback to record Net::HTTP instead. This
400 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
401 * 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
402 * Added spec and feature coverage for Curb integration. Works out of the box with no changes required
8f369c1 @myronmarston Fixed typo.
authored
403 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
404 * Got specs and features to pass on rubinius.
91d67ad @myronmarston Upgrade to WebMock 1.4.0.
authored
405 * Changed WebMock version requirement to 1.4.0.
4839e58 @myronmarston Improved the :all record mode so that it keeps previously recorded inter...
authored
406
b827a7b @myronmarston 1.1.2 release.
authored
407 ## 1.1.2 (September 9, 2010)
408
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
409 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.1.1...v1.1.2)
410
b827a7b @myronmarston 1.1.2 release.
authored
411 * Fixed a minor bug with the WebMock integration: WebMock extends each `Net::HTTPResponse` with an extension
412 module after reading the body, and VCR was doing the same thing, leading to some slight deviance from
413 standard Net::HTTP behavior. The fix prevents VCR from adding the same extension to a `Net::HTTPResponse`
414 that has already been extende by WebMock.
415 * Fixed a minor bug in the `VCR::Net::HTTPResponse` module so that it correctly handles nil bodies (such as
416 for a HEAD request).
417 * Refactored `VCR::Net::HTTPResponse` module so it is implemented in a much simpler manner.
418 * Updated specs and features so they pass against the latest WebMock release (1.3.5).
419 * Minor documentation updates.
420
69c0fe7 @myronmarston 1.1.1 release.
authored
421 ## 1.1.1 (August 26, 2010)
4d68e93 @myronmarston Optimized #stub_requests a bit.
authored
422
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
423 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.1.0...v1.1.1)
424
ed4a662 @myronmarston The latest FakeWeb passes this spec (was pending before).
authored
425 * Updated to use and require FakeWeb 1.3.0. It includes a fix for a bug related to multiple values for the
426 same response header.
7f58282 @myronmarston Use FakeWeb::Utility.request_uri_as_string rather than our own logic to ...
authored
427 * 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
428 * Use new `FakeWeb.allow_net_connect = /url regex/` feature to power the `ignore_localhost` VCR option rather
429 then toggling `FakeWeb.allow_net_connect` in our Net::HTTP extension.
4d68e93 @myronmarston Optimized #stub_requests a bit.
authored
430 * Optimized `VCR.http_stubbing_adapter.stub_requests` a bit.
5f5da7a @myronmarston Change http stubbing adapters to be modules rather than classes.
authored
431 * Changed the http stubbing adapters to be modules rather than classes. They should never be instantiated and
432 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
433 * Warn when FakeWeb or WebMock are a minor or major version number ahead of the required version, as the new
434 version isn't known to work with VCR.
4d68e93 @myronmarston Optimized #stub_requests a bit.
authored
435
4a465ca @myronmarston 1.1.0 release.
authored
436 ## 1.1.0 (August 22, 2010)
0289298 @myronmarston Removed task runner as it's no longer needed.
authored
437
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
438 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.0.3...v1.1.0)
439
3def0be @myronmarston Documentation updates for new :match_requests_on option.
authored
440 * Added `:match_requests_on` cassette option, which determines how VCR matches requests.
0289298 @myronmarston Removed task runner as it's no longer needed.
authored
441 * Removed VCR::TaskRunner and the corresponding rake task definition. The rake task migrated cassettes from the
442 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,
443 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
444 * Added some code to VCR::Cassette.new to check the options passed to the cassette and raise an error if any
445 invalid options are passed.
f2bb986 @myronmarston Optimized ERB rendering a bit.
authored
446 * Optimized ERB rendering a bit. Rather than creating a new struct subclass for each time we render an ERB
447 cassette with locals, we keep a cache of reusable struct subclasses based on the desired attributes.
448 [Benchmarking](http://gist.github.com/512948) reveals this is about 28% faster.
a40025f @myronmarston Updated em-http-request to 0.2.10.
authored
449 * 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
450
ce13279 @myronmarston 1.0.3 release.
authored
451 ## 1.0.3 (August 5, 2010)
452
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
453 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.0.2...v1.0.3)
454
ce13279 @myronmarston 1.0.3 release.
authored
455 * Upgraded VCR specs to RSpec 2.
456 * Updated `VCR::CucumberTags` so that it uses an `around` hook rather than a `before` hook and an `after` hook.
457 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
458 the `VCR::CucumberTags` feature.
459 * Updated the WebMock version requirement to 1.3.3 or greater. 1.3.2 and earlier versions did not properly handle
460 multiple value for the same response header.
461 * Miscellaneous documentation updates.
462
e13d215 @myronmarston 1.0.2 release.
authored
463 ## 1.0.2 (July 6, 2010)
464
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
465 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.0.1...v1.0.2)
466
e13d215 @myronmarston 1.0.2 release.
authored
467 * Fixed VCR to work with [rest-client](http://github.com/archiloque/rest-client). Rest-client extends the Net::HTTP
468 response body string with a module containing additional data, which got serialized to the cassette file YAML
469 and occasionally caused problems when the YAML was deserialized. Bug reported by
470 [Thibaud Guillaume-Gentil](http://github.com/thibaudgg).
471 * Setup bundler to manage development dependencies.
472
ade8181 @myronmarston 1.0.1 release.
authored
473 ## 1.0.1 (July 1, 2010)
474
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
475 [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.0.0...v1.0.1)
476
ade8181 @myronmarston 1.0.1 release.
authored
477 * Fixed specs and features so they pass on MRI 1.9.2-preview3 and JRuby 1.5.1.
478 * Normalized response and request headers so that they are stored the same (i.e. lower case keys, arrays of values)
479 in the cassette yaml files, regardless of which HTTP library is used. This is the same way Net::HTTP normalizes
480 HTTP headers.
481 * Fixed `VCR.use_cassette` so that it doesn't eject a cassette if an exception occurs while inserting one.
482 * Fixed FakeWeb adapter so that it works for requests that use basic auth. Patch submitted by
483 [Eric Allam](http://github.com/rubymaverick).
484
a5ac5bf @myronmarston 1.0.0 release.
authored
485 ## 1.0.0 (June 22, 2010)
486
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
487 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.4.1...v1.0.0)
488
a5ac5bf @myronmarston 1.0.0 release.
authored
489 * New Features
490 * Added support for [HTTPClient](http://github.com/nahi/httpclient), [Patron](http://github.com/toland/patron) and
491 [em-http-request](http://github.com/igrigorik/em-http-request) when WebMock is used. Any future http libraries
d34b6f7 @myronmarston Add quality spec that enforces whitespace policy.
authored
492 WebMock supports should (theoretically, at least) work without any VCR code changes. Thanks to
a5ac5bf @myronmarston 1.0.0 release.
authored
493 [Bartosz Blimke](http://github.com/bblimke) for adding the necessary code to WebMock to make this happen!
494 * Added support for dynamic responses using ERB. A cassette will be evaluated as ERB before the YAML
495 is deserialized if you pass it an `:erb => true` option. You can pass variables using
496 `:erb => { :var1 => 'some value', :var2 => 'another value' }`.
497 * Added `ignore_localhost` configuration setting, which defaults to false. Setting it true does the following:
498 * Localhost requests will proceed as normal. The "Real HTTP connections are disabled" error will not occur.
499 * Localhost requests will not be recorded.
500 * Previously recorded localhost requests will not be replayed.
501 * Exposed the version number:
502 * `VCR.version` => string (in the format "major.minor.patch")
503 * `VCR.version.parts` => array of integers
504 * `VCR.version.major` => integer
505 * `VCR.version.minor` => integer
506 * `VCR.version.patch` => integer
507 * Added test coverage and documentation of using a regex for non-deterministic URLs (i.e. URLs that include
508 a timestamp as a query parameter). It turns out this feature worked before, and I just didn't realize it :).
509
510 * Breaking Changes
511 * The `:allow_real_http => lambda { |uri| ... }` cassette option has been removed. There was no way to get
512 this to work with the newly supported http libraries without extensive monkeypatching, and it was mostly
513 useful for localhost requests, which is more easily handled by the new `ignore_localhost` config setting.
514 * Removed methods and options that had been previously deprecated. If you're upgrading from an old version,
515 I recommend upgrading to 0.4.1 first, deal with all the deprecation warnings, then upgrade to 1.0.0.
516
517 * Misc Changes:
518 * Removed dependency on [jeweler](http://github.com/technicalpickles/jeweler). Manage the gemspec by hand instead.
519 * Removed some extensions that are no longer necessary.
520
dfceeb1 @myronmarston 0.4.1 release.
authored
521 ## 0.4.1 May 11, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
522
523 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.4.0...v0.4.1)
524
dfceeb1 @myronmarston 0.4.1 release.
authored
525 * Fixed a bug: when `Net::HTTPResponse#read_body` was called after VCR had read the body to record a new request,
526 it raised an error (`IOError: Net::HTTPResponse#read_body called twice`). My fix extends Net::HTTPResponse
527 so that it no longer raises this error.
528
7663252 @myronmarston 0.4.0 release.
authored
529 ## 0.4.0 April 28, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
530
531 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.3.1...v0.4.0)
532
af61cfc @myronmarston Updated CHANGELOG with the info about what is coming in the next release...
authored
533 * Added support for webmock. All the fakeweb-specific code is now in an adapter (as is the webmock code).
534
535 * Changed the format of the VCR cassettes. The old format was tied directly to Net::HTTP, but webmock supports
536 other HTTP libraries and I plan to allow VCR to use them in the future. Note that this is a breaking change--your
537 old VCR cassettes from prior releases will not work with VCR 0.4.0. However, VCR provides a rake task to assist
538 you in migrating your cassettes to the new format. Simply add `load 'vcr/tasks/vcr.rake'` to your project's Rakefile,
539 and run:
540
541 $ rake vcr:migrate_cassettes DIR=path/to/cassete/library/directory
542
543 * The new cassette format records more information about the request (i.e. the request headers and body), so that it
544 can potentially be used with webmock in the future.
545
546 * Made most of `VCR::Cassette`'s methods private. I had forgotten to make the methods private before, and most of them
547 don't need to be exposed.
548
549 * Automatically disallow http connections using the appropriate setting of the http stubbing library (fakeweb or webmock).
550 This relieves users from the need to set the option themselves, so they hopefully aren't using either fakeweb or webmock
551 directly, making it much easier to switch between these.
552
553 * Change documentation from rdoc to markdown format.
554
555 * Lots of other refactoring.
556
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
557 ## 0.3.1 April 10, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
558
559 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.3.0...v0.3.1)
560
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
561 * Fixed a bug: when `Net::HTTP#request` was called with a block that had a return statement, the response was not being recorded.
562
563 ## 0.3.0 March 24, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
564
565 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.2.0...v0.3.0)
566
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
567 * Renamed a bunch of methods, replacing them with method names that more clearly fit the VCR/cassette metaphor:
568 * `VCR.create_cassette!` => `VCR.insert_cassette`
569 * `VCR.destroy_cassette!` => `VCR.eject_cassette`
570 * `VCR.with_cassette` => `VCR.use_cassette`
571 * `VCR::Cassette#destroy!` => `VCR::Cassette#eject`
572 * `VCR::Cassette#cache_file` => `VCR::Cassette#file`
573 * `VCR::Config.cache_dir` => `VCR::Config.cassette_library_dir`
574 * `:unregistered` record mode => `:new_episodes` record mode
575
576 * All the old methods still work, but you'll get deprecation warnings.
577
578 ## 0.2.0 March 9, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
579
580 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.1.2...v0.2.0)
581
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
582 * Added `:allow_real_http` cassette option, which allows VCR to work with capybara and a javascript driver.
583 Bug reported by [Ben Hutton](http://github.com/benhutton).
584
585 * Deprecated the `default_cassette_record_mode` option. Use `default_cassette_options[:record_mode]` instead.
586
587 ## 0.1.2 March 4, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
588
589 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.1.1...v0.1.2)
590
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
591 * Added explanatory note about VCR to `FakeWeb::NetConnectNotAllowedError#message`.
592
593 * Got things to work for when a cassette records multiple requests made to the same URL with the same HTTP verb,
594 but different responses. We have to register an array of responses with fakeweb.
595
596 * Fixed our `Net::HTTP` monkey patch so that it only stores the recorded response once per request.
597 Internally, `Net::HTTP#request` recursively calls itself (passing slightly different arguments) in certain circumstances.
598
599 ## 0.1.1 February 25, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
600
601 [Full Changelog](http://github.com/myronmarston/vcr/compare/v0.1.0...v0.1.1)
602
3e442f3 @myronmarston Change History file to markdown format and renamed it to changelog.
authored
603 * Handle asynchronous HTTP requests (such as for mechanize). Bug reported by [Thibaud Guillaume-Gentil](http://github.com/thibaudgg).
604
605 ## 0.1.0 February 25, 2010
d7d9ac9 @myronmarston Add links to github comparison view for each release.
authored
606
607 [Full Changelog](http://github.com/myronmarston/vcr/compare/d2577f79247d7db60bf160881b1b64e9fa10e4fd...v0.1.0)
608
ade8181 @myronmarston 1.0.1 release.
authored
609 * Initial release. Basic recording and replaying of responses works.
Something went wrong with that request. Please try again.