This repository has been archived by the owner on Jun 12, 2018. It is now read-only.
Releases: eidheim/Simple-WebSocket-Server
Releases · eidheim/Simple-WebSocket-Server
v2.0.0-rc3
Breaking changes:
- Removed
::SendStream::consume
since users should create a new SendStream instead of using this function - Removed
::Connection::send(const std::string&,)
convenience function in preparation for a better solution Server::Request::remote_endpoint_address
andServer::Request::remote_endpoint_port
are now functions to reduce unnecessary instructions. Also fixed issue with the
previous variables that were not correctly set.
Notable changes:
- Added and resolved gcc and clang
-Wsign-conversion
warnings - Added client support for Server Name Indication
- Implemented timeouts for SocketClient
- All boost dependencies should now be removed when using standalone asio
- Added
Client::Config::header
for cases where additional header fields are needed for the handshake - Clients now accepts 101 status codes in the handshake response without checking the status code text. This resolves the issue of different servers responding with different status code texts.
- Modernized all CMakeLists.txt files, and made it easier to use
Simple-WebSocket-Server as a sub-project - Added MSVC support to cmake files (not tested). Some tests are disabled due to
lacking MSVC options. - Can now set maximum message size in
WsServer::
andWsClient::config
v2.0.0-rc2
Breaking change:
- To reduce memory consumption and copying when sending the same message to several connections,
SocketServer::Connection::send
no longer consumes the buffer. The examples have been simplified according to this change.
v2.0.0-rc1
Breaking changes:
- SocketServer::Connection::path is now split into path and query_string. This means that for instance auto
server.endpoint["^/echo$"]
will match bothGET /echo HTTP/1.1
andGET /echo?a=b HTTP/1.1
requests. SocketServer::send
has been moved toSocketServer::Connection::send
- Deprecated functions has been removed
- Added
SocketClient::Connection
parameter to SocketClient's on_* functions
Notable changes:
- Standalone Asio is now supported
- Handlers are now safely canceled on Client and Server destruction. This is especially useful when using an external io_service
- Added convenience
SocketServer::Connection::Send(const std::string &, ...)
function - Reformatting of the source code
- Added
utility.hpp
- Added function for query string parsing
SocketClient::stop
andSocketServer::stop
now closes current connections
v1.3.1
Various cleanups and improvements, most notably:
- Added client verification when a verify file is passed to SocketServer
- Added session_id_context for session reuse
- Cleanup and additions to Crypto
- Cleanup of server-constructors. Previous constructors have been marked as deprecated
- Renamed onopen to on_open, onmessage to on_message, onclose to on_close, and onerror to on_error. Old variables are marked as deprecated
- Header fields is now stored in unordered_multimap
- Made header parameters case insensitive
- Added possibility to upgrade a request from an external service to a websocket connection
v1.3
Important: Security fix for Client: added host verification
Other improvements:
- Added tcp no_delay socket option
- Added io_test and CI
- Changed class visibility from private to protected
- Force tlsv12 in SocketClient
- Fixed a bug on 32-bit system when processing larger messages
- get_connections now returns an unordered_set instead of set
- Fewer copies of shared_ptr objects
- Can now replace or set boost::asio::io_service
- Using std::regex if possible
- Now passing client errors to onerror
- Fixed Crypto::Base64::encode for newer OpenSSL versions
- Various minor bug fixes