limit the workaround for #84 to libcurl 7.63-7.64
[m6w6/ext-http] / CHANGELOG.md
1 # ChangeLog v4
2
3 ## 4.0.0beta2, TBR
4
5 * Fixed gh-issue #89: Cookie handling cannot be disabled since v3.2.1
6
7 ## 4.0.0beta1, 2020-09-23
8
9 * PHP 8 compatibility
10 - Drop ext-propro support:
11 PHP 8 removes the object get/set API from the ZendEngine, which renders
12 that extension dysfunctional. As a consequence, the header property of
13 http\Message and derived classes cannot be modified in place, and thus
14 by reference.
15
16 # ChangeLog v3
17
18 ## 3.2.4, TBR
19
20 * Fixed gh-issue #89: Cookie handling cannot be disabled since v3.2.1
21
22 ## 3.2.3, 2019-10-29
23
24 * Fixed Windows build (Jan Ehrhardt)
25
26 ## 3.2.2, 2019-10-24
27
28 * PHP-7.4 compatibility
29 * Fixed gh-issue #92: http\Message\Body::addForm() discards numeric names
30 * Fixed gh-issue #95: typo in http\Message::getResponseCode()'s error message
31
32 ## 3.2.1, 2019-06-07
33
34 * Fixed gh-issue #88: Unable to run test suite (Remi Collet)
35 * Fixed gh-issue #86: test failure with curl 7.64
36 * Fixed gh-issue #85: [-Wformat-extra-args] build warnings
37 * Fixed gh-issue #84: segfault and build failure since curl 7.62
38 * Fixed gh-issue #82: Test harness improvements (Chris Wright)
39 * Fixed gh-issue #64: compress and connecttimeout interfere with low_speed_limit (@rcanavan)
40 * Fixed http\QueryString::getGlobalInstance()
41 * Fixed missing 2nd reflection argument info of http\Client::notify()
42 * Fixed PHP-7.4 compatibility
43
44 ## 3.2.0, 2018-07-19
45
46 * PHP-7.2 compatibility
47 * Fixed gh-issue #73: build fails with libidn and libidn2
48 + Added brotli compression support
49 + Implemented gh-issue #58: Notify observers before any request is built
50
51 Changes from RC1:
52 * Fixed gh-issue #78: PHP-7.3 build crashes
53
54 ## 3.2.0RC1, 2018-04-09
55
56 * PHP-7.2 compatibility
57 * Fixed gh-issue #73: build fails with libidn and libidn2
58 + Added brotli compression support
59 + Implemented gh-issue #58: Notify observers before any request is built
60
61 ## 3.1.0, 2016-12-12
62
63 + Added http\Client\Curl\User interface for userland event loops
64 + Added http\Url::IGNORE_ERRORS, http\Url::SILENT_ERRORS and http\Url::STDFLAGS
65 + Added http\Client::setDebug(callable $debug)
66 + Added http\Client\Curl\FEATURES constants and namespace
67 + Added http\Client\Curl\VERSIONS constants and namespace
68 + Added share_cookies and share_ssl (libcurl >= 7.23.0) options to http\Client::configure()
69 + http\Client uses curl_share handles to properly share cookies and SSL/TLS sessions between requests
70 + Improved configure checks for default CA bundles
71 + Improved negotiation precision
72 * Fixed regression introduced by http\Params::PARSE_RFC5987: negotiation using the params parser would receive param keys without the trailing asterisk, stripped by http\Params::PARSE_RFC5987.
73 * Fix gh-issue #50: http\Client::dequeue() within http\Client::setDebug() causes segfault (Mike, Maik Wagner)
74 * Fix gh-issue #47: http\Url: Null pointer deref in sanitize_value() (Mike, @rc0r)
75 * Fix gh-issue #45: HTTP/2 response message parsing broken with libcurl >= 7.49.1 (Mike)
76 * Fix gh-issue #43: Joining query with empty original variable in query (Mike, Sander Backus)
77 * Fix gh-issue #42: fatal error when using punycode in URLs (Mike, Sebastian Thielen)
78 * Fix gh-issue #41: Use curl_version_info_data.features when initializing options (Mike)
79 * Fix gh-issue #40: determinde the SSL backend used by curl at runtime (Mike, @rcanavan)
80 * Fix gh-issue #39: Notice: http\Client::enqueue(): Could not set option proxy_service_name (Mike, @rcanavan)
81 * Fix gh-issue #38: Persistent curl handles: error code not properly reset (Mike, @afflerbach)
82 * Fix gh-issue #36: Unexpected cookies sent if persistent_handle_id is used (Mike, @rcanavan, @afflerbach)
83 * Fix gh-issue #34: allow setting multiple headers with the same name (Mike, @rcanavan)
84 * Fix gh-issue #33: allow setting prodyhost request option to NULL (Mike, @rcanavan)
85 * Fix gh-issue #31: add/improve configure checks for default CA bundle/path (Mike, @rcanavan)
86
87 Changes from beta1:
88 * Fixed recursive calls to the event loop dispatcher
89
90 Changes from beta2:
91 + Improved configure checks for IDNA libraries (added --with-http-libicu-dir, --with-http-libidnkit{,2}-dir, --with-http-libidn2-dir)
92 * Fix bug #73055: crash in http\QueryString (Mike, @rc0r) (CVE-2016-7398)
93 * Fix bug #73185: Buffer overflow in HTTP parse_hostinfo() (Mike, @rc0r) (CVE-2016-7961)
94 * Fix HTTP/2 version parser for older libcurl versions (Mike)
95 * Fix gh-issue #52: Underscores in host names: libidn Failed to parse IDN (Mike, @canavan)
96
97 ## 3.1.0RC1, 2016-10-04
98
99 + Added http\Client\Curl\User interface for userland event loops
100 + Added http\Url::IGNORE_ERRORS, http\Url::SILENT_ERRORS and http\Url::STDFLAGS
101 + Added http\Client::setDebug(callable $debug)
102 + Added http\Client\Curl\FEATURES constants and namespace
103 + Added http\Client\Curl\VERSIONS constants and namespace
104 + Added share_cookies and share_ssl (libcurl >= 7.23.0) options to http\Client::configure()
105 + http\Client uses curl_share handles to properly share cookies and SSL/TLS sessions between requests
106 + Improved configure checks for default CA bundles
107 + Improved negotiation precision
108 * Fixed regression introduced by http\Params::PARSE_RFC5987: negotiation using the params parser would receive param keys without the trailing asterisk, stripped by http\Params::PARSE_RFC5987.
109 * Fix gh-issue #50: http\Client::dequeue() within http\Client::setDebug() causes segfault (Mike, Maik Wagner)
110 * Fix gh-issue #47: http\Url: Null pointer deref in sanitize_value() (Mike, @rc0r)
111 * Fix gh-issue #45: HTTP/2 response message parsing broken with libcurl >= 7.49.1 (Mike)
112 * Fix gh-issue #43: Joining query with empty original variable in query (Mike, Sander Backus)
113 * Fix gh-issue #42: fatal error when using punycode in URLs (Mike, Sebastian Thielen)
114 * Fix gh-issue #41: Use curl_version_info_data.features when initializing options (Mike)
115 * Fix gh-issue #40: determinde the SSL backend used by curl at runtime (Mike, @rcanavan)
116 * Fix gh-issue #39: Notice: http\Client::enqueue(): Could not set option proxy_service_name (Mike, @rcanavan)
117 * Fix gh-issue #38: Persistent curl handles: error code not properly reset (Mike, @afflerbach)
118 * Fix gh-issue #36: Unexpected cookies sent if persistent_handle_id is used (Mike, @rcanavan, @afflerbach)
119 * Fix gh-issue #34: allow setting multiple headers with the same name (Mike, @rcanavan)
120 * Fix gh-issue #33: allow setting prodyhost request option to NULL (Mike, @rcanavan)
121 * Fix gh-issue #31: add/improve configure checks for default CA bundle/path (Mike, @rcanavan)
122
123 Changes from beta1:
124 * Fixed recursive calls to the event loop dispatcher
125
126 Changes from beta2:
127 + Improved configure checks for IDNA libraries (added --with-http-libicu-dir, --with-http-libidnkit{,2}-dir, --with-http-libidn2-dir)
128 * Fix bug #73055: crash in http\QueryString (Mike, @rc0r) (CVE-2016-7398)
129 * Fix bug #73185: Buffer overflow in HTTP parse_hostinfo() (Mike, @rc0r) (CVE-2016-7961)
130 * Fix HTTP/2 version parser for older libcurl versions (Mike)
131 * Fix gh-issue #52: Underscores in host names: libidn Failed to parse IDN (Mike, @canavan)
132
133 ## 3.1.0beta2, 2016-09-07
134
135 + Added http\Client\Curl\User interface for userland event loops
136 + Added http\Url::IGNORE_ERRORS, http\Url::SILENT_ERRORS and http\Url::STDFLAGS
137 + Added http\Client::setDebug(callable $debug)
138 + Added http\Client\Curl\FEATURES constants and namespace
139 + Added http\Client\Curl\VERSIONS constants and namespace
140 + Added share_cookies and share_ssl (libcurl >= 7.23.0) options to http\Client::configure()
141 + http\Client uses curl_share handles to properly share cookies and SSL/TLS sessions between requests
142 + Improved configure checks for default CA bundles
143 + Improved negotiation precision
144 * Fixed regression introduced by http\Params::PARSE_RFC5987: negotiation using the params parser would receive param keys without the trailing asterisk, stripped by http\Params::PARSE_RFC5987.
145 * Fix gh-issue #50: http\Client::dequeue() within http\Client::setDebug() causes segfault (Mike, Maik Wagner)
146 * Fix gh-issue #47: http\Url: Null pointer deref in sanitize_value() (Mike, @rc0r)
147 * Fix gh-issue #45: HTTP/2 response message parsing broken with libcurl >= 7.49.1 (Mike)
148 * Fix gh-issue #43: Joining query with empty original variable in query (Mike, Sander Backus)
149 * Fix gh-issue #42: fatal error when using punycode in URLs (Mike, Sebastian Thielen)
150 * Fix gh-issue #41: Use curl_version_info_data.features when initializing options (Mike)
151 * Fix gh-issue #40: determinde the SSL backend used by curl at runtime (Mike, @rcanavan)
152 * Fix gh-issue #39: Notice: http\Client::enqueue(): Could not set option proxy_service_name (Mike, @rcanavan)
153 * Fix gh-issue #38: Persistent curl handles: error code not properly reset (Mike, @afflerbach)
154 * Fix gh-issue #36: Unexpected cookies sent if persistent_handle_id is used (Mike, @rcanavan, @afflerbach)
155 * Fix gh-issue #34: allow setting multiple headers with the same name (Mike, @rcanavan)
156 * Fix gh-issue #33: allow setting prodyhost request option to NULL (Mike, @rcanavan)
157 * Fix gh-issue #31: add/improve configure checks for default CA bundle/path (Mike, @rcanavan)
158
159 Changes from beta1:
160 * Fixed recursive calls to the event loop dispatcher
161
162 ## 3.1.0beta1, 2016-08-22
163
164 + Added http\Client\Curl\User interface for userland event loops
165 + Added http\Url::IGNORE_ERRORS, http\Url::SILENT_ERRORS and http\Url::STDFLAGS
166 + Added http\Client::setDebug(callable $debug)
167 + Added http\Client\Curl\FEATURES constants and namespace
168 + Added http\Client\Curl\VERSIONS constants and namespace
169 + Added share_cookies and share_ssl (libcurl >= 7.23.0) options to http\Client::configure()
170 + http\Client uses curl_share handles to properly share cookies and SSL/TLS sessions between requests
171 + Improved configure checks for default CA bundles
172 + Improved negotiation precision
173 * Fixed regression introduced by http\Params::PARSE_RFC5987: negotiation using the params parser would receive param keys without the trailing asterisk, stripped by http\Params::PARSE_RFC5987.
174 * Fix gh-issue #50: http\Client::dequeue() within http\Client::setDebug() causes segfault (Mike, Maik Wagner)
175 * Fix gh-issue #47: http\Url: Null pointer deref in sanitize_value() (Mike, @rc0r)
176 * Fix gh-issue #45: HTTP/2 response message parsing broken with libcurl >= 7.49.1 (Mike)
177 * Fix gh-issue #43: Joining query with empty original variable in query (Mike, Sander Backus)
178 * Fix gh-issue #42: fatal error when using punycode in URLs (Mike, Sebastian Thielen)
179 * Fix gh-issue #41: Use curl_version_info_data.features when initializing options (Mike)
180 * Fix gh-issue #40: determinde the SSL backend used by curl at runtime (Mike, @rcanavan)
181 * Fix gh-issue #39: Notice: http\Client::enqueue(): Could not set option proxy_service_name (Mike, @rcanavan)
182 * Fix gh-issue #38: Persistent curl handles: error code not properly reset (Mike, @afflerbach)
183 * Fix gh-issue #36: Unexpected cookies sent if persistent_handle_id is used (Mike, @rcanavan, @afflerbach)
184 * Fix gh-issue #34: allow setting multiple headers with the same name (Mike, @rcanavan)
185 * Fix gh-issue #33: allow setting prodyhost request option to NULL (Mike, @rcanavan)
186 * Fix gh-issue #31: add/improve configure checks for default CA bundle/path (Mike, @rcanavan)
187
188 ## 3.0.1, 2016-03-09
189
190 * Fix php-bug #71719: Buffer overflow in HTTP url parsing functions (Mike, rc0r)
191 * Fix gh-issue #28: Possible null pointer dereference in php_http_url_mod() (rc0r)
192 * Fix gh-issue #21: Fix PHP7 config.w32 (Jan Ehrhardt)
193 * Fix gh-issue #20: setSslOptions notice with curl 7.43 (Mike, Vitaliy Demidov)
194
195 ## 3.0.0, 2016-01-19
196
197 PHP7 compatible release based on the 2.5.x series with the following backwards incompatible changes:
198 - removed http\Url::FROM_ENV from the default flags of the http\Url constructor, use http\Env\Url instead
199
200 ## 3.0.0RC1, 2015-12-07
201
202 PHP7 compatible release based on the 2.5.x series with the following backwards incompatible changes:
203 - removed http\Url::FROM_ENV from the default flags of the http\Url constructor, use http\Env\Url instead