Skip to content

HTTPS clone URL

Subversion checkout URL

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