| CONTRIBUTIONS & CHANGE HISTORY |
| ============================== |
| 10-07-2014 - v4.1.1 |
| * Added support for accepting binaries as header names |
| * Fix for https://github.com/cmullaparthi/ibrowse/issues/110 |
| * Fix for https://github.com/cmullaparthi/ibrowse/issues/111 |
| * Fix for https://github.com/cmullaparthi/ibrowse/issues/112 |
| |
| 18-04-2013 - v4.1.0 |
| * Fix for https://github.com/cmullaparthi/ibrowse/issues/101 |
| * Support for https://github.com/cmullaparthi/ibrowse/issues/90 |
| * Fix for https://github.com/cmullaparthi/ibrowse/issues/86 |
| * Merged various contributions. Please see commit history for details |
| * Introduced the return_raw_request option |
| |
| 09-04-2013 - v4.0.2 |
| * Tagging master with new version to cover changes |
| contributed over the past few months via various pull requests |
| |
| 07-08-2012 - v4.0.1 |
| * Fix issue 67 properly. |
| |
| 03-08-2012 - v4.0.0 |
| * Fixed a regression in handling HEAD. |
| https://github.com/cmullaparthi/ibrowse/issues/67 |
| |
| * Fixed a bug in handling SSL requests through a proxy |
| |
| 06-04-2012 - v3.0.4 |
| * Fix for the following issue |
| https://github.com/cmullaparthi/ibrowse/issues/67 |
| |
| 13-03-2012 - v3.0.3 |
| * Fixes the following issues |
| https://github.com/cmullaparthi/ibrowse/issues/64 |
| https://github.com/cmullaparthi/ibrowse/issues/63 |
| https://github.com/cmullaparthi/ibrowse/issues/62 |
| |
| 31-01-2012 - v3.0.2 |
| * Fixed bug when stopping ibrowse. Not service affecting. |
| |
| 23-01-2012 - v3.0.1 |
| * Fixed bug highlighted by Dialyzer |
| |
| 23-01-2012 - v3.0.0 |
| * Change to the way pipelining works. |
| * Fixed various issues reported |
| |
| 13-04-2011 - v2.2.0 |
| * Filipe David Manana added IPv6 support. This is a mjor new |
| feature, Thank you Filipe! |
| * Joseph Wayne Norton contributed tweaks to .gitignore |
| |
| 09-02-2011 - v2.1.4 |
| * Fixed a bug reported by Ryan Zezeski with the |
| save_response_to_file option. |
| https://github.com/cmullaparthi/ibrowse/issues#issue/33 |
| |
| 16-01-2011 - v2.1.3 |
| * Fixed issues with streaming and chunked responses when using |
| the 'caller controls socket' feature. See following links for |
| details. Contributed by Filipe David Manana. |
| https://github.com/cmullaparthi/ibrowse/pull/24 |
| https://github.com/cmullaparthi/ibrowse/pull/25 |
| https://github.com/cmullaparthi/ibrowse/pull/27 |
| https://github.com/cmullaparthi/ibrowse/pull/28 |
| https://github.com/cmullaparthi/ibrowse/pull/29 |
| |
| * Fix for issue 32 reported by fholzhauser |
| https://github.com/cmullaparthi/ibrowse/issues#issue/32 |
| |
| * Fixed some dialyzer warnings. Thanks to Kostis for reporting |
| them. |
| |
| 20-12-2010 - v2.1.2 |
| * Pipelining wasn't working when used in conjunction with the |
| {stream_to, {self(), once}} option. Bug report by |
| Filipe David Manana. |
| |
| 10-12-2010 - v2.1.1 |
| * Fix for https://github.com/cmullaparthi/ibrowse/issues/issue/20 |
| by Filipe David Manana |
| |
| * Fix for https://github.com/cmullaparthi/ibrowse/issues/issue/21 |
| by Filipe David Manana |
| |
| * Fix for https://github.com/cmullaparthi/ibrowse/issues/issue/23 |
| by Filipe David Manana |
| |
| * Fix for bugs when using SSL by Jo?o Lopes |
| |
| 25-10-2010 - v2.1.0 |
| * Fixed build on OpenSolaris. Bug report and patch from |
| tholschuh. |
| http://github.com/cmullaparthi/ibrowse/issues/issue/10 |
| |
| * Fixed behaviour of inactivity_timeout option. Reported by |
| Jo?o Lopes. |
| http://github.com/cmullaparthi/ibrowse/issues/issue/11 |
| |
| * Prevent atom table pollution when bogus URLs are input to |
| ibrowse. Bug report by Jo?o Lopes. |
| http://github.com/cmullaparthi/ibrowse/issues/issue/13 |
| |
| * Automatically do Chunked-Transfer encoding of request body |
| when the body is generated by a fun. Patch provided by |
| Filipe David Manana. |
| http://github.com/cmullaparthi/ibrowse/issues/issue/14 |
| |
| * Depending on input options, ibrowse sometimes included multiple |
| Content-Length headers. Bug reported by Paul J. Davis |
| http://github.com/cmullaparthi/ibrowse/issues/issue/15 |
| |
| * Deal with webservers which do not provide a Reason-Phrase on the |
| response Status-Line. Patch provided by Jeroen Koops. |
| http://github.com/cmullaparthi/ibrowse/issues/issue/16 |
| |
| * Fixed http://github.com/cmullaparthi/ibrowse/issues/issue/17 |
| This was reported by Filipe David Manana. |
| |
| * Fixed http://github.com/cmullaparthi/ibrowse/issues/issue/19 |
| This was reported by Dan Kelley and Filipe David Manana. |
| |
| * Added ibrowse:stream_close/1 to close the connection |
| associated with a certain response stream. Patch provided by |
| Jo?o Lopes. |
| |
| * Prevent port number being included in the Host header when port |
| 443 is intended. Bug reported by Andrew Tunnell-Jones |
| |
| 24-09-2010 - v2.0.1 |
| * Removed a spurious io:format statement |
| |
| 22-09-2010 - v2.0.0. |
| |
| * Added option preserve_chunked_encoding. This allows the |
| caller to get the raw HTTP response when the |
| Transfer-Encoding is Chunked. This feature was requested |
| by Benoit Chesneau who wanted to write a HTTP proxy using |
| ibrowse. |
| |
| * Fixed bug with the {stream_to, {Pid, once}} option. Bug |
| report and lot of help from Filipe David Manana. Thank |
| you Filipe. |
| |
| * The {error, conn_failed} and {error, send_failed} return |
| values are now of the form {error, {conn_failed, Err}} |
| and {error, {send_failed, Err}}. This is so that the |
| specific socket error can be returned to the caller. I |
| think it looks a bit ugly, but that is the best |
| compromise I could come up with. |
| |
| * Added application configuration parameters |
| default_max_sessions and default_max_pipeline_size. These |
| were previously hard coded to 10. |
| |
| * Versioning of ibrowse now follows the Semantic Versioning |
| principles. See http://semver.org. Thanks to Anthony |
| Molinaro for nudging me in this direction. |
| |
| * The connect_timeout option now only applies to the |
| connection setup phase. In previous versions, the time |
| taken to setup the connection was deducted from the |
| specified timeout value for the request. |
| |
| 17-07-2010 - * Merged change made by Filipe David Manana to use the base64 |
| module for encoding/decoding. |
| |
| 11-06-2010 - * Removed use of deprecated concat_binary. Patch supplied by |
| Steve Vinoski |
| |
| 10-06-2010 - * Fixed bug in https requests not going via the proxy |
| |
| 12-05-2010 - * Added support for the CONNECT method to tunnel HTTPS through |
| a proxy. When a https URL is requested through a proxy, |
| ibrowse will automatically use the CONNECT method to first |
| setup a tunnel through the proxy. Once this succeeds, the |
| actual request is dispatched. Successfully tested with the |
| new SSL implementation in R13B-03 |
| * Added SSL support for direct connections. |
| See ibrowse:spawn_worker_process/1 and |
| ibrowse:spawn_link_worker_process/1 |
| * Added option to return raw status line and raw unparsed headers |
| |
| 23-04-2010 - * Fixes to URL parsing by Karol Skocik |
| |
| 08-11-2009 - * Added option headers_as_is |
| |
| 04-10-2009 - * Patch from Kostis Sagonas to cleanup some code and suppress |
| dialyzer warnings |
| |
| 24-09-2009 - * When a filename was supplied with the 'save_response_to_file' |
| option, the option was being ignored. Bug report from |
| Adam Kocoloski |
| |
| 05-09-2009 - * Introduced option to allow caller to set socket options. |
| |
| 29-07-2009 - * The ETS table created for load balancing of requests was not |
| being deleted which led to the node not being able to create |
| any more ETS tables if queries were made to many number of |
| webservers. ibrowse now deletes the ETS table it creates once the |
| last connection to a webserver is dropped. |
| Reported by Seth Falcon. |
| * Spurious data being returned at end of body in certain cases of |
| chunked encoded responses from the server. |
| Reported by Chris Newcombe. |
| |
| 03-07-2009 - Added option {stream_to, {Pid, once}} which allows the caller |
| to control when it wants to receive more data. If this option |
| is used, the call ibrowse:stream_next(Req_id) should be used |
| to get more data. |
| * Patch submitted by Steve Vinoski to remove compiler warnings |
| about the use of obsolete guards |
| |
| 29-06-2009 - * Fixed following issues reported by Oscar Hellstr?m |
| * Use {active, once} instead of {active, true} |
| * Fix 'dodgy' timeout handling |
| * Use binaries internally instead of lists to reduce memory |
| consumption on 64 bit platforms. The default response format |
| is still 'list' to maintain backwards compatibility. Use the |
| option {response_format, binary} to get responses as binaries. |
| * Fixed chunking bug (reported by Adam Kocoloski) |
| * Added new option {inactivity_timeout, Milliseconds} to timeout |
| requests if no data is received on the link for the specified |
| interval. Useful when responses are large and links are flaky. |
| * Added ibrowse:all_trace_off/0 to turn off all tracing |
| * Change to the way responses to asynchronous requests are |
| returned. The following messages have been removed. |
| * {ibrowse_async_response, Req_id, {chunk_start, Chunk_size}} |
| * {ibrowse_async_response, Req_id, chunk_end} |
| * Fixed Makefiles as part of Debian packaging |
| (thanks to Thomas Lindgren) |
| * Moved repository from Sourceforge to Github |
| |
| 11-06-2009 - * Added option to control size of streamed chunks. Also added |
| option for the client to receive responses in binary format. |
| |
| 21-05-2008 - * Fixed bug in reading some options from the ibrowse.conf file. |
| Reported by Erik Reitsma on the erlyaws mailing list |
| * Fixed bug when cleaning up closing connections |
| |
| 27-03-2008 - * Major rewrite of the load balancing feature. Additional module, |
| ibrowse_lb.erl, introduced to achieve this. |
| * Can now get a handle to a connection process which is not part of |
| the load balancing pool. Useful when an application is making |
| requests to a webserver which are time consuming (such as |
| uploading a large file). Such requests can be put on a separate |
| connection, and all other smaller/quicker requests can use the |
| load balancing pool. See ibrowse:spawn_worker_process/2 and |
| ibrowse:spawn_link_worker_process/2 |
| * Ram Krishnan sent a patch to enable a client to send a lot of |
| data in a request by providing a fun which is invoked by the |
| connection handling process. This fun can fetch the data from |
| any where. This is useful when trying to upload a large file |
| to a webserver. |
| * Use the TCP_NODELAY option on every socket by default |
| * Rudimentary support for load testing of ibrowse. Undocumented, |
| but see ibrowse_test:load_test/3. Use the source, Luke! |
| * New function ibrowse:show_dest_status/2 to view state of |
| connections/pipelines to a web server |
| |
| 20-02-2008 - Ram Krishnan sent another patch for another hidden bug in the |
| save_response_to_file feature. |
| |
| 07-02-2008 - Ram Krishnan (kriyative _at_ gmail dot com) sent a simple patch to |
| enable specifying the filename in the save_response_to_file option. |
| When testing the patch, I realised that my original implementation |
| of this feature was quite flaky and a lot of corner cases were |
| not covered. Fixed all of them. Thanks Ram! |
| |
| 17-10-2007 - Matthew Reilly (matthew dot reilly _at_ sipphone dot com) |
| sent a bug report and a fix. If the chunk trailer spans two TCP |
| packets, then ibrowse fails to recognise that the chunked transfer |
| has ended. |
| |
| 29-08-2007 - Bug report by Peter Kristensen(ptx _at_ daimi dot au dot dk). |
| ibrowse crashes when the webserver returns just the Status line |
| and nothing else. |
| |
| 28-06-2007 - Added host_header option to enable connection to secure sites |
| via stunnel |
| |
| 20-04-2007 - Geoff Cant sent a patch to remove URL encoding for digits in |
| ibrowse_lib:url_encode/1. |
| ibrowse had a dependency on the inets application because the |
| ibrowse_http_client.erl invoked httpd_util:encode_base64/1. This |
| dependency is now removed and the encode_base64/1 has been |
| implemented in ibrowse_lib.erl |
| |
| 06-03-2007 - Eric Merritt sent a patch to support WebDAV requests. |
| |
| 12-01-2007 - Derek Upham sent in a bug fix. The reset_state function was not |
| behaving correctly when the transfer encoding was not chunked. |
| |
| 13-11-2006 - Youn?s Hafri reported a bug where ibrowse was not returning the |
| temporary filename when the server was closing the connection |
| after sending the data (as in HTTP/1.0). |
| Released ibrowse under the BSD license |
| |
| 12-10-2006 - Chris Newcombe reported bug in dealing with requests where no |
| body is expected in the response. The first request would succeed |
| and the next request would hang. |
| |
| 24-May-2006 - Sean Hinde reported a bug. Async responses with pipelining was |
| returning the wrong result. |
| |
| 08-Dec-2005 - Richard Cameron (camster@citeulike.org). Patch to ibrowse to |
| prevent port number being included in the Host header when port |
| 80 is intended. |
| |
| 22-Nov-2005 - Added ability to generate requests using the Chunked |
| Transfer-Encoding. |
| |
| 08-May-2005 - Youn?s Hafri made a CRUX LINUX port of ibrowse. |
| http://yhafri.club.fr/crux/index.html |