All Versions
10
Latest Version
Avg Release Cycle
124 days
Latest Release
2713 days ago
Changelog History
Changelog History
-
v3.0.0-rc2 Changes
November 25, 2017๐ฅ Breaking change:
Server::Request::remote_endpoint_address
andServer::Request::remote_endpoint_port
๐ are now functions to reduce unnecessary instructions. Also fixed issue with the
previous variables that were not correctly set.
Noteworthy changes:
- ๐ Replaced readers-writer lock with a spinlock for stopping handlers
- โ Added noexcept keyword to functions
- โ Added gcc and clang flag
-Wsign-conversion
- โ Added client support for Server Name Indication
- ๐ Fully removed boost dependency when standalone ASIO is used
- โ Added
HttpHeader::parse
to utility.hpp - โ Added status code tests
- Modernized all CMakeLists.txt files, and made it easier to use
๐ Simple-Web-Server as a sub-project - โ Added
HttpHeader::FieldValue::SemicolonSeparatedAttributes::parse
. This
๐ function can be used to parse Set-Cookie and Content-Disposition header field
values - ๐ Fixed compilation issue on Debian Jessie when standalone ASIO is used
- ๐ Fixed compilation issue for systems using older versions of OpenSSL
- โก๏ธ Optimized the
status_code
-functions - โ Added MSVC support to cmake files (not tested). Some tests are disabled due to
lacking MSVC options. - โ Added chunked transfer encoding support for incoming requests to server, in
โ addition to cleanup of chunked transfer encoding functions. - Client can now send chunked transfer encoded content
-
v3.0.0-rc1 Changes
July 15, 2017๐ฅ Breaking changes:
- Server::Request::path is now split into path and query_string. This means that for instance server.resource["/info$"]["GET"] will match both GET /info HTTP/1.1 and GET /info?a=b HTTP/1.1 requests.
- ๐ Server::send has been moved to Server::Response::send
- ๐ Deprecated functions has been removed
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
- A major restructuring of the source code
- โ Added convenience write functions to Server::Response
- โ Added asynchronous client request functions
- ๐ Client now supports parallel requests
- Client now attempts to reconnect timed out connections
- โ Added convenience Client::Response::Content::string() function
- โ Added Status Code header with convenience functions to create and read status codes
- โ Added function to create query string in addition to query string parsing
- โ Added Client::stop
- Server::stop now closes current connections
-
v2.1.1 Changes
June 10, 2017Various improvements and cleanups, most notably:
- ๐ Fixed Client proxy requests
- โ Added client verification when a verify file is passed to Server
- Added session_id_context for session reuse
- Server errors are now passed to an on_error std::function if set
- โ Added crypto.hpp for convenient C++ wrappings for commonly used OpenSSL functions
- ๐ Cleanup of server-constructors. Previous constructors have been marked as deprecated
- โ Added on_upgrade std::function for cases where one wants to handle connection upgrades by another library, for instanace Simple-WebSocket-Server
- โฑ Timeout can now be set for Client requests
- ๐ Client now supports Connection: close
- โ Added support for request header Connection: keep-alive in Server
- Added Server::Request::parse_query_string()
-
v2.1 Changes
December 14, 2016๐ Important: security fix for Client: added host verification
Other improvements:
- โ Added threaded heavy work example
- โ Added io_test and CI
- โ Added install target
- Replaced class visibility private with protected
- ๐ฎ Force TLS 1.2
- โ Added exception handler to handle exception throws in Server
- Less copies of shared_ptr objects
- Possibility to set or reuse boost::asio_ioservice
- ๐ Use of std::regex with clang and g++ if possible
- ๐ Improvement of default_resource example
- โฑ Timeout can be set on client requests
- ๐ Various MSVS fixes
- โ Added proxy server support to Client
- ๐ Various minor bug fixes.
-
v2.0 Changes
June 29, 2016- Request handling is now asynchronous, and thus more flexible towards various threading strategies.
- โ Added extra warning flags
โก๏ธ This version is not backwards compatible with previous versions. See the updated examples.
-
v1.4.2 Changes
April 23, 2016- โ Added
Connection: close
request header support - HTTP headers are now case-insensitive
- 0๏ธโฃ Cleanup of default_resource example
- โ Added
-
v1.4.1 Changes
December 09, 2015Most significant improvements:
- Compiles with gcc4.8
- โ Added configuration options
- ๐ Bugfixes when receiving nonstandard requests
-
v1.4
September 08, 2015 -
v1.3.3
January 30, 2015 -
v1.3.2
November 02, 2014