- Update to version 0.7.0 * MINOR BREAKING SOCKET POLICY CHANGE: Asio transport socket policy method cancel_socket will now return lib::asio::error_code instead of void. Custom Asio transport socket policies will need to be updated accordingly. This does not affect anyone using the bundled socket policies. * Feature: Basic support for the permessage-deflate extension. * Feature: Allow accessing the local endpoint when using the Asio transport. This allows inspection of the address and port in cases where they are chosen by the operating system rather than the user. * Feature: Add support for subprotocols in Hybi00. * Improvement: Better automatic std::chrono feature detection for Visual Studio * Improvement: Major refactoring to bundled CMake build system. CMake can now be used to build all of the examples and the test suite. * Improvement: In build environments where lib::error_code and lib::asio::error_code match (such as using boost::asio with boost::system_error or standalone asio with std::system_error, transport errors are passed through natively rather than being reported as a translated pass_through error type. * Improvement: Add a get_transport_error method to Asio transport connections to allow retrieving a machine readable native transport error. * Improvement: Add connection::get_response, connection::get_response_code, and connection::get_response_msg methods to allow accessing additional information about the HTTP responses that WebSocket++ sends. * Improvement: Removes use of empty strings ("") in favor of string::clear() and string::empty(). This avoids generating unnecessary temporary objects. * Documentation: Adds an example demonstrating the use of external io_service * Documentation: Adds a simple echo_client example. * Documentation: Begins migration of the web based user manual into Doxygen. * Bug: Fix memory leak when init_asio produces an error. * Bug: Fix crash when processing a specially crafted HTTP header. * Bug: Fix an issue where standalone Asio builds that use TLS would not compile due to lingering boost code. * Bug: Fix an issue where canceling a socket could throw an exception on some older Windows XP platforms. It now prints an appropriate set of log messages instead. * Bug: Fix an issue where deferred HTTP connections that start sending a very long response before their HTTP handler ends would result in a second set of HTTP headers being injected into the output. * Bug: Fix an issue where the wrong type of strand was being created. * Bug: Fix an issue where TLS includes were broken for Asio Standalone builds. * Bug: Remove the use of cached read and write handlers in the Asio transport. This feature caused memory leaks when the io_service the connection was running on was abruptly stopped. There isn't a clean and safe way of using this optimization without global state and the associated locks. The locks perform worse. * Bug: Fix a heap buffer overflow when checking very short URIs. * Compatibility: Fixes a number of build & config issues on Visual Studio 2015. * Compatibility: Removes non-standards compliant masking behavior. * Compatibility: Replace deprecated use of auto_ptr on systems where unique_ptr is available.
- use individual libboost-*-devel packages instead of boost-devel
- Update to version 0.6.0 * MINOR BREAKING TRANSPORT POLICY CHANGE: Custom transport policies will now be required to include a new method void set_uri(uri_ptr u). An implementation is not required. The stub transport policy includes an example stub method that can be added to any existing custom transport policy to fulfill this requirement. This does not affect anyone using the bundled transports or configs. * MINOR BREAKING SOCKET POLICY CHANGE: Custom asio transport socket policies will now be required to include a new method void set_uri(uri_ptr u). Like with the transport layer, an implementation is not required. This does not affect anyone using the bundled socket policies. * MINOR BREAKING DEPENDENCY CHANGE: When using Boost versions greater than or equal to 1.49 in C++03 mode, libboost-chrono is needed now instead of libboost-date_time. Users with C++11 compilers or using Boost versions 1.48 and earlier are not affected. Note: This change affects the bundled unit test suite. * Feature: WebSocket++ Asio transport policy can now be used with the standalone version of Asio (1.8.0+) when a C++11 compiler and standard library are present. This means that it is possible now to use WebSocket++'s Asio transport entirely without Boost. Fixes #324 * Feature: Adds a vectored/scatter-gather write handler to the iostream transport. * Feature: Adds the ability to defer sending an HTTP response until sometime after the http_handler is run. This allows processing of long running http handlers to defer their response until it is ready without blocking the network thread. references #425 * Improvement: echo_server_tls has been update to demonstrate how to configure it for Mozilla's recommended intermediate and modern TLS security profiles. * Improvement: endpoint::set_timer now uses a steady clock provided by boost::chrono or std::chrono where available instead of the non-monotonic system clock. Thank you breyed for reporting. fixes #241 * Improvement: Outgoing TLS connections to servers using the SNI extension to choose a certificate will now work. Fixes #400 * Improvement: Removes an unnecessary mutex lock in get_con_from_hdl. * Cleanup: Asio transport policy has been refactored to remove many Boost dependencies. On C++03 compilers the boost::noncopyable dependency has been removed and the boost::date_time dependency has been replaced with the newer boost::chrono when possible. On C++11 compilers the boost::aligned_storage and boost::date_time dependencies are gone, replaced with equivalent C++11 standard library features. * Bug: Fixes a potential dangling pointer and inconsistent error message handling in websocketpp::exception. #432 - Changes from version 0.5.1 * Bug: Fixes an issue where some frame data was counted against the max header size limit, resulting in connections that included a lot of frame data immediately after the opening handshake to fail. * Bug: Fix a typo in the name of the set method for max_http_body_size. #406 - Changes from version 0.5.0 * BREAKING UTILITY CHANGE: Deprecated methods http::parser::parse_headers, http::response::parse_complete, and http::request::parse_complete have been removed. * Security: Disabled SSLv3 in example servers. * Feature: Adds basic support for accessing HTTP request bodies in the http handler. #181 * Feature: Adds the ability to register a shutdown handler when using the iostream transport. This provides a clean interface for triggering the shut down of external sockets and other cleanup without hooking in to higher level WebSocket handlers. * Feature: Adds the ability to register a write handler when using the iostream transport. This handler can be used to handle transport output in place of registering an ostream to write to. * Feature: Adds a new logging policy that outputs to syslog. #386 * Improvement: Message payload logging now prints text for text messages rather than binary. * Improvement: Overhaul of handshake state machine. Should make it impossible for exceptions to bubble out of transport methods like io_service::run. * Improvement: Overhaul of handshake error reporting. Fail handler error codes will be more detailed and precise. Adds new [fail] and [http] logging channels that log failed websocket connections and successful HTTP connections respectively. A new aggregate channel package, alevel::access_core, allows enabling connect, disconnect, fail, and http together. Successful HTTP connections will no longer trigger a fail handler. * Improvement: Ability to terminate connection during an http handler to cleanly suppress the default outgoing HTTP response. * Documentation: Add Sending & Receiving Messages step to chapter one of the utility_client tutorial. Update utility_client example to match. * Cleanup: Removes unused files & STL includes. Adds required STL includes. Normalizes include order. * Bug: Fixes a fatal state error when a handshake response is completed immediately after that handshake times out. #389 * Bug: MinGW fixes; C++11 feature detection, localtime use. #393 * Bug: Fixes an issue where websocketpp::exception::what() could return an out of scope pointer. #397 * Bug: Fixes an issue where endpoints were not reset properly after a call to endpoint::listen failed. #390
- update to 0.4.0 - Breaking API changes: + All methods now throw websocketpp::exception + Custom logging policies have some new required constructors - Breaking utility changes: + websocketpp::lib::net::htonll and websocketpp::lib::net::ntohll have been prefixed with an underscore to avoid conflicts + signature changes to base64_encode, sha1::calc - New Features: + Adds incomplete minimal_server and minimal_client configs - Bug and compatibility fixes - use cmake macros - clean spec file
- run format_spec - update to 0.3.0 final - use proper group - fix build on openSUSE 12.3
- created package (based on a Fedora package by Thomas Sailer)