NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1892 most downloaded on Packagist
HTTP client extension for the Yii framework
Last release 4 months ago
25 May 2026
Release timing varies
gaps range from 2 weeks to 1.8 years
Nearly every release is documented
notes for 19 of 19 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
19 releases · first in 2016
Fix $http_response_header deprecated local variable #251 by @Arkeins in #252
8.5. by @terabytesoftw in #256composer.json and apply fixed phpdoc-property annotations. by @terabytesoftw in #257Message::getHeaders() to make full HTTP status line details available to Client::getHeaders(). by @zmoddynamics in #205@var annotation for Response::$statusCode and @return annotation for Response::getStatusCode() by @mspirkov in #258CHANGELOG.md, bump Yii version in composer.json, and update phpstan baseline. by @terabytesoftw in #261Full Changelog: 2.0.16...2.0.17
One column per quarter.
TypeError: stream_get_contents(): Argument #1 ($stream) must be of type resource, bool given in case PHP error reporting is turned off (shaperman)The predefined locally scoped $http_response_header variable is deprecated since PHP 8.5 (Arkeins)curl_close() and curl_multi_close() deprecation since PHP 8.5 (samdark)@var annotation for Response::$statusCode and @return annotation for Response::getStatusCode() (@mspirkov)Message::getHeaders() to make full HTTP status line details available to Client::getHeaders() (ClintZeringue)Bug #240: Fixed \yii\httpclient\Response::getIsOk() to include entire 2xx response code range (rhertogh)
\yii\httpclient\Response::getIsOk() to include entire 2xx response code range (rhertogh)Bug #226: Fix error in debug panel due to PHP 8.1 deprecation of implicit float to int conversion (lacek)
Enh #215: Added possibility to skip charset in header on UrlEncodedFormatter::format() (egorrishe)
UrlEncodedFormatter::format() (egorrishe)random_int() when generating boundary (samdark)Bug #209: Fixed error code, thrown by Exception in CurlTransport (kwazaro)
CurlTransport (kwazaro)Enh #192: Implement Request::responseTime() which returns the seconds (microtime precession) elapsed from request to response (HenryVolkmer)
Request::responseTime() which returns the seconds (microtime precession) elapsed from request to response (HenryVolkmer)Bug #189: Fixed Content-Length header when using CURLOPT_INFILE option (alexkart)
CURLOPT_INFILE option (alexkart)Enh #167: Added support of multiple parameters with the same name for multipart requests (alexkart)
Bug #149: Fixed type error in StreamTransport when $http_response_header = null (alexkart)
StreamTransport when $http_response_header = null (alexkart)CURLOPT_FILE option support to CurlTransport (alexkart)CurlFormatter in order to support CURLFile for uploading files (alexkart)Bug #168: Response::detectFormatByContent falsely detected HTML as XML (CeBe)
Response::detectFormatByContent falsely detected HTML as XML (CeBe)Message::addData() to prevent error on trying to merge non-array (samdark)JsonParser to parse JSON as objects instead of arrays (CeBe)MockTransport for test environments (Slamdunk)Bug #165: Response::detectFormatByContent now detects JSON Array (germanow)
Response::detectFormatByContent now detects JSON Array (germanow)Request::setFullUrl() return reference (vuongxuongminh)Bug #129: Fixed Message::getHeaders() unable to parse HTTP status code in case reason phrase contains : character (lan143)
Message::getHeaders() unable to parse HTTP status code in case reason phrase contains : character (lan143)Request::createFullUrl() now prevents appearance of multiple slashes while combining Client::$baseUrl and Request::$url (zhangdi)Bug: Usage of deprecated yii\base\Object changed to yii\base\BaseObject allowing compatibility with PHP 7.2 (klimov-paul)
Response with redirection takes wrong 'Content-Type' header value for content parsing (klimov-paul)yii\base\Object changed to yii\base\BaseObject allowing compatibility with PHP 7.2 (klimov-paul)Request::$options (bscheshirwork)Request (klimov-paul)Bug #94: Fixed XmlParser does not respects character encoding from response headers (klimov-paul)
XmlParser does not respects character encoding from response headers (klimov-paul)Request::composeCookieHeader() no longer performs url-encoding over cookie value (klimov-paul)Request::$content is set to empty string by UrlEncodedFormatter and JsonFormatter from empty data (klimov-paul)XmlParser does not converts \SimpleXMLElement into array for the grouped tags (kids-return)Bug #74: Fixed unable to reuse Request instance for sending several requests with different data (klimov-paul)
Request instance for sending several requests with different data (klimov-paul)HttpClientPanel triggers E_WARNING on attempt to view history debug entry, generated without panel being attached (klimov-paul)Client::$baseUrl (klimov-paul)Request::addOptions() unable to override already set CURL options (klimov-paul)UrlEncodedFormatter duplicates GET parameters during multiple request preparations (klimov-paul)Bug #61: Response headers extraction at StreamTransport changed to use $http_response_header to be more reliable (klimov-paul)
StreamTransport changed to use $http_response_header to be more reliable (klimov-paul)Request::toString() triggers E_NOTICE for not prepared request (klimov-paul)Response::detectFormatByContent() unable to detect URL-encoded format, if source content contains | symbol (klimov-paul)Bug #44: Fixed exception name collision at Response and Transport (cebe)
Response and Transport (cebe)XmlFormatter unable to handle array with numeric keys (klimov-paul)XmlParser unable to parse value wrapped with 'CDATA' (DrDeath72)EVENT_BEFORE_SEND and EVENT_AFTER_SEND added to Request and Client (klimov-paul)Request::getFullUrl() allowing getting the full actual request URL (klimov-paul)Message::addData() allowing addition of the content data to already existing one (klimov-paul)Request::$options allowing specification of the HTTP protocol version (klimov-paul)UrlEncodedFormatter::$charset allowing specification of content charset (klimov-paul)XmlFormatter::useTraversableAsArray allowing processing \Traversable as array (klimov-paul)- Initial release.
Jul 1, 2016
We are very pleased to announce the initial release of the new HTTP Client extension version 2.0.0.
The extension allows you to perform compose and perform HTTP requests:
use yii \ httpclient \ Client ;
$client = new Client(); $response = $client->createRequest() ->setMethod( 'post' ) ->setUrl( 'http://example.com/api/1.0/users' ) ->setData([ 'name' => 'John Doe' , 'email' => 'johndoe@domain.com' ]) ->send(); if ($response->isOk) { $newUserId = $response->data[ 'id' ]; }
This is the most debatable extension we have created, but we believe it is worth to be released.
The extension could be installed using Composer:
composer install yiisoft/yii2-httpclient:~ 2 . 0 . 0
~2.0.0 version constraint is used due to probable backward compatibility break in 2.1.0. Check the Composer documentation on version constraints to learn how that works.
For usage information see official extension documentation .
Please note that yii2-httpclient is not PSR-7 compatible. It remains an open question for the future 2.1.0 release.
Yii2 Debug 2.1.28
Yii2 Redis 2.1.1
Yii2 Redis 2.1.2
Yii2 HTTP Client 2.0.17
Auth Client extension 2.2.18 released
extensions
http client
Enh: Fixed PHPdoc annotations (cebe)
Your coding agent can read these notes before it upgrades. Set up the MCP server →