No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

368 líneas
17 KiB

hace 9 años
hace 9 años
hace 9 años
hace 9 años
hace 9 años
hace 11 años
hace 13 años
hace 13 años
hace 3 años
  1. CONTRIBUTIONS & CHANGE HISTORY
  2. ==============================
  3. 21-09-2018 - v4.4.2
  4. * Fix for #163 - default to using IPv4
  5. 23-08-2018 - v4.4.1
  6. * Fixes to TLS socket handling (PR#163)
  7. * Fix ipv6 address family handling (PR#155)
  8. * Don't send messages to closed/inactive connections (PR#152)
  9. 28-01-2017 - v4.4
  10. * Fixes to SOCKS over SSL processing
  11. * Added stream_full_chunks option
  12. * Merged pull requests 145, 151
  13. 07-06-2016 - v4.3
  14. * Adopted erlang.mk for compiling. I find it easier to understand
  15. how 'make' behaves compared to rebar. This repo can still be built
  16. using rebar for those who prefer it
  17. * Removed references to lager. Introduced configurable logging function
  18. * Fixed an issue where the calling process was getting an extra
  19. spurious timeout message when the request was timing out
  20. 19-04-2016 - v4.2.4
  21. * Fixed travis-ci build as it was failing in running tests.
  22. No code changes to ibrowse
  23. 19-04-2016 - v4.2.3
  24. * Fix for https://github.com/cmullaparthi/ibrowse/issues/143
  25. * Fix for https://github.com/cmullaparthi/ibrowse/issues/142
  26. * Fix for https://github.com/cmullaparthi/ibrowse/issues/139
  27. * Fixed behaviour of option preserve_status_line
  28. 25-11-2015 - v4.2.2
  29. * Fix to ibrowse.app.src to enable publishing using Hex
  30. 25-11-2015 - v4.2.1
  31. * Merged pull request https://github.com/cmullaparthi/ibrowse/pull/132
  32. * Merged pull request https://github.com/cmullaparthi/ibrowse/pull/137
  33. 28-09-2015 - v4.2
  34. * Merged long pending improvements to pipelining
  35. https://github.com/cmullaparthi/ibrowse/pull/123
  36. * Merged pull request https://github.com/cmullaparthi/ibrowse/pull/131
  37. 03-08-2015 - v4.1.2
  38. * R18 compatibility fix
  39. https://github.com/cmullaparthi/ibrowse/issues/129
  40. * Add max_attempts option
  41. https://github.com/cmullaparthi/ibrowse/pull/125
  42. * Fix for https://github.com/cmullaparthi/ibrowse/pull/120
  43. * Enhanced SOCKS5 support
  44. https://github.com/cmullaparthi/ibrowse/pull/117
  45. 10-07-2014 - v4.1.1
  46. * Added support for accepting binaries as header names
  47. * Fix for https://github.com/cmullaparthi/ibrowse/issues/110
  48. * Fix for https://github.com/cmullaparthi/ibrowse/issues/111
  49. * Fix for https://github.com/cmullaparthi/ibrowse/issues/112
  50. 18-04-2013 - v4.1.0
  51. * Fix for https://github.com/cmullaparthi/ibrowse/issues/101
  52. * Support for https://github.com/cmullaparthi/ibrowse/issues/90
  53. * Fix for https://github.com/cmullaparthi/ibrowse/issues/86
  54. * Merged various contributions. Please see commit history for details
  55. * Introduced the return_raw_request option
  56. 09-04-2013 - v4.0.2
  57. * Tagging master with new version to cover changes
  58. contributed over the past few months via various pull requests
  59. 07-08-2012 - v4.0.1
  60. * Fix issue 67 properly.
  61. 03-08-2012 - v4.0.0
  62. * Fixed a regression in handling HEAD.
  63. https://github.com/cmullaparthi/ibrowse/issues/67
  64. * Fixed a bug in handling SSL requests through a proxy
  65. 06-04-2012 - v3.0.4
  66. * Fix for the following issue
  67. https://github.com/cmullaparthi/ibrowse/issues/67
  68. 13-03-2012 - v3.0.3
  69. * Fixes the following issues
  70. https://github.com/cmullaparthi/ibrowse/issues/64
  71. https://github.com/cmullaparthi/ibrowse/issues/63
  72. https://github.com/cmullaparthi/ibrowse/issues/62
  73. 31-01-2012 - v3.0.2
  74. * Fixed bug when stopping ibrowse. Not service affecting.
  75. 23-01-2012 - v3.0.1
  76. * Fixed bug highlighted by Dialyzer
  77. 23-01-2012 - v3.0.0
  78. * Change to the way pipelining works.
  79. * Fixed various issues reported
  80. 13-04-2011 - v2.2.0
  81. * Filipe David Manana added IPv6 support. This is a major new
  82. feature, Thank you Filipe!
  83. * Joseph Wayne Norton contributed tweaks to .gitignore
  84. 09-02-2011 - v2.1.4
  85. * Fixed a bug reported by Ryan Zezeski with the
  86. save_response_to_file option.
  87. https://github.com/cmullaparthi/ibrowse/issues#issue/33
  88. 16-01-2011 - v2.1.3
  89. * Fixed issues with streaming and chunked responses when using
  90. the 'caller controls socket' feature. See following links for
  91. details. Contributed by Filipe David Manana.
  92. https://github.com/cmullaparthi/ibrowse/pull/24
  93. https://github.com/cmullaparthi/ibrowse/pull/25
  94. https://github.com/cmullaparthi/ibrowse/pull/27
  95. https://github.com/cmullaparthi/ibrowse/pull/28
  96. https://github.com/cmullaparthi/ibrowse/pull/29
  97. * Fix for issue 32 reported by fholzhauser
  98. https://github.com/cmullaparthi/ibrowse/issues#issue/32
  99. * Fixed some dialyzer warnings. Thanks to Kostis for reporting
  100. them.
  101. 20-12-2010 - v2.1.2
  102. * Pipelining wasn't working when used in conjunction with the
  103. {stream_to, {self(), once}} option. Bug report by
  104. Filipe David Manana.
  105. 10-12-2010 - v2.1.1
  106. * Fix for https://github.com/cmullaparthi/ibrowse/issues/issue/20
  107. by Filipe David Manana
  108. * Fix for https://github.com/cmullaparthi/ibrowse/issues/issue/21
  109. by Filipe David Manana
  110. * Fix for https://github.com/cmullaparthi/ibrowse/issues/issue/23
  111. by Filipe David Manana
  112. * Fix for bugs when using SSL by Jo?o Lopes
  113. 25-10-2010 - v2.1.0
  114. * Fixed build on OpenSolaris. Bug report and patch from
  115. tholschuh.
  116. http://github.com/cmullaparthi/ibrowse/issues/issue/10
  117. * Fixed behaviour of inactivity_timeout option. Reported by
  118. Jo?o Lopes.
  119. http://github.com/cmullaparthi/ibrowse/issues/issue/11
  120. * Prevent atom table pollution when bogus URLs are input to
  121. ibrowse. Bug report by Jo?o Lopes.
  122. http://github.com/cmullaparthi/ibrowse/issues/issue/13
  123. * Automatically do Chunked-Transfer encoding of request body
  124. when the body is generated by a fun. Patch provided by
  125. Filipe David Manana.
  126. http://github.com/cmullaparthi/ibrowse/issues/issue/14
  127. * Depending on input options, ibrowse sometimes included multiple
  128. Content-Length headers. Bug reported by Paul J. Davis
  129. http://github.com/cmullaparthi/ibrowse/issues/issue/15
  130. * Deal with webservers which do not provide a Reason-Phrase on the
  131. response Status-Line. Patch provided by Jeroen Koops.
  132. http://github.com/cmullaparthi/ibrowse/issues/issue/16
  133. * Fixed http://github.com/cmullaparthi/ibrowse/issues/issue/17
  134. This was reported by Filipe David Manana.
  135. * Fixed http://github.com/cmullaparthi/ibrowse/issues/issue/19
  136. This was reported by Dan Kelley and Filipe David Manana.
  137. * Added ibrowse:stream_close/1 to close the connection
  138. associated with a certain response stream. Patch provided by
  139. Jo?o Lopes.
  140. * Prevent port number being included in the Host header when port
  141. 443 is intended. Bug reported by Andrew Tunnell-Jones
  142. 24-09-2010 - v2.0.1
  143. * Removed a spurious io:format statement
  144. 22-09-2010 - v2.0.0.
  145. * Added option preserve_chunked_encoding. This allows the
  146. caller to get the raw HTTP response when the
  147. Transfer-Encoding is Chunked. This feature was requested
  148. by Benoit Chesneau who wanted to write a HTTP proxy using
  149. ibrowse.
  150. * Fixed bug with the {stream_to, {Pid, once}} option. Bug
  151. report and lot of help from Filipe David Manana. Thank
  152. you Filipe.
  153. * The {error, conn_failed} and {error, send_failed} return
  154. values are now of the form {error, {conn_failed, Err}}
  155. and {error, {send_failed, Err}}. This is so that the
  156. specific socket error can be returned to the caller. I
  157. think it looks a bit ugly, but that is the best
  158. compromise I could come up with.
  159. * Added application configuration parameters
  160. default_max_sessions and default_max_pipeline_size. These
  161. were previously hard coded to 10.
  162. * Versioning of ibrowse now follows the Semantic Versioning
  163. principles. See http://semver.org. Thanks to Anthony
  164. Molinaro for nudging me in this direction.
  165. * The connect_timeout option now only applies to the
  166. connection setup phase. In previous versions, the time
  167. taken to setup the connection was deducted from the
  168. specified timeout value for the request.
  169. 17-07-2010 - * Merged change made by Filipe David Manana to use the base64
  170. module for encoding/decoding.
  171. 11-06-2010 - * Removed use of deprecated concat_binary. Patch supplied by
  172. Steve Vinoski
  173. 10-06-2010 - * Fixed bug in https requests not going via the proxy
  174. 12-05-2010 - * Added support for the CONNECT method to tunnel HTTPS through
  175. a proxy. When a https URL is requested through a proxy,
  176. ibrowse will automatically use the CONNECT method to first
  177. setup a tunnel through the proxy. Once this succeeds, the
  178. actual request is dispatched. Successfully tested with the
  179. new SSL implementation in R13B-03
  180. * Added SSL support for direct connections.
  181. See ibrowse:spawn_worker_process/1 and
  182. ibrowse:spawn_link_worker_process/1
  183. * Added option to return raw status line and raw unparsed headers
  184. 23-04-2010 - * Fixes to URL parsing by Karol Skocik
  185. 08-11-2009 - * Added option headers_as_is
  186. 04-10-2009 - * Patch from Kostis Sagonas to cleanup some code and suppress
  187. dialyzer warnings
  188. 24-09-2009 - * When a filename was supplied with the 'save_response_to_file'
  189. option, the option was being ignored. Bug report from
  190. Adam Kocoloski
  191. 05-09-2009 - * Introduced option to allow caller to set socket options.
  192. 29-07-2009 - * The ETS table created for load balancing of requests was not
  193. being deleted which led to the node not being able to create
  194. any more ETS tables if queries were made to many number of
  195. webservers. ibrowse now deletes the ETS table it creates once the
  196. last connection to a webserver is dropped.
  197. Reported by Seth Falcon.
  198. * Spurious data being returned at end of body in certain cases of
  199. chunked encoded responses from the server.
  200. Reported by Chris Newcombe.
  201. 03-07-2009 - Added option {stream_to, {Pid, once}} which allows the caller
  202. to control when it wants to receive more data. If this option
  203. is used, the call ibrowse:stream_next(Req_id) should be used
  204. to get more data.
  205. * Patch submitted by Steve Vinoski to remove compiler warnings
  206. about the use of obsolete guards
  207. 29-06-2009 - * Fixed following issues reported by Oscar Hellstr?m
  208. * Use {active, once} instead of {active, true}
  209. * Fix 'dodgy' timeout handling
  210. * Use binaries internally instead of lists to reduce memory
  211. consumption on 64 bit platforms. The default response format
  212. is still 'list' to maintain backwards compatibility. Use the
  213. option {response_format, binary} to get responses as binaries.
  214. * Fixed chunking bug (reported by Adam Kocoloski)
  215. * Added new option {inactivity_timeout, Milliseconds} to timeout
  216. requests if no data is received on the link for the specified
  217. interval. Useful when responses are large and links are flaky.
  218. * Added ibrowse:all_trace_off/0 to turn off all tracing
  219. * Change to the way responses to asynchronous requests are
  220. returned. The following messages have been removed.
  221. * {ibrowse_async_response, Req_id, {chunk_start, Chunk_size}}
  222. * {ibrowse_async_response, Req_id, chunk_end}
  223. * Fixed Makefiles as part of Debian packaging
  224. (thanks to Thomas Lindgren)
  225. * Moved repository from Sourceforge to Github
  226. 11-06-2009 - * Added option to control size of streamed chunks. Also added
  227. option for the client to receive responses in binary format.
  228. 21-05-2008 - * Fixed bug in reading some options from the ibrowse.conf file.
  229. Reported by Erik Reitsma on the erlyaws mailing list
  230. * Fixed bug when cleaning up closing connections
  231. 27-03-2008 - * Major rewrite of the load balancing feature. Additional module,
  232. ibrowse_lb.erl, introduced to achieve this.
  233. * Can now get a handle to a connection process which is not part of
  234. the load balancing pool. Useful when an application is making
  235. requests to a webserver which are time consuming (such as
  236. uploading a large file). Such requests can be put on a separate
  237. connection, and all other smaller/quicker requests can use the
  238. load balancing pool. See ibrowse:spawn_worker_process/2 and
  239. ibrowse:spawn_link_worker_process/2
  240. * Ram Krishnan sent a patch to enable a client to send a lot of
  241. data in a request by providing a fun which is invoked by the
  242. connection handling process. This fun can fetch the data from
  243. any where. This is useful when trying to upload a large file
  244. to a webserver.
  245. * Use the TCP_NODELAY option on every socket by default
  246. * Rudimentary support for load testing of ibrowse. Undocumented,
  247. but see ibrowse_test:load_test/3. Use the source, Luke!
  248. * New function ibrowse:show_dest_status/2 to view state of
  249. connections/pipelines to a web server
  250. 20-02-2008 - Ram Krishnan sent another patch for another hidden bug in the
  251. save_response_to_file feature.
  252. 07-02-2008 - Ram Krishnan (kriyative _at_ gmail dot com) sent a simple patch to
  253. enable specifying the filename in the save_response_to_file option.
  254. When testing the patch, I realised that my original implementation
  255. of this feature was quite flaky and a lot of corner cases were
  256. not covered. Fixed all of them. Thanks Ram!
  257. 17-10-2007 - Matthew Reilly (matthew dot reilly _at_ sipphone dot com)
  258. sent a bug report and a fix. If the chunk trailer spans two TCP
  259. packets, then ibrowse fails to recognise that the chunked transfer
  260. has ended.
  261. 29-08-2007 - Bug report by Peter Kristensen(ptx _at_ daimi dot au dot dk).
  262. ibrowse crashes when the webserver returns just the Status line
  263. and nothing else.
  264. 28-06-2007 - Added host_header option to enable connection to secure sites
  265. via stunnel
  266. 20-04-2007 - Geoff Cant sent a patch to remove URL encoding for digits in
  267. ibrowse_lib:url_encode/1.
  268. ibrowse had a dependency on the inets application because the
  269. ibrowse_http_client.erl invoked httpd_util:encode_base64/1. This
  270. dependency is now removed and the encode_base64/1 has been
  271. implemented in ibrowse_lib.erl
  272. 06-03-2007 - Eric Merritt sent a patch to support WebDAV requests.
  273. 12-01-2007 - Derek Upham sent in a bug fix. The reset_state function was not
  274. behaving correctly when the transfer encoding was not chunked.
  275. 13-11-2006 - Youn?s Hafri reported a bug where ibrowse was not returning the
  276. temporary filename when the server was closing the connection
  277. after sending the data (as in HTTP/1.0).
  278. Released ibrowse under the BSD license
  279. 12-10-2006 - Chris Newcombe reported bug in dealing with requests where no
  280. body is expected in the response. The first request would succeed
  281. and the next request would hang.
  282. 24-May-2006 - Sean Hinde reported a bug. Async responses with pipelining was
  283. returning the wrong result.
  284. 08-Dec-2005 - Richard Cameron (camster@citeulike.org). Patch to ibrowse to
  285. prevent port number being included in the Host header when port
  286. 80 is intended.
  287. 22-Nov-2005 - Added ability to generate requests using the Chunked
  288. Transfer-Encoding.
  289. 08-May-2005 - Youn?s Hafri made a CRUX LINUX port of ibrowse.
  290. http://yhafri.club.fr/crux/index.html