Two 0.3.x alpha releases have been made since the last update. No major features have been added. A few minor features have been added and many bugs have been fixed. Highlights of these are included below, the full release notes can be found in the repository itself as well as on the Change Log page.
- Removes dependency on boost/std <regex> library. This brings full C++11 compatibility to GCC 4.6+ and avoids the requirement of bundling the rather large boost regex binary for space constrained embedded applications.
- HTTP header processing case sensitivity has been reworked. Case used for reading headers is ignored per HTTP 1.1 spec. Case for headers you set will be preserved to help deal with other HTTP implementations that require certain cases.
- Bundled third party library licenses have been consolidated in the COPYING file. Sha1 library was replaced with a different one under a BSD license rather than a freeware license to address concerns about ambiguous license wording. All bundled libraries now use Expat MIT or BSD licensing.
- Asio transport introduces
stop_listenmethod to allow a server to stop accepting new connections.
- iostream transport introduces
fatal_errormethods to allow users of this transport to pass information about the connection through to the library.
- Updates close code types and validation based on recent updates to the IANA registry.
- Updates to asio transport thread safety and re-introduces strands to allow io_service thread pools to work again.
- Removes unused experimental code. This should reduce memory usage and improve performance, especially of creating and destroying connections.
Roadmap for 0.4.x
The alpha4 release today will likely be the last 0.3.x alpha. The next release will be tagged 0.4.x as there will be a few (very minor) breaking api changes.