Let HTTPServerResponse.switchProtocol return a ConnectionStream instead of just a Stream.
Don't try to cast the connection returned by HTTPServerResponse.switchProtocol to TCPConnection. Supposedly fixes #385.
Avoid use of deprecated features in the https_server example.
Avoid trying to write an error response to an already closed connection.
Don't free log messages returned by ERR_get_error_line_data. See #384.

It's not really clear from the OpenSSL docs, but it appears that OpenSSL always frees log messages by itself.
Avoid accessing a closed TCP connection when finalizing a request/response in the HTTP server.
Disable the stdout logger on Windows when no console is available to avoid access violations.
Add a mutex to HTTPLogger to avoid mixing lines with the new yield behavior of ThreadedFile.
Avoid access violation in ConnectionProxyStream.close(). See #384.
Suppress bogus "persistent connection timeout" debug log message.
Rewrite WebSocket to read messages in a background task and add WebSocket.waitForData(). Fixes #370. See also #384.
Add WebSocket example.
Implement missing method RedisClient.hset
Add HTTP redirection overloads taking a URL instead of a string.
Fix trailing slash for sliced paths.
Merge pull request #386 from moechofe/master

Implement missing method RedisClient.hset
Fix memory leak and keep-alive handling in HTTPClient.

The hash map that was used to store connection pools never found an existing key, so each HTTP request created a new connection pool. A fixed size ring buffer is now used to store connection pools.
Switch from version VibeNewSerialization to VibeOldSerialization (opt-in to opt-out).
Use GetStdHandle instead of GetConsoleWindow to determine if stdout/sterr can be used for logging.
Fix typo.