Skip to content

Releases: uNetworking/uWebSockets

v0.15 alpha 1

21 Dec 04:29
Compare
Choose a tag to compare
v0.15 alpha 1 Pre-release
Pre-release
  • At this point the API is pretty much done.
  • Autobahn tests pass, in SSL and non-SSL but many parts of WebSocket support is missing.
  • Windows and Linux has been tested, it should compile and run on both platforms.
  • Performance is very good, reaching 130% that of v0.14.
  • This is not production ready code, it is completely broken at points.

v0.14.8

22 Apr 13:10
Compare
Choose a tag to compare

Features & fixes:

  • New permessage-deflate option uWS::SLIDING_DEFLATE_WINDOW for improving compression ratio of small messages. This option is very memory costly and not recommended.
  • Disallow sending control frames compressed.
  • We do no longer accept server_no_context_takeover as we do not listen to it anyways.

v0.14.7

12 Apr 18:59
Compare
Choose a tag to compare

Features & fixes:

  • Initial permessage-deflate send compression support is now exposed as bool compress argument in WebSocket::send function.
  • If given more than one websocket subprotocol at upgrade, select the first one and continue.

v0.14.6

09 Mar 19:39
Compare
Choose a tag to compare
  • New minimal front page
  • Links to a draft at a user manual
  • Hub::poll as alternative to Hub::run for busy-waiting
  • Classes are protected rather than private to allow derivatives
  • Some warnings fixed
  • Hub::connect hostname:port fixes
  • Fixes for newer Boost versions

v0.14.5

28 Dec 20:26
Compare
Choose a tag to compare
  • Timer and similar things now live in uS namespace

v0.14.4

10 Aug 19:59
Compare
Choose a tag to compare
  • Fixes to Hub::connect URI parser, esp. IPv6 addresses.
  • Do not emit connection error more than once.

v0.14.3

10 Aug 20:12
Compare
Choose a tag to compare
  • Configurable maxPayload option
  • Properly handle connection errors

v0.14.2

12 Apr 15:29
Compare
Choose a tag to compare
  • Epoll timer fixes.
  • Clear pending async poll changes on socket removal.
  • Updated multithreading example with reuseport.
  • Limit extension and subprotocol lengths.

v0.14.1

28 Mar 15:52
Compare
Choose a tag to compare

Placeholder tag to even out version mismatch between GitHub and NPM. Same commit as v0.14.0.

v0.14.0

28 Mar 10:48
Compare
Choose a tag to compare

This release is a major internal refactor and redesign aimed at C++ programmers specifically.

Features

  • Adds support for multiple event systems (libuv, ASIO & epoll).
  • Highly optimized memory usage - 37% of prior version 0.13.0.
  • Optimized parser and control frame receive paths - 4-8x the performance.
  • Optional thread safety of documented functions (compile with UWS_THREADSAFE).
  • Hub::connect now takes optional headers such as origin.
  • Removes CMake, improves native Makefile, adds native VC++.vcxproj.
  • Adds onTransfer callback.
  • Mingw64 compiler support.

Fixes

  • Sets SOCK_CLOEXEC on Linux and FreeBSD.
  • Properly handles WSAEWOULDBLOCK on Windows.
  • Memory leaks on send errors.
  • Parser crash on very long messages.
  • Travis CI now runs all native tests with every commit.
  • Removes Node.js addon from main repository, it now lives in bindings repo.

Interface changes

  • In prior versions a WebSocket could be represented by a void pointer, an uv_poll_t pointer or a WebSocket object. This kind of chameleon black magic is removed and there is now only WebSocket pointers in use.
  • WebSockets are handed out as pointers in all event handlers.
  • Send callbacks now give a pointer to a WebSocket rather than a void pointer.
  • There is no longer any getPollHandle() and you cannot construct a WebSocket from an uv_poll_t pointer.
  • Lots of encapsulation fixes, most structs are now exposing only the official API and not its internals.
  • uWS::Group::listen(uWS::TRANSFERS) is a new way to express uWS::Group::addAsync().