Version 1.0.8 (2008-12-17) ========================== * Various improvements to how docs are built/cleaned (379) Version 1.0.6 (2008-11-20) ========================== * Pruning orphaned connections (346) * Fixing auto generated INSTALL file (347) * Autoconf fixes (347) Version 1.0.4 (2008-10-16) ========================== * Cookie collection now case sensitive (500) * Added unit test and fixed bug when parsing query strings with "&&" (333) * Added HEADER_X_FORWARDED_FOR to HTTPTypes (318) * Added TCPConnection::connect() function that performs dns lookups (318) Version 1.0.0 (2008-09-12) ========================== * QueryService added, then removed, and placed into pion::platform * Update clear() function to clear all members() * Added test to see if base64 routines handle binary data in strings properly Version 0.6.0 (2008-08-29) ========================== * Fixed bug with the --disable-logging configure option breaking build (254) * Updated HTTPParser::parseCookieHeader() to be usable for char[] as well * Only HTML documentation is now build with Doxygen when using "make docs" Version 0.5.8 (2008-07-18) ========================== * Simplified HTTPParser class and eliminated some redundant code (240) * HTTPTypes::url_encoded() was not properly encoding space characters (239) * HTTPParser was not extracting POST query when charset is specified (243) * Unable to compile HTTPAuth code with log4cplus support (249) * TCPStream unit tests were occasionally failing (206) * Added --with-boost-extension option to Unix configure script (217) * Misc updates to get things building on gcc 4.2 and gcc 4.3 (241) Version 0.5.6 (2008-05-02) ========================== * Added support for user authentication using cookies and HTTP Basic-Auth * Added support to HTTPServer to redirect/rewrite HTTP requests internally * Updated HTTPRequest to track the original resource requested when redirected * Refactored PionScheduler so that two scheduling policies are now provided * Added PionLockedQueue and PionLockFreeQueue based on Michael & Scott's work * Added "make docs" Unix build option that uses Doxygen to build all the docs * Unix build scripts now support dynamic versions of the Boost.UnitTest libs * Boost 1.35.0 or later is now REQUIRED (it includes ASIO); see README.boost Version 0.5.4 (2008-03-07) ========================== * HTTPMessage header names now use case-insensitive comparisons (#79) * Fixed parsing errors when chunked content included extra whitespace (#73) * Fixed HTTP parsing errors when there was no "Content-Length" header (#78) * Fixed a bug that caused HTTPServer to not find resources correctly (#85) * HTTPServer now lets you bind any function object to resources (#69) * Moved plugins functionality from HTTPServer into a new WebServer class (#69) * PionScheduler is no longer a singleton; now is a member of TCPServer (#86) * PionScheduler can now be extended to provide alternative algorithms (#86) * Added TCPStream: a std::basic_iostream wrapper around TCPConnection * Added getRemotePort() and getRemoteEndpoint() members to TCPConnection * Web service plugins are now functions objects; no more handleRequest() * Moved web service plugins into the pion::plugins namespace Version 0.5.2 (2007-12-17) ========================== * Added support for parsing chunked HTTP requests and responses (#37) * Refactored PluginManager out of HTTPServer service management code (#62) Version 0.4.2 (2007-12-14) ========================== * OpenSSL functionality is now enabled for MSVC * PionCounter is now a thread-safe 64-bit integer counter * PionScheduler now uses boost::detail::atomic_count instead of PionCounter * Added unit tests and fixed some bugs related to sending chunked responses * Boost 1.34.1 and ASIO 0.3.9 are now REQUIRED; see README.boost Version 0.4.0 (2007-11-08) ========================== * Added support to send HTTP requests and parse responses; lots of refactoring * Added unit tests! Integrated into MSVC, or use "make check" for Unixes * The log4cxx library can now be used to build with MSVC (see README.msvc) * PionNetEngine singleton was removed; servers are now used independently * Added "writable" FileService option that lets you add, change & delete files * Servers can now be bound to any endpoints that are supported by ASIO * Added new PionCounter and PionScheduler classes to the Common Library * The WebService::handleRequest() function now returns void instead of bool * Renamed PionServerTest to PionHelloServer & PionServiceTest to PionWebServer * Improved performance and flexibility of Boost library detection in autoconf * Logging via std::ostream is now the default (see --disable-logging) * Logging via std::ostream now uses a globally-shared priority level * MSVC projects were failing to build if there were spaces in the path * Fixed various crashes that mainly occurred during shutdown in Windows * Boost 1.34.1 and ASIO 0.3.8 are now REQUIRED; see README.boost Version 0.3.4 (2007-10-12) ========================== * Renamed "libpion" to "Pion Network Library" (or "pion-net" for short) * Rearranged directories & files to separate out the "Pion Common Library" * Added support to HTTPResponse for sending chunked responses * Added new options to FileService: max_cache_size and max_chunk_size * Updated log4cxx support so that it works with both 0.9.7 and 0.10.x Version 0.3.2 (2007-09-14) ========================== * Added support for MSVC compiler (see builds/VC/libpion.vcproj file) * Added support for HTTP/1.1 pipelining (multiple requests in single packet) * Added support for linking static HTTP module libraries into programs * Added accessor functions for client IP address in HTTPRequest/TCPConnection * Moved more I/O logic into TCPConnection to cleanup SSL checks * Changed start() to startup() and stop() to shutdown() in PionEngine Version 0.2.4 (2007-09-05) ========================== * Fixed a bug in HTTPServer that caused it to not find some modules correctly * Removed writeNoCopy(const T& data) function since only strings make sense * Updated cookie parser to ignore garbage after quoted values * Updated build scripts so that they find Boost libs build with GCC 4.1 * Updated cygwin patches for Boost 1.34.1 Version 0.2.2 (2007-06-26) ========================== * Accept errors caused servers to stop listening for new connections Version 0.2.0 (2007-06-19) ========================== * Boost 1.34.0 and ASIO 0.3.8 are now REQUIRED; see README.boost * Lots of platform testing and better platform-specific documentation * Added support to FileModule for the "cache" and "scan" options * Added Last-Modified HTTP header to FileModule and support for client cache * Changed HTTPServer error handlers to use functions rather than modules * Re-worked PionPlugin library so that it handles reference counting internally * Added start() and stop() virtual functions to HTTPModule * Added beforeStarting() and afterStopping() virtual functions to TCPServer * Added PionHashMap.hpp for setting-up unordered map types * Added work-around for bug that causes Windows to crash @ shutdown Version 0.1.6 (2007-06-01) ========================== * Added support for HTTP module configuration files (see testmodules.conf) * Added support for parsing & setting cookies (Version 1, RFC 2109) * Added a CookieModule that displays and lets you add/delete cookies * Added LogModule that displays events when an external log library is used * Added support to FileModule for cygwin paths and "file" option * Added support for SSL/TLS using OpenSSL (must use --with-openssl) * Plug-ins now use pion_create_PLUGINNAME and pion_destroy_PLUGINNAME * Fixed bugs related to the parsing of request (POST) content Version 0.1.4 (2007-05-25) ========================== * Fixed miscellaneous bugs with the HTTPResponse class * Added support for parsing POST content, and GET and POST query parameters * Added support for passing configuration options to HTTP modules * Added EchoModule and FileModule, and stubs for LogModule * Added support for HTTP modules to be dynamically-loadable libraries * Added support for pkg-config (http://pkg-config.freedesktop.org/wiki/) * Moved around some of the source directories & renamed test programs * Added build support & documentation for FreeBSD, Solaris and Windows * Added Xcode project file for Mac OS X (you must still use "configure") Version 0.1.2 (2007-05-01) ========================== * Added support for log4cplus, log4cpp and std::ostream logging * Added more detailed build information for Linux and Mac OS X Version 0.1.0 (2007-04-30) ========================== * First alpha release with very basic functionality