Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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