All Versions
11
Latest Version
Avg Release Cycle
81 days
Latest Release
2676 days ago

Changelog History
Page 1

  • v2.0.0 Changes

    November 25, 2017

    💥 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-rc3 Changes

    November 25, 2017

    💥 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 Changes

    July 31, 2017

    💥 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 Changes

    July 30, 2017

    💥 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 Changes

    June 10, 2017

    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 Changes

    December 14, 2016

    🔒 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 Changes

    January 08, 2016

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

  • v1.2.3 Changes

    December 20, 2015
    • 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 Changes

    December 09, 2015

    Most significant improvements:

    • Compiles with gcc4.8
    • ➕ Added configuration options
    • 🛠 Bugfixes when receiving nonstandard requests
  • v1.2.1 Changes

    November 02, 2015

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