All Versions
Latest Version
Avg Release Cycle
14 days
Latest Release
1031 days ago

Changelog History
Page 2

  • v18.6.0 Changes

    June 24, 2020

    ๐Ÿ›  Fixes

    • โšก๏ธ Update uSockets, fixing SSL builds
  • v18.5.0 Changes

    June 22, 2020

    ๐Ÿ‘ Dedicated pub/sub compression support

    ๐Ÿ‘ Pub/sub now supports the use of dedicated compressors, not only the shared one. We've supported dedicated compressors for regular WebSocket::send calls a long time, but now WebSocket::publish will provide the same compression ratios.

    ๐Ÿ‘ A "dedicated" compressor is one with a sliding window, per-socket. This compressor provides better compression for small, mostly-repeated messages in exchange for per-socket memory usage.

    A recommended dedicated compressor is the DEDICATED_COMPRESOR_3KB as it uses only 3KB per socket.

  • v18.4.0 Changes

    June 20, 2020

    Minor features

    • App::getNativeHandle and AsyncSocket::getNativeHandle will return the SSL_CTX and SSL pointers, respectively. In the case of non-SSL, the file descriptor or nullptr will be returned.
    • maxBackpressure is now applied to WebSocket::send, not only WebSocket::publish. This means any attempt at sending when having too much backpressure will be ignored, skipped, and return success. If you don't want this behavior either disable maxBackpressure or check getBufferedAmount before sending, manually.
  • v18.3.0 Changes

    June 10, 2020

    ๐Ÿ›  Fixes

    • ๐Ÿ“œ Minor corrections to PROXY parser
    • Minor changes to unsubscribeAll while closing
  • v18.2.0 Changes

    June 10, 2020

    Stricter pub/sub guarantees

    We've had weird pub/sub behavior reported, caused by the fact that publish is deferred until the end of the event loop iteration. This means that subscribing after a publish may very well end up acting as if you subscribed before publishing, and the opposite for unsubscribe.

    ๐Ÿ”€ In most apps this won't make a difference but now there's stricter guarantees regarding when things happen. Publish still happens at the end of the event loop iteration, but will trigger earlier if needed to keep things in proper sync.

  • v18.1.0 Changes

    June 08, 2020

    Seamless PROXY Protocol v2

    ๐Ÿ— Enabling WITH_PROXY during build allows seamless parsing of PROXY Protocol v2 and/or HTTP. There's no runtime configuration needed; the HTTP parser will automatically pick up on the presence of such a proxy (HAProxy for instance).

    โž• Adds functions

    • getRemoteAddressAsText()
    • getProxiedRemoteAddress()
    • getProxiedRemoteAddressAsText()
  • v18.0.0 Changes

    June 04, 2020

    โฌ†๏ธ Upgrade events

    • โฌ†๏ธ WebSocketBehavior now takes .upgrade handler for catching HTTP-to-WebSocket upgrade requests. This can be used to perform HTTP-level authentication before the HTTP connection is upgraded to WebSocket. Not everyone wants to, or can, authenticate via WebSocket messaging.
    • โฌ†๏ธ As part of this addition, .open handler no longer takes HttpRequest. You may access HttpRequest in the .upgrade handler and pass data along to WebSocket, via its UserData.
    • โž• Adds UpgradeSync and UpgradeAsync examples showing these features.
  • v0.17.6 Changes

    May 28, 2020

    Pub/sub compression

    • ๐Ÿ‘ Shared compressor support for pub/sub (dedicated compressor planned).
    • ๐Ÿ‘ uSockets v0.4.0 brings support for BoringSSL, faster by 18% for sub 16kb messaging.
    • Mark is now "17" rather than "v0.17" (we only expose major version either way).
  • v0.17.5 Changes

    May 20, 2020

    ๐Ÿ›  Fixes

    • Always emit drain event in case of having no backpressure
    • When publishing to a topic, sockets with high backpressure are now skipped rather than immediately closed
    • Unsubscribing to a triggered Topic that's still alive as parent should clear it
    • A+ score on LGTM
    • ๐Ÿšš Moves to uSockets 0.3.5+ APIs
  • v0.17.4 Changes

    April 19, 2020

    ๐Ÿ›  Fixes

    • Zero-length inflations are peculiar, yet valid
    • Gracefully fail to listen if SSL cert/key was missing
    • Store headers in bloom filter, respond to 100-continue
    • ๐Ÿ›  Fix router in regards to empty url segments