Skip to content

WebSocket++/0.8.0

Compare
Choose a tag to compare
@zaphoyd zaphoyd released this 12 Jul 12:58
· 20 commits to master since this release
  • Examples: Add print_client example. This demonstrates a minimal non-TLS
    client that connects to a server and prints out the messages it receives.
  • Examples: Add print_client_tls example. This demonstrates a minimal TLS
    client, including basic support via Asio+OpenSSL for certificate chain
    and hostname verification.
  • Feature: Add getter for all headers to the HTTP parsers. This allows a
    wrapping library to enumerate all headers to send upstream. Thank you Jupp
    Müller for reporting and an initial pull request.
  • Improvement: Move the socket_init_handler to execute as a part of init_asio
    rather than connection pre_init. This allows setting of socket options prior
    to the bind/listen/accept system calls. Thank you ChristianRobl3D for
    reporting #530.
  • Improvement: Timers in transport integration tests should only fail if their
    own test times out, rather than any test. #643 Thank you Alex Korotkin for
    reporting and a patch.
  • Improvement: Preserve transport layer error codes in more cases, particularly
    during calls to endpoint::listen. #652 Thank you vadz for reporting and
    patches.
  • Compatibility: Make sure the chrono library used by Boost/Asio is in sync
    with what the websocketpp is using. Thank you Flow86 for reporting and a
    patch.
  • Compatibility: Update telemetry_client to use a slightly more cross platform
    method of sleeping. Should work on windows now. Thank you Meir Yanovich for
    reporting.
  • Compatibility: Updated permessage-deflate support to reflect that the zlib
    library does not actually support a sliding window size of 256 bits.
    WebSocket++ will no longer negotiate 256 bit deflate windows. If the user
    of the library tries to request a 256 bit window a 512 bit window will be
    specified instead (This was the previous behavior). #596 #653 Thank you
    Vinnie Falco and Gianfranco Costamagna for reporting.
  • Compatibility: Better error handling and logging in cases where extension
    requests parse correctly but negotiation fails.
  • Compatibility: Removed custom handling of SSL_R_SHORT_READ error condition.
    This error code no longer exists in modern versions of OpenSSL and causes
    a build error. It wasn't being used for anything particularly important
    (slightly improving error reporting) and there isn't a great replacement.
    #599 Thank you Gianfranco Costamagna for reporting.
  • Compatibility: Add missing <stdint> headers. Fixes issues with g++ 5.4.0.
    #638 Thank you Alex Korotkin for reporting and a patch.
  • Compatibility: Remove the use of std::auto_ptr and std::binary_function
    from builds with C++11 or later. These features are deprecated and were
    removed entirely in C++17. This change allows building WebSocket++ on
    C++17 compilers. #592 Thank you Michal Fojtak for reporting and a patch
  • Compatibility: Add 1014 close code and adds missing descriptions for codes
    1012 and 1013. #589 Thank you jbwdevries and ronneke1996 for reporting and
    patches.
  • Compatibility: Add hooks to support mingw-std-threads C++11 thread and mutex
    polyfill library as an alternative to Boost. #608 Thank you Peter Taylor for
    reporting and an initial patch.
  • Compatibility: Changed the handshake connection token to 'Upgrade' from
    'upgrade'. Technically this header is supposed to be processed case
    insensitively. In practice, there are browsers (such as Edge) that don't do
    this and they tend to use the uppercase value used as an example in RFC6455.
    Thank you Johann Bauer for reporting and a patch. #727
  • Bug: Store loggers in shared pointers to avoid crashes related to connections
    trying to write logs entries after their respective endpoint has been
    deallocated. Thank you Thalhammer for reporting and Jupp Müller for the
    patch. #539 #501
  • Bug: Change default listen backlog from 0 to socket_base::max_connections.
    #549. Thank you derwassi and zwelab for reporting and na1pir for providing
    access to hardware to debug the issue.
  • Bug: Fix a crash in the accept loop when get_connection fails. #551 Thank you
    Walter Gray for a patch.
  • Bug/Documentation: Fix incorrect example code that used
    websocketpp::lib::error_code instead of websocketpp::exception. Thank you
    heretic13 for reporting
  • Bug: Fix uninitialized shared pointer in Asio transport test suite. #647
    Thank you Alex Korotkin for reporting and a patch.
  • Bug: Fix a thread safety issue in the permessage-deflate extension that
    caused message corruption when sending compressed messages from a different
    thread than the main I/O thread. #615 Thank you KyleNyenhuis and Pieter De
    Gendt for reporting and a patch.
  • Bug: Fix an undefined behavior issue performing a 64 bit wide shift on a 64
    bit value. #636 Thank you Gregor Jasny for reporting and a patch
  • Bug: Fix some compile issues with ASIO_STANDALONE. #662 #665 Thank you
    chronoxor and Guillaume Egles for reporting and patches.