CHANGELOG.md in typhoeus-0.4.2 vs CHANGELOG.md in typhoeus-0.5.0.alpha

- old
+ new

@@ -1,22 +1,91 @@ -0.4.0 ------ +# Changelog + +## 0.5.0.pre + +[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.4.2...master) + +Major Changes: + +* Ethon integration + * Params are url params and a body is always a body for every request type + * Request parameter and body are properly encoded (only POST multiform body is not) + * No more header sanitizing + + Before: `:headers => { 'user_agent' => 'Custom' }` was modified to + `:headers => { 'User-Agent' => 'Custom' }` + + * The options you can set might have a slightly other names, as Ethon sticks to + libcurl names. See + [Easy.new](http://rubydoc.info/github/typhoeus/ethon/Ethon/Easy#initialize-instance_method) + for a description. + * The following classes were deleted because they do not seemed to be uesed at all. If that + turns out to be wrong, they will be restored: `Typhoeus::Filter`, `Typhoeus::Remote`, `Typhoeus::RemoteMethod`, `Typhoeus::RemoteProxyObject` + * `Typhoeus::Easy` and `Typhoeus::Multi` are now `Ethon::Easy` and `Ethon::Multi` + +* Request shortcuts: `Typhoeus.get("www.google.de")` +* Global configuration: +```ruby +Typhoeus.configure do |config| + config.verbose = true + config.memoize = true +end +``` +* No more Response#headers_hash, instead response#header returning the last + header and response#redirections returning the responses with headers + generated through redirections +* Instead of defining the same callbacks on every request, you can define global callbacks: + +```ruby +Typhoeus.on_complete { p "yay" } +``` + +* The stubbing interface changed slightly. You now have the same syntax as for requests: + +```ruby +Typhoeus.stub(url, options).and_return(response) +``` + +Enhancements: + +* Documentation + ( [Alex P](https://github.com/ifesdjeen), [\#188](https://github.com/typhoeus/typhoeus/issues/188) ) +* Request#on\_complete can hold multiple blocks. +* Request#eql? recognizes when header/params/body has a different order, but still same keys and values + ( [Alex P](https://github.com/ifesdjeen), [\#194](https://github.com/typhoeus/typhoeus/issues/194) ) + +Bug Fixes: + +* Zero bytes in strings are escaped for libcurl +* Add support for socks5 hostname proxy type + ( [eweathers](https://github.com/eweathers), [\#183](https://github.com/typhoeus/typhoeus/issues/183) ) +* Post body is encoded + ( [Rohan Deshpande](https://github.com/rdeshpande), [\#143](https://github.com/typhoeus/typhoeus/issues/143) ) +* Set default user agent + ( [Steven Shingler](https://github.com/sshingler), [\#176](https://github.com/typhoeus/typhoeus/issues/176) ) + +## 0.4.2 +* A header hotfix + +## 0.4.1 +* Fix verifypeer and verifyhost options +* Fix header sending + +## 0.4.0 * Make a GET even when a body is given * Deprecated User Agent setter removed * Allow cache key basis overwrite (John Crepezzi, #147) * FFI integration (Daniel Cavanagh, #151) * Refactor upload code (Marnen Laibow-Koser, #152) * Fix travis-ci build (Ezekiel Templin, #160) -0.3.3 ------ +## 0.3.3 * Make sure to call the Easy::failure callback on all non-success http response codes, even invalid ones. [balexis] * Use bytesize instead of length to determine Content-Length [dlamacchia] * Added SSL version option to Easy/Request [michelbarbosa/dbalatero] -0.3.2 ------ +## 0.3.2 * Fix array params to be consistent with HTTP spec [gridaphobe] * traversal\_to\_params\_hash should use the escape option [itsmeduncan] * Fix > 1024 open file descriptors [mschulkind] * Fixed a bug with internally queued requests being dropped [mschulkind] * Use gemspec in bundler to avoid duplication [mschulkind] @@ -33,24 +102,20 @@ * Make a request with handlers marshallable [bernerdschaefer] * Upgraded to RSpec 2 [bernerdschaefer] * Fix HTTP status edge-case [balexis] * Expose primary\_ip to easy object [balexis] -0.2.4 ------ +## 0.2.4 * Fix form POSTs to only use multipart for file uploads, otherwise use application/x-www-form-urlencoded [dbalatero] -0.2.3 ------ +## 0.2.3 * Code duplication in Typhoeus::Form led to nested URL param errors on POST only. Fixed [dbalatero] -0.2.2 ------ +## 0.2.2 * Fixed a problem with nested URL params encoding incorrectly [dbalatero] -0.2.1 ------ +## 0.2.1 * Added extended proxy support [Zapotek, GH-46] * eliminated compile time warnings by using proper type declarations [skaes, GH-54] * fixed broken calls to rb\_raise [skaes, GH-54] * prevent leaking of curl easy handles when exceptions are raised (either from typhoeus itself or user callbacks) [skaes, GH-54] * fixed Easy#timed\_out? using curl return codes [skaes, GH-54] @@ -58,36 +123,29 @@ * allow VCR to whitelist hosts in Typhoeus stubbing/mocking [myronmarston, GH-57] * added timed\_out? documentation, method to Response [dbalatero, GH-34] * added abort to Hydra to prematurely stop a hydra.run [Zapotek] * added file upload support for POST requests [jtarchie, GH-59] -0.2.0 ------- +## 0.2.0 * Fix warning in Request#headers from attr\_accessor -* Params with array values were not parsing into the format that rack expects -[GH-39, smartocci] +* Params with array values were not parsing into the format that rack expects [GH-39, smartocci] * Removed Rack as a dependency [GH-45] * Added integration hooks for VCR! -0.1.31 ------- +## 0.1.31 * Fixed bug in setting compression encoding [morhekil] * Exposed authentication control methods through Request interface [morhekil] -0.1.30 ------------ +## 0.1.30 * Exposed CURLOPT\_CONNECTTIMEOUT\_MS to Requests [balexis] -0.1.29 ------- +## 0.1.29 * Fixed a memory corruption with using CURLOPT\_POSTFIELDS [gravis, 32531d0821aecc4] -0.1.28 ----------------- +## 0.1.28 * Added SSL cert options for Typhoeus::Easy [GH-25, gravis] * Ported SSL cert options to Typhoeus::Request interface [gravis] * Added support for any HTTP method (purge for Varnish) [ryana] -0.1.27 ------- +## 0.1.27 * Added rack as dependency, added dev dependencies to Rakefile [GH-21]