Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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