Skip to content
This repository has been archived by the owner on Jun 12, 2018. It is now read-only.

Releases: eidheim/Simple-WebSocket-Server

v2.0.0-rc3

25 Nov 11:31
Compare
Choose a tag to compare

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 and Server::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:: and WsClient::config

v2.0.0-rc2

31 Jul 07:06
Compare
Choose a tag to compare
v2.0.0-rc2 Pre-release
Pre-release

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

30 Jul 10:06
Compare
Choose a tag to compare
v2.0.0-rc1 Pre-release
Pre-release

Breaking changes:

  • SocketServer::Connection::path is now split into path and query_string. This means that for instance auto server.endpoint["^/echo$"] will match both GET /echo HTTP/1.1 and GET /echo?a=b HTTP/1.1 requests.
  • SocketServer::send has been moved to SocketServer::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 and SocketServer::stop now closes current connections

v1.3.1

10 Jun 09:34
Compare
Choose a tag to compare

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

14 Dec 17:26
Compare
Choose a tag to compare

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

v1.2.4

08 Jan 08:54
Compare
Choose a tag to compare

Fixes a segmentation fault when a client disconnect abnormally without close.

v1.2.3

20 Dec 09:40
Compare
Choose a tag to compare
  • Fixes crash when sending multiple messages and client disconnects before all messages are received (the connection objects are kept alive till send_from_queue is finished)

v1.2.2

09 Dec 13:57
Compare
Choose a tag to compare

Most significant improvements:

  • Compiles with gcc4.8
  • Added configuration options
  • Bugfixes when receiving nonstandard requests

v1.2.1

02 Nov 08:45
Compare
Choose a tag to compare

Major bugfix: no more interleaving messages when sending multiple messages to the same server or client. This previously could lead to corrupted messages.

v1.2

08 Sep 08:40
Compare
Choose a tag to compare
Moved boost::asio::strand.