mirror of
				https://github.com/Telecominfraproject/wlan-cloud-lib-poco.git
				synced 2025-11-04 04:28:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			1140 lines
		
	
	
		
			67 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1140 lines
		
	
	
		
			67 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
POCO C++ Libraries Release Notes
 | 
						|
AAAIntroduction
 | 
						|
 | 
						|
!!!Release 1.5.0
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - added JSON library
 | 
						|
  - added Util::JSONConfiguration
 | 
						|
  - added FIFOBuffer and FIFOBufferStream
 | 
						|
  - fixed SF# 3522906: Unregistering handlers from SocketReactor
 | 
						|
  - fixed SF# 3522084: AbstractConfiguration does not support 64-bit integers
 | 
						|
  - HTTPServer::stopAll(): close the socket instead of just shutting it down, as the latter won't wake up a select() on Windows
 | 
						|
  - added SMTPLogger
 | 
						|
  - added cmake support
 | 
						|
  - fixed SF#3538778: NetworkInterface enumeration uses deprecated API
 | 
						|
  - fixed SF#3538779: IPAddress lacks useful constructors: from prefix mask, native SOCKADDR
 | 
						|
  - fixed SF#3538780: SocketAddress needs operator < function
 | 
						|
  - fixed SF#3538775: Issues building on Fedora/Centos, etc. for AMD64
 | 
						|
  - fixed SF#3538786: Use size_t for describing data-blocks in DigestEngine
 | 
						|
  - added IPAddress bitwise operators (&,|,^,~)
 | 
						|
  - added IPAddress BinaryReader/Writer << and >> operators
 | 
						|
  - modified IPAddress to force IPv6 to lowercase (RFC 5952)
 | 
						|
  - fixed SF#3538785: SMTPClientSession::sendMessage() should take recipient list 
 | 
						|
  - added IPAddress::prefixLength()
 | 
						|
  - UTF portability improvements
 | 
						|
  - fixed SF#3556186: Linux shouldn't use <net/if.h> in Net/SocketDefs.h
 | 
						|
  - added IPAddress RFC 4291 compatible site-local prefix support
 | 
						|
  - fixed SF#3012166: IPv6 patch
 | 
						|
  - added SF#3558085: Add formatter to MACAddress object
 | 
						|
  - fixed SF#3552774: Don't hide default target in subordinate makefile
 | 
						|
  - fixed SF#3534307: Building IPv6 for Linux by default
 | 
						|
  - fixed SF#3516844: poco missing symbols with external >=lipcre-8.13 
 | 
						|
  - added SF#3544720: AbstractConfigurator to support 64bit values
 | 
						|
  - fixed SF#3522081: WinRegistryConfiguration unable to read REG_QWORD values
 | 
						|
  - fixed SF#3563626: For Win32 set Up/Running flags on NetworkInterface
 | 
						|
  - fixed SF#3560807: Deprecate setPeerAddress() as this is now done in getifaddrs
 | 
						|
  - fixed SF#3560776: Fix byte-ordering issues with INADDR_* literals
 | 
						|
  - fixed SF#3563627: Set IP address on multicast socket from socket family
 | 
						|
  - fixed SF#3563999: Size BinaryWriter based on buffer's capacity(), not size()
 | 
						|
  - fixed SF#102 Fix building Poco on Debian GNU/FreeBSD
 | 
						|
  - fixed SF#321 Binding DatTime or Timestamp
 | 
						|
  - fixed SF#307 Detect the SQL driver type at run time
 | 
						|
  - added VS 2012 Projects/Solutions
 | 
						|
  - enhanced and accelerated numeric parsing for integers and floats
 | 
						|
  - fixed SF#590 Segfault on FreeBSD when stack size not rounded
 | 
						|
  - added warn function and warnmsg macro in CppUnit
 | 
						|
  - fixed SF# 3558012 Compilation fails when building with -ansi or -std=c++0x
 | 
						|
  - fixed SF# 3563517 Get rid of loss-of-precision warnings on x64 MacOS
 | 
						|
  - fixed SF#3562244: Portability fix for AF_LINK
 | 
						|
  - fixed SF #3562400: DatagramSocketImpl comment is incorrect
 | 
						|
 | 
						|
!!Incompatible Changes and Possible Transition Issues
 | 
						|
 | 
						|
  - Keywords for the Data library (now, use, into, etc.) now reside in Poco::Data::Keywords namespace.
 | 
						|
  - Please note that 1.5.x releases are development releases and not considered stable. Interfaces may
 | 
						|
    change, and backwards compatibility with the stable 1.4 release series
 | 
						|
    is not guaranteed. There may also be some rough edges. 
 | 
						|
    The next stable release incorporating 1.5 features will be 1.6. 
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.4.4
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - ZipStream now builds correctly in unbundled build.
 | 
						|
  - added proxy digest authentication support to Net library
 | 
						|
  - integrated MySQL BLOB fixes from Franky Braem.
 | 
						|
  - use standard OpenSSL import libraries (libeay32.lib, ssleay32.lib) for Crypto and 
 | 
						|
    NetSSL_OpenSSL Visual Studio project files.
 | 
						|
  - fixed a potential buffer corruption issue in Poco::Net::SecureStreamSocket if lazy 
 | 
						|
    handshake is enabled and the first attempt to complete the handshake fails
 | 
						|
  - Poco::DateTimeParser::tryParse() without format specifier now correctly parses ISO8601 
 | 
						|
    date/times with fractional seconds.
 | 
						|
  - Poco::Process::launch() now has additional overloads allowing to specify an initial 
 | 
						|
    directory and/or environment.
 | 
						|
  - Poco::Net::FTPClientSession: timeout was not applied to data connection, only to 
 | 
						|
    control connection.
 | 
						|
  - Fixed potential IPv6 issue with socket constructors if IPv6 SocketAddress is given 
 | 
						|
    (contributed by ??????? ????????? <milovidov@yandex-team.ru>).
 | 
						|
  - Added an additional (optional) parameter to Poco::Thread::setOSPriority() allowing to 
 | 
						|
    specify a scheduling policy. Currently this is only used on POSIX platforms and allows 
 | 
						|
    specifying SCHED_OTHER (default), SCHED_FIFO or SCHED_RR, as well as other 
 | 
						|
    platform-specific policy values.
 | 
						|
  - Added Poco::Crypto::DigestEngine class providing a Poco::DigestEngine interface to
 | 
						|
    the digest algorithms provided by OpenSSL.
 | 
						|
  - Fixed some potential compiler warnings in Crypto library
 | 
						|
  - In some cases, when an SSL exception was unexpectedly closed, a generic Poco::IOException
 | 
						|
    was thrown. This was fixed to throw a SSLConnectionUnexpectedlyClosedException instead.
 | 
						|
  - Added Poco::ObjectPool class template.
 | 
						|
  - Poco::Net::HTTPServer has a new stopAll() method allowing stopping/aborting of all 
 | 
						|
    currently active client connections.
 | 
						|
  - The HTTP server framework now actively prevents sending a message body in the
 | 
						|
    response to a HEAD request, or in case of a 204 No Content or 304 Not Modified
 | 
						|
    response status.
 | 
						|
  - fixed a DOM parser performance bug (patch by Peter Klotz)
 | 
						|
  - fixed SF# 3559325: Util Windows broken in non-Unicode
 | 
						|
  - updated iOS build configuration to use xcode-select for finding toolchain
 | 
						|
  - Poco::Net::SecureSocketImpl::shutdown() now also shuts down the underlying socket.
 | 
						|
  - fixed SF# 3552597: Crypto  des-ecb error
 | 
						|
  - fixed SF# 3550553: SecureSocketImpl::connect hangs
 | 
						|
  - fixed SF# 3543047: Poco::Timer bug for long startInterval/periodic interval 
 | 
						|
  - fixed SF# 3539695: Thread attributes should be destroyed using the pthread_attr_destroy() 
 | 
						|
  - fixed SF# 3532311: Not able to set socket option on ServerSocket before bind
 | 
						|
    Added Poco::Net::Socket::init(int af) which can be used to explicitely
 | 
						|
    initialize the underlying socket before calling bind(), connect(), etc.
 | 
						|
  - fixed SF# 3521347: Typo in UnWindows.h undef
 | 
						|
  - fixed SF# 3519474: WinRegistryConfiguration bug
 | 
						|
    Also added tests and fixed another potential issue with an empty root path passed to the constructor.
 | 
						|
  - fixed SF# 3516827: wrong return value of WinRegistryKey::exists()
 | 
						|
  - fixed SF# 3515284: RSA publickey format(X.509 SubjectPublicKeyInfo)
 | 
						|
  - fixed SF# 3503267: VxWorks OS prio is not set in standard constructor
 | 
						|
  - fixed SF# 3500438: HTTPResponse failure when reason is empty
 | 
						|
  - fixed SF# 3495656: numberformater, numberparser error in mingw
 | 
						|
  - fixed SF# 3496493: Reference counting broken in TaskManager postNotification
 | 
						|
  - fixed SF# 3483174: LogFile flushing behavior on Windows
 | 
						|
    Flushing is now configurable for FileChannel and SimpleFileChannel
 | 
						|
    using the "flush" property (true or false).
 | 
						|
  - fixed SF# 3479561: Subsequent IPs on a NIC is not enumerated
 | 
						|
  - fixed SF# 3478665: Permission checks in Poco::File not correct for root
 | 
						|
  - fixed SF# 3475050: Threading bug in initializeNetwork() on Windows
 | 
						|
  - fixed SF# 3552680: websocket small frames bug and proposed fix
 | 
						|
  - fixed a WebSocket interop issue with Firefox
 | 
						|
  - added Poco::Net::MessageHeader::hasToken()
 | 
						|
  - Poco::AtomicCounter now uses GCC 4.3 builtin atomics on more platforms
 | 
						|
  - fixed SF# 3555938: NetSSL: socket closed twice
 | 
						|
  - socket exceptions now include OS error code
 | 
						|
  - fixed SF# 3556975: Need to fix Shared Memory for memory map
 | 
						|
  - Poco::Net::SecureSocketImpl::close() now catches exceptions thrown by its call to shutdown().
 | 
						|
  - fixed SF# 3535990: POCO_HAVE_IPv6 without POCO_WIN32_UTF8 conflict
 | 
						|
  - fixed SF# 3559665: Poco::InflatingInputStream may not always inflate completely
 | 
						|
  - added Poco::DirectoryWatcher class
 | 
						|
  - fixed SF# 3561464: Poco::File::isDevice() can throw due to sharing violation
 | 
						|
  - Poco::Zip::Compress::addRecursive() has a second variant that allows to specify the compression method.
 | 
						|
  - Upgraded internal SQLite to 3.7.14
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.4.3p1
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - fixed SF# 3476926: RegDeleteKeyEx not available on Windows XP 32-bit.
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.4.3
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - fixed a compilation error with Data/MySQL on QNX.
 | 
						|
  - fixed Util project files for WinCE (removed sources not compileable on CE)
 | 
						|
  - removed MD2 license text from Ackowledgements document
 | 
						|
  - fixed iPhone build config for Xcode 4.2 (compiler name changed to llvm-g++)
 | 
						|
  - Poco::Util::XMLConfiguration: delimiter char (default '.') is now configurable.
 | 
						|
    This allows for working with XML documents having element names with '.' in them.
 | 
						|
  - Poco::Util::OptionProcessor: Required option arguments can now be specified as 
 | 
						|
    separate command line arguments, as in "--option value" in addition to the 
 | 
						|
    "--option=value" format.
 | 
						|
  - Poco::Util::HelpFormatter: improved option help formatting if  indentation has 
 | 
						|
    been set explicitely.
 | 
						|
  - added Mail sample to NetSSL_OpenSSL, showing use of Poco::Net::SecureSMTPClientSession.
 | 
						|
  - added additional read() overloads to Poco::Net::HTMLForm.
 | 
						|
  - fixed SF# 3440769: Poco::Net::HTTPResponse doesn't like Amazon EC2 cookies.
 | 
						|
  - added support for requiring TLSv1 to Poco::Net::Context.
 | 
						|
  - added an additional constructor to Poco::Net::HTTPBasicCredentials, allowing
 | 
						|
    the object to be created from a string containing a base64-encoded, colon-separated
 | 
						|
    username and password.
 | 
						|
  - Poco::Zip::ZipStreamBuf: fixed a crash if CM_STORE was used.
 | 
						|
  - Added setContentLength64() and getContentLength64() to Poco::Net::HTTPMessage.
 | 
						|
  - added Poco::Environment::osDisplayName().
 | 
						|
  - fixed SF# 3463096: WinService leaves dangling handles (open() now does not reopen the 
 | 
						|
    service handle if it's already open)
 | 
						|
  - fixed SF# 3426537: WinRegistryConfiguration can't read virtualized keys
 | 
						|
  - added Poco::Buffer::resize()
 | 
						|
  - fixed SF# 3441822: thread safety issue in Poco::Net::HTTPClientSession:
 | 
						|
    always use getaddrinfo() instead of gethostbyname() on all platforms supporting it
 | 
						|
  - added version resource to POCO DLLs
 | 
						|
  - fixed SF# 3440599: Dir Path in Quotes in PATH cause PathTest::testFind to fail.
 | 
						|
  - fixed SF# 3406030: Poco::Glob::collect() problem
 | 
						|
  - added Poco::Util::AbstractConfiguration::enableEvents() 
 | 
						|
  - Poco::AtomicCounter now uses GCC builtins with GCC 4.1 or newer 
 | 
						|
    (contributed by Alexey Milovidov)
 | 
						|
  - made Poco::Logger::formatDump() public as it may be useful for others as well
 | 
						|
    (SF# 3453446)
 | 
						|
  - Poco::Net::DialogSocket now has a proper copy constructor (SF# 3414602)
 | 
						|
  - Poco::Net::MessageHeader and Poco::Net::HTMLForm now limit the maximum number of
 | 
						|
    fields parsed from a message to prevent certain kinds of denial-of-service
 | 
						|
    attacks. The field limit can be changed with the new method setFieldLimit().
 | 
						|
    The default limit is 100.
 | 
						|
  - Poco::NumberFormatter, Poco::NumberParser and Poco::format() now always use the
 | 
						|
    classic ("C") locale to format and parse floating-point numbers.
 | 
						|
  - added Poco::StreamCopier::copyStream64(), Poco::StreamCopier::copyStreamUnbuffered64()
 | 
						|
    and Poco::StreamCopier::copyToString64(). These functions use a 64-bit integer
 | 
						|
    to count the number of bytes copied.
 | 
						|
  - upgraded internal zlib to 1.2.5
 | 
						|
  - upgraded internal sqlite to 3.7.9
 | 
						|
  - XML: integrated bugfix for Expat bug# 2958794 (memory leak in poolGrow)
 | 
						|
  - Added support for HTTP Digest authentication (based on a contribution by
 | 
						|
    Anton V. Yabchinskiy (arn at bestmx dot ru)). For information on how
 | 
						|
    to use this, see the Poco::Net::HTTPCredentials, Poco::Net::HTTPDigestCredentials
 | 
						|
    and Poco::Net::HTTPAuthenticationParams classes.
 | 
						|
  - Poco::Net::HTTPStreamFactory and Poco::Net::HTTPSStreamFactory now support Basic
 | 
						|
    and Digest authentication. Username and password must be provided in the URI.
 | 
						|
  - added Poco::Net::WebSocket, supporting the WebSocket protocol as described in RFC 6455
 | 
						|
  - NetSSL_OpenSSL: added client-side support for Server Name Indication.
 | 
						|
    Poco::Net::SecureSocketImpl::connectSSL() now calls SSL_set_tlsext_host_name()
 | 
						|
    if its available (OpenSSL 9.8.6f and later).
 | 
						|
  - added Poco::Net::HTTPClientSession::proxyConnect() (factored out from
 | 
						|
    Poco::Net::HTTPSClientSession::connect())
 | 
						|
  - added Poco::Process::kill(const Poco::ProcessHandle&) which is preferable to
 | 
						|
    kill(pid) on Windows, as process IDs on Windows may be reused.
 | 
						|
  - fixed SF# 3471463: Compiler warnings with -Wformat
 | 
						|
  - Poco::Util::Application::run() now catches and logs exceptions thrown in initialize()
 | 
						|
  - Fixed a WinCE-specific bug in Poco::Util::ServerApplication where uninitialize() would
 | 
						|
    be called twice.
 | 
						|
  - fixed SF# 3471957: WinRegistryKey::deleteKey() unable to delete alt views
 | 
						|
  - Added additional constructor to Poco::ScopedLock and Poco::ScopedLockWithUnlock 
 | 
						|
    accepting a timeout as second argument.
 | 
						|
  - Added Poco::Logger::parseLevel()
 | 
						|
  - Poco::format(): an argument that does not match the format
 | 
						|
    specifier no longer results in a BadCastException. The string [ERRFMT] is 
 | 
						|
    written to the result string instead.
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.4.2p1
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - On Linux, the RTLD_DEEPBIND option is no longer passed to dlopen(). 
 | 
						|
    This change was introduced in 1.4.2 to solve a specific problem one customer 
 | 
						|
    was having. Unfortunately, it leads to problems with RTTI.
 | 
						|
  - It's now possible to pass flags (SHLIB_GLOBAL, SHLIB_LOCAL) to 
 | 
						|
    Poco::SharedLibrary::load() (and the constructor implicitly calling load()), 
 | 
						|
    controlling the mode flags (RTLD_GLOBAL, RTLD_LOCAL) passed to dlopen(). 
 | 
						|
    On platforms not using dlopen(), these flags are ignored.
 | 
						|
  - fixed SF# 3400267: Path_WIN32.cpp bug
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.4.2
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - added Poco::DateTimeFormat::ISO8601_FRAC_FORMAT
 | 
						|
  - added new Poco::DateTimeFormatter and Poco::DateTimeParser format specifier:
 | 
						|
    %s for seconds with optional fractions of a second
 | 
						|
  - fixed a problem with ioctl() on BSD platforms (including OS X) where the 
 | 
						|
    second argument to ioctl() is unsigned long instead of int, causing bad 
 | 
						|
    things on a OS X 64-bit kernel.
 | 
						|
  - fixed a potential endless loop when enumerating IPv6 network addresses 
 | 
						|
    (reported by Laurent Carcagno)
 | 
						|
  - new compile-time config option on Windows to set thread names in
 | 
						|
    debugger. Enable with -DPOCO_WIN32_DEBUGGER_THREAD_NAMES. Available
 | 
						|
    only in debug builds.
 | 
						|
  - Cipher can now create Base64 and HexBinary encoded output without linefeeds 
 | 
						|
    (suitable for use in cookies, etc.)
 | 
						|
  - added Poco::Path::popFrontDirectory()
 | 
						|
  - improved VxWorks support
 | 
						|
  - IPv6 fixes: added proper scope id handling in IPAddress, SocketAddress
 | 
						|
    and related classes.
 | 
						|
  - Added Poco::Net::ServerSocket::bind6() which allows control over the
 | 
						|
    IPPROTO_IPV6/IPV6_V6ONLY socket option.
 | 
						|
  - Removed Poco::MD2Engine class due to licensing issues (the 
 | 
						|
    license for the MD2 code from RSA only allows non-commercial
 | 
						|
    use). Note that the MD4 and MD5 code from RSA does not have
 | 
						|
    this issue.
 | 
						|
  - fixed a Net HTTP client testsuite issue where some tests might
 | 
						|
    have failed due to prematurely aborted connections by
 | 
						|
    the HTTPTestServer.
 | 
						|
  - Poco::Net::SocketAddress: when there is more than one address
 | 
						|
    returned by a DNS lookup for a name, IPv4 addresses will be
 | 
						|
    preferred to IPv6 ones.
 | 
						|
  - Poco::Net::NetworkInterface::list() now also returns IPv4 interfaces on Windows when 
 | 
						|
    built with -DPOCO_HAVE_IPv6
 | 
						|
  - Poco::XML::XMLWriter: fixed a bug with attribute namespaces (no namespace prefix 
 | 
						|
    written if attribute namespace is the same as element namespace)
 | 
						|
  - fixed SF# 3378588: Mismatched new[]/delete (in RSAEncryptImpl and RSADecryptImpl)
 | 
						|
  - fixed SF# 3212954 (OpenSSLInitializer::uninitialize() crash) and 
 | 
						|
    SF# 3196862 (Static OpenSSLInitializer instance causes Windows deadlocks) by
 | 
						|
    removing the static Poco::Crypto::OpenSSLInitializer instance. Automatic OpenSSL
 | 
						|
    initialization is now done through Poco::Crypto::Cipher, Poco::Crypto::CipherKey, 
 | 
						|
    Poco::Crypto::X509Certificate, Poco::Net::Context classes; however, it is still
 | 
						|
    recommended to call Poco::Crypto::initializeCrypto() and 
 | 
						|
    Poco::Crypto::uninitializeCrypto() early at application startup, and late at
 | 
						|
    shutdown respectively (or Poco::Net::initializeSSL()/Poco::Net::uninitializeSSL()
 | 
						|
    if the NetSSL library is used) to avoid multiple full OpenSSL init/uninit cycles
 | 
						|
    during application runtime.
 | 
						|
  - Poco::Logger now also support a symbolic log level "none"
 | 
						|
    (for use with setLevel()) that disables logging completely
 | 
						|
    for that Logger (equivalent to setLevel(0)).
 | 
						|
  - Added experimental Android support, using the existing gmake-based
 | 
						|
    build system.
 | 
						|
  - fixed SF# 3288584: DateTimeFormatter link error
 | 
						|
  - fixed SF# 3187117: Typo in InflatingInputStream doc
 | 
						|
  - fixed SF# 3309731: _WIN32_WCE comparison should be with 0x600 not 600
 | 
						|
  - fixed SF# 3393026: RegularExpression.h identical enum value
 | 
						|
  - fixed SF# 3274222: AtomicCounter's postfix operators aren't atomic on Windows
 | 
						|
  - fixed SF# 3317177: Handle leak on windows
 | 
						|
  - fixed SF# 3181882: Poco::URI::getPathEtc() double-encodes query
 | 
						|
  - fixed SF# 3379935: Poco::ThreadPool Start Bug
 | 
						|
  - fixed SF# 3354451: Poco::Format::parsePrec() never sets the precision to zero
 | 
						|
  - fixed SF# 3387258: _MAX_PATH used but unknown in Path_WIN32
 | 
						|
  - fixed a problem in Poco::Crypto::RSAKeyImpl where direct access to the RSA in a 
 | 
						|
    EVP_PKEY would no longer work in recent OpenSSL versions. Using EVP_PKEY_get1_RSA() 
 | 
						|
    fixes the issue.
 | 
						|
  - added Poco::Crypto::EncryptingInputStream, Poco::Crypto::EncryptingOutputStream, 
 | 
						|
    Poco::Crypto::DecryptingInputStream and Poco::Crypto::DecryptingOutputStream.
 | 
						|
  - fixed SF# 3148126: Poco::Net::HTTPSClientSession destructor throws an IOException
 | 
						|
  - fixed SF# 3178098: Add constructor to Poco::TemporaryFile to specify directory
 | 
						|
  - fixed SF# 3175310: Absolute path when device 
 | 
						|
  - fixed SF# 3301207: Guided tour example contradicts apidoc (API doc was wrong)
 | 
						|
  - Poco::Net::HTTPMessage::setContentLength() and Poco::Net::HTTPMessage::getContentLength() now
 | 
						|
    use std::streamsize instead of int. This enables 64-bit Content-Length support at least
 | 
						|
    on 64-bit platforms.
 | 
						|
  - fixed SF# 3177530: Poco::TemporaryFile::tempName() + glob bug on xp
 | 
						|
  - fixed SF# 3177372: Poco::FileChannel documentation inconsistency
 | 
						|
  - added %E format specifier to Poco::PattermFormatter (epoch time in seconds
 | 
						|
    since midnight, January 1 1970)
 | 
						|
  - On Windows, Poco::Util::ServerApplication now supports a /description command 
 | 
						|
    line argument for specifying a service description (together with /registerService)
 | 
						|
  - added Poco::Util::WinService::setDescription() and 
 | 
						|
    Poco::Util::WinService::getDescription()
 | 
						|
  - fixed SF# 3155477: Incorrect URI path handling
 | 
						|
  - fixed SF# 3309736: Extended Exception macros to set default exception code
 | 
						|
    new macro is named POCO_DECLARE_EXCEPTION_CODE
 | 
						|
  - added getter functions for modulus and exponents to Poco::Crypto::RSAKey.
 | 
						|
  - added Poco::Net::SocketAddress::operator == () and 
 | 
						|
    Poco::Net::SocketAddress::operator != ()
 | 
						|
  - fixed SF# 3182746: IPAddress.cpp IPv6 bug on big-endian
 | 
						|
  - fixed SF# 3196961: Unix daemon fails to loadConfiguration() if started from cwd
 | 
						|
  - fixed SF# 3393700: NotificationCenter may call a removed observer and crash.
 | 
						|
  - Reworked implementation of the events framework (Poco::BasicEvent and friends).
 | 
						|
    The framework is now completely multithreading save (even in the case that
 | 
						|
    an event subscriber object unsubscribes and is deleted while an event is
 | 
						|
    being dispatched). Also, the restriction that any object can only register
 | 
						|
    one delegate for each event has been removed. For most cases, dispatching
 | 
						|
    events should be faster, as dispatching an event now needs less dynamic memory
 | 
						|
    allocations.
 | 
						|
  - fixed SF# 3178109: getNodeByPath() changes:
 | 
						|
    getNodeByPath() and getNodeByPathNS() have been moved to Poco::XML::Node. 
 | 
						|
    Furthermore, when invoked on a Poco::XML::Document, the behavior has changed
 | 
						|
    so that the document element is now included when traversing the path (previously,
 | 
						|
    traversal would start at the document element, now it starts at the document).
 | 
						|
    The path expression can now start with a double-slash, which results in a recursive
 | 
						|
    search for the path's first element in the DOM tree.
 | 
						|
  - fixed SF# 3382935: String data being truncated using ODBC, and
 | 
						|
    SF# 2921813: Wrong implementation of the ODBC string binding
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.4.1p1
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - Poco::Mutex is now a recursive mutex again on Linux
 | 
						|
    (this was caused by an unfortunate feature test for
 | 
						|
    PTHREAD_MUTEX_RECURSIVE which did not work on Linux
 | 
						|
    as PTHREAD_MUTEX_RECURSIVE is an enum value and not
 | 
						|
    a macro)
 | 
						|
  - Poco::Net::SecureSocketImpl::abort() now only shuts
 | 
						|
    down the underlying socket connection and does not free
 | 
						|
    the SSL object, due to multithreading issues.
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.4.1
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - fixed SF# 3150223: Poco::BinaryReader cannot read std::vector correctly
 | 
						|
  - fixed SF# 3146326: Poco::SharedMemory issue
 | 
						|
  - made Poco::Net::HTTPSession::abort() virtual
 | 
						|
  - added Poco::Net::SecureStreamSocket::abort() to immediately close
 | 
						|
    a SSL/TLS connection without performing an orderly SSL/TLS shutdown.
 | 
						|
  - fixed SF# 3148126: Poco::Net::HTTPSClientSession destructor (!) throws an IOException.
 | 
						|
    Added try/catch block to Poco::Net::SecureSocketImpl destructor.
 | 
						|
  - added additional constructor to Poco::Net::HTTPSClientSession, taking
 | 
						|
    both a socket and a session object.
 | 
						|
  - Poco::Net::HTTPSession::abort() now also can be used with a
 | 
						|
    Poco::Net::HTTPSClientSession.
 | 
						|
  - fixed SF# 3148045: make clean and distclean issues
 | 
						|
  - changed Data library names on Unix/Linux platforms to
 | 
						|
    match the names on Windows (PocoSQLite -> PocoDataSQLite,
 | 
						|
    PocoMySQL -> PocoDataMySQL, PocoODBC -> PocoDataODBC)
 | 
						|
  - added additional options to configure script
 | 
						|
  - added additional documentation to Poco::Net::HTTPClientSession
 | 
						|
  - Poco::Net::HTTPClientSession::receiveResponse() closes the connection 
 | 
						|
    if an exception is thrown while reading the response header. 
 | 
						|
    This ensures that a new connection will be set up for the next request 
 | 
						|
    if persistent connections are used.
 | 
						|
  - improved Poco::Net::MultipartDecoder performance by reading directly from streambuf
 | 
						|
  - improved performance of Poco::Base64Encoder, Poco::Base64Decoder, 
 | 
						|
    Poco::HexBinaryEncoder and Poco::HexBinaryDecoder by working directly with the 
 | 
						|
    given stream's streambuf.
 | 
						|
  - improved performance of MessageHeader::read() by reading directly from streambuf 
 | 
						|
    instead of istream.
 | 
						|
  - it is now possible to specify additional MIME part header fields
 | 
						|
    for a MIME part through the Poco::Net::PartSource class.
 | 
						|
  - upgraded SQLite to release 3.7.4
 | 
						|
  - added experimental VxWorks support for VxWorks 5.5.1/Tornado 2.2 and
 | 
						|
    newer. Please see the VxWorks Platform Notes in the reference documentation
 | 
						|
    for more information. Currently, the VxWorks is untested; full support
 | 
						|
    will be available in release 1.4.2.
 | 
						|
  - fixed SF# 3165918: Poco::DynamicAny fails to convert from string to float
 | 
						|
  - fixed SF# 3165910: Poco::Net::MessageHeader does not accept HTTP conforming header
 | 
						|
  - made Poco::Task::cancel() virtual so that tasks can implement custom
 | 
						|
    cancellation behavior.
 | 
						|
  - added optional argument to Poco::Util::WinRegistryKey constructor
 | 
						|
    to specify additional flags (in addition to KEY_READ and KEY_WRITE)
 | 
						|
    for the samDesired argument of RegOpenKeyEx() or RegCreateKeyEx().
 | 
						|
  - improved Poco::BasicEvent::notify() performance by avoiding an unnecessary heap
 | 
						|
    allocation.  
 | 
						|
  - added additional well-known port numbers to Poco::URI: rtsp, sip, sips, xmpp.
 | 
						|
  - added Poco::Net::MediaType::matchesRange()
 | 
						|
  - improved invalid socket handling: a Poco::Net::InvalidSocketException is 
 | 
						|
    now thrown instead of an assertion when an operation is attempted on a closed or 
 | 
						|
    otherwise uninitialized socket.
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.4.0
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - Poco::Net::SSLManager: documentation fixes, code cleanup
 | 
						|
  - Poco::Net::SSLManager: renamed PrivateKeyPassPhrase event to PrivateKeyPassphraseRequired
 | 
						|
  - added Poco::Net::HTTPServerRequestImpl::socket() to get access to the underlying socket
 | 
						|
  - added Poco::Net::Socket::secure() to find out whether a given socket supports SSL/TLS
 | 
						|
  - added Poco::Net::SecureStreamSocket::havePeerCertificate()
 | 
						|
  - NetSSL: added support for turning off extended certificate validation (hostname matching)
 | 
						|
  - fixed SF# 2941228: Poco::Net::ICMPClient::ping() issues on Mac OS X
 | 
						|
  - fixed SF# 2941231: Poco::Net::ICMPEventArgs out of bounds array access
 | 
						|
  - added PageCompiler sample
 | 
						|
  - added missing newline at end of xmlparse.c
 | 
						|
  - Poco::Glob can now be used with an empty pattern which will match nothing (patch from Kim Graesman)
 | 
						|
  - added support for HTTP proxy authentication (Basic authentication only)
 | 
						|
  - fixed SF# 2958959: Poco::XML::XMLWriter must encode CR, LF and TAB in attribute values as character entities.
 | 
						|
  - Poco::Net::HTMLForm now supports PUT requests as well (see <http://pocoproject.org/forum/viewtopic.php?f=12&t=2163&p=3930#p3930>)
 | 
						|
  - fixed SF# #2970521: Poco::FileOutputStream and file permissions.
 | 
						|
    (also fixed in File class)
 | 
						|
  - removed an unused (and wrong) default parameter from EventImpl constructor for WIN32.
 | 
						|
  - added full support for session caching to NetSSL_OpenSSL
 | 
						|
  - fixed SF# 2984454: Poco::Util::Timer::scheduleAtFixedRate() works incorrectly
 | 
						|
  - fixed a bug in Poco::Util::Timer that could lead to high CPU load if
 | 
						|
    the system clock is moved forward.
 | 
						|
  - added "system.nodeId" property to Poco::Util::SystemConfiguration
 | 
						|
  - added a note to Poco::Util::ServerApplication documentation regarding
 | 
						|
    creation of threads
 | 
						|
  - added Poco::Net::IPAddress::broadcast() and Poco::Net::IPAddress::wildcard() to 
 | 
						|
    create broadcast (255.255.255.255) and wildcard (0.0.0.0) addresses.
 | 
						|
  - fixed SF# 2916154: Poco::Net::IPAddress::isLoopback() only works for 127.0.0.1.
 | 
						|
  - added build configuration for iPhone Simulator
 | 
						|
  - GNU Make based build system provides new variables: POCO_HOST_BINDIR, POCO_HOST_BINPATH,
 | 
						|
    POCO_HOST_LIBDIR, POCO_HOST_LIBPATH and POCO_TARGET_* equivalents.
 | 
						|
  - Poco::Util::Application::initialize() and Poco::Util::Application::uninitialize() will now be called from within run().
 | 
						|
    This solves various issues with uninitialize() not being called, or being called inappropriately 
 | 
						|
    from the Application destructor.
 | 
						|
    Please note that this change will break applications that use the Application class,
 | 
						|
    but only call init() and not run().
 | 
						|
  - added /startup option to specify startup mode for Windows services (automatic or manual)
 | 
						|
  - fixed SF# 2967354: SecureSocketImpl shutdown/close problem
 | 
						|
  - fixed SF# 3006340: LinearHashTable grows even if key already exists
 | 
						|
  - fixed a particularly nasty Windows error handling issue that manifested itself on WinCE: 
 | 
						|
    WSAGetLastError() would be called after a std::string was created. The string creation could result 
 | 
						|
    in a heap operation which called a Windows API to allocate memory. This would reset the 
 | 
						|
    GetLastError() error code. Since WSAGetLastError() is just an alias for GetLastError(), the actual 
 | 
						|
    error code from the socket operation would be lost.
 | 
						|
  - upgraded SQLite to 3.7.3
 | 
						|
  - added --header-prefix option to PageCompiler
 | 
						|
  - fixed SF# 3003875: SQLite data binding is broken
 | 
						|
  - fixed SF# 2993988: Issue with multiple calls to open()/close() on File*Stream
 | 
						|
  - fixed SF# 2990256: Poco::Net::HTMLForm and file uploads
 | 
						|
  - fixed SF# 2969227: Poco::DateTimeParser bug
 | 
						|
  - fixed SF# 2966698: Socket connect with timeout issue
 | 
						|
  - fixed SF# 2981041: Bind NULL to a query (patch supplied)
 | 
						|
  - fixed SF# 2961419: Poco::UTF8Encoding::convert() doesn't work properly in DEBUG mode
 | 
						|
  - fixed SF# 2957068: Timeout value not picked up by proxy in Poco::Net::HTTPSClientSession
 | 
						|
  - fixed NetSSL_OpenSSL test runner for Poco::Util::Application class changes
 | 
						|
  - Poco::AbstractEvent, Poco::AbstractCache and related classes now accept a Mutex class as additional template argument.
 | 
						|
    Poco::NullMutex can be used if no synchronization is desired.
 | 
						|
  - Added Poco::AbstractEvent::empty() to check whether an event has registered delegates.
 | 
						|
  - Poco::URI now correctly handles IPv6 addresses.
 | 
						|
  - Added Poco::Nullable class template.
 | 
						|
  - Added Poco::NullMutex, a no-op mutex to be used as template argument for template classes
 | 
						|
    taking a mutex policy argument.
 | 
						|
  - Poco::XML::XMLWriter: fixed a namespace handling issue that occured with startPrefixMapping() and endPrefixMapping()
 | 
						|
  - Poco::Net::Context now allows for loading certificates and private keys from Poco::Crypto::X509Certificate objects 
 | 
						|
    and Poco::Crypto::RSAKey objects.
 | 
						|
  - Poco::Crypto::RSAKey no longer uses temporary files for stream operations. Memory buffers are used instead.
 | 
						|
  - fixed SF# 2957865: added Poco::UUID::tryParse()
 | 
						|
  - All Zip classes now use Poco::File[Input|Output]Stream instead of std::[i|o]fstream. 
 | 
						|
    UTF-8 filenames will now be handled correctly on Windows.
 | 
						|
  - fixed SF# 2902029: zlib flush support (Z_SYNC_FLUSH)
 | 
						|
  - added Poco::TextBufferIterator class
 | 
						|
  - fixed SF# 2977249: Use epoll instead select under Linux
 | 
						|
    Poco::Net::Socket::select() and Poco::Net::Socket::poll() will use epoll under Linux if the Net library is compiled
 | 
						|
    with -DPOCO_HAVE_FD_EPOLL. This is the default for the Linux build configuration (but not for
 | 
						|
    the various build configurations targeting embedded Linux platforms).
 | 
						|
  - fixed SF# 2941664: Memory leak in Poco::DeflatingStream with zero-length streams (also fixed some other potential, 
 | 
						|
    but unlikely, memory leaks)
 | 
						|
  - fixed SF# 2946457: added Poco::Net::RejectCertificateHandler
 | 
						|
  - fixed SF# 2946621: Poco::Path bug with POCO_WIN32_UTF8
 | 
						|
  - fixed SF# 2929805: Environment::nodeId() does not work if no eth0 device exists
 | 
						|
  - Poco::Environment::nodeId() no longer throws if no hardware ethernet address can be determined. 
 | 
						|
    It returns an all-zero address instead.
 | 
						|
  - Added additional classification functions to Poco::Unicode class; made classification functions inline.
 | 
						|
  - added Poco::Ascii class for ASCII character classification.
 | 
						|
    Methods of the Ascii class are now used instead of the
 | 
						|
    standard library functions (std::isspace(), etc.) due to
 | 
						|
    possible inconsistent results or assertions when the
 | 
						|
    standard library functions are used with character codes
 | 
						|
    outside the ASCII range.
 | 
						|
  - Poco::Net::MailMessage: fixed a bug in StringPartHandler that resulted in incorrect handling of non-ASCII data if 
 | 
						|
    char is signed.
 | 
						|
  - Improved Poco::Net::SMTPClientSession compatibility with various mail servers when using AUTH_LOGIN authentication.
 | 
						|
  - Added CRAM-SHA1 support to Poco::Net::SMTPClientSession
 | 
						|
  - Poco::Net::SMTPClientSession now also supports login with AUTH PLAIN.
 | 
						|
  - Added Poco::Net::SecureSMTPClientSession class, supporting STARTTLS for secure SMTP connections.
 | 
						|
  - fixed an issue with SharedMemory on POSIX systems, where a shared memory region would be deleted 
 | 
						|
    despite the server flag set to true (see http://pocoproject.org/forum/viewtopic.php?f=12&t=3494).
 | 
						|
  - PageCompiler: added a new page context directive, to allow passing custom context objects to the
 | 
						|
    request handler.
 | 
						|
  - fixed Poco::Net::StreamSocketImpl::sendBytes() for non-blocking sockets
 | 
						|
  - added Poco::Net::DialogSocket::receiveRawBytes(), which should be used instead of receiveBytes() due to internal 
 | 
						|
    buffering by DialogSocket.
 | 
						|
  - Poco::XML::DOMParser: FEATURE_WHITESPACE has been renamed to FEATURE_FILTER_WHITESPACE (which now matches the underlying URI)
 | 
						|
    and is now handled correctly (previously we did the exact reverse thing)
 | 
						|
  - added Poco::Util::AbstractConfiguration::remove() to remove a configuration property; added removeRaw() implementations 
 | 
						|
    to all implementations (contributions by Daniel Hobi and Alexey Shults).
 | 
						|
  - fixed NetSSL_OpenSSL compilation error on Windows with OpenSSL 1.0
 | 
						|
  - Added optional FIPS mode support to NetSSL_OpenSSL (contributed by Lior Okman).
 | 
						|
    If OpenSSL has been configured and built with FIPS support, then FIPS support can
 | 
						|
    be enabled by calling Poco::Crypto::OpenSSLInitializer::enableFIPSMode(true); or
 | 
						|
    by setting the fips property in the OpenSSL configuration to true (see Poco::Net::SSLManager
 | 
						|
    for details).
 | 
						|
  - fixed SF# 3031530: Ping and possible no timeout
 | 
						|
  - added Poco::Net::SocketReactor::onBusy(), called whenever at least one notification will
 | 
						|
    be dispatched.
 | 
						|
  - fixed SF# 3034863: Compiler warning in Net/IPAddress.h with poco 1.3.2
 | 
						|
  - added support for CRAM-SHA1 authentication to Poco::Net::SMTPClientSession
 | 
						|
  - Poco::format(): arguments can now be addressed by their index, e.g. %[2]d
 | 
						|
  - Poco::Util::Timer::cancel() now accepts an optional boolean argument.
 | 
						|
    If true is passed, cancel() waits until the task queue has been purged.
 | 
						|
    Otherwise, it returns immediately and works asynchronously, as before.
 | 
						|
  - Poco::Net::HTTPServerResponse::redirect() now accepts an optional additional
 | 
						|
    argument to specify the HTTP status code for the redirection.       
 | 
						|
  - fixed a warning (BinaryReader.cpp) and error (ThreadLocal.cpp) in Foundation when compiling with Visual Studio 2010
 | 
						|
  - fixed a wrong exception in Poco::Net::POP3ClientSession
 | 
						|
  - Poco::Net::FTPClientSession and Poco::Net::SMTPClientSession now set the error code in exceptions they throw
 | 
						|
  - fixed a potential race condition with terminating a Windows service based on Poco::Util::ServerApplication
 | 
						|
  - fixed a bug in global build configuration file: explicitly setting POCO_CONFIG did not work on Solaris platforms,
 | 
						|
    as it was always overridden by the automatically determined configuration.
 | 
						|
  - Added support for MinGW cross builds on Linux.
 | 
						|
  - Changed location of statically linked build products in the gmake-based build system.
 | 
						|
    Statically linked executables are now in bin/$(OSNAME)/$(OSARCH)/static and no longer
 | 
						|
    have the _s suffix
 | 
						|
  - The POCO_VERSION macro now is in its own header file, "Poco/Version.h". It is no longer
 | 
						|
    available through "Poco/Foundation.h".
 | 
						|
  - added Poco::Net::HTTPCookie::escape() and Poco::Net::HTTPCookie::unescape().
 | 
						|
  - fixed SF# 3021173: Poco::Thread (POSIX) returns uninitialised value for OS priority
 | 
						|
  - fixed SF# 3040870: Poco::ThreadPool has no function to get assigned name
 | 
						|
  - fixed SF# 3044303: Can't use own config file on Solaris & OSARCH_64BITS ignored
 | 
						|
  - fixed SF# 2943896: Poco::AsyncChannel::log() blocks
 | 
						|
  - fixed a bug in Poco::Util::WinRegistryKey::getInt():
 | 
						|
    The size variable passed to RegQueryValueExW() should be initialized to the size 
 | 
						|
    of the output buffer.
 | 
						|
  - Added rudimentary support for compiling with Clang 2.0 (Xcode 4) on Mac OS X.
 | 
						|
  - New build configurations for Mac OS X: Darwin32 and Darwin64 for explicit
 | 
						|
    32-bit and 64-bit builds. Note that the default Darwin build configuration 
 | 
						|
    will build 64-bit on Snow Leopard and 32-bit on Leopard, but will always place
 | 
						|
    build products in Darwin/i386. The new Darwin32 and Darwin64 configurations
 | 
						|
    will use the correct directories.
 | 
						|
  - fixed SF# 3051598: Bug in URL encoding
 | 
						|
  - Poco::ThreadPool::stopAll() (and thus also the destructor) will now wait for each
 | 
						|
    pooled thread to terminate before returning. This fixes an issue with creating
 | 
						|
    and orderly shutting down a thread pool in a plugin. Previously, a pooled thread
 | 
						|
    in a thread pool created by a dynamically loaded library might still be running
 | 
						|
    when the plugin's shared library was unloaded, resulting in Bad Things happening.
 | 
						|
    This can now no longer happen. As a downside, a pooled thread that fails to
 | 
						|
    finish will block stopAll() and the destructor forever.
 | 
						|
  - NetSSL_OpenSSL: for a Poco::Net::SecureStreamSocket, available() now returns the number of bytes that 
 | 
						|
    are pending in the SSL buffer (SSL_pending()), not the actual socket buffer.
 | 
						|
  - Added Poco::Net::HTTPClientSession::secure() to check for a secure connection.
 | 
						|
  - Poco::Net::HTTPRequest::setHost() now does not include the port number in the Host header 
 | 
						|
    if it's either 80 or 443.
 | 
						|
  - log messages can now optionally include source file path and line number
 | 
						|
  - Poco::PatternFormatter can format source file path and line number (%U, %u)
 | 
						|
  - logging macros (poco_information(), etc.) now use __LINE__ and __FILE__
 | 
						|
  - new logging macros that incorporate Poco::format(): poco_information_f1(logger, format, arg) with up to 4 arguments
 | 
						|
  - added Poco::Net::HTTPSession::attachSessionData() and Poco::Net::HTTPSession::sessionData()
 | 
						|
    to attach arbitrary data to a HTTP session.
 | 
						|
  - added additional constructors to zlib stream classes that allow passing
 | 
						|
    a windowBits parameter to the underlying zlib library.
 | 
						|
  - fixed a potential error handling issue in Poco::Net::SecureSocketImpl.
 | 
						|
  - fixed SF# 3110272: Poco::Crypto::RSACipherImpl bug.
 | 
						|
  - fixed SF# 3081677: Poco::Util::ConfigurationView's getRaw not retrieving xml attributes.
 | 
						|
  - added basic support for Canonical XML and better pretty-printing support to Poco::XML::XMLWriter.
 | 
						|
  - Poco::Util::AbstractConfiguration now supports events fired when changing or
 | 
						|
    removing properties.
 | 
						|
  - XML: added support for finding DOM nodes by XPath-like
 | 
						|
    expressions. Only a very minimal subset of XPath is supported.
 | 
						|
    See Poco::XML::Element::getNodeByPath(), Poco::XML::Element::getNodeByPathNS()
 | 
						|
    and the same methods in Poco::XML::Document.
 | 
						|
  - Poco::Timer: If the callback takes longer to execute than the
 | 
						|
    timer interval, the callback function will not be called until the next
 | 
						|
    proper interval. The number of skipped invocations since the last
 | 
						|
    invocation will be recorded and can be obtained by the callback
 | 
						|
    by calling skipped().
 | 
						|
  - Poco::BinaryReader and Poco::BinaryWriter now support reading and
 | 
						|
    writing std::vectors of the supported basic types. Also, strings
 | 
						|
    can now be written in a different encoding (a Poco::TextEncoding
 | 
						|
    can be optionally passed to the constructor).
 | 
						|
  - Windows Embedded CE (5.0 and newer) is now a supported platform.
 | 
						|
  - Poco::UUID::nil() and Poco::UUID::isNil() have been renamed to
 | 
						|
    Poco::UUID::null() and Poco::UUID::isNull(), respectively, to avoid
 | 
						|
    issues with Objective-C++ projects on Mac OS X and iOS where nil is
 | 
						|
    a system-provided macro.
 | 
						|
  - Crypto bugfixes: Poco::Crypto::RSACipherImpl now pads every block of data, not just the 
 | 
						|
    last (or last two).
 | 
						|
  - Improved Crypto testsuite by adding new tests.
 | 
						|
  - Added new Visual Studio project configurations: debug_static_mt and release_static_mt
 | 
						|
    (linking with static runtime libraries). The existing configurations debug_static
 | 
						|
    and release_static have been renamed to debug_static_md and release_static_md, respectively.
 | 
						|
    The suffixes of the static libraries have also changed. The static_md configurations
 | 
						|
    now build libraries with suffixes md[d], while the libraries built by the static_mt
 | 
						|
    configurations have mt[d] suffixes.
 | 
						|
  - Added Visual Studio project files for 64-bit builds.
 | 
						|
  - Added Visual Studio 2010 project files.
 | 
						|
  - Removed the use of local static objects in various methods due to
 | 
						|
    their construction not being threadsafe (and thus leading to
 | 
						|
    potential race conditions) on Windows/Visual C++.
 | 
						|
  - Fixed some warning on 64-bit Windows builds.
 | 
						|
  - The names of the Data connector libraries have changed. They are now
 | 
						|
    named PocoDataMySQL, PocoDataODBC and PocoDataSQLite.
 | 
						|
  - fixed SF# 3125498: Linux NetworkInterface::list() doesn't return IPv6 IPs
 | 
						|
  - fixed SF# 3125457: IPv6 IPAddress tests are wrong
 | 
						|
  - Added initialization functions for the NetSSL_OpenSSL and Crypto libraries.
 | 
						|
    These should be called instead of relying on automatic initialization,
 | 
						|
    implemented with static initializer objects, as this won't work with
 | 
						|
    statically linked executables (where the linker won't include the
 | 
						|
    static initializer object).
 | 
						|
    The functions are Poco::Crypto::initializeCrypto(), Poco::Crypto::uninitializeCrypto(),
 | 
						|
    Poco::Net::initializeSSL() and Poco::Net::uninitializeSSL().
 | 
						|
    Applications using Crypto and/or NetSSL should call these methods appropriately at
 | 
						|
    program startup and shutdown.
 | 
						|
    Note: In release 1.3.6, similar functions have been added to the Net library.
 | 
						|
 | 
						|
 | 
						|
!!Incompatible Changes and Possible Transition Issues
 | 
						|
 | 
						|
  - The behavior of Poco::Timer has been changed for the case when
 | 
						|
    the callback function takes longer to execute than the given
 | 
						|
    timer interval. In this case, the missed intervals are counted
 | 
						|
    and the next callback will be at the next proper interval.
 | 
						|
  - Poco::XML::DOMParser: FEATURE_WHITESPACE has been renamed to FEATURE_FILTER_WHITESPACE 
 | 
						|
    (which now matches the underlying URI)
 | 
						|
    and is now handled correctly (previously we did the exact reverse thing)
 | 
						|
  - Poco::UUID::nil() and Poco::UUID::isNil() have been renamed to
 | 
						|
    Poco::UUID::null() and Poco::UUID::isNull(), respectively, to avoid
 | 
						|
    issues with Objective-C++ projects on Mac OS X and iOS where nil is
 | 
						|
    a system-provided macro.
 | 
						|
  - The names of the Data connector libraries have changed. They are now
 | 
						|
    named PocoDataMySQL, PocoDataODBC and PocoDataSQLite.
 | 
						|
  - The existing Visual Studio build configurations debug_static
 | 
						|
    and release_static have been renamed to debug_static_md and 
 | 
						|
    release_static_md, respectively. Also, the suffixes of the static
 | 
						|
    library names have changed to match usual conventions.
 | 
						|
  - New static initialization functions for the Crypto and NetSSL_OpenSSL libraries
 | 
						|
    have been added. These should be called instead of relying on automatic initialization,
 | 
						|
    implemented with static initializer objects, as this won't work with
 | 
						|
    statically linked executables (where the linker won't include the
 | 
						|
    static initializer object).
 | 
						|
    The functions are Poco::Crypto::initializeCrypto(), Poco::Crypto::uninitializeCrypto(),
 | 
						|
    Poco::Net::initializeSSL() and Poco::Net::uninitializeSSL().
 | 
						|
    Applications using Crypto and/or NetSSL should call these methods appropriately at
 | 
						|
    program startup and shutdown.
 | 
						|
    Note: In release 1.3.6, similar functions have been added to the Net library.
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.3.6p2
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - fixed an issue in the Windows implementation Poco::RWLock, where
 | 
						|
    tryReadLock() sometimes would return false even if no writers
 | 
						|
    were using the lock (fix contributed by Bjrn Carlsson)
 | 
						|
  - added Poco::Environment::libraryVersion().
 | 
						|
  - fixed SF# 2919461: Context ignores parameter cypherList
 | 
						|
  - removed an unused enum from RSACipherImpl.cpp (Crypto)
 | 
						|
  - integrated a new expat patch for CVE-2009-3560.
 | 
						|
  - fixed SF# 2926458: SSL Context Problem. The Poco::Net::Context
 | 
						|
    class now makes sure that OpenSSL is properly initialized.
 | 
						|
  - updated iPhone build configuration (contributed by Martin York)
 | 
						|
  - fixed SF# 1815124 (reopened): XML Compile failed on VS7.1 with
 | 
						|
    XML_UNICODE_WCHAR_T
 | 
						|
  - fixed SF# 2932647: FTPClientSession::getWorkingDirectory() returns a bad result
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.3.6p1
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - added support for using external zlib, pcre, expat and sqlite3 instead of 
 | 
						|
    bundled ones (-DPOCO_UNBUNDLED, configure --unbundled)
 | 
						|
  - fixed SF# 2911407: Add sh4 support
 | 
						|
  - fixed SF# 2912746: RSAKey::EXP_LARGE doesn't work
 | 
						|
  - fixed SF# 2904119: abstractstrategy uses std::set but do not includes it
 | 
						|
  - fixed SF# 2909946: localtime NULL pointer
 | 
						|
  - fixed SF# 2914986: potential expat DoS security issues (CVE-2009-3560 and CVE-2009-3720)
 | 
						|
  - fixed SF# 2916305: SSL Manager crashes
 | 
						|
  - fixed SF# 2903676: Tuple TypeHander does not handle composites.
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.3.6
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - added Environment::processorCount()
 | 
						|
  - added POCO_VERSION macro to Poco/Foundation.h
 | 
						|
  - fixed SF# 2807527: Poco::Timer bug for long startInterval/periodic interval
 | 
						|
  - fixed a bug similar to SF# 2807527 in Poco::Util::Timer.
 | 
						|
  - fixed SF# 2795395: Constructor doesn't treat the params "key" and "iv"
 | 
						|
  - fixed SF# 2804457: DateTime::checkLimit looks wrong
 | 
						|
  - fixed SF# 2804546: DateTimeParser requires explicit RFC1123 format
 | 
						|
  - added ReleaseArrayPolicy to Poco::SharedPtr
 | 
						|
  - upgraded to SQLite 3.6.20
 | 
						|
  - fixed SF# 2782709: Missing semicolons in "Logger.h" convenience
 | 
						|
  - fixed SF# 2526407: DefaultStrategy.h ++it instead of it++ in a loop
 | 
						|
  - fixed SF# 2502235: Poco STLPort patch
 | 
						|
  - fixed SF# 2186643: Data::Statement::reset() not implemented in 1.3.3
 | 
						|
  - fixed SF# 2164227: Allow File opened read only by FileInputSteam to be writable
 | 
						|
  - fixed SF# 2791934: use of char_traits::copy in BufferedStreamBuf::underflow
 | 
						|
  - fixed SF# 2807750: Support additional SQL types in SQLite
 | 
						|
  - fixed documentation bugs in Timed/PriorityNotificationQueue
 | 
						|
  - fixed SF# 2828401: Deadlock in SocketReactor/NotificationCenter (also fixes patch# 1956490)
 | 
						|
    NotificationCenter now uses a std::vector internally instead of a std::list, and the mutex is
 | 
						|
    no longer held while notifications are sent to observers.
 | 
						|
  - fixed SF# 2835206: File_WIN32 not checking aganist INVALID_HANDLE_VALUE
 | 
						|
  - fixed SF# 2841812: Posix ThreadImpl::sleepImpl throws exceptions on EINTR
 | 
						|
  - fixed SF# 2839579: simple DoS for SSL TCPServer, HTTPS server
 | 
						|
    No SSL handshake is performed during accept() - the handshake is delayed until
 | 
						|
    sendBytes(), receiveBytes() or completeHandshake() is called for the first time.
 | 
						|
    This also allows for better handshake and certificate validation when using
 | 
						|
    nonblocking connections.
 | 
						|
  - fixed SF# 2836049: Possible handle leak in FileStream
 | 
						|
    If sync() fails, close() now simply set's the stream's bad bit.
 | 
						|
    In any case, close() closes the file handle/descriptor.   
 | 
						|
  - fixed SF# 2814451: NetSSL: receiveBytes crashes if socket is closed
 | 
						|
  - added a workaround for Vista service network initialization issue
 | 
						|
    (an Windows service using the Net library running under Vista will
 | 
						|
    crash in the call to WSAStartup() done in NetworkInitializer).
 | 
						|
    Workaround is to call WSAStartup() in the application's main().
 | 
						|
    Automatic call to WSAStartup() in the Net library can now be disabled 
 | 
						|
    by compiling Net with -DPOCO_NET_NO_AUTOMATIC_WSASTARTUP. Also
 | 
						|
    the new Poco::Net::initializeNetwork() and Poco::Net::uninitializeNetwork()
 | 
						|
    functions can be used to call WSAStartup() and WSACleanup(), respectively,
 | 
						|
    in a platform-independent way (on platforms other than Windows, these
 | 
						|
    functions will simply do nothing).
 | 
						|
  - added VCexpress build script support (contributed by Jolyon Wright)
 | 
						|
  - fixed SF# 2851052: Poco::DirectoryIterator copy constructor is broken
 | 
						|
  - fixed SF# 2851197: IPAddress ctor throw keyword missing
 | 
						|
  - added Poco::ProtocolException
 | 
						|
  - PageCompiler improvements: new tags, support for buffered output, etc.
 | 
						|
  - better error reporting in Data MySQL connector (patch #2881270 by Jan "HanzZ" Kaluza)
 | 
						|
  - fixed SF# 1892462: FTPClient:Choose explicitely between EPSV and PASV
 | 
						|
  - fixed SF# 2806365: Option for PageCompiler to write output to different dir 
 | 
						|
  - fixed a documentation bug (wrong sample code) in Process::launch() documentation
 | 
						|
  - added --header-output-dir option to PageCompiler
 | 
						|
  - fixed SF# 2849144: Zip::Decompress notifications error
 | 
						|
  - SAXParser has a new feature: "http://www.appinf.com/features/enable-partial-reads".
 | 
						|
    See ParserEngine::setEnablePartialReads() for a description of what this does.
 | 
						|
  - fixed SF# 2876179: MySQL Signed/Unsigned value bug
 | 
						|
  - fixed SF# 2877970: possible bug in timer task
 | 
						|
  - fixed SF# 2874104: wrong parsing empty http headers
 | 
						|
  - fixed SF# 2860694: Incorrect return code from SecureStreamSocketImpl::sendBytes
 | 
						|
  - fixed SF# 2849750: Possible bug with XMLWriter?
 | 
						|
  - added MailMessage::encodeWord() to support RFC 2047 word encoded
 | 
						|
    mail header fields when sending out mail containing non-ASCII
 | 
						|
    characters.
 | 
						|
  - fixed SF# 2890975: SMTPClientSession bug with 7BIT encoding
 | 
						|
  - fixed an issue with retrieving the value of socket options on Windows 7. 
 | 
						|
    Before obtaining the value of a socket, we now initialize the variable receiving the 
 | 
						|
    socket option value to zero.
 | 
						|
  - fixed SF# 2836141: Documentation errors
 | 
						|
  - fixed SF# 2864232: Socket::select() does not detect closed sockets on windows
 | 
						|
  - fixed SF# 2812143: Socket::select() should check socket descriptors...
 | 
						|
  - fixed SF# 2801750: NetworkInterface <iface-Obj>forName returns wrong subnetMask
 | 
						|
  - fixed SF# 2816315: Problem with POSIX Thread::sleepImpl
 | 
						|
  - fixed SF# 2795646: IPv6 address parsing bug
 | 
						|
  - fixed #0000092: ServerApplication::waitForTerminationRequest(), SIGINT and GDB.
 | 
						|
    Poco::Util::ServerApplication::waitForTerminationRequest() no longer registers a
 | 
						|
    signal handler for SIGINT if the environment variable POCO_ENABLE_DEBUGGER
 | 
						|
    is defined.
 | 
						|
  - fixed SF# 2896070: Poco::Net::Context with non-ASCII paths
 | 
						|
  - added Unicode Surrogate support to Poco::UTF16Encoding. 
 | 
						|
    See Poco::TextEncoding::queryConvert() and Poco::TextEncoding::sequenceLength() 
 | 
						|
    for how this is implemented. Contributed by Philippe Cuvillier.
 | 
						|
  - fixed SF# 2897650: [branch 1.3.6] Net.SocketAddress won't compile for CYGWIN
 | 
						|
  - fixed SF# 2896161: Building on Windows fails when basedir has space in it
 | 
						|
  - fixed SF# 2864380: Memory leak when using secure sockets
 | 
						|
  - NetSSL_OpenSSL: the SSL/TLS session cache is now disabled by default and
 | 
						|
    can be enabled per Context using Poco::Net::Context::enableSessionCache().
 | 
						|
  - fixed SF# 2899039: Wrong DST handling in LocalDateTime 
 | 
						|
  - added Poco::RWLock::ScopedReadLock and Poco::RWLock::ScopedWriteLock (contributed by Marc Chevrier)
 | 
						|
  - added Poco::Thread::TID type, as well as Poco::Thread::tid() and Poco::Thread::currentTid() 
 | 
						|
    to obtain the native thread handle/ID
 | 
						|
  - added Zip file comment support
 | 
						|
  - On Windows, Poco::SharedLibrary::load() now uses LoadLibraryEx instead of LoadLibrary
 | 
						|
    and uses the LOAD_WITH_ALTERED_SEARCH_PATH if an absolute path is specified. This will
 | 
						|
    add the directory containing the library to the search path for DLLs that the
 | 
						|
    loaded library depends upon.
 | 
						|
  - Mac OS X build settings now match those used by default Xcode projects, making linking the 
 | 
						|
    POCO libs to Xcode projects easier
 | 
						|
  - Replaced use of std::valarray in Poco::Net::ICMPEventArgs with std::vector due to issues with 
 | 
						|
    std::valarray together with STDCXX debug mode on OS X
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.3.5
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - fixed SF# 2779410: Poco::Data::ODBC::HandleException impovement
 | 
						|
  - fixed wrong exception text for Poco::UnhandledException
 | 
						|
  - Fixed a problem with SSL shutdown that causes clients (web browsers) 
 | 
						|
    to hang when the server attempts to perform a clean SSL shutdown. We now call 
 | 
						|
    SSL_shutdown() once, even if the shutdown is not complete after the first call.
 | 
						|
  - added Poco::Crypto::X509Certificate::save()
 | 
						|
  - fixed a bug in Poco::Zip::Decompress that results in wrong paths for extracted files
 | 
						|
  - fixed a bug in Poco::Zip::ZipManipulator where the Zip file was opened in text format
 | 
						|
    on Windows.
 | 
						|
  - added Poco::Crypto::X509Certificate::issuedBy() to verify certificate chain.
 | 
						|
  - added methods to extract the contents of specific fields from the 
 | 
						|
    subject and issuer distinguished names of a certificate.
 | 
						|
  - fixed 0000089: Thread::sleep() on Linux is extremely inaccurate
 | 
						|
 | 
						|
 | 
						|
!!!Release 1.3.4
 | 
						|
 | 
						|
!!Summary of Changes
 | 
						|
 | 
						|
  - fixed SF# 2611804: PropertyFileConfiguration continuation lines
 | 
						|
  - fixed SF# 2529788: ServerApplication::beDaemon() broken
 | 
						|
  - fixed SF# 2445467: Bug in Thread_WIN32.cpp
 | 
						|
  - Improved performance of HTTP Server by removing some
 | 
						|
    string copy operations
 | 
						|
  - fixed SF# 2310735: HTTPServer: Keep-Alive only works with send()
 | 
						|
  - fixed appinf.com IP address in Net testsuite
 | 
						|
  - fixed RFC-00188: NumberFormatter and float/double numbers
 | 
						|
  - added --pidfile option to ServerApplication on Unix
 | 
						|
  - fixed SF# 2499504: Bug in Win32_Thread when using from dll (fixed also for POSIX threads)
 | 
						|
  - fixed SF# 2465794: HTTPServerRequestImpl memory leak
 | 
						|
  - fixed SF# 2583934: Zip: No Unix permissions set
 | 
						|
  - the NetSSL_OpenSSL library has been heavily refactored
 | 
						|
  - added NumberFormatter::append*() and DateTimeFormatter::append() functions
 | 
						|
  - use NumberFormatter::append() and DateTimeFormatter::append() instead of format() where 
 | 
						|
    it makes sense to gain some performance
 | 
						|
  - added system.dateTime and system.pid to Poco::Util::SystemConfiguration
 | 
						|
  - added %F format specifier (fractional seconds/microseconds) to DateTimeFormatter,
 | 
						|
    DateTimeParser and PatternFormatter.
 | 
						|
  - fixed SF# 2630476: Thread_POSIX::setStackSize() failure with g++ 4.3
 | 
						|
  - fixed SF# 2679279: Handling of -- option broken
 | 
						|
  - added compile options to reduce memory footprint of statically linked applications 
 | 
						|
    by excluding various classes from automatically being linked.
 | 
						|
    See the POCO_NO_* macros in Poco/Config.h.
 | 
						|
  - fixed SF# 2644940: on Windows the COMPUTER-NAME and the HOSTNAME can be different
 | 
						|
  - added DNS::hostName() function	
 | 
						|
  - added build configuration for iPhone (using Apple's SDK)
 | 
						|
  - basic support for AIX 5.x/xlC 8
 | 
						|
  - fixed a bug resulting in a badly formatted exception message with IOException 
 | 
						|
    thrown due to a socket-related error
 | 
						|
  - fixed SF# 2644718: NetworkInterface name conflict in MinGW
 | 
						|
  - added a missing #include to CryptoTransform.h
 | 
						|
  - fixed SF# 2635377: HTTPServer::HTTPServer should take AutoPtr<HTTPServerParams>
 | 
						|
  - replaced plain pointers with smart pointers in some interfaces
 | 
						|
  - upgraded to sqlite 3.6.13
 | 
						|
  - improved Data::SQLite error reporting
 | 
						|
  - Poco::Glob now works with UTF-8 encoded strings and supports case-insensitive comparison.
 | 
						|
    This also fixes SF# 1944831: Glob::glob on windows should be case insensitve
 | 
						|
  - added Twitter client sample to Net library
 | 
						|
  - Fixed SF# 2513643: Seg fault in Poco::UTF8::toLower on 64-bit Linux
 | 
						|
  - Poco::Data::SessionPool: the janitor can be disabled by specifying a zero idle time.
 | 
						|
  - added Poco::Data::SessionPool::customizeSession()
 | 
						|
  - added support for different SQLite transaction modes (DEFERRED, IMMEDIATE, EXCLUSIVE)
 | 
						|
  - fixed a few wrong #if POCO_HAVE_IPv6 in the Net library
 | 
						|
  - added support for creating an initialized, but unconnected StreamSocket.
 | 
						|
  - added File::isDevice()
 | 
						|
  - added family() member function to SocketAddress,
 | 
						|
  - Data::SQLite: added support for automatic retries if the database is locked
 | 
						|
  - XMLConfiguration is now writable
 | 
						|
  - fixed an IPv6 implementation for Windows bug in HostEntry
 | 
						|
  - Timer class improvement: interval between callback is no longer influenced by the 
 | 
						|
    time needed to execute the callback.
 | 
						|
  - added PriorityNotificationQueue and TimedNotificationQueue classes to Foundation. 
 | 
						|
    These are variants of the NotificationQueue class that support priority and 
 | 
						|
    timestamp-tagged notifications.
 | 
						|
  - added Poco::Util::Timer class. This implements a timer that can schedule different 
 | 
						|
    tasks at different times, using only one thread.
 | 
						|
  - the signatures of Poco::NotificationQueue and Poco::NotificationCenter member functions 
 | 
						|
    have been changed to accept a Poco::Notification::Ptr instead of Poco::Notification* 
 | 
						|
    to improve exception safety. This change should be transparent and fully backwards 
 | 
						|
    compatible. The signature of the methods returning a Poco::Notification* have not been 
 | 
						|
    changed for backwards compatibility. It is recommended, that any Notification* obtained 
 | 
						|
    should be immediately assigned to a Notification::Ptr.	
 | 
						|
  - SQLite::SessionImpl::isTransaction() now uses sqlite3_get_autocommit() to find out 
 | 
						|
    about the transaction state.
 | 
						|
  - improved SQLite data type mapping
 | 
						|
  - refactored Crypto library to make it independent from NetSSL_OpenSSL.
 | 
						|
  - added support for RSA-MD5 digital signatures to Crypto library.
 | 
						|
  - removed SSLInitializer from NetSSL library (now moved to Crypto library)
 | 
						|
  - added build configs for static libraries to Crypto library
 | 
						|
  - OpenSSL now depends on Crypto library (which makes more sense than
 | 
						|
    vice versa, as it was before). Poco::Net::X509Certificate is now
 | 
						|
    a subclass of Poco::Crypto::X509Certificate (adding the verify()
 | 
						|
    member function) and the Poco::Net::SSLInitializer class was 
 | 
						|
    moved to Poco::Crypto::OpenSSLInitializer.		  
 | 
						|
  - added build configs for static libraries to Zip
 | 
						|
  - added batch mode to CppUnit::WinTestRunner.
 | 
						|
    WinTestRunnerApp supports a batch mode, which runs the
 | 
						|
    test using the standard text-based TestRunner from CppUnit.
 | 
						|
    To enable batch mode, start the application with the "/b"
 | 
						|
    or "/B" command line argument. Optionally, a path to a file
 | 
						|
    where the test output will be written to may be given:
 | 
						|
    "/b:<path>" or "/B:<path>".
 | 
						|
    When run in batch mode, the exit code of the application
 | 
						|
    will denote test success (0) or failure (1).
 | 
						|
  - testsuites now also work for static builds on Windows
 | 
						|
  - The IPv6 support for Windows now basically works (Net library compiled with POCO_HAVE_IPv6)
 | 
						|
  - fixed a potential error when shutting down openssl in a statically linked application
 | 
						|
  - added static build configs to Data library
 | 
						|
  - added Poco::AtomicCounter class, which uses OS-specific APIs for atomic (thread-safe) 
 | 
						|
    manipulation of counter values.
 | 
						|
  - Poco::RefCountedObject and Poco::SharedPtr now use Poco::AtomicCounter for 
 | 
						|
    reference counting
 | 
						|
  - fixed SF# 2765569: LoadConfiguration failing from current directory
 | 
						|
 | 
						|
 | 
						|
!!Incompatible Changes and Possible Transition Issues
 | 
						|
 | 
						|
  - Some methods that have previously taken a plain pointer (to a reference counted object)
 | 
						|
    as argument now take a Poco::AutoPtr instead. This shouldn't cause any problems for
 | 
						|
    properly written code. Examples are Poco::NotificationCenter, Poco::NotificationQueue
 | 
						|
    and Poco::Net::HTTPServer.
 | 
						|
  - Poco::Glob now works with and assumes UTF-8 encoded strings.
 | 
						|
  - Poco::Timer: the interval between callbacks is no longer influenced by the 
 | 
						|
    time needed to execute the callback.
 | 
						|
  - The Crypto and NetSSL_OpenSSL libraries have been refactored. NetSSL_OpenSSL
 | 
						|
    now depends on the Crypto library (previously, it was vice versa).
 | 
						|
  
 | 
						|
 | 
						|
!!!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
 | 
						|
 | 
						|
  - Poco::HashMap and Poco::HashSet classes (Foundation)
 | 
						|
  - Poco::Tuple class template (Foundation)
 | 
						|
  - Poco::SharedMemory class (Foundation)
 | 
						|
  - Poco::FileStream, Poco::FileInputStream, Poco::FileOutputStream classes that
 | 
						|
    support Unicode (UTF-8) filenames on Windows (Foundation)
 | 
						|
  - improvements and bugfixes in the Net library, with a focus on the HTTP client
 | 
						|
    and server classes
 | 
						|
  - Poco::DynamicAny class (Foundation)
 | 
						|
  - improvements to Poco::Net::NetworkInterface class (Net)
 | 
						|
  - Poco::Condition class, implementing POSIX condition variable-style
 | 
						|
    thread synchronization (Foundation)
 | 
						|
  - Poco::RegularExpression now uses [[http://www.pcre.org PCRE]] 7.1 (Foundation)
 | 
						|
  - improved Unicode/UTF-8 support -- Poco::Unicode and Poco::UTF8 classes
 | 
						|
  - Poco::XML::NodeAppender class for faster DOM tree creation (XML)
 | 
						|
  - Poco::Checksum class (Foundation)
 | 
						|
  - lots of bugfixes and other improvements -- please see the
 | 
						|
    CHANGELOG for details
 | 
						|
 | 
						|
 | 
						|
!!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
 |