Skip to content

Releases: hummingbird-project/hummingbird-websocket

v2.0.0 Beta 1

29 Apr 10:28
81cda8c
Compare
Choose a tag to compare
v2.0.0 Beta 1 Pre-release
Pre-release

Minor release changes

  • Update for non-generic HTTPChannelBuilder. PR #59

v2.0.0 Alpha 3

18 Apr 14:20
1b9bdfc
Compare
Choose a tag to compare
v2.0.0 Alpha 3 Pre-release
Pre-release

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

12 Apr 10:26
25963c8
Compare
Choose a tag to compare
v2.0.0 Alpha 2 Pre-release
Pre-release

Major release changes

  • WebSocketClient has been split into a separate library HumingbirdWSClient which is not dependent on the Hummingbird 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(_:) and WebSocketOutboundWriter.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

v2.0.0 Alpha 1

06 Apr 15:02
ae56a40
Compare
Choose a tag to compare
v2.0.0 Alpha 1 Pre-release
Pre-release

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

13 Oct 18:07
397f41e
Compare
Choose a tag to compare

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

12 Jul 09:27
90b7605
Compare
Choose a tag to compare

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 a readCallback 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

  • Fix the masking key generation not generating 0x0. PR #16 from @Joannis

v1.0.1

21 Feb 14:51
8cb4bf5
Compare
Choose a tag to compare

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 immediately
  • HBWebSocketClient sets up HTTPDecoder with leftOverBytesStrategy to .forwardBytes to ensure any remaining data in channel is passed onto websocket channel handler.

v1.0.0

08 Feb 16:33
c4f64de
Compare
Choose a tag to compare

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

30 Jan 12:26
cbe5fec
Compare
Choose a tag to compare

Breaking Change

  • HBWebSocket(_:promise) does not have a default value for promise anymore.

Minor Release Changes

  • Add versions of HBWebSocket.write/close/sendPing that return an EventLoopFuture as an alternative to the ones that you pass an optional EventLoopPromise into.
  • Add async/await version of HBWebSocket.write/close/sendPing.
  • Add HBWebSocket.readStream that returns an AsyncStream<WebSocketData>. The AsyncStream will finish when the web socket is closed.

v1.0.0 Release Candidate 1

17 Jan 17:46
157c9cd
Compare
Choose a tag to compare

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