NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #515 most downloaded on Packagist
Async WebSocket client for PHP based on Amp.
Last release 1 years ago
24 Aug 2025
Ships fairly regularly
a new release about every 6 months
Some releases are documented
notes for 5 of 11 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
17 releases · first in 2016
Fix League\Uri\Http deprecation warning by @foxycode in #56
Full Changelog: v2.0.1...v2.0.2
Fix missing semicolon in readme by @nimah79 in #50
One column per quarter.
Stable release compatible with AMPHP v3 and fibers! 🎉
Stable release compatible with AMPHP v3 and fibers! 🎉
As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with ResolutionType.
This release is compatible with amphp/http-client@^5 and amphp/websocket@^2. See the release notes of these libraries for further change notes.
Similar to v1, a Websocket connection is created using Amp\Websocket\Client\connect() or using an instance of WebsocketConnector, calling WebsocketConnector::connect(). The returned WebsocketConnection then is used to send and receive WebSocket messages.
Websocket as a prefix to avoid name collisions with similarly named classes in other packages which are frequently used together. For example, Connection is now WebsocketConnection.Rfc6455ConnectionFactory instance provided when constructing a Rfc6455Connector.WebsocketConnector instance may be accessed and set via Amp\Websocket\Client\websocketConnector().amphp/http@v2WebsocketHandshakeamphp/socket@v2 and amphp/websocket@v2-beta.4Rfc6455ConnectionFactory constructor to use an instance of WebsocketParserFactory, moving some configuration options to Rfc6455ParserFactoryInitial release compatible with AMPHP v3.
As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with ResolutionType.
Websocket as a prefix to several classes:
Connection renamed to WebsocketConnectionConnectionFactory renamed to WebsocketConnectionFactoryConnector renamed to WebsocketConnectorConnectionException renamed to WebsocketConnectExceptionHandshake renamed to WebsocketHandshakeconnector function to websocketConnectorNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Ignore /docs in .gitattributes to avoid broken symlink
/docs in .gitattributes to avoid broken symlink (#38)Full Changelog: v1.0.0...v1.0.1
Removed header methods from Connection . Now the Response object is available with Connection::getResponse() , which provides access to the response h
Connection. Now the Response object is available with Connection::getResponse(), which provides access to the response headers and other response data.connector() function, so there is no longer a global Connector object.Handshake::withHeaders() to remove all prior set headers as expected.ConnectContext parameter to connect() function.ConnectionException now extends HttpException from amphp/http-client.This library has been refactored to use the new amphp/websocket library containing components that can be shared between server and clients.
The simplest way to use this library is with the connect() function to initiate a WebSocket connection.
$connection = yield Amp\Websocket\Client\connect('ws://localhost:1337/broadcast');
yield $connection->send('Hello!');
/** @var Amp\Websocket\Message $message */
while ($message = yield $connection->receive()) {
$payload = yield $message->buffer();
// $payload now contains the entire message content
yield $connection->send('Received message with length ' . strlen($payload));
}Custom request headers and connections options can be set using the Handshake class and passing this object to connect() instead of a string URI. Connection behavior can be further customized by using an instance of Connector to establish a connection instead of the connect() function.
WebSocket clients are now represented by Connection, which extends the Client object from amphp/websocket. This object contains several methods for getting information about the client, fetching the headers returned in the server response, and sending/receiving messages.
HttpClient from amphp/http-client to send connection requests. As such, Rfc6455Connector requires an instance of HttpClient when constructed. The client may have various interceptors attached to modify behavior when connecting.league/uri@^6, subsequently PHP 7.2+ is now required.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →