Websocket.Client v4.0 Release Notes

Release Date: 2019-12-05 // almost 2 years 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)