WebSocket++ v0.8.0 Release Notes
Release Date: 2018-07-12 // almost 6 years ago-
- 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 ofinit_asio
rather than connectionpre_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 toendpoint::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
andstd::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 ofwebsocketpp::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.
- Examples : Add