Changelog History
Page 1
-
v18.17.0 Changes
December 03, 2020๐ Multipart parser and other fixes
- Introduces support for parsing multipart POSTs in an efficient and simple way. Runs about 155x faster than Node.js alternatives - especially on parts larger than a few hundred kilobytes.
- The library now compiles without any warnings using -Wall -Wextra -Wpedantic -Wsign-conversion -Wconversion on both GCC and Clang. Hundreds of (non-default) warnings have been fixed in this release and from now we aim to keep things pedantically clean.
- ๐ Fixes a permessage-deflate regression introduced in v0.17.4.
- ๐ Fixes parsing bugs when compiling using WITH_PROXY=1 (introduced in v18.1.0).
-
v18.15.0 Changes
September 30, 2020๐ Build fixes
๐ Apparently the added QueryParser of v18.14.0 had multiple definition flaws that have now been fixed and will build properly.
-
v18.14.0 Changes
September 28, 2020getQuery with key
- HttpRequest::getQuery now takes (optional) key and returns the URI-decoded value if present in the querystring.
- โ Fuzz test for QueryParser added, with dictionary.
- Make sure to use this feature when possible, as decodeURIComponent is roughly 400x slower.
-
v18.13.0 Changes
September 06, 2020๐ Fixes
- ๐ A particular edge case causing stack buffer overflow of "triggered topics" was found by fuzzing, and has been fixed.
- ๐ The newly added ServerName example caused a drop in reported code quality due to a pedantic alert, which has been fixed.
-
v18.12.0 Changes
September 05, 2020Server Name Indication (and more fuzzing)
โ 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.
-
v18.11.0 Changes
August 12, 2020Improving fuzzing coverage and fixing bugs
๐ 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.
- ๐ TopicTree has seen two bug fixes; one stack overflow when trimming large trees, and one CPU hang when publishing to a large tree using wildcards (which is ill-use according to MQTT).
- Minor misuse of HTTP header BloomFilter has been corrected.
-
v18.10.0 Changes
July 29, 2020Larger HTTP streams
HttpResponse::onWritable
,HttpResponse::getWriteOffset
andHttpResponse::tryEnd
will now takesize_t
instead ofint
wherever size is communicated. This breaks API slightly but allows streaming files larger than 2GB. -
v18.9.0 Changes
July 02, 2020๐ Fixes
- โก๏ธ Updates fuzzing targets for uSockets 0.5.0
- Minor permessage-deflate tweaks, server_max_window_bits
- โ Removes unused debug remnants
-
v18.8.0 Changes
June 27, 2020Meaningful close reasons
The library will now report more meaningful reasons when internally closing a WebSocket:
- Close code 0 is never reported; instead the standard 1005 code will be used to denote missing close code
- Close code 1006 is now accompanied with a meaningful text reason such as "Message too big" or "WebSocket timed out".
-
v18.7.0 Changes
June 26, 2020๐ Fixes
- ๐ป Shutting down a WebSocket in the open handler would send WebSocket FIN, but not TCP FIN, causing minor incompatibilities with the Chrome browser.
- AsyncSocket::getBufferedAmount is now unsigned