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