Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 143 lines (111 sloc) 8.386 kb
3e442f3 Myron Marston Change History file to markdown format and renamed it to changelog.
authored
1 #Changelog
2
4a465ca Myron Marston 1.1.0 release.
authored
3 ## 1.1.0 (August 22, 2010)
0289298 Myron Marston Removed task runner as it's no longer needed.
authored
4
3def0be Myron Marston Documentation updates for new :match_requests_on option.
authored
5 * Added `:match_requests_on` cassette option, which determines how VCR matches requests.
0289298 Myron Marston Removed task runner as it's no longer needed.
authored
6 * Removed VCR::TaskRunner and the corresponding rake task definition. The rake task migrated cassettes from the
7 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,
8 migrate your cassettes and deal with migration warnings, then upgrade to the current release.
606e328 Myron Marston Raise an error if VCR::Cassette.new is given invalid options.
authored
9 * Added some code to VCR::Cassette.new to check the options passed to the cassette and raise an error if any
10 invalid options are passed.
f2bb986 Myron Marston Optimized ERB rendering a bit.
authored
11 * Optimized ERB rendering a bit. Rather than creating a new struct subclass for each time we render an ERB
12 cassette with locals, we keep a cache of reusable struct subclasses based on the desired attributes.
13 [Benchmarking](http://gist.github.com/512948) reveals this is about 28% faster.
a40025f Myron Marston Updated em-http-request to 0.2.10.
authored
14 * Upgraded tests to use em-http-request 0.2.10 rather than 0.2.7.
0289298 Myron Marston Removed task runner as it's no longer needed.
authored
15
ce13279 Myron Marston 1.0.3 release.
authored
16 ## 1.0.3 (August 5, 2010)
17
18 * Upgraded VCR specs to RSpec 2.
19 * Updated `VCR::CucumberTags` so that it uses an `around` hook rather than a `before` hook and an `after` hook.
20 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
21 the `VCR::CucumberTags` feature.
22 * Updated the WebMock version requirement to 1.3.3 or greater. 1.3.2 and earlier versions did not properly handle
23 multiple value for the same response header.
24 * Miscellaneous documentation updates.
25
e13d215 Myron Marston 1.0.2 release.
authored
26 ## 1.0.2 (July 6, 2010)
27
28 * Fixed VCR to work with [rest-client](http://github.com/archiloque/rest-client). Rest-client extends the Net::HTTP
29 response body string with a module containing additional data, which got serialized to the cassette file YAML
30 and occasionally caused problems when the YAML was deserialized. Bug reported by
31 [Thibaud Guillaume-Gentil](http://github.com/thibaudgg).
32 * Setup bundler to manage development dependencies.
33
ade8181 Myron Marston 1.0.1 release.
authored
34 ## 1.0.1 (July 1, 2010)
35
36 * Fixed specs and features so they pass on MRI 1.9.2-preview3 and JRuby 1.5.1.
37 * Normalized response and request headers so that they are stored the same (i.e. lower case keys, arrays of values)
38 in the cassette yaml files, regardless of which HTTP library is used. This is the same way Net::HTTP normalizes
39 HTTP headers.
40 * Fixed `VCR.use_cassette` so that it doesn't eject a cassette if an exception occurs while inserting one.
41 * Fixed FakeWeb adapter so that it works for requests that use basic auth. Patch submitted by
42 [Eric Allam](http://github.com/rubymaverick).
43
a5ac5bf Myron Marston 1.0.0 release.
authored
44 ## 1.0.0 (June 22, 2010)
45
46 * New Features
47 * Added support for [HTTPClient](http://github.com/nahi/httpclient), [Patron](http://github.com/toland/patron) and
48 [em-http-request](http://github.com/igrigorik/em-http-request) when WebMock is used. Any future http libraries
49 WebMock supports should (theoretically, at least) work without any VCR code changes. Thanks to
50 [Bartosz Blimke](http://github.com/bblimke) for adding the necessary code to WebMock to make this happen!
51 * Added support for dynamic responses using ERB. A cassette will be evaluated as ERB before the YAML
52 is deserialized if you pass it an `:erb => true` option. You can pass variables using
53 `:erb => { :var1 => 'some value', :var2 => 'another value' }`.
54 * Added `ignore_localhost` configuration setting, which defaults to false. Setting it true does the following:
55 * Localhost requests will proceed as normal. The "Real HTTP connections are disabled" error will not occur.
56 * Localhost requests will not be recorded.
57 * Previously recorded localhost requests will not be replayed.
58 * Exposed the version number:
59 * `VCR.version` => string (in the format "major.minor.patch")
60 * `VCR.version.parts` => array of integers
61 * `VCR.version.major` => integer
62 * `VCR.version.minor` => integer
63 * `VCR.version.patch` => integer
64 * Added test coverage and documentation of using a regex for non-deterministic URLs (i.e. URLs that include
65 a timestamp as a query parameter). It turns out this feature worked before, and I just didn't realize it :).
66
67 * Breaking Changes
68 * The `:allow_real_http => lambda { |uri| ... }` cassette option has been removed. There was no way to get
69 this to work with the newly supported http libraries without extensive monkeypatching, and it was mostly
70 useful for localhost requests, which is more easily handled by the new `ignore_localhost` config setting.
71 * Removed methods and options that had been previously deprecated. If you're upgrading from an old version,
72 I recommend upgrading to 0.4.1 first, deal with all the deprecation warnings, then upgrade to 1.0.0.
73
74 * Misc Changes:
75 * Removed dependency on [jeweler](http://github.com/technicalpickles/jeweler). Manage the gemspec by hand instead.
76 * Removed some extensions that are no longer necessary.
77
dfceeb1 Myron Marston 0.4.1 release.
authored
78 ## 0.4.1 May 11, 2010
79 * Fixed a bug: when `Net::HTTPResponse#read_body` was called after VCR had read the body to record a new request,
80 it raised an error (`IOError: Net::HTTPResponse#read_body called twice`). My fix extends Net::HTTPResponse
81 so that it no longer raises this error.
82
7663252 Myron Marston 0.4.0 release.
authored
83 ## 0.4.0 April 28, 2010
af61cfc Myron Marston Updated CHANGELOG with the info about what is coming in the next release...
authored
84 * Added support for webmock. All the fakeweb-specific code is now in an adapter (as is the webmock code).
85
86 * Changed the format of the VCR cassettes. The old format was tied directly to Net::HTTP, but webmock supports
87 other HTTP libraries and I plan to allow VCR to use them in the future. Note that this is a breaking change--your
88 old VCR cassettes from prior releases will not work with VCR 0.4.0. However, VCR provides a rake task to assist
89 you in migrating your cassettes to the new format. Simply add `load 'vcr/tasks/vcr.rake'` to your project's Rakefile,
90 and run:
91
92 $ rake vcr:migrate_cassettes DIR=path/to/cassete/library/directory
93
94 * The new cassette format records more information about the request (i.e. the request headers and body), so that it
95 can potentially be used with webmock in the future.
96
97 * Made most of `VCR::Cassette`'s methods private. I had forgotten to make the methods private before, and most of them
98 don't need to be exposed.
99
100 * Automatically disallow http connections using the appropriate setting of the http stubbing library (fakeweb or webmock).
101 This relieves users from the need to set the option themselves, so they hopefully aren't using either fakeweb or webmock
102 directly, making it much easier to switch between these.
103
104 * Change documentation from rdoc to markdown format.
105
106 * Lots of other refactoring.
107
3e442f3 Myron Marston Change History file to markdown format and renamed it to changelog.
authored
108 ## 0.3.1 April 10, 2010
109 * Fixed a bug: when `Net::HTTP#request` was called with a block that had a return statement, the response was not being recorded.
110
111 ## 0.3.0 March 24, 2010
112 * Renamed a bunch of methods, replacing them with method names that more clearly fit the VCR/cassette metaphor:
113 * `VCR.create_cassette!` => `VCR.insert_cassette`
114 * `VCR.destroy_cassette!` => `VCR.eject_cassette`
115 * `VCR.with_cassette` => `VCR.use_cassette`
116 * `VCR::Cassette#destroy!` => `VCR::Cassette#eject`
117 * `VCR::Cassette#cache_file` => `VCR::Cassette#file`
118 * `VCR::Config.cache_dir` => `VCR::Config.cassette_library_dir`
119 * `:unregistered` record mode => `:new_episodes` record mode
120
121 * All the old methods still work, but you'll get deprecation warnings.
122
123 ## 0.2.0 March 9, 2010
124 * Added `:allow_real_http` cassette option, which allows VCR to work with capybara and a javascript driver.
125 Bug reported by [Ben Hutton](http://github.com/benhutton).
126
127 * Deprecated the `default_cassette_record_mode` option. Use `default_cassette_options[:record_mode]` instead.
128
129 ## 0.1.2 March 4, 2010
130 * Added explanatory note about VCR to `FakeWeb::NetConnectNotAllowedError#message`.
131
132 * Got things to work for when a cassette records multiple requests made to the same URL with the same HTTP verb,
133 but different responses. We have to register an array of responses with fakeweb.
134
135 * Fixed our `Net::HTTP` monkey patch so that it only stores the recorded response once per request.
136 Internally, `Net::HTTP#request` recursively calls itself (passing slightly different arguments) in certain circumstances.
137
138 ## 0.1.1 February 25, 2010
139 * Handle asynchronous HTTP requests (such as for mechanize). Bug reported by [Thibaud Guillaume-Gentil](http://github.com/thibaudgg).
140
141 ## 0.1.0 February 25, 2010
ade8181 Myron Marston 1.0.1 release.
authored
142 * Initial release. Basic recording and replaying of responses works.
Something went wrong with that request. Please try again.