## Change Log ### upcoming (2014/10/26) - [#1222](https://github.com/request/request/pull/1222) Move from mikeal/request to request/request (@nylen) - [#1220](https://github.com/request/request/pull/1220) update qs dependency to 2.3.1 (@FredKSchott) - [#1212](https://github.com/request/request/pull/1212) Improve tests/test-timeout.js (@nylen) - [#1219](https://github.com/request/request/pull/1219) remove old globalAgent workaround for node 0.4 (@request) - [#1214](https://github.com/request/request/pull/1214) Remove cruft left over from optional dependencies (@nylen) - [#1215](https://github.com/request/request/pull/1215) Add proxyHeaderExclusiveList option for proxy-only headers. (@RReverser) - [#1211](https://github.com/request/request/pull/1211) Allow 'Host' header instead of 'host' and remember case across redirects (@nylen) - [#1208](https://github.com/request/request/pull/1208) Improve release script (@nylen) - [#1213](https://github.com/request/request/pull/1213) Support for custom cookie store (@nylen, @mitsuru) - [#1197](https://github.com/request/request/pull/1197) Clean up some code around setting the agent (@FredKSchott) - [#1209](https://github.com/request/request/pull/1209) Improve multipart form append test (@simov) - [#1207](https://github.com/request/request/pull/1207) Update changelog (@nylen) - [#1185](https://github.com/request/request/pull/1185) Stream multipart/related bodies (@simov) ### v2.46.0 (2014/10/23) - [#1198](https://github.com/request/request/pull/1198) doc for TLS/SSL protocol options (@shawnzhu) - [#1200](https://github.com/request/request/pull/1200) Add a Gitter chat badge to README.md (@gitter-badger) - [#1196](https://github.com/request/request/pull/1196) Upgrade taper test reporter to v0.3.0 (@nylen) - [#1199](https://github.com/request/request/pull/1199) Fix lint error: undeclared var i (@nylen) - [#1191](https://github.com/request/request/pull/1191) Move self.proxy decision logic out of init and into a helper (@FredKSchott) - [#1190](https://github.com/request/request/pull/1190) Move _buildRequest() logic back into init (@FredKSchott) - [#1186](https://github.com/request/request/pull/1186) Support Smarter Unix URL Scheme (@FredKSchott) - [#1178](https://github.com/request/request/pull/1178) update form documentation for new usage (@FredKSchott) - [#1180](https://github.com/request/request/pull/1180) Enable no-mixed-requires linting rule (@nylen) - [#1184](https://github.com/request/request/pull/1184) Don't forward authorization header across redirects to different hosts (@nylen) - [#1183](https://github.com/request/request/pull/1183) Correct README about pre and postamble CRLF using multipart and not mult... (@netpoetica) - [#1179](https://github.com/request/request/pull/1179) Lint tests directory (@nylen) - [#1169](https://github.com/request/request/pull/1169) add metadata for form-data file field (@dotcypress) - [#1173](https://github.com/request/request/pull/1173) remove optional dependencies (@seanstrom) - [#1165](https://github.com/request/request/pull/1165) Cleanup event listeners and remove function creation from init (@FredKSchott) - [#1174](https://github.com/request/request/pull/1174) update the request.cookie docs to have a valid cookie example (@seanstrom) - [#1168](https://github.com/request/request/pull/1168) create a detach helper and use detach helper in replace of nextTick (@seanstrom) - [#1171](https://github.com/request/request/pull/1171) in post can send form data and use callback (@MiroRadenovic) - [#1159](https://github.com/request/request/pull/1159) accept charset for x-www-form-urlencoded content-type (@seanstrom) - [#1157](https://github.com/request/request/pull/1157) Update README.md: body with json=true (@Rob--W) - [#1164](https://github.com/request/request/pull/1164) Disable tests/test-timeout.js on Travis (@nylen) - [#1153](https://github.com/request/request/pull/1153) Document how to run a single test (@nylen) - [#1144](https://github.com/request/request/pull/1144) adds documentation for the "response" event within the streaming section (@tbuchok) - [#1162](https://github.com/request/request/pull/1162) Update eslintrc file to no longer allow past errors (@FredKSchott) - [#1155](https://github.com/request/request/pull/1155) Support/use self everywhere (@seanstrom) - [#1161](https://github.com/request/request/pull/1161) fix no-use-before-define lint warnings (@emkay) - [#1156](https://github.com/request/request/pull/1156) adding curly brackets to get rid of lint errors (@emkay) - [#1151](https://github.com/request/request/pull/1151) Fix localAddress test on OS X (@nylen) - [#1145](https://github.com/request/request/pull/1145) documentation: fix outdated reference to setCookieSync old name in README (@FredKSchott) - [#1131](https://github.com/request/request/pull/1131) Update pool documentation (@FredKSchott) - [#1143](https://github.com/request/request/pull/1143) Rewrite all tests to use tape (@nylen) - [#1137](https://github.com/request/request/pull/1137) Add ability to specifiy querystring lib in options. (@jgrund) - [#1138](https://github.com/request/request/pull/1138) allow hostname and port in place of host on uri (@cappslock) - [#1134](https://github.com/request/request/pull/1134) Fix multiple redirects and `self.followRedirect` (@blakeembrey) - [#1130](https://github.com/request/request/pull/1130) documentation fix: add note about npm test for contributing (@FredKSchott) - [#1120](https://github.com/request/request/pull/1120) Support/refactor request setup tunnel (@seanstrom) - [#1129](https://github.com/request/request/pull/1129) linting fix: convert double quote strings to use single quotes (@FredKSchott) - [#1124](https://github.com/request/request/pull/1124) linting fix: remove unneccesary semi-colons (@FredKSchott) ### v2.45.0 (2014/10/06) - [#1128](https://github.com/request/request/pull/1128) Add test for setCookie regression (@nylen) - [#1127](https://github.com/request/request/pull/1127) added tests around using objects as values in a query string (@bcoe) - [#1103](https://github.com/request/request/pull/1103) Support/refactor request constructor (@nylen, @seanstrom) - [#1119](https://github.com/request/request/pull/1119) add basic linting to request library (@FredKSchott) - [#1121](https://github.com/request/request/pull/1121) Revert "Explicitly use sync versions of cookie functions" (@nylen) - [#1118](https://github.com/request/request/pull/1118) linting fix: Restructure bad empty if statement (@FredKSchott) - [#1117](https://github.com/request/request/pull/1117) Fix a bad check for valid URIs (@FredKSchott) - [#1113](https://github.com/request/request/pull/1113) linting fix: space out operators (@FredKSchott) - [#1116](https://github.com/request/request/pull/1116) Fix typo in `noProxyHost` definition (@FredKSchott) - [#1114](https://github.com/request/request/pull/1114) linting fix: Added a `new` operator that was missing when creating and throwing a new error (@FredKSchott) - [#1096](https://github.com/request/request/pull/1096) No_proxy support (@samcday) - [#1107](https://github.com/request/request/pull/1107) linting-fix: remove unused variables (@FredKSchott) - [#1112](https://github.com/request/request/pull/1112) linting fix: Make return values consistent and more straitforward (@FredKSchott) - [#1111](https://github.com/request/request/pull/1111) linting fix: authPieces was getting redeclared (@FredKSchott) - [#1105](https://github.com/request/request/pull/1105) Use strict mode in request (@FredKSchott) - [#1110](https://github.com/request/request/pull/1110) linting fix: replace lazy '==' with more strict '===' (@FredKSchott) - [#1109](https://github.com/request/request/pull/1109) linting fix: remove function call from if-else conditional statement (@FredKSchott) - [#1102](https://github.com/request/request/pull/1102) Fix to allow setting a `requester` on recursive calls to `request.defaults` (@tikotzky) - [#1095](https://github.com/request/request/pull/1095) Tweaking engines in package.json (@pdehaan) - [#1082](https://github.com/request/request/pull/1082) Forward the socket event from the httpModule request (@seanstrom) - [#972](https://github.com/request/request/pull/972) Clarify gzip handling in the README (@kevinoid) - [#1089](https://github.com/request/request/pull/1089) Mention that encoding defaults to utf8, not Buffer (@stuartpb) - [#1088](https://github.com/request/request/pull/1088) Fix cookie example in README.md and make it more clear (@pipi32167) - [#1027](https://github.com/request/request/pull/1027) Add support for multipart form data in request options. (@crocket) - [#1076](https://github.com/request/request/pull/1076) use Request.abort() to abort the request when the request has timed-out (@seanstrom) - [#1068](https://github.com/request/request/pull/1068) add optional postamble required by .NET multipart requests (@netpoetica) ### v2.43.0 (2014/09/18) - [#1057](https://github.com/request/request/pull/1057) Defaults should not overwrite defined options (@davidwood) - [#1046](https://github.com/request/request/pull/1046) Propagate datastream errors, useful in case gzip fails. (@ZJONSSON, @Janpot) - [#1063](https://github.com/request/request/pull/1063) copy the input headers object #1060 (@finnp) - [#1031](https://github.com/request/request/pull/1031) Explicitly use sync versions of cookie functions (@ZJONSSON) - [#1056](https://github.com/request/request/pull/1056) Fix redirects when passing url.parse(x) as URL to convenience method (@nylen) ### v2.42.0 (2014/09/04) - [#1053](https://github.com/request/request/pull/1053) Fix #1051 Parse auth properly when using non-tunneling proxy (@isaacs) ### v2.41.0 (2014/09/04) - [#1050](https://github.com/request/request/pull/1050) Pass whitelisted headers to tunneling proxy. Organize all tunneling logic. (@isaacs, @Feldhacker) - [#1035](https://github.com/request/request/pull/1035) souped up nodei.co badge (@rvagg) - [#1048](https://github.com/request/request/pull/1048) Aws is now possible over a proxy (@steven-aerts) - [#1039](https://github.com/request/request/pull/1039) extract out helper functions to a helper file (@seanstrom) - [#1021](https://github.com/request/request/pull/1021) Support/refactor indexjs (@seanstrom) - [#1033](https://github.com/request/request/pull/1033) Improve and document debug options (@nylen) - [#1034](https://github.com/request/request/pull/1034) Fix readme headings (@nylen) - [#1030](https://github.com/request/request/pull/1030) Allow recursive request.defaults (@tikotzky) - [#1029](https://github.com/request/request/pull/1029) Fix a couple of typos (@nylen) - [#675](https://github.com/request/request/pull/675) Checking for SSL fault on connection before reading SSL properties (@VRMink) - [#989](https://github.com/request/request/pull/989) Added allowRedirect function. Should return true if redirect is allowed or false otherwise (@doronin) - [#1025](https://github.com/request/request/pull/1025) [fixes #1023] Set self._ended to true once response has ended (@mridgway) - [#1020](https://github.com/request/request/pull/1020) Add back removed debug metadata (@FredKSchott) - [#1008](https://github.com/request/request/pull/1008) Moving to module instead of cutomer buffer concatenation. (@mikeal) - [#770](https://github.com/request/request/pull/770) Added dependency badge for README file; (@timgluz) - [#1016](https://github.com/request/request/pull/1016) toJSON no longer results in an infinite loop, returns simple objects (@FredKSchott) - [#1018](https://github.com/request/request/pull/1018) Remove pre-0.4.4 HTTPS fix (@mmalecki) - [#1006](https://github.com/request/request/pull/1006) Migrate to caseless, fixes #1001 (@mikeal) - [#995](https://github.com/request/request/pull/995) Fix parsing array of objects (@sjonnet19) - [#999](https://github.com/request/request/pull/999) Fix fallback for browserify for optional modules. (@eiriksm) - [#996](https://github.com/request/request/pull/996) Wrong oauth signature when multiple same param keys exist [updated] (@bengl) ### v2.40.0 (2014/08/06) - [#992](https://github.com/request/request/pull/992) Fix security vulnerability. Update qs (@poeticninja) - [#988](https://github.com/request/request/pull/988) “--” -> “—” (@upisfree) - [#987](https://github.com/request/request/pull/987) Show optional modules as being loaded by the module that reqeusted them (@iarna) ### v2.39.0 (2014/07/24) - [#976](https://github.com/request/request/pull/976) Update README.md (@fosco-maestro) ### v2.38.0 (2014/07/22) - [#952](https://github.com/request/request/pull/952) Adding support to client certificate with proxy use case (@ofirshaked) - [#884](https://github.com/request/request/pull/884) Documented tough-cookie installation. (@wbyoung) - [#935](https://github.com/request/request/pull/935) Correct repository url (@fritx) - [#963](https://github.com/request/request/pull/963) Update changelog (@nylen) - [#960](https://github.com/request/request/pull/960) Support gzip with encoding on node pre-v0.9.4 (@kevinoid) - [#953](https://github.com/request/request/pull/953) Add async Content-Length computation when using form-data (@LoicMahieu) - [#844](https://github.com/request/request/pull/844) Add support for HTTP[S]_PROXY environment variables. Fixes #595. (@jvmccarthy) - [#946](https://github.com/request/request/pull/946) defaults: merge headers (@aj0strow) ### v2.37.0 (2014/07/07) - [#957](https://github.com/request/request/pull/957) Silence EventEmitter memory leak warning #311 (@watson) - [#955](https://github.com/request/request/pull/955) check for content-length header before setting it in nextTick (@camilleanne) - [#951](https://github.com/request/request/pull/951) Add support for gzip content decoding (@kevinoid) - [#949](https://github.com/request/request/pull/949) Manually enter querystring in form option (@charlespwd) - [#944](https://github.com/request/request/pull/944) Make request work with browserify (@eiriksm) - [#943](https://github.com/request/request/pull/943) New mime module (@eiriksm) - [#927](https://github.com/request/request/pull/927) Bump version of hawk dep. (@samccone) - [#907](https://github.com/request/request/pull/907) append secureOptions to poolKey (@medovob) ### v2.35.0 (2014/05/17) - [#901](https://github.com/request/request/pull/901) Fixes #555 (@pigulla) - [#897](https://github.com/request/request/pull/897) merge with default options (@vohof) - [#891](https://github.com/request/request/pull/891) fixes 857 - options object is mutated by calling request (@lalitkapoor) - [#869](https://github.com/request/request/pull/869) Pipefilter test (@tgohn) - [#866](https://github.com/request/request/pull/866) Fix typo (@dandv) - [#861](https://github.com/request/request/pull/861) Add support for RFC 6750 Bearer Tokens (@phedny) - [#809](https://github.com/request/request/pull/809) upgrade tunnel-proxy to 0.4.0 (@ksato9700) - [#850](https://github.com/request/request/pull/850) Fix word consistency in readme (@0xNobody) - [#810](https://github.com/request/request/pull/810) add some exposition to mpu example in README.md (@mikermcneil) - [#840](https://github.com/request/request/pull/840) improve error reporting for invalid protocols (@FND) - [#821](https://github.com/request/request/pull/821) added secureOptions back (@nw) - [#815](https://github.com/request/request/pull/815) Create changelog based on pull requests (@lalitkapoor) ### v2.34.0 (2014/02/18) - [#516](https://github.com/request/request/pull/516) UNIX Socket URL Support (@lyuzashi) - [#801](https://github.com/request/request/pull/801) 794 ignore cookie parsing and domain errors (@lalitkapoor) - [#802](https://github.com/request/request/pull/802) Added the Apache license to the package.json. (@keskival) - [#793](https://github.com/request/request/pull/793) Adds content-length calculation when submitting forms using form-data li... (@Juul) - [#785](https://github.com/request/request/pull/785) Provide ability to override content-type when `json` option used (@vvo) - [#781](https://github.com/request/request/pull/781) simpler isReadStream function (@joaojeronimo) ### v2.32.0 (2014/01/16) - [#767](https://github.com/request/request/pull/767) Use tough-cookie CookieJar sync API (@stash) - [#764](https://github.com/request/request/pull/764) Case-insensitive authentication scheme (@bobyrizov) - [#763](https://github.com/request/request/pull/763) Upgrade tough-cookie to 0.10.0 (@stash) - [#744](https://github.com/request/request/pull/744) Use Cookie.parse (@lalitkapoor) - [#757](https://github.com/request/request/pull/757) require aws-sign2 (@mafintosh) ### v2.31.0 (2014/01/08) - [#645](https://github.com/request/request/pull/645) update twitter api url to v1.1 (@mick) - [#746](https://github.com/request/request/pull/746) README: Markdown code highlight (@weakish) - [#745](https://github.com/request/request/pull/745) updating setCookie example to make it clear that the callback is required (@emkay) - [#742](https://github.com/request/request/pull/742) Add note about JSON output body type (@iansltx) - [#741](https://github.com/request/request/pull/741) README example is using old cookie jar api (@emkay) - [#736](https://github.com/request/request/pull/736) Fix callback arguments documentation (@mmalecki) ### v2.30.0 (2013/12/13) - [#732](https://github.com/request/request/pull/732) JSHINT: Creating global 'for' variable. Should be 'for (var ...'. (@Fritz-Lium) - [#730](https://github.com/request/request/pull/730) better HTTP DIGEST support (@dai-shi) - [#728](https://github.com/request/request/pull/728) Fix TypeError when calling request.cookie (@scarletmeow) ### v2.29.0 (2013/12/06) - [#727](https://github.com/request/request/pull/727) fix requester bug (@jchris) ### v2.28.0 (2013/12/04) - [#724](https://github.com/request/request/pull/724) README.md: add custom HTTP Headers example. (@tcort) - [#719](https://github.com/request/request/pull/719) Made a comment gender neutral. (@oztu) - [#715](https://github.com/request/request/pull/715) Request.multipart no longer crashes when header 'Content-type' present (@pastaclub) - [#710](https://github.com/request/request/pull/710) Fixing listing in callback part of docs. (@lukasz-zak) - [#696](https://github.com/request/request/pull/696) Edited README.md for formatting and clarity of phrasing (@Zearin) - [#694](https://github.com/request/request/pull/694) Typo in README (@VRMink) - [#690](https://github.com/request/request/pull/690) Handle blank password in basic auth. (@diversario) - [#682](https://github.com/request/request/pull/682) Optional dependencies (@Turbo87) - [#683](https://github.com/request/request/pull/683) Travis CI support (@Turbo87) - [#674](https://github.com/request/request/pull/674) change cookie module,to tough-cookie.please check it . (@sxyizhiren) - [#666](https://github.com/request/request/pull/666) make `ciphers` and `secureProtocol` to work in https request (@richarddong) - [#656](https://github.com/request/request/pull/656) Test case for #304. (@diversario) - [#662](https://github.com/request/request/pull/662) option.tunnel to explicitly disable tunneling (@seanmonstar) - [#659](https://github.com/request/request/pull/659) fix failure when running with NODE_DEBUG=request, and a test for that (@jrgm) - [#630](https://github.com/request/request/pull/630) Send random cnonce for HTTP Digest requests (@wprl) ### v2.27.0 (2013/08/15) - [#619](https://github.com/request/request/pull/619) decouple things a bit (@joaojeronimo) ### v2.26.0 (2013/08/07) - [#613](https://github.com/request/request/pull/613) Fixes #583, moved initialization of self.uri.pathname (@lexander) - [#605](https://github.com/request/request/pull/605) Only include ":" + pass in Basic Auth if it's defined (fixes #602) (@bendrucker) ### v2.24.0 (2013/07/23) - [#596](https://github.com/request/request/pull/596) Global agent is being used when pool is specified (@Cauldrath) - [#594](https://github.com/request/request/pull/594) Emit complete event when there is no callback (@RomainLK) - [#601](https://github.com/request/request/pull/601) Fixed a small typo (@michalstanko) ### v2.23.0 (2013/07/23) - [#589](https://github.com/request/request/pull/589) Prevent setting headers after they are sent (@geek) - [#587](https://github.com/request/request/pull/587) Global cookie jar disabled by default (@threepointone) ### v2.22.0 (2013/07/05) - [#544](https://github.com/request/request/pull/544) Update http-signature version. (@davidlehn) - [#581](https://github.com/request/request/pull/581) Fix spelling of "ignoring." (@bigeasy) - [#568](https://github.com/request/request/pull/568) use agentOptions to create agent when specified in request (@SamPlacette) - [#564](https://github.com/request/request/pull/564) Fix redirections (@criloz) - [#541](https://github.com/request/request/pull/541) The exported request function doesn't have an auth method (@tschaub) - [#542](https://github.com/request/request/pull/542) Expose Request class (@regality) ### v2.21.0 (2013/04/30) - [#536](https://github.com/request/request/pull/536) Allow explicitly empty user field for basic authentication. (@mikeando) - [#532](https://github.com/request/request/pull/532) fix typo (@fredericosilva) - [#497](https://github.com/request/request/pull/497) Added redirect event (@Cauldrath) - [#503](https://github.com/request/request/pull/503) Fix basic auth for passwords that contain colons (@tonistiigi) - [#521](https://github.com/request/request/pull/521) Improving test-localAddress.js (@noway421) - [#529](https://github.com/request/request/pull/529) dependencies versions bump (@jodaka) ### v2.17.0 (2013/04/22) - [#523](https://github.com/request/request/pull/523) Updating dependencies (@noway421) - [#520](https://github.com/request/request/pull/520) Fixing test-tunnel.js (@noway421) - [#519](https://github.com/request/request/pull/519) Update internal path state on post-creation QS changes (@jblebrun) - [#510](https://github.com/request/request/pull/510) Add HTTP Signature support. (@davidlehn) - [#502](https://github.com/request/request/pull/502) Fix POST (and probably other) requests that are retried after 401 Unauthorized (@nylen) - [#508](https://github.com/request/request/pull/508) Honor the .strictSSL option when using proxies (tunnel-agent) (@jhs) - [#512](https://github.com/request/request/pull/512) Make password optional to support the format: http://username@hostname/ (@pajato1) - [#513](https://github.com/request/request/pull/513) add 'localAddress' support (@yyfrankyy) - [#498](https://github.com/request/request/pull/498) Moving response emit above setHeaders on destination streams (@kenperkins) - [#490](https://github.com/request/request/pull/490) Empty response body (3-rd argument) must be passed to callback as an empty string (@Olegas) - [#479](https://github.com/request/request/pull/479) Changing so if Accept header is explicitly set, sending json does not ov... (@RoryH) - [#475](https://github.com/request/request/pull/475) Use `unescape` from `querystring` (@shimaore) - [#473](https://github.com/request/request/pull/473) V0.10 compat (@isaacs) - [#471](https://github.com/request/request/pull/471) Using querystring library from visionmedia (@kbackowski) - [#461](https://github.com/request/request/pull/461) Strip the UTF8 BOM from a UTF encoded response (@kppullin) - [#460](https://github.com/request/request/pull/460) hawk 0.10.0 (@hueniverse) - [#462](https://github.com/request/request/pull/462) if query params are empty, then request path shouldn't end with a '?' (merges cleanly now) (@jaipandya) - [#456](https://github.com/request/request/pull/456) hawk 0.9.0 (@hueniverse) - [#429](https://github.com/request/request/pull/429) Copy options before adding callback. (@nrn) - [#454](https://github.com/request/request/pull/454) Destroy the response if present when destroying the request (clean merge) (@mafintosh) - [#310](https://github.com/request/request/pull/310) Twitter Oauth Stuff Out of Date; Now Updated (@joemccann) - [#413](https://github.com/request/request/pull/413) rename googledoodle.png to .jpg (@nfriedly) - [#448](https://github.com/request/request/pull/448) Convenience method for PATCH (@mloar) - [#444](https://github.com/request/request/pull/444) protect against double callbacks on error path (@spollack) - [#433](https://github.com/request/request/pull/433) Added support for HTTPS cert & key (@mmalecki) - [#430](https://github.com/request/request/pull/430) Respect specified {Host,host} headers, not just {host} (@andrewschaaf) - [#415](https://github.com/request/request/pull/415) Fixed a typo. (@jerem) - [#338](https://github.com/request/request/pull/338) Add more auth options, including digest support (@nylen) - [#403](https://github.com/request/request/pull/403) Optimize environment lookup to happen once only (@mmalecki) - [#398](https://github.com/request/request/pull/398) Add more reporting to tests (@mmalecki) - [#388](https://github.com/request/request/pull/388) Ensure "safe" toJSON doesn't break EventEmitters (@othiym23) - [#381](https://github.com/request/request/pull/381) Resolving "Invalid signature. Expected signature base string: " (@landeiro) - [#380](https://github.com/request/request/pull/380) Fixes missing host header on retried request when using forever agent (@mac-) - [#376](https://github.com/request/request/pull/376) Headers lost on redirect (@kapetan) - [#375](https://github.com/request/request/pull/375) Fix for missing oauth_timestamp parameter (@jplock) - [#374](https://github.com/request/request/pull/374) Correct Host header for proxy tunnel CONNECT (@youurayy) - [#370](https://github.com/request/request/pull/370) Twitter reverse auth uses x_auth_mode not x_auth_type (@drudge) - [#369](https://github.com/request/request/pull/369) Don't remove x_auth_mode for Twitter reverse auth (@drudge) - [#344](https://github.com/request/request/pull/344) Make AWS auth signing find headers correctly (@nlf) - [#363](https://github.com/request/request/pull/363) rfc3986 on base_uri, now passes tests (@jeffmarshall) - [#362](https://github.com/request/request/pull/362) Running `rfc3986` on `base_uri` in `oauth.hmacsign` instead of just `encodeURIComponent` (@jeffmarshall) - [#361](https://github.com/request/request/pull/361) Don't create a Content-Length header if we already have it set (@danjenkins) - [#360](https://github.com/request/request/pull/360) Delete self._form along with everything else on redirect (@jgautier) - [#355](https://github.com/request/request/pull/355) stop sending erroneous headers on redirected requests (@azylman) - [#332](https://github.com/request/request/pull/332) Fix #296 - Only set Content-Type if body exists (@Marsup) - [#343](https://github.com/request/request/pull/343) Allow AWS to work in more situations, added a note in the README on its usage (@nlf) - [#320](https://github.com/request/request/pull/320) request.defaults() doesn't need to wrap jar() (@StuartHarris) - [#322](https://github.com/request/request/pull/322) Fix + test for piped into request bumped into redirect. #321 (@alexindigo) - [#326](https://github.com/request/request/pull/326) Do not try to remove listener from an undefined connection (@strk) - [#318](https://github.com/request/request/pull/318) Pass servername to tunneling secure socket creation (@isaacs) - [#317](https://github.com/request/request/pull/317) Workaround for #313 (@isaacs) - [#293](https://github.com/request/request/pull/293) Allow parser errors to bubble up to request (@mscdex) - [#290](https://github.com/request/request/pull/290) A test for #289 (@isaacs) - [#280](https://github.com/request/request/pull/280) Like in node.js print options if NODE_DEBUG contains the word request (@Filirom1) - [#207](https://github.com/request/request/pull/207) Fix #206 Change HTTP/HTTPS agent when redirecting between protocols (@isaacs) - [#214](https://github.com/request/request/pull/214) documenting additional behavior of json option (@jphaas) - [#272](https://github.com/request/request/pull/272) Boundary begins with CRLF? (@proksoup) - [#284](https://github.com/request/request/pull/284) Remove stray `console.log()` call in multipart generator. (@bcherry) - [#241](https://github.com/request/request/pull/241) Composability updates suggested by issue #239 (@polotek) - [#282](https://github.com/request/request/pull/282) OAuth Authorization header contains non-"oauth_" parameters (@jplock) - [#279](https://github.com/request/request/pull/279) fix tests with boundary by injecting boundry from header (@benatkin) - [#273](https://github.com/request/request/pull/273) Pipe back pressure issue (@mafintosh) - [#268](https://github.com/request/request/pull/268) I'm not OCD seriously (@TehShrike) - [#263](https://github.com/request/request/pull/263) Bug in OAuth key generation for sha1 (@nanodocumet) - [#265](https://github.com/request/request/pull/265) uncaughtException when redirected to invalid URI (@naholyr) - [#262](https://github.com/request/request/pull/262) JSON test should check for equality (@timshadel) - [#261](https://github.com/request/request/pull/261) Setting 'pool' to 'false' does NOT disable Agent pooling (@timshadel) - [#249](https://github.com/request/request/pull/249) Fix for the fix of your (closed) issue #89 where self.headers[content-length] is set to 0 for all methods (@sethbridges) - [#255](https://github.com/request/request/pull/255) multipart allow body === '' ( the empty string ) (@Filirom1) - [#260](https://github.com/request/request/pull/260) fixed just another leak of 'i' (@sreuter) - [#246](https://github.com/request/request/pull/246) Fixing the set-cookie header (@jeromegn) - [#243](https://github.com/request/request/pull/243) Dynamic boundary (@zephrax) - [#240](https://github.com/request/request/pull/240) don't error when null is passed for options (@polotek) - [#211](https://github.com/request/request/pull/211) Replace all occurrences of special chars in RFC3986 (@chriso) - [#224](https://github.com/request/request/pull/224) Multipart content-type change (@janjongboom) - [#217](https://github.com/request/request/pull/217) need to use Authorization (titlecase) header with Tumblr OAuth (@visnup) - [#203](https://github.com/request/request/pull/203) Fix cookie and redirect bugs and add auth support for HTTPS tunnel (@milewise) - [#199](https://github.com/request/request/pull/199) Tunnel (@isaacs) - [#198](https://github.com/request/request/pull/198) Bugfix on forever usage of util.inherits (@isaacs) - [#197](https://github.com/request/request/pull/197) Make ForeverAgent work with HTTPS (@isaacs) - [#193](https://github.com/request/request/pull/193) Fixes GH-119 (@goatslacker) - [#188](https://github.com/request/request/pull/188) Add abort support to the returned request (@itay) - [#176](https://github.com/request/request/pull/176) Querystring option (@csainty) - [#182](https://github.com/request/request/pull/182) Fix request.defaults to support (uri, options, callback) api (@twilson63) - [#180](https://github.com/request/request/pull/180) Modified the post, put, head and del shortcuts to support uri optional param (@twilson63) - [#179](https://github.com/request/request/pull/179) fix to add opts in .pipe(stream, opts) (@substack) - [#177](https://github.com/request/request/pull/177) Issue #173 Support uri as first and optional config as second argument (@twilson63) - [#170](https://github.com/request/request/pull/170) can't create a cookie in a wrapped request (defaults) (@fabianonunes) - [#168](https://github.com/request/request/pull/168) Picking off an EasyFix by adding some missing mimetypes. (@serby) - [#161](https://github.com/request/request/pull/161) Fix cookie jar/headers.cookie collision (#125) (@papandreou) - [#162](https://github.com/request/request/pull/162) Fix issue #159 (@dpetukhov) - [#90](https://github.com/request/request/pull/90) add option followAllRedirects to follow post/put redirects (@jroes) - [#148](https://github.com/request/request/pull/148) Retry Agent (@thejh) - [#146](https://github.com/request/request/pull/146) Multipart should respect content-type if previously set (@apeace) - [#144](https://github.com/request/request/pull/144) added "form" option to readme (@petejkim) - [#133](https://github.com/request/request/pull/133) Fixed cookies parsing (@afanasy) - [#135](https://github.com/request/request/pull/135) host vs hostname (@iangreenleaf) - [#132](https://github.com/request/request/pull/132) return the body as a Buffer when encoding is set to null (@jahewson) - [#112](https://github.com/request/request/pull/112) Support using a custom http-like module (@jhs) - [#104](https://github.com/request/request/pull/104) Cookie handling contains bugs (@janjongboom) - [#121](https://github.com/request/request/pull/121) Another patch for cookie handling regression (@jhurliman) - [#117](https://github.com/request/request/pull/117) Remove the global `i` (@3rd-Eden) - [#110](https://github.com/request/request/pull/110) Update to Iris Couch URL (@jhs) - [#86](https://github.com/request/request/pull/86) Can't post binary to multipart requests (@developmentseed) - [#105](https://github.com/request/request/pull/105) added test for proxy option. (@dominictarr) - [#102](https://github.com/request/request/pull/102) Implemented cookies - closes issue 82: https://github.com/mikeal/request/issues/82 (@alessioalex) - [#97](https://github.com/request/request/pull/97) Typo in previous pull causes TypeError in non-0.5.11 versions (@isaacs) - [#96](https://github.com/request/request/pull/96) Authless parsed url host support (@isaacs) - [#81](https://github.com/request/request/pull/81) Enhance redirect handling (@danmactough) - [#78](https://github.com/request/request/pull/78) Don't try to do strictSSL for non-ssl connections (@isaacs) - [#76](https://github.com/request/request/pull/76) Bug when a request fails and a timeout is set (@Marsup) - [#70](https://github.com/request/request/pull/70) add test script to package.json (@isaacs) - [#73](https://github.com/request/request/pull/73) Fix #71 Respect the strictSSL flag (@isaacs) - [#69](https://github.com/request/request/pull/69) Flatten chunked requests properly (@isaacs) - [#67](https://github.com/request/request/pull/67) fixed global variable leaks (@aheckmann) - [#66](https://github.com/request/request/pull/66) Do not overwrite established content-type headers for read stream deliver (@voodootikigod) - [#53](https://github.com/request/request/pull/53) Parse json: Issue #51 (@benatkin) - [#45](https://github.com/request/request/pull/45) Added timeout option (@mbrevoort) - [#35](https://github.com/request/request/pull/35) The "end" event isn't emitted for some responses (@voxpelli) - [#31](https://github.com/request/request/pull/31) Error on piping a request to a destination (@tobowers)