Websocket.Client v4.0 Release Notes

Release Date: 2019-12-05 // about 1 year ago
  • ๐Ÿ’ฅ Breaking changes

    • โฑ timeout properties changed from milliseconds (int) to TimeSpan
    • DisconnectionHappened, ReconnectionHappened streams now return complex info object instead of enum
    • ๐Ÿ”„ changed return type from Task to void in Send() methods (sending is done through the queue)

    ๐Ÿ”‹ Features

    • ability to disable last chance reconnection (when no message comes from server for predefined time) - ReconnectTimeout = null
    • streaming fake messages - to mimic server response - StreamFakeMessage(...)
    • ๐Ÿ‘ป fail fast for starting, stopping and manual reconnection - throws an exception when the initial connection fails - StartOrFail(), ReconnectOrFail(), StopOrFail()
    • ๐Ÿ‘ป more info in DisconnectionHappened stream - close status, exception that caused disconnection, etc.
    • โš™ runtime reconnection canceling from DisconnectionHappened stream - it will stop ongoing reconnection - disconnectionInfo.CancelReconnection = true
    • normal closure - automatically Close client when server sends Close message, could be disabled by DisconnectionHappened stream - disconnectionInfo.CancelClosing= true
    • ๐ŸŽ performance optimizations
      • sending is done through Channels
      • listening now allocates less memory and handles differently single chunk vs multi chunks

Previous changes from v3.0

  • ๐Ÿ’ฅ Breaking changes

    • return type of MessageReceived observable was changed from string to ResponseMessage

    ๐Ÿ”‹ Features

    • ๐Ÿ‘Œ support for binary messages
      • a new method Send() and SendInstant() with parameter byte[]
      • MessageReceived observable now streams text or binary data (there is type property to distinguish between them)
    • 0๏ธโƒฃ a new MessageEncoding property to change encoding of sent/received text messages (default is UTF8)