phrity/websocket
WebSocket client and server
3.8.1
5.4M downloads/mo
#1313 most downloaded on Packagist
sirn-se/websocket-php
What this package is like to depend on
Last release 8 days ago
15 Aug 2026
Release timing varies
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 63 of 65 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
65 releases · first in 2022
9 releases in the last 12 months
see the full history below
Release timeline
65 releases · Nov 2022 to Aug 2026Releases
latest 60 of 65-
3.8.115 Aug 2026Release notes
Open source →- Remove redundant detach
- Fix typos
- Updated documentation
What's Changed
- Fix typos, remove redundant runner detach by @srebb in #160
- Documentation updates by @sirn-se in #161
Full Changelog: 3.8.0...3.8.1
Release notes
Open source →- Remove redundant detach (@srebb)
- Fix typos (@srebb)
- Updated documentation (@sirn-se)
-
3.8.008 Aug 2026Release notes
Open source →Features and fixes
- Configurable opcode/class mapping using OpcodeRegistry
- New
onMessage()listener, triggered on all messages - Connections container class
- Dispach
onDisconnecton remote connection close - Exceptions: ControlInterface on CloseException, ReconnectException
- Exceptions: HandlerLevelInterface on BadUriException, ClientException, RunnerException, ServerException
- Close status as
int<0, 4999>|null - Preparations for v4
What's Changed
- Fix disconnect not being dispatched on connection level error by @srebb in #156
- ControlInterface, HandlerLevelInterface, Close status 0-4999 by @sirn-se in #157
- Connections container/onDisconnect on remote disconnect by @sirn-se in #158
- Opcode config by @sirn-se in #159
New Contributors
Full Changelog: 3.7.3...3.8.0
Release notes
Open source →- Configurable opcode/class mapping using OpcodeRegistry (@sirn-se)
- onMessage() listener, triggered on all messages (@sirn-se)
- Connections container class (@sirn-se)
- Dispatch onDisconnect on remote connection close (@srebb, @sirn-se)
- Exceptions: ControlInterface on CloseException, ReconnectException (@sirn-se)
- Exceptions: HandlerLevelInterface on BadUriException, ClientException, RunnerException, ServerException (@sirn-se)
- Close status as int<0, 4999>|null (@sirn-se)
- Preparations for v4 (@sirn-se)
v3.7PHP version
^8.1 -
3.7.322 Jun 2026Release notes
Open source →- Use safe stream read in FrameHandler (avoid potential byte read sync issue)
Full Changelog: 3.7.2...3.7.3
-
3.7.215 Jun 2026Release notes
Open source → -
3.7.115 May 2026Release notes
Open source →- Safeguard on identity conflict
What's Changed
- Fix spelling of 'implements' in class definitions by @carvefx in #151
- Identity conflict: verify connection is usable by @sirn-se in #153
Full Changelog: 3.7.0...3.7.1
Release notes
Open source →- Fix spelling in class definitions (@carvefx)
- Detach connection if not usable (@sirn-se)
-
3.7.006 Apr 2026Release notes
Open source →- Configuration class for various settings
- Identity interface and implementation
- Using Nyholm PSR HTTP
- Runner class wraps stream-select handler
- StreamFactory as constructor option Client/Server
- Preparations for v4
What's Changed
- Nyholm HTTP messages, intermediate by @sirn-se in #145
- Identity (unique resource identifiers, required for v4) by @sirn-se in #146
- Configuration, logging, documentation by @sirn-se in #147
- Runner by @sirn-se in #148
- Copyright by @sirn-se in #149
- 3.7 final by @sirn-se in #150
Full Changelog: 3.6.2...3.7.0
Release notes
Open source →- Configuration class for various settings (@sirn-se)
- Identity interface and implementation (@sirn-se)
- Using Nyholm PSR HTTP (intermediate solution) (@sirn-se)
- Runner class wraps stream-select handler (@sirn-se)
- StreamFactory as constructor option Client/Server (@sirn-se)
- Preparations for v4 (@sirn-se)
v3.6PHP version
^8.1 -
3.6.221 Dec 2025Release notes
Open source →- Fuzzy header parsing deflate compression
- Ensure valid range deflation window size
What's Changed
Full Changelog: 3.6.1...3.6.2
Release notes
Open source →- Deflate compression fuzzy header parsing fix (@sirn-se)
- More documentation (@sirn-se)
-
3.6.106 Dec 2025Release notes
Open source →- Fix typos and broken link
- Repo setup, PHP 8.5 default, 8.6 unit test
What's Changed
- Misc typos by @pieterocp in #139
- Repo config by @sirn-se in #141
Full Changelog: 3.6.0...3.6.1
Release notes
Open source →- Fix typos and broken links (@pieterocp)
- Repo setup, PHP 8.5 default, 8.6 unit test (@sirn-se)
-
3.6.008 Sep 2025Release notes
Open source →- CloseConnection and ReconnectException in Client listener
- Creating PSR-7 messages using configurable PSR-17 factories
- v4 deprecation warnings
- Improved phpdoc
- Code coverage improvement
What's Changed
- Phpdoc & coverage by @sirn-se in #126
- Backport 3.5 into 3.6 by @sirn-se in #127
- Deprecations by @sirn-se in #128
- Exception flow by @sirn-se in #129
- PSR-17 HTTP factories, confugurable by @sirn-se in #130
- HttpFactory, deprecations by @sirn-se in #133
Full Changelog: 3.5.0...3.6.0
Release notes
Open source →- CloseConnection and ReconnectException in Client listener (@sirn-se)
- Creating PSR-7 messages using configurable PSR-17 factories (@sirn-se)
- v4 deprecation warnings (@sirn-se)
- Improved phpdoc (@sirn-se)
- Code coverage improvement (@sirn-se)
v3.5PHP version
^8.1 -
3.5.023 May 2025Release notes
Open source →- Timeouts support float (@sirn-se)
- Client and Server start() can have specific timeout (@sirn-se)
- Internal LoggerAwareTrait for logger handling (@sirn-se)
- Constant in interface (@sirn-se)
- Frame pulling rewritten (@sirn-se)
- phpstan level 8, and fixes accordingly (@sirn-se)
What's Changed
- Phpstan8 by @sirn-se in #118
- Logger initer, final by @sirn-se in #120
- Stream v2.3 by @sirn-se in #122
- Ready by @sirn-se in #123
Full Changelog: 3.4.0...3.5.0
Release notes
Open source →- Timeouts support float (@sirn-se)
- Client and Server start() can have specific timeout (@sirn-se)
- Internal LoggerAwareTrait for logger handling (@sirn-se)
- Constant in interface (@sirn-se)
- Frame pulling rewritten (@sirn-se)
phpstanlevel 8, and fixes accordingly (@sirn-se)
v3.4PHP version
^8.1 -
3.4.007 Apr 2025Release notes
Open source →- Compression Extension as optional middleware (@sirn-se)
- Per-Message Deflate as Compression implementation (@sirn-se)
- Example: Server using SSL certificate capture (@marki555)
v3.3PHP version
^8.1 -
3.3.014 Mar 2025Release notes
Open source →- Using
Phrity/Net/Contextfor context management in Client, Server and Connection (@sirn-se) - Additional input checks (@sirn-se)
- Improved phpdoc and phpstan definitions (@sirn-se)
- Improved logging: exceptions exposed in context (@sirn-se)
- Extended documentation and examples (@sirn-se)
v3.2PHP version
^8.1 - Using
-
3.2.610 Mar 2025 -
3.2.507 Mar 2025Release notes
Open source →- Allow additional content in Connection header during handshake - again (@sirn-se)
-
3.2.428 Feb 2025Release notes
Open source →- Introducing ExceptionInterface as root to internal exceptions (@sirn-se)
- Unresolvable errors must not trigger onError listener (@sirn-se)
-
3.2.320 Feb 2025Release notes
Open source →- Allow empty reason phrase in HTTP request (@Sebastix)
- Improved phpdoc and phpstan definitions (@sirn-se)
- Support phpunit v12 (@sirn-se)
-
3.2.210 Jan 2025 -
3.2.103 Jan 2025Release notes
Open source →- Fix missing return statement in server shutdown method (@sirn-se)
- Handle invalid server requests (@sirn-se)
- Unit tests for php 8.5 (@sirn-se)
- Documentation broken links fixed (@sirn-se)
-
3.2.028 Sep 2024Release notes
Open source →- Server
setContext()method (@sirn-se) - RSV flags on Frame (@sirn-se)
- Fixed various typos and broken links (@pieterocp)
phrity/net-stream v2.1for context support and select warning handling (@sirn-se)- Deprecation warnings (@sirn-se)
v3.1PHP version
^8.1 - Server
-
3.1.009 Jul 2024Release notes
Open source →- Server
getConnections(),getReadableConnections(),getWritableConnections()(@sirn-se) onHandshake(...)listener (will deprecateonConnect(...)) (@sirn-se)- Server
setMaxConnections(int|null)(@sirn-se) - Server
shutdown()orderly close server (@sirn-se) phrity/net-uri v2.1for URI decoding (@sirn-se)- Public class synopsis added to documentation (@sirn-se)
v3.0PHP version
^8.1 - Server
-
3.0.015 Jun 2024Release notes
Open source →- Support
psr/log v3(@sirn-se) - Client
receive()never returnnull(@sirn-se) - Typed class properties (@sirn-se)
v2.2PHP version
^8.0 - Support
-
2.2.322 May 2024 -
2.2.224 Apr 2024 -
2.2.113 Apr 2024 -
2.2.023 Mar 2024Release notes
Open source →- Optional
FollowRedirectmiddleware (Client only) (@sirn-se) - Optional
SubprotocolNegotiationmiddleware (@sirn-se) getMeta()exposed on Client (@sirn-se)- Server throws
HandshakeExceptionif HTTP middleware return invalid status (@sirn-se) - New
ReconnectExceptionto force Client reconnection (@sirn-se) Server->isSsl()method (@sirn-se)- Improved URI handling (@sirn-se)
- Allow empty HTTP header handling (RFC compliance) (@sirn-se)
- Documentation changes (@sirn-se)
- Using
phrity/net v2(@sirn-se) - Updating workflow and dependencies (@sirn-se)
v2.1PHP version
^8.0 - Optional
-
2.1.316 Feb 2024Release notes
Open source →- Allow additional content in Connection header during handshake (@sirn-se)
-
2.1.220 Jan 2024 -
2.1.111 Jan 2024Release notes
Open source →- Fix issue with falsy but valid HTTP headers (@axklim)
- Additional check for HTTP headers (@sirn-se)
-
2.1.017 Dec 2023Release notes
Open source →- Http & Tick middleware support (@sirn-se)
- PingInterval middleware for heartbeat functionality (@sirn-se)
- Connection get/set meta functions (@sirn-se)
- All classes Stringable, consistent (@sirn-se)
- HTTP method fix (@sirn-se)
- Unit tests for php 8.4 (@sirn-se)
- Fixing various typos (@UksusoFF, @sirn-se)
- Remove unused code and documentation (@sirn-se)
v2.0PHP version
^8.0 -
2.0.130 Oct 2023 -
2.0.028 Oct 2023Release notes
Open source →- Listeners for client and server (@sirn-se)
- Middleware support (@sirn-se)
- Multi connection server (@sirn-se)
receive()always return Message instance or null (@sirn-se)send()require Message instance as first argument (@sirn-se)- Strict mask policy (@sirn-se)
- Strict handshake procedure (@sirn-se)
Closeget close-status methods (@sirn-se)- Server no longer auto-increment port (@sirn-se)
- Removed deprecated methods and options (@sirn-se)
- Moved source (@sirn-se)
- Removed PHP
7.4support (@sirn-se)
v1.7PHP version
^7.4|^8.0 -
1.7.331 May 2024 -
1.7.204 Nov 2023 -
1.7.102 Nov 2023 -
1.7.014 Jul 2023Release notes
Open source →- Client
getHandshakeResponse()method (@sirn-se) - Server
getHandshakeRequest()method (@sirn-se) connect()methods are now public (@sirn-se)- Modularized design (@sirn-se)
- Using managed streams (@sirn-se)
- Various code improvements (@sirn-se)
- Unit test rewrite (@sirn-se)
- Deprecations for v2.0 (@sirn-se)
v1.6PHP version
^7.4|^8.0 - Client
-
1.6.422 Nov 2022 -
1.6.322 Nov 2022 -
1.6.222 Nov 2022 -
1.6.122 Nov 2022 -
1.6.022 Nov 2022Release notes
Open source →- Connection separate from Client and Server (@sirn-se)
- getPier() deprecated, replaced by getRemoteName() (@sirn-se)
- Client accepts
Psr\Http\Message\UriInterfaceas input for URI:s (@sirn-se) - Bad URI throws exception when Client is instanciated, previously when used (@sirn-se)
- Preparations for multiple conection and listeners (@sirn-se)
- Major internal refactoring (@sirn-se)
v1.5PHP version
^7.2|^8.0 -
1.5.822 Nov 2022 -
1.5.722 Nov 2022 -
1.5.622 Nov 2022 -
1.5.522 Nov 2022Release notes
Open source →- Support for psr/log v2 and v3 (@simPod)
- GitHub Actions replaces Travis (@sirn-se)
-
1.5.422 Nov 2022 -
1.5.322 Nov 2022 -
1.5.222 Nov 2022 -
1.5.122 Nov 2022 -
1.5.022 Nov 2022Release notes
Open source →- Convenience send methods; text(), binary(), ping(), pong() (@sirn-se)
- Optional Message instance as receive() method return (@sirn-se)
- Opcode filter for receive() method (@sirn-se)
- Added PHP
8.0support (@webpatser) - Dropped PHP
7.1support (@sirn-se) - Fix for unordered fragmented messages (@sirn-se)
- Improved error handling on stream calls (@sirn-se)
- Various code re-write (@sirn-se)
v1.4PHP version
^7.1 -
1.4.322 Nov 2022Release notes
Open source →- Solve stream closure/get meta conflict (@sirn-se)
- Examples and documentation overhaul (@sirn-se)
-
1.4.222 Nov 2022Release notes
Open source →- Force stream close on read error (@sirn-se)
- Authorization headers line feed (@sirn-se)
- Documentation (@matias-pool, @sirn-se)
-
1.4.122 Nov 2022Release notes
Open source →- Ping/Pong, handled internally to avoid breaking fragmented messages (@nshmyrev, @sirn-se)
- Fix for persistent connections (@rmeisler)
- Fix opcode bitmask (@peterjah)
-
1.4.022 Nov 2022Release notes
Open source →- Dropped support of old PHP versions (@sirn-se)
- Added PSR-3 Logging support (@sirn-se)
- Persistent connection option (@slezakattack)
- TimeoutException on connection time out (@slezakattack)
v1.3PHP version
^5.4and^7.0 -
1.3.122 Nov 2022Release notes
Open source →- Allow control messages without payload (@Logioniz)
- Error code in ConnectionException (@sirn-se)
-
1.3.022 Nov 2022Release notes
Open source →- Implements ping/pong frames (@pmccarren @Logioniz)
- Close behaviour (@sirn-se)
- Various fixes concerning connection handling (@sirn-se)
- Overhaul of Composer, Travis and Coveralls setup, PSR code standard and unit tests (@sirn-se)
v1.2PHP version
^5.4and^7.0 -
1.2.022 Nov 2022Release notes
Open source →- Adding stream context options (to set e.g. SSL
allow_self_signed).
v1.1PHP version
^5.4and^7.0 - Adding stream context options (to set e.g. SSL
-
1.1.222 Nov 2022 -
1.1.122 Nov 2022 -
1.1.022 Nov 2022 -
1.0.322 Nov 2022