Releases: hummingbird-project/hummingbird-websocket
Releases · hummingbird-project/hummingbird-websocket
v2.0.0 Beta 1
Minor release changes
- Update for non-generic HTTPChannelBuilder. PR #59
v2.0.0 Alpha 3
Major release changes
- Add missing ServiceLifecycle dependency to HummingbirdWSClient. PR #56 from @tkrajacic
- Return close code and reason from
WebSocketClient.connect
. PR #58
Minor changes
- Require CompressNIO v1.2 with decompression fix
- Add minimum size of frame before running per message-deflate compression configuration. PR #57
- Add
WebSocketOutboundWriter.close(_:reason:)
to close WebSocket connection with custom close code and reason
Patch changes
- Improve trace output of frames.
- Fix bug where exiting a handler because you received a close frame would hang. PR #57
v2.0.0 Alpha 2
Major release changes
- WebSocketClient has been split into a separate library
HumingbirdWSClient
which is not dependent on theHummingbird
library. - Common WebSocket code used by both server and client is in
HummingbirdWSCore
. - The WebSocketHandler inbound stream no longer collates WebSocket frames into full messages. If you want messages you can use
WebSocketInboundStream.messages(maxSize:)
to get a stream of collated WebSocketMessages.
Minor release changes
- Added
WebSocketOutboundWriter.withTextMessageWriter(_:)
andWebSocketOutboundWriter.withBinaryMessageWriter(_:)
to write WebSocket messages over a series of WebSocket frames. - Update compress-nio to v1.2.0 to get bug fix in decompression code.
Patch release changes
- Set
host
header in initial HTTP request. - Don't drop left over bytes after WebSocket upgrade.
- Fail connection on receiving a reserved opcode
- Verify inbound close code is correct
- Add mask to outbound close code for client
- add SNI hostname for TLS in client
Other changes
- Added scripts to test WebSocket code against autobahn-testsuite
v2.0.0 Alpha 1
Major release changes
- Structured concurrency based rewrite of WebSocket server and client support to work with Hummingbird v2.0
- Client and Server support both available from HummingbirdWebsocket
permessage-deflate
compression available from HummingbirdWSCompression
v1.2.0
Minor release changes
- Add support for WebSocket extensions and implement permessage-deflate extension as described in https://www.rfc-editor.org/rfc/rfc7692. PR #27
- Make
HBWebSocket
conform to Sendable. Split auto ping code off into a separate internally managed type. PR #30 - Minimum supported version of Swift is now 5.7
v1.1.0
Minor version changes
- Add support to supply additional headers during initial HTTP connection when using client. PR #20
- Add support for editing
maxFrameSize
. PR #23 - Add read callback in
HBWebSocketClient
. If you add areadCallback
after the client has been created it is possible to miss packets. This ensures you don't miss any packets. PR #25 - Require Hummingbird 1.4.0
- Add public API to send an unsolicited pong message. PR #28 from @tkrajacic
Patch version changes
v1.0.1
Patch release changes
- When adding websocket upgrade use new
HBChannelInitializer.addProtocolUpgrade
- Cancel auto ping task when websocket channel is closed
- Ensure websocket channel is fully closed when other side closes input.
InitiateAutoPing
schedules the first ping instead of sending it immediatelyHBWebSocketClient
sets upHTTPDecoder
withleftOverBytesStrategy
to.forwardBytes
to ensure any remaining data in channel is passed onto websocket channel handler.
v1.0.0
First Stable release of the WebSocket library for Hummingbird
- Includes setting up your
HBApplication
to accept WebSocket requests. - A WebSocket client.
Breaking change from v1.0.0-rc.2
Renamed HBApplication.WebSocket
to HBWebSocketBuilder
v1.0.0 Release Candidate 2
Breaking Change
HBWebSocket(_:promise)
does not have a default value forpromise
anymore.
Minor Release Changes
- Add versions of
HBWebSocket.write/close/sendPing
that return anEventLoopFuture
as an alternative to the ones that you pass an optionalEventLoopPromise
into. - Add async/await version of
HBWebSocket.write/close/sendPing
. - Add
HBWebSocket.readStream
that returns anAsyncStream<WebSocketData>
. The AsyncStream will finish when the web socket is closed.
v1.0.0 Release Candidate 1
Minor changes
- Use hummingbird 1.0.0-rc.1 and fix up errors generated by breaking changes in hummingbird release.
- Use a separate router for web socket requests