Release 1.3.3
Summary of Changes
- Threads now have optional user-settable stack size (if the OS supports that feature)
- Events now support simplified delegate syntax based on delegate function template. See Poco::AbstractEvent documentation for new syntax.
- Cache supports new access expire strategy.
- Upgraded to SQLite 3.6.2
- Upgraded to PCRE 7.8
- added HttpOnly support to Poco::Net::HTTPCookie
- NetworkInterface now has displayName() member (useful only on Windows)
- Poco::Util::WinRegistryKey now has a read-only mode
- Poco::Util::WinRegistryKey::deleteKey() can now recursively delete registry keys
- Poco::File::created() now returns 0 if the creation date/time is not known, as it's the case on most Unix platforms (including Linux). On FreeBSD and Mac OS X, it returns the real creation time.
- Time interval based log file rotation (Poco::FileChannel) now works correctly. Since there's no reliable and portable way to find out the creation date of a file (Windows has the tunneling "feature", most Unixes don't provide the creation date), the creation/rotation date of the log file is written into the log file as the first line.
- added Environment::nodeId() for obtaining the Ethernet address of the system (this is now also used by UUIDGenerator - the corresponding code from UUIDGenerator was moved into Environment)
- added a release policy argument to SharedPtr template
- Socket::select() will no longer throw an InvalidArgumentException on Windows when called with no sockets at all. If all three socket sets are empty, Socket::select() will return 0 immediately.
- SocketReactor::run() now catches exceptions and reports them via the ErrorHandler.
- SocketReactor has a new IdleNotification, which will be posted when the SocketReactor has no sockets to handle.
- added referenceCount() method to Poco::SharedPtr.
- POCO now builds with GCC 4.3 (but there are some stupid warnings: "suggest parentheses around && within ||".
- Solution and project files for Visual Studio 2008 are included
- fixed SF# 1859738: AsyncChannel stall
- fixed SF# 1815124: XML Compile failed on VS7.1 with XML_UNICODE_WCHAR_T
- fixed SF# 1867340: Net and NetSSL additional dependency not set - ws2_32.lib
- fixed SF# 1871946: no exception thrown on error
- fixed SF# 1881113: LinearHashTable does not conform to stl iterators
- fixed SF# 1899808: HTMLForm.load() should call clear() first
- fixed SF# 2030074: Cookie problem with .NET server
- fixed SF# 2009707: small bug in Net/ICMPPacketImpl.cpp
- fixed SF# 1988579: Intel Warning: invalid multibyte character sequence
- fixed SF# 2007486: Please clarify license for Data/samples/*
- fixed SF# 1985180: Poco::Net::DNS multithreading issue
- fixed SF# 1968106: DigestOutputStream losing data
- fixed SF# 1980478: FileChannel loses messages with "archive"="timestamp"
- fixed SF# 1906481: mingw build WC_NO_BEST_FIT_CHARS is not defined
- fixed SF# 1916763: Bug in Activity?
- fixed SF# 1956300: HTTPServerConnection hanging
- fixed SF# 1963214: Typo in documentation for NumberParser::parseFloat
- fixed SF# 1981865: Cygwin Makefile lacks ThreadTarget.cpp
- fixed SF# 1981130: pointless comparison of unsigned integer with zero
- fixed SF# 1943728: POCO_APP_MAIN namespace issue
- fixed SF# 1981139: initial value of reference to non-const must be an lvalue
- fixed SF# 1995073: setupRegistry is broken if POCO_WIN32_UTF8 enabled
- fixed SF# 1981125: std::swap_ranges overloading resolution failed
- fixed SF# 2019857: Memory leak in Data::ODBC Extractor
- fixed SF# 1916761: Bug in Stopwatch?
- fixed SF# 1951443: NetworkInterface::list BSD/QNX no netmask and broadcast addr
- fixed SF# 1935310: Unhandled characters in Windows1252Encoding
- fixed SF# 1948361: a little bug for win32
- fixed SF# 1896482: tryReadLock intermittent error
- workaround for SF# 1959059: Poco::SignalHandler deadlock the SignalHandler can now be disabled globally by adding a #define POCO_NO_SIGNAL_HANDLER to Poco/Config.h
- fixed SF# 2012050: Configuration key created on read access
- fixed SF# 1895483: PCRE - possible buffer overflow
- fixed SF# 2062835: Logfile _creationDate is wrong
- fixed SF# 2118943: out_of_bound access in Poco::Data::BLOB:rawContent
- fixed SF# 2121732: Prevent InvalidArgumentException in SocketReactor
- fixed SF# 1891132: Poco::Data::StatementImpl::executeWithLimit is not correct
- fixed SF# 1951604: POCO refuses to compile with g++ 4.3.0
- fixed SF# 1954327: CYGWIN's pthread does not define PTHREAD_STACK_MIN
- fixed SF# 2124636: Discrepancy between FileWIN32(U)::handleLastError
- fixed SF# 1558300: MinGW/MSYS Builds
- fixed SF# 2123266: Memory leak under QNX6 with dinkum library
Release 1.3.2
Summary of Changes
- added POCO_NO_SHAREDMEMORY to Config.h
- POCO_NO_WSTRING now really disables all wide string related calls
- added template specialization for string hashfunction (performance)
- XML parser performance improvements (SAX parser is now up to 40 % faster
- added parseMemoryNP() to XMLReader and friends
- URIStreamOpener improvement: redirect logic is now in URIStreamOpener. this enables support for redirects from http to https.
- added support for temporary redirects and useproxy return code
- added getBlocking() to Socket
- added File::isHidden()
- better WIN64 support (AMD64 and IA64 platforms are recognized)
- added support for timed lock operations to [Fast]Mutex
- SharedLibrary: dlopen() is called with RTLD_GLOBAL instead of RTLD_LOCAL (see http://gcc.gnu.org/faq.html#dso)
- Poco::Timer threads can now run with a specified priority
- added testcase for SF# 1774351
- fixed SF# 1784772: Message::swap omits _tid mem
- fixed SF# 1790894: IPAddress(addr,family) doesn't fail on invalid address
- fixed SF# 1804395: Constructor argument name wrong
- fixed SF# 1806807: XMLWriter::characters should ignore empty strings
- fixed SF# 1806994: property application.runAsService set too late
- fixed SF# 1828908: HTMLForm does not encode '+'
- fixed SF# 1831871: Windows configuration file line endings not correct.
- fixed SF# 1845545: TCP server hangs on shutdown
- fixed SF# 1846734: Option::validator() does not behave according to doc
- fixed SF# 1856567: Assertion in DateTimeParser::tryParse()
- fixed SF# 1864832: HTTP server sendFile() uses incorrect date
- HTTPServerResponseImpl now always sets the Date header automatically in the constructor.
- fixed SF# 1787667: DateTimeFormatter and time related classes (also SF# 1800031: The wrong behavior of time related classes)
- fixed SF# 1829700: TaskManager::_taskList contains tasks that never started
- fixed SF# 1834127: Anonymous enums in Tuple.h result in invalid C++
- fixed SF# 1834130: RunnableAdapter::operator= not returning a value
- fixed SF# 1873924: Add exception code to NetException
- fixed SF# 1873929: SMTPClientSession support for name in sender field
- logging performance improvements (PatternFormatter)
- fixed SF# 1883871: TypeList operator < fails for tuples with duplicate values
- CYGWIN build works again (most things work but Foundation testsuite still fails)
- new build configuration for Digi Embedded Linux (ARM9, uclibc)
- new build configuration for PowerPC Linux
Release 1.3.1
Summary of Changes
- DynamicAny fixes for char conversions
- fixed SF# 1733362: Strange timeout handling in SocketImpl::poll and Socket::select
- fixed SF patch# 1728912: crash in POCO on Solaris
- fixed SF# 1732138: Bug in WinRegistryConfiguration::getString
- fixed SF# 1730790: Reference counting breaks NetworkInterface::list()
- fixed SF# 1720733: Poco::SignalHandler bug
- fixed SF# 1718724: Poco::StreamCopier::copyStream loops forever
- fixed SF# 1718437: HashMap bug
- changed LinearHashTable iterator implementation. less templates -> good thing.
- fixed SF# 1733964: DynamicAny compile error
- UUIDGenerator: fixed infinite loop with non ethernet interfaces
- updated expat to 2.0.1
- fixed SF# 1730566: HTTP server throws exception
- Glob supports symbolic links (additional flag to control behavior)
- fixed a problem with non blocking connect in NetSSL_OpenSSL (see http://www.appinf.com/poco/wiki/tiki-view_forum_thread.php?comments_parentId=441&topics_threshold=0&topics_offset=29&topics_sort_mode=commentDate_desc&topics_find=&forumId=6)
- fixed a problem with SSL renegotiation in NetSSL_OpenSSL (thanks to Sanjay Chouksey for the fix)
- fixed SF# 1714753: NetSSL_OpenSSL: HTTPS connections fail with wildcard certs
- HTTPClientSession: set Host header only if it's not already set (proposed by EHL)
- NetworkInterface (Windows): Loopback interface now has correct netmask; interfaces that do not have an IP address assigned are no longer reported.
- Fixes for VC++ W4 warnings from EHL
- SharedMemory: first constructor has an additional "server" parameter Setting to true does not unlink the shared memory region when the SharedMemory object is destroyed. (Alessandro Oliveira Ungaro)
- fixed SF# 1768231: MemoryPool constructor
Release 1.3.0
Release 1.3 of the POCO C++ Libraries contains major improvements and new features throughout all libraries.
Summary of Changes
Incompatible Changes and Possible Transition Issues
The (now deprecated) Poco::HashFunction class template has been changed in an incompatible way. The member function formerly named hash() is now the function call operator. If you have defined your own HashFunction classes, you have to update your code. Sorry for the inconvenience.
On Windows, POCO now builds with Unicode/UTF-8 support (POCO_WIN32_UTF8) enabled by default. If you need the previous (1.2) behavior, remove the corresponding #define from Poco/Config.h