forked from miniclip/lhttpc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
137 lines (115 loc) · 4.94 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [UNRELEASED]
### Fixed
- OTP 21 dialyzer warnings
## [3.0.7] - 2019-09-25
### Fixed
- unwarranted throwing of exception(s) to consumer during racy pool creation
## [3.0.6] - 2019-09-24
### Fixed
- warning on rebar3 over ssl_verify_fun's missing .app description
## [3.0.5] - 2019-02-01
### Fixed
- potential compilation issues when importing lib. as a dependency on OTP 21
## [3.0.4] - 2019-01-23
### Fixed
- bad specification of returned error reasons on :request/{4,5,6,9}
## [3.0.3] - 2019-01-18
### Fixed
- dialyzer warnings
## [3.0.2] - 2018-09-13
### Fixed
- OTP 21 compile-time warnings
## [3.0.1] - 2018-08-07
### Fixed
- rebar2 support
## [3.0.0] - 2018-08-07
### Added
- missing boot dependencies
### Changed
- application was rebar3ified while still being usable as a rebar2 dependency
- application version is now determined from git
- HTTPS requests are now secure by default
### Fixed
- unintelligibility of which test cases failed (main suite)
- low test coverage due to broken test cases that prevented others from running
#######################################
### OLD STYLE CHANGE LOG BELOW
#######################################
Version ?:
* Add support for connect_options
* Enables the user to pass socket options, for instance ip and port,
that will be used when connecting the socket
* Allows the user to specify SSL options during the connect phase
* Add support for "streaming" of entities
* Add start/0 and stop/0
* Fix for unexpected messages after request has been completed
* When the client process is trapping exits (which some eunit versions seem
to be doing by default) there would be {'EXIT', Pid, normal} messages left
after completing requests which came from the lhttpc_client process.
These are now avoided.
* Add rebar support (thanks to Benoit Chesneau)
* Add support for HTTP basic auth (Filipe Manana)
* Add support for IPv6 (Filipe Manana)
* Several URL parsing fixes (Filipe Manana)
* Add support for proxies via HTTP CONNECT method (Filipe Manana)
* Add connection limit to the connection pool (Filipe Manana)
* Add suport for using multiple connection pools - different requests can now
use different connection pools (Filipe Manana)
Version 1.2.5:
* Fix for decoding chunked HTTP responses with extraneous whitespace
(thanks to Bob Ippolito)
* api.facebook.com includes extra whitespace in its chunked HTTP response
length, e.g. "6 \r\n" instead of "6\r\n".
Version 1.2.4:
* Fix handling of HTTP response code 304 (patch by Ben Slavin)
Version 1.2.3:
* Fix handling of unexpected 100 Continue response (patch by Magnus Henoch)
Version 1.2.2:
* Fix Host header, add port number (reported by Benoit Chesneau)
Version 1.2.1:
* Fix confusion of arguments in request/9 (introduced in 1.2.0)
Version 1.2.0:
* Add support for options
* {connect_timeout, Milliseconds}: Aborts the connect phase after
Milliseconds
* {send_retry, N}: The client will retry sending the request N times
if the connection is closed
* Add support for downloading chunked transfer encoding
* More consistent error handling
* The client can either return {ok, Result} or {error, Reason}. Reason
(which wasn't very well defined before) can now be:
* connection_closed: The server closed the connection on us (N times
in case it happens just after sending the request)
* connect_timeout: If the TCP stack gives up or we hit the
connect_timeout option
* timeout: If the overall request timeout value is hit
* All other errors (socket, protocol etc. will result in a runtime error)
* Better connection handling (issues #2 and #3 on bitbucket.org/etc/lhttpc)
* Now understands what to do with connections to servers < HTTP/1.1
* Now respects "Connection: close" in request headers, which means
clients can choose to not use persistent connections
* RFC Compliance
* Fix reading of chunked encoding since section 3.6 claims that "All
transfer-coding values are case-insensitive"
* Support for responses that doesn't have an entity body (thanks to Steve
Ellis)
* No body for the HEAD and OPTIONS (unless indicated for the latter)
methods
* Don't try to read a body when receiving a 204 status
Version 1.1.2:
* Fix minor error with {active, once} instead of {active, true} in manager
* Remove socket and try to find another if the manager can't set controlling
process due to socket error
* Improve test suite
Version 1.1.1:
* Fix problem with empty lists in dicts when last socket is consumed
* Improve test suite to include cover report
Version 1.1.0:
* Support for configurable connection timeout
Version 1.0.0:
* Initial version
* Persistent connections have hardcoded timeout