- fixed SF# 1549513: MultipartReader does not work with Unix-style linefeeds
- MailMessage and HTMLForm: processing of multipart messages will no longer fail if a PartHandler does not read all data from the part stream.
- added additional test case (Unix-style line ends) to MultipartReaderTest
Release 1.2.1 (2006-08-29)
==========================
- fixed Config.h header (no more #undefs)
Release 1.2.0 (2006-08-29)
==========================
- DateTime fixes: Julian Day is no longer stored internally.
Times (hours, minutes, seconds, ...) are now always taken from an utcValue (if available) and not from the Julian day.
The Julian day is only used for calculating year, month and day (except when the Julian day is the only thing we have)
This helps us get rid of rounding errors that the Julian Day arithmetic introduced.- on Windows, UUIDGenerator no longer uses Netbios, but GetAdaptersInfo instead
- The main Makefile now has correct dependencies
- updated poco-doc.pl with latest version by Caleb Epstein
- fixed SF #1542722: InflatingInputStream: buffer error
- improved Windows UTF-8 support
- added Logger::names()
- added configure script and make install target
- XMLWriter bugfix: pretty-print bug with characters() and rawCharacters()
- improvements to build system: support builds outside of source tree
- added header doc conversion tool contributed by Caleb Epstein
- fixed SF #1542618 (build/config/Linux patch)
- bugfix: BinaryReader/BinaryWriter BOM is now 16 bits, as documented
- fixed SF #1542247 (Compiler warning from OptionCallback)
- fixed SF #1542253 (ServerApplication::handleOption doesn't call Application::handleOption)
- added Application::stopOptionsProcessing()
- updated samples
- Util::Application command line handling now supports:
* argument validation (Option::validator(); see Validator, IntValidator, RegExpValidator)
* binding of argument values to config properties (Option::binding())
* callbacks for arguments (Option::callback())
* checking of required parameters
- changed header file locations:
Foundation headers are now in Poco (#include "Poco/Foundation.h")
XML headers are now in Poco/XML, Poco/SAX and Poco/DOM (#include "Poco/XML/XML.h")
Util headers are now in Poco/Util (#include "Poco/Util/Util.h")
etc.
Unfortunately, this change will break existing code. However, fixing the code is
a matter of a few global search/replace operations and can be done quickly.
On the plus side, POCO is now a much better citizen when used with other
libraries.
- changed namespaces:
Foundation is now Poco
XML is now Poco::XML
Util is now Poco::Util
Net is now Poco::Net
- removed namespace macros
- fixed some warnings reported by gcc -Wall -Wextra
- fixed AutoPtr and LayeredConfiguration documentation
- improved StreamSocket::receiveBytes() doc
- added Pipe and PipeStream classes
- added support for I/O redirection (pipes) to Process::launch()
- added LogStream class (ostream interface to Logger)
- improved Makefiles (no more double-building if clean all is specified)
- added CppUnit and DateTime testsuite contributions by Andrew Marlow
- improved Cygwin and minimal MinGW support
- FileChannel: gzip compression if archived files now runs in a background thread (SF #1537481)
- POCO now compiles with large (64-bit) file support on Linux (SF #1536634)
- bugfix: dangling symbolic links in a directory no longer cause recursive remove to fail with file not found error
- added Void class (useful as argument to ActiveMethod)
- ActiveResult now supports exceptions
- bugfix: Timezone::utcOffset() and Timezone::dst() returned wrong values on Unix platforms (SF #1535428)
- added ActiveDispatcher class
- added ActiveStarter class, which is a policy used by ActiveMethod for starting methods
- ActiveRunnable moved to its own header file
- ThreadPool: added startWithPriority(), which allows for running threads with a different priority
- added error handling to dir sample
- added additional test case to HTTPServer test suite- HTMLForm: should now work with request methods other than POST and GET (all non-POST requests are treated the same as GET)
- clarified HTMLForm documentation
- HTMLForm bugfix: uploaded files no longer end up in value; PartHandler is called instead
- improvements to namespaces handling in XMLWriter
- Foundation Cache: fixed add implementation to match the docu: a 2nd add will now simply overwrite existing entries
- added DateTime::isValid()
- added Exception::rethrow() (virtual, must be overridden by all subclasses)
- Timer can now use a user-supplied ThreadPool
- added rethrow() to exception classes
- Net: made some constructors explicit
- Net: added SocketAddress constructor to HTTPClientSession
- Net: added HTTPSession::networkException() to check for exceptions swallowed by stream classes
- Net: added single string argument constructor to SocketAddress.
- Net: improved HTTPClientSession error handling (no more "Invalid HTTP version string" exceptions when the server prematurely closes the connection due to too much load)
- Net: improved HTTPSession error handling. Exceptions while sending and receiving data are stored for later retrieval and no longer get lost since streambufs swallow them.
- Net: added HTTPLoadTest sample
- fixed a bug when opening logfiles on Unix platforms causing an existing logfile to be truncated
- bugfix: log file purge intervals given in months did not work, due to a stupid typo
- added RawSocket and ICMP classes
- UUID: fixed a doc formatting bug
- NetworkInterface::list() now includes loopback interface on Windows (SF #1460309)
- made Exception::message() and Exception::nested() inline
- added Net::UnsupportedRedirectException
- HTTPStreamFactory throws an UnsupportedRedirectException if it encounters a redirect to https
- HTTP: fixed bad 100 Continue handling in client and server code
- added CONTRIBUTORS file
Release 1.1.2 (2006-07-07)
==========================
- Changed license to Boost license
- DBlite and NetSSL have been removed from the Boost-licensed release.
Please contact Applied Informatics (info@appinf.com) if you're interested in them.
Release 1.1.1 (2006-04-03)
==========================
- NetSSL_OpenSSL now supports separate certificate verification
settings for client and server.
- fixed SF #1460309 (enumerating network interfaces failed on 64bit Linux)
- TCPServer no longer crashes if accept() fails
Release 1.1.0 (2006-03-23)
==========================
- events no longer require awkward += new syntax
- source code and documentation cleanups
- basic support for new compilers and platforms
Release 1.1b2 (2006-03-04)
==========================
- made NetSSL threadsafe (added locking callbacks for OpenSSL)
we do not recommend using this for production purposes)
- fixed two problems with out-of-range string iterator in Path (the testsuite triggered an assertion in VC++ 8.0)
- fixed mac line endings in a few files
- added a workaround to the class loader that fixes strange behavior with VC++ 8.0. There seems to be a problem with typeid() not returning a valid typeinfo under certain circumstances.
- added buffer allocator argument to buffered stream buffer templates
- added buffer pools to HTTP to reduce memory fragmentation and to improve performance
- added Net to Windows build.cmd script
- added swap() to various classes that already support assignment
- added a null pointer check in DOMWriter::writeNode()
- fixed documentation in BinaryWriter.h and BinaryReader.h
- added explicit support for network byte order to BinaryReader and BinaryWriter
- added basic support for FreeBSD (needs more testing)
- BinaryReader: renamed readRawData() to readRaw() to be consistent with BinaryWriter::writeRaw()
- added support for uppercase output to HexBinaryEncoder.
- added MediaType class
- added QuotedPrintableEncoder and QuotedPrintableDecoder classes
- renamed ObjectFactory to Instantiator. This should prevent the confusion caused by DynamicFactory and ObjectFactory. Sorry for the inconvenience if you are already using this.
- AttachmentSource::filename() now returns const string&
- added StringAttachmentSource
- replaced old-style C casts with C++ casts in NetworkInterface.cpp
- MutexImpl (WIN32): replaced InitializeCriticalSection with InitializeCriticalSectionAndSpinCount, which should increase performance on multiprocessor or multicore systems when many locks are used.
- fixed a problem with STLport 5.0 when compiling StreamTokenizer
- HTTPStreamOpener now also works with no-path URIs (like http://www.appinf.com)
- fixed wrong delete usage (plain delete instead of delete [] was used in a few cases)
- fixed a handle leak in WinTestRunner
Release 0.95.4 (2005-11-07)
===========================
- fixed #1348006 and #1348005
Release 0.95.3 (2005-10-28) [internal]
======================================
- updated build scripts (patch #1339015)
- added support for AMD64 platforms (patch #1339015)
- MultipartWriter creates its own boundary if an empty string is passed in as boundary
- made MultipartWriter::createBoundary() public
- fixed wrong documentation for DateTimeFormat::HTTP_FORMAT
- added support for HTTP Basic authentication
- added support for HTTP Cookies
- added support for HTML forms
Release 0.95.2 (2005-10-22) [internal]
======================================
- fixed a potential problems with streams when close in destructor fails (added try..catch block around close in destructors)
- added HTTPServer & friends
- added hasIdleThreads() method to NotificationQueue
- added TCPServer and friend
- added support for HTTP proxies to HTTPClientSession and HTTPStreamOpener