Skip to content

Releases: amphp/websocket-client

2.0.2

24 Aug 17:29
v2.0.2
Compare
Choose a tag to compare

What's Changed

  • Fix League\Uri\Http deprecation warning by @foxycode in #56

Full Changelog: v2.0.1...v2.0.2

2.0.1

07 Dec 02:07
v2.0.1
c388f19
Compare
Choose a tag to compare

What's Changed

  • Fix missing semicolon in readme by @nimah79 in #50
  • Make Rfc6455Connector compatible with PHP 8.4 by @foxycode in #53

New Contributors

Full Changelog: v2.0.0...v2.0.1

2.0.0

28 Dec 22:25
v2.0.0
87a5d32
Compare
Choose a tag to compare

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.

  • Renamed most classes and interfaces to add 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.
  • Advanced handshake and connection parameters may be specified using a Rfc6455ConnectionFactory instance provided when constructing a Rfc6455Connector.
  • A global WebsocketConnector instance may be accessed and set via Amp\Websocket\Client\websocketConnector().

2.0.0 Beta 4

20 Oct 03:06
v2.0.0-beta.4
f6d27cc
Compare
Choose a tag to compare
2.0.0 Beta 4 Pre-release
Pre-release
  • Compatibility with amphp/websocket@v2 and amphp/http-client@v5

2.0.0 Beta 3

26 Apr 03:50
v2.0.0-beta.3
24daf3c
Compare
Choose a tag to compare
2.0.0 Beta 3 Pre-release
Pre-release
  • Compatibility with amphp/http@v2
  • Added query-related methods to WebsocketHandshake

2.0.0 Beta 2

26 Apr 03:48
v2.0.0-beta.2
fee0aa6
Compare
Choose a tag to compare
2.0.0 Beta 2 Pre-release
Pre-release
  • Updated for compatibility with amphp/socket@v2 and amphp/[email protected]
  • Altered Rfc6455ConnectionFactory constructor to use an instance of WebsocketParserFactory, moving some configuration options to Rfc6455ParserFactory

2.0.0 Beta 1

21 Jun 20:28
v2.0.0-beta.1
0c8c939
Compare
Choose a tag to compare
2.0.0 Beta 1 Pre-release
Pre-release

Initial 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.

  • Added Websocket as a prefix to several classes:
    • Connection renamed to WebsocketConnection
    • ConnectionFactory renamed to WebsocketConnectionFactory
    • Connector renamed to WebsocketConnector
    • ConnectionException renamed to WebsocketConnectException
    • Handshake renamed to WebsocketHandshake
  • Renamed connector function to websocketConnector

1.0.1

10 Mar 20:11
v1.0.1
bcf5262
Compare
Choose a tag to compare
  • Ignore /docs in .gitattributes to avoid broken symlink (#38)

Full Changelog: v1.0.0...v1.0.1

1.0.0

05 Jul 17:52
173b541
Compare
Choose a tag to compare

Changes since RC2

  • Removed header methods from Connection. Now the Response object is available with Connection::getResponse(), which provides access to the response headers and other response data.
  • Removed the connector() function, so there is no longer a global Connector object.
  • Fixed Handshake::withHeaders() to remove all prior set headers as expected.
  • Added ConnectContext parameter to connect() function.
  • ConnectionException now extends HttpException from amphp/http-client.

Upgrading from v0.2.x to v1.0

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.

1.0.0 RC2

29 Feb 15:39
f42543a
Compare
Choose a tag to compare
1.0.0 RC2 Pre-release
Pre-release
  • This library now uses 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.
  • Updated to league/uri@^6, subsequently PHP 7.2+ is now required.