Simple, secure & standards compliant web server for the most demanding of applications
APACHE-2.0 License
Bot releases are visible (Hide)
Published by over 3 years ago
The current mode for handling too much backpressure (maxBackpressure) is to skip sending more. This works fine for application protocols that have no hard dependency on history, but silently breaks those who do.
Published by over 3 years ago
The server can now initiate a "Connection: close" procedure even if the client didn't. This can be used to refuse large Http bodies while still properly responding (before getting all data). This was possible before only with unreliable hacks but is now implemented correctly as the second argument to HttpResponse::end.
Published by over 3 years ago
Published by almost 4 years ago
Published by almost 4 years ago
Published by almost 4 years ago
Published by about 4 years ago
Apparently the added QueryParser of v18.14.0 had multiple definition flaws that have now been fixed and will build properly.
Published by about 4 years ago
Published by about 4 years ago
Published by about 4 years ago
Adds App::missingServerName, App::addServerName and App::removeServerName for managing multiple certificates/configurations for SSL.
Fuzzing coverage is now about 95% overall for both uSockets and uWebSockets. This is a big improvement, esp. for uSockets coverage.
Published by about 4 years ago
OSS-Fuzz is now reporting 99.5% function coverage and ~94% region coverage. Furthermore there is now fuzzing of large parts of uSockets thanks to libEpollFuzzer - about 80% of non-SSL use. Overall this is a major improvement in fuzzing coverage and has led to new bugs being discovered and fixed.
Published by about 4 years ago
HttpResponse::onWritable
, HttpResponse::getWriteOffset
and HttpResponse::tryEnd
will now take size_t
instead of int
wherever size is communicated. This breaks API slightly but allows streaming files larger than 2GB.
Published by over 4 years ago
Published by over 4 years ago
The library will now report more meaningful reasons when internally closing a WebSocket:
Published by over 4 years ago
Published by over 4 years ago
Published by over 4 years ago
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.
Published by over 4 years ago
Published by over 4 years ago
Published by over 4 years ago
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.