|
|
- CONTRIBUTIONS & CHANGE HISTORY
- ==============================
-
- 21-09-2018 - v4.4.2
- * Fix for #163 - default to using IPv4
-
- 23-08-2018 - v4.4.1
- * Fixes to TLS socket handling (PR#163)
- * Fix ipv6 address family handling (PR#155)
- * Don't send messages to closed/inactive connections (PR#152)
-
- 28-01-2017 - v4.4
- * Fixes to SOCKS over SSL processing
- * Added stream_full_chunks option
- * Merged pull requests 145, 151
-
- 07-06-2016 - v4.3
- * Adopted erlang.mk for compiling. I find it easier to understand
- how 'make' behaves compared to rebar. This repo can still be built
- using rebar for those who prefer it
- * Removed references to lager. Introduced configurable logging function
- * Fixed an issue where the calling process was getting an extra
- spurious timeout message when the request was timing out
-
- 19-04-2016 - v4.2.4
- * Fixed travis-ci build as it was failing in running tests.
- No code changes to ibrowse
-
- 19-04-2016 - v4.2.3
- * Fix for https://github.com/cmullaparthi/ibrowse/issues/143
- * Fix for https://github.com/cmullaparthi/ibrowse/issues/142
- * Fix for https://github.com/cmullaparthi/ibrowse/issues/139
- * Fixed behaviour of option preserve_status_line
-
- 25-11-2015 - v4.2.2
- * Fix to ibrowse.app.src to enable publishing using Hex
-
- 25-11-2015 - v4.2.1
- * Merged pull request https://github.com/cmullaparthi/ibrowse/pull/132
- * Merged pull request https://github.com/cmullaparthi/ibrowse/pull/137
-
- 28-09-2015 - v4.2
- * Merged long pending improvements to pipelining
- https://github.com/cmullaparthi/ibrowse/pull/123
- * Merged pull request https://github.com/cmullaparthi/ibrowse/pull/131
-
- 03-08-2015 - v4.1.2
- * R18 compatibility fix
- https://github.com/cmullaparthi/ibrowse/issues/129
- * Add max_attempts option
- https://github.com/cmullaparthi/ibrowse/pull/125
- * Fix for https://github.com/cmullaparthi/ibrowse/pull/120
- * Enhanced SOCKS5 support
- https://github.com/cmullaparthi/ibrowse/pull/117
-
- 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
|