aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/CHANGELOG
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:44:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:49 +0300
commit718c552901d703c502ccbefdfc3c9028d608b947 (patch)
tree46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/CHANGELOG
parente9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff)
downloadydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/CHANGELOG')
-rw-r--r--contrib/libs/poco/CHANGELOG5596
1 files changed, 2798 insertions, 2798 deletions
diff --git a/contrib/libs/poco/CHANGELOG b/contrib/libs/poco/CHANGELOG
index 59a11835d4..3d690619b8 100644
--- a/contrib/libs/poco/CHANGELOG
+++ b/contrib/libs/poco/CHANGELOG
@@ -1,2798 +1,2798 @@
-This is the changelog file for the POCO C++ Libraries.
-
-Release 1.9.4 (2019-09-18)
-==========================
-
-- fixed GH #2784: Upgrade bundled expat XML parser library to release 2.2.8,
- which fixes CVE-2019-15903.
-
-
-Release 1.9.3 (2019-08-20)
-==========================
-
-- fixed GH #2603: Remove incorrect upper size limits for SSL certificates in NetSSL_Win
-- fixed GH #2661: Poco::Zip::ZipArchive cannot load new tomcat.zip file (additional fix)
-- fixed GH #2742: Support of vs150 & vs160 with the official Microsoft localization executable,
- vswhere.exe, installed by MSVC starting from VS2017
-- Data/ODBC: make binding of std::string configurable (SQL_LONGVARCHAR - default or SQL_VARCHAR)
- through a global setting (Poco::Data::ODBC::Connector::bindStringToLongVarChar()).
-- added Poco::SharedLibrary::setSearchPath() (currently implemented on Windows only)
-- Windows required minimum version is now Windows XP SP2
-- upgraded bundled SQLite to 3.29.0
-- CppParser now supports type aliases defined with using keyword.
-- PageCompiler: added support for adding Content-Security-Policy and Cache-Control headers.
-
-
-Release 1.9.2 (2019-07-02)
-==========================
-
-- fixed GH #2736: Error using CMake gui - latest version
-- fixed GH #2737: Bundles vulnerable copy of Expat — please upgrade to Expat 2.2.7
-- fixed GH #2738: Poco::AccessExpireStrategy::onGet() must not extend expiration time after expiration
-
-
-Release 1.9.1 (2019-06-24)
-==========================
-
-- Added support for building with different OpenSSL distributions on Windows.
- See the POCO_EXTERNAL_OPENSSL macro defined in Foundation/include/Poco/Config.h
- for options.
-- Added Poco::Net::HTTPClientSession::flushRequest()
-- Added Poco::Net::WebSocket::setMaxPayloadSize() and Poco::Net::WebSocket::getMaxPayloadSize()
- to specify a maximum acceptable payload size for Poco::Net::WebSocket::receiveFrame().
-- Poco::Net::WebSocket: don't attempt to send empty credentials in response to 401 response.
-- Redis: added support for additional commands (exists, expire, ping, multi, exec, discard)
-- Redis: added Poco::Redis::Client::isConnected()
-- Upgraded bundled PCRE to version 8.43
-- Upgraded bundled SQLite to version 3.28.0
-- Added project/solution files for Visual Studio 2019
-- Fixed Visual Studio project files (version information from DLLVersion.rc not included in DLLs)
-- Include version resource in DLLs built with CMake
-- Added HTTP*Credentials::empty() and HTTPCredentials::clear()
-- fixed GH #2220: Encoding/DoubleByteEncoding.cpp fails to compile with VS2008 and _DEBUG
-- fixed GH #2243: DLLVersion.rc is excluded from build, missing detail information in properties of *.dll
-- fixed GH #2277: SQLite null pointer dereference occurs when exception is being thrown
-- fixed GH #2313: PollSet behaves differently on windows
-- fixed GH #2316: cmake can't find MySQL and ODBC libraries
-- fixed GH #2336: Omit ContentLength in WebSocket accept response
-- fixed GH #2358: Don't include <openssl/fips.h> for later OpenSSL
-- fixed GH #2364: Stringify escapes every unicode symbol when object contain an array
-- fixed GH #2380: Calling Poco::Net::X509Certificate::addChainCertificate() leads to double free.
-- fixed GH #2492: Net::Socket::address() crash on Android
-- fixed GH #2549: Fix keepAlive in http client session
-- fixed GH #2565: HTMLForm: optional enforcement of Content-Length instead of Chunked Transfer-Encoding
-- fixed GH #2570: DialogSocket: receiveStatusMessage() - line length limit applies to entire multi-line message
-- fixed GH #2583: Crypto library does not build with OpenSSL 1.0.0
-- fixed GH #2655: MongoDB Binary element to string - bug
-- fixed GH #2661: Poco::Zip::ZipArchive cannot load new tomcat.zip file
-- fixed GH #2700: Invalid read of memory in Poco::Environment::set which may cause crashes.
-- fixed GH #2712: File_WIN32.cpp(168): error C2065: "_upath":Undeclared identifier
-- fixed GH #2723: Access violation when trying to decompress .zip file with unsupported compression method.
-
-
-Release 1.9.0 (2018-03-07)
-==========================
-
-- Added additional text encodings, available in the new PocoEncodings library (GH #2165)
-- Added Punycode support for resolving Internationalized Domain Names to Poco::Net::DNS (GH #2164)
-- Added XDG Base Directory Specification support in Poco::Path, Poco::Util::SystemConfiguration
- and Poco::Util::Application (GH #1609, GH #561, GH #1609)
-- Added support for GCM ciphers in Crypto library (GH #2129)
-- Poco::Net::RemoteSyslogChannel and Poco::Net::RemoteSyslogListener now have basic
- support for RFC 5424 structured data (GH #2173)
-- Poco::File now has methods for obtaining partition space (GH #1545)
-- Added Poco::Net::Context::addCertificateAuthority() (GH #2197)
-- Added Poco::AutoPtr::reset() and Poco::SharedPtr::reset() to improve compatibility
- with std::shared_ptr() (GH #2172)
-- fixed GH #703: Poco::Data::SQLite data types (INTEGER is now mapped to Int64)
-- fixed GH #1426: inttypes.h is available on sun solaris
-- fixed GH #1912: Run ping with custom data size #1912
-- fixed GH #2177: Run ping with custom timeout instead of the default
-- fixed GH #2058 and GH #2095: Synchronization issue/deadlock in Poco::Util::Timer at destruction
-- fixed GH #2089: Allow hyphen in HTTP authentication scheme names
-- fixed GH #2106: Undefined behavior in Delegate::equals()
-- fixed GH #2108: POCO SQLite Data Connector hangs for 20 secs waiting for thread timeouts on Windows
-- fixed GH #2142: JSON::Object preserveOrder keys not synced on assignment
-- fixed GH #2199 and GH #2188: Illegal header in zip file exception/assertion failure during JAR file decompression
-- fixed GH #2203: Use MAX_ADDRESS_LENGTH to determine buffer size
-
-
-Release 1.8.1 (2018-01-09)
-==========================
-
-- Added Poco::File::linkTo()
-- fixed GH #2044: Poco::Net::NetworkInterface::list does not list inactive interfaces
- even when explicitly being asked for it.
-- fixed GH #2042: Android abstract namespace local socket address
-- fixed GH #2038: Poco::Net::MultipartWriter::createBoundary() always returns the same string.
-- fixed GH #2020: SQLite not handling parameter count mismatch correctly.
-- fixed GH #2012: Data/SQLite: Exception messages contain duplicate text
-- fixed GH #2005: Upgraded bundled PCRE to 8.41
-- fixed GH #2000: Fix building XMLStreamParser with unbundled expat
-- fixed GH #1603: fix MinGW 4.8.2 Compilation
-- fixed GH #1991: Support building poco 1.8.0 as cmake sub-project
-- fixed GH #2080: Bugs in Poco::Net::Socket::select when POCO_HAVE_FD_POLL is defined
-
-
-Release 1.8.0.1 (2017-11-11)
-============================
-
-- Reverted change for GH #1828; DeflatingStreamBuf::sync() no longer flushes
- underlying stream as this causes corruption for some Zip files.
-- PocoDoc: fix for handling compiler configuration for Gradle builds.
-
-
-Release 1.8.0 (2017-11-10)
-==========================
-
-- Poco::Base64Encoder: add support for base64url encoding (GH #1967)
-- Add Poco::Net::PollSet class to Net library (GH #1763)
-- The Net library now supports Unix Domain Sockets, where available.
-- Added stream parser (Poco::XML::XMLStreamParser) to XML library (GH #1697)
-- Added Poco::Net::TCPServerConnectionFilter and Poco::Net::TCPServer::setConnectionFilter()
- to support connection filtering and IP blacklisting (GH #1485)
-- Added Redis library (GH #1383)
-- Added Zip64 support to Zip library (GH #1356)
-- Upgraded bundled SQLite to 3.21.0
-- Removed OpenVMS support (GH #1988)
-- fixed GH #271: NamedMutex_UNIX.cpp must remove semid
-- fixed GH #739: Add WebSocket::receiveFrame() that appends to a Poco::Buffer<char>
-- fixed GH #749: NTP Packet impl not according to RFC958
-- fixed GH #896: Sample "TwitterClient" of NetSSL_OpenSSL can't be build
-- fixed GH #1172: Poco::Data default storage should be std::vector
-- fixed GH #1337: Poco::HTMLForm throws exception HTMLFormException("Form must be prepared")
- even after form is prepared.
-- fixed GH #1373: SessionImpl::close() does not check return code of close handle specific function
-- fixed GH #1425: Workaround bug in SolarisStudio 12.4 on RVO-ed objects.
-- fixed GH #1614: Problematic license for JSON component: the previously used JSON.org parser
- has been replaced with pdjson
-- fixed GH #1659: wrong field size calculation in ODBC code
-- fixed GH #1683: Poco::Data ODBC impl doesn't bind to unsigned numeric types properly
-- fixed GH #1705: MongoDB: support URI in Connection
-- fixed GH #1708: "SocketReactor::addEventHandler" and "SocketReactor::removeEventHandler"
- must protect the access to "NotifierPtr pNotifier"
-- fixed GH #1729: getConnectionTimeout of SQLite DB wrapper returns wrong value
- (in milliseconds, should be in seconds)
-- fixed GH #1739: OpenSSLInitializer isn't threadsafe
-- fixed GH #1750: double_conversion in NumericString is in conflict with Qt5 Core
-- fixed GH #1804 and GH #1805: Integer Overflow or Wraparound
-- fixed GH #1828: DeflatingStreamBuf::sync() should also flush underlying stream.
-- fixed GH #1880: FTPClientSession::close() error
-- fixed GH #1897: DateTime wrong binding/extraction for MySQL database
-- fixed GH #1905: Compiling Foundation library with POCO_NO_FPENVIRONMENT in Config.h fails
-- fixed GH #1906: Race condition in ThreadPool
-- fixed GH #1913: Message Doesn't Support 64-bit Thread IDs
-- fixed GH #1921: ICMPSocket does not check reply address
-- fixed GH #1926: Exception when using SortedDirectoryIterator
-- fixed GH #1934: File::setExecutable() on POSIX should set executable bit for group and
- other if corresponding readable bit is set
-- fixed GH #1950: Net Exception: Address family not supported with clang
-- fixed GH #1964: Buffer<> swap miss ownMem
-
-
-Release 1.7.9p2 (2017-11-06)
-============================
-
-- fixed GH #1628: Export Poco::Zip::ZipUtil class
-
-
-Release 1.7.9p1 (2017-11-02)
-============================
-
-- fixed GH #1968: Zip Decompress Parent Path Injection
-
-
-Release 1.7.9 (2017-09-11)
-==========================
-
-- fixed GH #1813: xmlparse.cpp doesn't compile in WinCE (poco 1.7.8p3)
-- fixed GH #1826: XPath query error
-- fixed GH #1834: Visual Studio 2008 cannot find stdint.h
-- fixed GH #1842: Upgrade bundled expat to 2.2.3
-- fixed GH #1843: Use random salt for Poco::XML::NamePool
-- fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe
-- improved/fixed QNX support
-- Poco::Util::LayeredConfiguration: added support for labelling configurations and
- finding them by their label
-- upgraded bundled SQLite to 3.20.1
-- PageCompiler: support <%@ include file="<path>" %> syntax for includes, in addition
- to <%@ include page="<path>" %>
-- PageCompiler: optimize generated request handler code by removing useless
- statements, e.g. writing empty strings.
-- added POCO_DEPRECATED macro which will be used in the future to deprecate
- classes and methods.
-- Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are
- now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing
- between different users. Furthermore, ftok() is called with 'p' as project ID
- argument.
-
-
-Release 1.7.8p3 (2017-06-22)
-============================
-
-- fixed GH #1760: Upgrade bundled expat to 2.2.1 which fixes some vulnerabilities:
- http://seclists.org/oss-sec/2017/q2/499
-
-
-Release 1.7.8p2 (2017-04-18)
-============================
-
-- fixed GH #1655: CipherImpl memory leak with OpenSSL 1.1
-
-
-Release 1.7.8 (2017-02-21)
-==========================
-
-- fixed GH #1212: Lost WebSocket Frames after Client Websocket Handshake is complete
-- fixed GH #1260: URI encoding
-- fixed GH #1501: Alpine 3.4 trouble with Foundation/src/Error.cpp
-- fixed GH #1523: Long path names under Windows
-- fixed GH #1536: Building with OS X 10.12 SDK and 10.7 deployment target without libc++ fails
-- fixed GH #1537: Need to add multiple cflags parameters to configure
-- fixed GH #1539: Allow overriding POCO_TARGET_OSARCH for iPhoneSimulator
-- fixed GH #1546: Enable bitcode for iPhone build config
-- fixed GH #1549: Latin2Encoding and 0xFF
-- fixed GH #1551: Unable to use Poco on macOS 10.12
-- fixed GH #1552: IPv6 & operator throws an exception when scope = 0
-- fixed GH #1566: Poco/Zip issue with some CM_DEFLATE archives
-- fixed GH #1567: Poco/ZIP issue with uncompressed archives
-- fixed GH #1570: IPv6AddressImpl::toString() returns wrong output for IPv6 address "::"
-- fixed GH #1571: ODBC Preparator memory leak
-- fixed GH #1573: Poco::File::createDirectories() should not throw Poco::FileExistsException
-- fixed GH #1580: Unable to unzip zip file created using non-seeking stream
-- fixed GH #1581: Cannot find 'pcre.h' when using POCO_UNBUNDLED, a non-system PCRE, and CMake
-- fixed GH #1588: Poco::Net::HTTPChunkedStreamBuf::readFromDevice(): restrict maximum
- size of chunk length
-- fixed GH #1589: Poco::Net::HTMLForm: restrict maximum field and value length
-- fixed GH #1590: Poco::Net::DialogSocket: restrict maximum line length
-- fixed GH #1591: Poco::Net::MultipartReader: restrict maximum boundary string length
-- fixed GH #1597: adding empty file to zip leads to archive that can't be unzipped by windows
-- fixed GH #1599: readFromDevice() in AutoDetectStream.cpp in Poco Zip cannot detect signature
-- fixed GH #1534: Upgraded bundled zlib to 1.2.11
-- fixed GH #1558: Upgraded bundled SQLite to 3.16.2
-- fixed GH #1586: Upgraded bundled PCRE to 8.40
-- fixed GH #1538: Upgraded bundled double-conversion to 1.1.5
-- MongoDB: added support for authentication using "MONGODB-CR" and "SCRAM-SHA-1"
- authentication schemes.
-- MongoDB: additional documentation and fixes for style and consistency and minor
- API improvements (e.g., Poco::MongoDB::Binary)
- Note: some flag enumeration values have been renamed for better consistency
- and readability; existing code using these will have to be updated.
-
-
-Release 1.7.7 (2016-12-31)
-==========================
-
-- fixed GH #865: FileChannel compress fails leaving empty .gz files
-- fixed GH #990: Potential race condition in Poco::File on Windows
-- fixed GH #1157: Fixing a bug in the NetSSL_Win module (Host name verification failed error)
-- fixed GH #1351: Fix for android include pthread.h from /usr/include
-- fixed GH #1436: ODBC Bug: Unicode text(NVARCHAT) read from DB is truncated to half
-- fixed GH #1453: _clock_gettime Symbol not found on Mac 10.11
-- fixed GH #1460: POCO does not build with OpenSSL 1.1
-- fixed GH #1461: Poco::Data::SQLite::SQLiteStatementImpl::next() error
-- fixed GH #1462: AbstractConfiguration::getUInt does not parse hex numbers
-- fixed GH #1464: ODBCMetaColumn::init() always maps integer NUMERIC/DECIMAL to Int32
-- fixed GH #1465: Assertion violation in DateTime.cpp using ZipArchive
-- fixed GH #1472: HTTP(S)StreamFactory should send a User-Agent header.
-- fixed GH #1476: Fixed error with Poco::UTF8Encoding::isLegal()
-- fixed GH #1484: ODBC: fix uninitialized variable
-- fixed GH #1486: Support ODBC GUID data type as string
-- fixed GH #1488: Poco::ObjectPool shrinks if returned object is not valid
-- fixed GH #1515: Detection of closed websocket connection
-- fixed GH #1521: bug in JSON ParseHandler.cpp (empty keys should be valid)
-- fixed GH #1526: iOS app rejected, IPv6 not working
-- fixed GH #1532: RecordSet and RowFilter: bad use of reference counter
-
-
-Release 1.7.6 (2016-10-18)
-==========================
-
-- fixed GH #1298: ZipFileInfo: Assertion violation when reading ods files
-- fixed GH #1315: Redefine Poco assertions for static analysis
-- fixed GH #1397: Fix issues reported by static source code analysis
-- fixed GH #1403: Android compile with poco-1.7.5 no 'pthread_condattr_setclock' error
-- fixed GH #1416: Assertion violation when unzipping
-- fixed GH #1418: Poco::Delegate assignment operator fails to compile for some specializations
-- fixed GH #1422: Can't build poco 1.7.4 or 1.7.5 on centos5 32 bit
-- fixed GH #1429: exception thrown in MongoDB when using replicaset
-- fixed GH #1431: Poco/FIFOBuffer.h copy issue
-- fixed GH #1445: Use stable_sort to preserve order of IP addresses from DNS
-- fixed GH #1456: better handle leap seconds in Poco::DateTime and Poco::LocalDateTime
-- fixed GH #1458: Probably invalid epoll_create() usage inside Poco/Socket.cpp
-- Poco::XML::NamePool: increased default size from 251 to 509. Default size can now
- be changed by defining the POCO_XML_NAMEPOOL_DEFAULT_SIZE macro accordingly.
-- Enchancements: Poco::XML::Document and Poco::XML::DOMParser have new constructors
- taking a NamePool size. Poco::Util::XMLConfiguration::load() also has a new overload
- for that purpose.
-- Improved error handling in the Zip library (getting rid of some poco_assert macros
- and did proper error handling instead).
-- Added Poco::URISyntaxException (subclass of Poco::SyntaxException), which is now
- thrown by Poco::URI.
-- Improved error handling in Poco::URIStreamOpener::open().
-- Poco::Data::MySQL: Handle connection lost/server gone error when starting a transaction
- and retry.
-- XMLConfiguration default (and single-argument delimiter) constructor now loads an empty
- XML document with "config" root element to make the configuration usable without an
- additional call to load() or loadEmpty().
-
-
-Release 1.7.5 (2016-08-29)
-==========================
-
-- fixed GH #1252: Unable to compile Poco::Data for Windows Compact Embedded 2013
-- fixed GH #1344: Poco::Event::wait(timeout) should use CLOCK_MONOTONIC on Linux
-- fixed GH #1355: [JSON::Object] After copy-ctor, JSON::Object::_keys still points to
- keys in map of copied object
-- GH #1361: Shell expansion rules say that tilde must be replaced with $HOME before
- calling getpwuid
-- Poco::SingletonHolder: added reset() method
-- prefer clock_getttime() over gettimeofday() if available
-- Upgraded bundled SQLite to 3.14.1
-
-
-Release 1.7.4 (2016-07-20)
-==========================
-
-- fixed GH #1300: Session constructor hangs
-- fixed GH #1303: HTTPSClientSession::sendRequest() fails if server has wildcard cert
-- fixed GH #1304: URI doesn't know "ws:/" or "wss://" schemes
-- fixed GH #1307: Upgrade bundled expat to 2.2.0
-- fixed GH #1313: XML library compilation error
-- fixed GH #1316: Empty SocketReactor never sleeps
-- Upgraded bundled SQLite to 3.13.0
-
-
-Release 1.7.3 (2016-05-02)
-==========================
-
-- fixed GH #993: Invalid zip format when opening a docx in word
-- fixed GH #1235: Poco::Net::HTTPClientSession::sendRequest() should also handle HTTP_PATCH
-- fixed GH #1236: Remove Poco::Data::Row::checkEmpty() as it prevents Row from being used
- with all NULL rows
-- fixed GH #1239: Poco::Zip::Compress with non-seekable stream fails for CM_STORE
-- fixed GH #1242: Poco::Data::RowFormatter generate exception if the first column of first
- row is null
-- fixed GH #1253: ListMap does not maintain insertion order if key already exists
-- Upgraded bundled SQLite to 3.12.2
-
-
-Release 1.7.2 (2016-03-21)
-==========================
-
-- fixed GH #1197: Upgrade bundled expat to 2.1.1
- Expat 2.1.1 fixes a CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1283
-- fixed GH #1204: getdtablesize has been removed on Android 21
-- fixed GH #1203: Poco::Data::RecordSet should be reusable
-- fixed GH #1198: Upgrade bundled SQLite to 3.12.1
-
-
-Release 1.7.1 (2016-03-14)
-==========================
-
-- fixed GH #1187: Data/MySQL: Seeing frequent "MySQL server has gone away" errors
-- fixed GH #1184: Attempting to connect via a proxy throws a DNS error "Host not found"
-- fixed GH #1180: Possible deadlock when TaskManager::count() is called in onFinished
-- NetSSL_OpenSSL: use TLS_*_method() instead of deprecated SSLv23_*_method()
- if OpenSSL version is >= 1.1; initialize default/fallback client context to support
- all TLS protocols, not just TLSv1
-
-
-Release 1.7.0 (2016-03-07)
-==========================
-
-- POSSIBLE BREAKING CHANGE: removed automatic registration of Data connectors due to
- issues with static initialization order.
-- NetSSL_OpenSSL: added support for ECDH and DH ciphers; added support to disable
- specific protocols (Poco::Net::Context::disableProtocols());
- new Poco::Net::Context constructor taking a Poco::Net::Context::Params structure that
- allows specifying ECDH and DH parameters.
-- Poco::Net::TCPServer: add additional try ... catch block around poll() to
- gracefully deal with errors due to high system load (e.g., out of file descriptors).
-- fixed GH #1171: Poco::Data::RecordSet: rowCount not reset after execute
-- fixed GH #1167: CMake & POCO_UNBUNDLED: expat sources are compiled in libPocoXML
-- fixed GH #1160: Poco::Net::NetException
- "SSL Exception: error:1409F07F:SSL routines:ssl3_write_pending:bad write retry"
-- fixed GH #1152: Wrong TaskProgressNotification description
-- fixed GH #1141: Poco::StringTokenizer::TOK_TRIM changes behavior between 1.4 and 1.6
-- fixed GH #1137: Missing 'longint' type in SQLite
-- fixed GH #1135: Different package on github and official web site
-- fixed GH #1030: tvOS / WatchOS bitcode enabled for simulators
-- fixed GH #1114: World-write permissions on files created by daemon
-- fixed GH #1087: prevent line breaks in base64-encoded creds
-- fixed GH #1026: Fixes for producing the poco-1.6.2 release on a Cygwin x86 platform
-- fixed GH #1022: Abbreviation in setThreadName can happen even if thread name is not too long
-- fixed GH #1002: ActiveDispatcher saves reference to event context after event was
- performed until it gets new event
-- fixed GH #973: overwrite existing files on windows when moving files
-- fixed GH #969: Poco::File::renameTo() behaviour differs on windows and linux
-- fixed GH #967: Missing data types in SQLite
-- fixed GH #966: Possible crash when processing a corrupted Zip file
-- fixed GH #958: Bug while reading X509Certificate subjectName
-- fixed GH #937: Missing build_vs140.cmd
-- fixed GH #933: Change in JSON::Object::set(key,value) behavior in 1.6.1
-- fixed GH #931: make strToInt() more strict in what it accepts
-- fixed GH #921: `BasicUnbufferedStreamBuf` needs to be marked for import/export
-- fixed GH #848: MailMessage::_encoding is not set when retrieving plain/text message
-- fixed GH #767: Inconsistency in getPath & getPathAndQuery returns
-- fixed GH #724: Poco 1.6.0 is not compiled with openssl 1.0.0
-- fixed GH #713: Improved support for producing Canonical XML in XMLWriter
-- fixed GH #696: bug in parsing name of attachment poco c++ 1.6.0
-- fixed GH #335: Compress with nonseekable
-- upgraded bundled SQLite to 3.11.0
-- added Poco::Crypto::X509Certificate::equals() to compare two certificates
-- support for detecting Win8/Win10 in Poco::Environment
-- Poco::Net::HTTPServerRequestImpl: fixed an issue with DELETE in persistent connections
-- NetSSL: added Context::preferServerCiphers()
-- NetSSL: added support for ECDH, new Context constructor
-- NetSSL: add support for disabling certain protocols
-- SMTPClientSession: added support for XOAUTH2 authentication
-- Poco::Data::SessionPool: re-added customizeSession() method from 1.4.x releases
-- improved SSLManager to automatically set-up a reasonable client Context if
- none is configured
-- add brew OpenSSL search paths to Darwin configs
-- add HTTP/1.1 version to HTTPRequest for client WebSocket, as this is required for
- most servers
-- remove GCC_DIAG_OFF as this caused more issues than it solved
-- respect POCO_NO_FORK_EXEC in ServerApplication (tvOS)
-- tvOS and WatchOS support
-- fix: need an implementation of available() for WebSocketImpl
-- HTTPSessionInstantiator: respect global proxy config
-- added constant for HTTP PATCH method to Poco::Net::HTTPRequest
-- NumberParser::parseHex[64](): allow 0x/0X prefix
-
-
-Release 1.6.1 (2015-08-03)
-==========================
-
-- added project and solution files for Visual Studio 2015
-- upgraded bundled SQLite to 3.8.11.1
-- fixed GH #782: Poco::JSON::PrintHandler not working for nested arrays
-- fixed GH #819: JSON Stringifier fails with preserve insert order
-- fixed GH #878: UUID tryParse
-- fixed GH #869: FIFOBuffer::read(T*, std::size_t) documentation inaccurate
-- fixed GH #861: Var BadCastException
-- fixed GH #779: BUG in 1.6.0 Zip code
-- fixed GH #769: Poco::Var operator== throws exception
-- fixed GH #766: Poco::JSON::PrintHandler not working for objects in array
-- fixed GH #763: Unable to build static with NetSSL_OpenSSL for OS X
-- fixed GH #750: BsonWriter::write<Binary::Ptr> missing size ?
-- fixed GH #741: Timestamp anomaly in Poco::Logger on WindowsCE
-- fixed GH #735: WEC2013 build fails due to missing Poco::Path methods.
-- fixed GH #722: poco-1.6.0: Unicode Converter Test confuses string and char types
-- fixed GH #719: StreamSocket::receiveBytes and FIFOBuffer issue in 1.6
-- fixed GH #706: POCO1.6 Sample EchoServer BUG
-- fixed GH #646: Prevent possible data race in access to Timer::_periodicInerval
-- DeflatingStream: do not flush underlying stream on sync() as these can cause
- corrupted files in Zip archives
-
-
-Release 1.6.0 (2014-12-22)
-==========================
-
-- fixed GH #625: MongoDB ensureIndex double insert?
-- fixed GH #622: Crypto: RSATest::testSign() should verify with public key only
-- fixed GH #620: Data documentation sample code outdated
-- fixed GH #618: OS X 10.10 defines PAGE_SIZE macro, conflicts with PAGE_SIZE in Thread_POSIX.cpp
-- fixed GH #616: Visual Studio warning C4244
-- fixed GH #612: OpenSSLInitializer calls OPENSSL_config but not CONF_modules_free
-- fixed GH #608: (Parallel)SocketAcceptor ctor/dtor call virtual functions
-- fixed GH #607: Idle Reactor high CPU usage
-- fixed GH #606: HTMLForm constructor read application/x-www-form-urlencoded UTF-8 request
- body first parameter with BOM in name
-- fixed GH #596: For OpenSSL 1.0.1, include openssl/crypto.h not openssl/fips.h
-- fixed GH #592: Incorrect format string in Poco::Dynamic::Struct
-- fixed GH #590: Poco::Data::SQlite doesn't support URI filenames
-- fixed GH #564: URI::encode
-- fixed GH #560: DateTime class calculates a wrong day
-- fixed GH #549: Memory allocation is not safe between fork() and execve()
-- fixed GH #500: SSLManager causes a crash
-- fixed GH #490: 2 byte frame with payload length of 0 throws "Incomplete Frame Received" exception
-- fixed GH #483: multiple cases for sqlite_busy
-- fixed GH #482: Poco::JSON::Stringifier::stringify bad behaviour
-- fixed GH #478: HTTPCredentials not according to HTTP spec
-- fixed GH #471: vs2010 release builds have optimization disabled ?
-- fixed GH #468: HTTPClientSession/HTTPResponse not forwarding exceptions
-- fixed GH #438: Poco::File::setLastModified() doesn't work
-- fixed GH #402: StreamSocket::receiveBytes(FIFOBuffer&) and sendBytes(FIFOBuffer&) are
- not thread safe
-- fixed GH #345: Linker warning LNK4221 in Foundation for SignalHandler.obj, String.obj
- and ByteOrder.obj
-- fixed GH #331: Poco::Zip does not support files with ".." in the name.
-- fixed GH #318: Logger local time doesn't automatically account for DST
-- fixed GH #294: Poco::Net::TCPServerParams::setMaxThreads(int count) will not accept count == 0.
-- fixed GH #215: develop WinCE build broken
-- fixed GH #63: Net::NameValueCollection::size() returns int
-- Poco::Logger: formatting methods now support up to 10 arguments.
-- added Poco::Timestamp::raw()
-- Poco::DeflatingOutputStream and Poco::InflatingOutputStreams also flush underlying stream
- on flush()/sync().
-- Poco::Util::Timer: prevent re-schedule of cancelled TimerTask
-- enabled WinRegistryKey and WinRegistryConfiguration for WinCE
-- Poco::BasicEvent improvements and preparations for future support of lambdas/std::function
-- upgraded bundled sqlite to 3.8.7.2
-- Poco::Thread: added support for starting functors/lambdas
-- Poco::Net::HTTPClientSession: added support for global proxy configuration
-- added support for OAuth 1.0/2.0 via Poco::Net::OAuth10Credentials and
- Poco::Net::OAuth20Credentials classes.
-- Poco::Net::IPAddress: fixed IPv6 prefix handling issue on Windows
-- added Poco::Timestamp::TIMEVAL_MIN and Poco::Timestamp::TIMEVAL_MAX
-- added Poco::Clock::CLOCKVAL_MIN and Poco::Clock::CLOCKVAL_MAX
-- added poco_assert_msg() and poco_assert_msg_dbg() macros
-- Poco::Net::Context: fixed a memory leak if the CA file was not found while creating the
- Context object (the underlying OpenSSL context would leak)
-- Poco::URI: added new constructor to create URI from Path
-- Various documentation and style fixes
-- Removed support (project/solution files) for Visual Studio.NET 2003 and Visual Studio 2005.
-- Improved CMake support
-
-
-Release 1.5.4 (2014-10-14)
-==========================
-
-- fixed GH #326: compile Net lib 1.5.2 without UTF8 support enabled
-- fixed GH #518: NetworkInterface.cpp compile error w/ POCO_NO_WSTRING (1.5.3)
-- Fixed MSVC 2010 warnings on large alignment
-- make HTTPAuthenticationParams::parse() add value on end of string
-- fixed GH #482: Poco::JSON::Stringifier::stringify bad behaviour
-- fixed GH #508: Can't compile for arm64 architecture
-- fixed GH #510: Incorrect RSAKey construction from istream
-- fix SharedMemory for WinCE/WEC2013
-- Add NIOS2 double conversion detection, fixes compile errors
-- added VS2013 project/solution files for Windows Embedded Compact 2013
-- added Process::isRunning()
-- NetSSL: Fix typo in documentation
-- NetSSL_OpenSSL: support for TLS 1.1 and 1.2
-- Zip: Added CM_AUTO, which automatically selects CM_STORE or CM_DEFLATE based
- on file extension. Used to avoid double-compression of already compressed file
- formats such as images.
-- added %L modifier to PatternFormatter to switch to local time
-- removed unnecessary explicit in some multi-arg constructors
-- Allow SecureStreamSocket::attach() to be used in server connections
-- added Var::isBoolean() and fixed JSON stringifier
-- added poco_unexpected() macro invoking Bugcheck::unexpected() to deal
- with unexpected exceptions in destructors
-- fixed GH #538 prevent destructors from throwing exceptions
-- improved HTTP server handling of errors while reading header
-- fixed GH #545: use short for sign
-- upgraded SQLite to 3.8.6
-- fixed GH #550 WebSocket fragmented message problem
-- improved HTTPClientSession handling of network errors while sending the request
-- updated bundled PCRE to 8.35.0
-- fixed GH #552: FIFOBuffer drain() problem
-- fixed GH #402: StreamSocket::receiveBytes(FIFOBuffer&) and sendBytes(FIFOBuffer&) are
- not thread safe
-- HTTPCookie: fix documentation for max age
-- added Timestamp::raw() and Clock::raw()
-- Poco::Buffer properly handles zero-sized buffers
-- GH #512: Poco:Data:ODBC:Binder.h causes a crash
-- Added Crypto_Win and NetSSL_Win libraries which are re-implementations of existing
- Crypto and NetSSL_OpenSSL libraries based on WinCrypt/Schannel. The new libraries
- can be used as an almost drop-in replacement for the OpenSSL based libraries on
- Windows and Windows Embedded Compact platforms. Only available from GitHub for now.
-
-
-Release 1.5.3 (2014-06-30)
-==========================
-
-- fixed GH# 316: Poco::DateTimeFormatter::append() gives wrong result for
- Poco::LocalDateTime
-- Poco::Data::MySQL: added SQLite thread cleanup handler
-- Poco::Net::X509Certificate: improved and fixed domain name verification for
- wildcard domains
-- added Poco::Clock class, which uses a system-provided monotonic clock
- (if available) and is thus not affected by system realtime clock changes.
- Monotonic Clock is available on Windows, Linux, OS X and on POSIX platforms
- supporting clock_gettime() and CLOCK_MONOTONIC.
-- Poco::Timer, Poco::Stopwatch, Poco::TimedNotificationQueue and Poco::Util::Timer
- have been changed to use Poco::Clock instead of Poco::Timestamp and are now
- unaffected by system realtime clock changes.
-- fixed GH# 350: Memory leak in Data/ODBC with BLOB
-- Correctly set MySQL time_type for Poco::Data::Date.
-- fixed GH #352: Removed redundant #includes and fixed spelling mistakes.
-- fixed setting of MYSQL_BIND is_unsigned value.
-- fixed GH #360: CMakeLists foundation: add Clock.cpp in the list of source files
-- Add extern "C" around <net/if.h> on HPUX platform.
-- added runtests.sh
-- fixed CPPUNIT_IGNORE parsing
-- fixed Glob from start path, for platforms not alowing transverse from root (Android)
-- added NTPClient (Rangel Reale)
-- added PowerShell build script
-- added SmartOS build support
-- fix warnings in headers
-- XMLWriter: removed unnecessary apostrophe escaping (&apos)
-- MongoDB: use Int32 for messageLength
-- fixed GH #380: SecureSocket+DialogSocket crashes with SIGSEGV when timeout occours
-- Improve RSADigestEngine, using Poco::Crypto::DigestEngine to calculate hash before signing
-- added Poco::PBKDF2Engine
-- Fixed GH #380: SecureSocket+DialogSocket crashes with SIGSEGV when timeout occours
-- added support for a 'Priority' attribute on cookies.
-- GH #386: fixed bug in MailMessage without content-transfer-encoding header
-- GH #384: ew hash algorithms support for RSADigestEngine
-- fixed Clock overflow bug on Windows
-- Poco::ByteOrder now uses intrinsics, if available
-- CMake: added /bigobj option for msvc
-- Fix typo to restore Net/TestSuite_x64_vs120 build
-- correct path for CONFIGURE_FILE in CMakeLists.txt
-- Building Poco 1.5.2 for Synology RS812+ (Intel Atom) (honor POCO_NO_INOTIFY)
-- added WEC2013 support to buildwin.cmd and buildwin.ps1
-- HTMLForm: in URL encoding, percent-encode more characters
-- Fixed #include <linux/if.h> conflict with other libraries
-- Poco::Net::X509Certificate::verify() no longer uses DNS reverse lookups to validate host names
-- cert hostname validation is case insensitive and stricter for wildcard certificates
-- TCPServer: do not reduce the capacity of the default ThreadPool
-- added POCO_LOG_DEBUG flag
-- Zip: fixed a crash caused by an I/O error
-- added runtest script for windows
-- added SQlite Full Text Search support
-- added Thread::trySleep() and Thread::wakeUp()
-- fixed GH #410: Bug in JSON::Object.stringify() in 1.5.2
-- fixed GH #362: Defect in Var::parseString when there is no space between value and newline
-- fixed GH #314: JSON parsing bug
-- added GH #313: MetaColumn additions for Data::ODBC and Data::SQLite
-- fixed GH #346: Make Poco::Data::Date and Poco::Data::Time compare functions const.
-- fixed GH #341: Compiling poco-1.5.2 for Cygwin
-- fixed GH #305: There are bugs in Buffer.h
-- fixed GH #321: trivial build fixes (BB QNX build)
-- fixed GH #440: MongoDB ObjectId string formatting
-- added SevenZip library (Guenter Obiltschnig)
-- fixed GH #442: Use correct prefix length field of Windows IP_ADAPTER_PREFIX structure
-- improved GH #328: NetworkInterface on Windows XP
-- fixed GH #154 Add support for MYSQL_TYPE_NEWDECIMAL to Poco::Data::MySQL
-- fixed GH #290: Unicode support
-- fixed GH #318: Logger local time doesn't automatically account for DST
-- fixed GH #363: DateTimeParser tryParse/parse
-- added HTMLForm Content-Length calculation (Rangel Reale)
-- Make TemporaryFile append a slash to tempDir
-- fixed GH #319 android build with cmake
-- added hasDelegates() method to AbstractEvent
-- fixed GH #230: Poco::Timer problem
-- fixed GH #317: Poco::Zip does not support newer Zip file versions.
-- fixed GH #176: Poco::JSON::Stringifier UTF encoding
-- fixed GH #458: Broadcast address and subnet mask for IEEE802.11 network interface
-- fixed GH #456: poco: library install dirs per RUNTIME/LIBRARY/ARCHIVE
-
-
-Release 1.5.2 (2013-09-16)
-==========================
-
-- added MongoDB library
-- fixed GH #57: poco-1.5.1: Doesn't compile for Android
-- added VoidEvent (Arturo Castro)
-- fixed GH #80: NumberFormatter::append broken
-- fixed GH #93: ParallelSocketAcceptor virtual functions
-- optional small object optimization for IPAddress, SocketAddress, Any and Dynamic::Var
-- SQLite events (insert, update, delete, commit, rollback) handlers
-- merged GH #91: Improve SQLite multi-threaded use (Rangel Reale)
-- merged GH #86: Invalid pointers to vector internals (Adrian Imboden)
-- automatic library initialization macros
-- fixed GH #110: WebSocket accept() fails when Connection header contains multiple tokens
-- fixed GH #71: WebSocket and broken Timeouts (POCO_BROKEN_TIMEOUTS)
-- fixed a warning in Poco/Crypto/OpenSSLInitializer.h
-- fixed GH #109: Bug in Poco::Net::SMTPClientSession::loginUsingPlain
-- added clang libc++ build configurations for Darwin and iPhone (Andrea Bigagli)
-- fixed GH #116: Wrong timezone parsing in DateTimeParse (Matej Knopp)
-- fixed GH #118: JSON::Object::stringify endless loop
-- added Recursive and SortedDirectoryIterator (Marian Krivos)
-- added ListMap (map-like container with preserving insertion order)
-- MailMessage: attachments saving support and consistent read/write
-- fixed GH #124: Possible buffer overrun in Foundation/EventLogChannel
-- fixed GH #119: JSON::Object holds values in ordered map
-- added JSON::PrintHandler
-- renamed JSON::DefaultHandler to ParseHandler (breaking change!)
-- fixed GH #127: Eliminate -Wshadow warnings
-- fixed GH #79: Poco::Thread leak on Linux
-- fixed GH #61: static_md build configs for Crypto and NetSSL
-- fixed GH #130: prefer sysconf over sysctlbyname
-- fixed GH #131: no timezone global var on OpenBSD
-- fixed GH #102: Some subprojects don't have x64 solutions for VS 2010
-- added GH #75: Poco::Uri addQueryParameter method
-- Poco::Environment::osDisplayName() now recognizes Windows 8/Server 2012
-- fixed GH #140: Poco::Runnable threading cleanup issue
-- simplified default TCP/HTTPServer construction
-- fixed GH #141: Application::run() documentation/implementation discrepancy
-- changed RowFormatter to SharedPtr<RowFormatter> in Data::RecordSet interface (breaking change!)
-- fixed GH #144: Poco::Dynamic emits invalid JSON
-- removed naked pointers from Data interfaces
-- fixed GH #82: name conflict in Data::Keywords::bind
-- fixed GH #157: MySQL: cannot bind to 'long' data type on Windows/Visual C++
-- fixed GH #158: MySQL: MYSQL_BIND 'is_unsigned' member is not set
-- fixed GH #160: MultipartReader ignores first part, if preamble is missing
-- fixed GH #156: Possible buffer overrun in Foundation/EventLogChannel
-- XML: fixed an issue with parsing a memory buffer > 2 GB
-- upgraded to expat 2.1.0
-- Data/ODBC: added support for setting query timeout (via setProperty
- of "queryTimeout"). Timeout is int, given in seconds.
-- fixed a potential endless loop in SecureStreamSocketImpl::sendBytes()
- and also removed unnecessary code.
-- fixed GH #159: Crash in openssl CRYPTO_thread_id() after library libPocoCrypto.so
- has been unloaded.
-- fixed GH #155: MailOutputStream mangles consecutive newline sequences
-- fixed GH #139: FileChannel::PROP_FLUSH is invalid (contains a tab character)
-- fixed GH #173: HTTPClientSession::proxyConnect forces DNS lookup of host names
-- fixed GH #194: MessageNotification constructor is inefficient.
-- fixed GH #189: Poco::NumberParser::tryParse() documentation bug
-- fixed GH #172: IPv6 Host field is stripped of Brackets in HTTPClientSession
-- fixed GH #188: Net: SocketAddress operator < unusable for std::map key
-- fixed GH #128: DOMWriter incorrectly adds SYSTEM keyword to DTD if PUBLIC is
- already specified
-- fixed GH #65: Poco::format() misorders sign and padding specifiers
-- upgraded bundled SQLite to 3.7.17
-- replaced JSON parser with Poco::Web::JSON parser (from sandbox)
-- added JSON conversion to Dynamic Struct and Array
-- added VarIterator
-- modified behavior of empty Var (empty == empty)
-- added Alignment.h header for C++03 alignment needs
-- added Data/WebNotifier (DB, WebSocket) example
-- fixed GH #209: Poco::NumberFormatter double length
-- fixed GH #204: Upgrade zlib to 1.2.8
-- fixed GH #198: The "application.configDir" property is not always created.
-- fixed GH #185: Poco::NumberFormatter::format(double value, int precision)
- ignore precision == 0
-- fixed GH #138: FreeBSD JSON tests fail
-- fixed GH #99: JSON::Query an JSON::Object
-- limited allowed types for JSON::Query to Object, Array, Object::Ptr,
- Array::Ptr and empty
-- fixed GH #175: HTMLForm does not read URL parameters on POST or PUT
-- added GH #187: MySQL: allow access to the underlying connection handle
-- added GH #186: MySQL: support for MYSQL_SECURE_AUTH
-- fixed GH #174: MySQL: 4GB allocated when reading any largetext or largeblob field
-- fixed a potential memory leak in Poco::Net::HTTPClientSession if it is misused
- (e.g., sendRequest() is sent two times in a row without an intermediate call to
- receiveResponse(), or by calling receiveResponse() two times in a row without
- an intermediate call to sendRequest()) - GH #217
-- removed a few unnecessary protected accessor methods from Poco::Net::HTTPClientSession
- that would provide inappropriate access to internal state
-- merged GH #210: Don't call CloseHandle() twice on Windows; Ability to select the
- threadpool that will be used to start an Activity(Patrice Tarabbia)
-- fixed GH #212: JSONConfiguration was missing from the vs90 project(Patrice Tarabbia)
-- fixed GH #220: add qualifiers for FPEnvironment in C99 (Lucas Clemente)
-- fixed GH #222: HTTPCookie doesn't support expiry times in the past (Karl Reid)
-- fixed GH #224: building 1.5.1 on Windows for x64
-- fixed GH# 233: ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only) does not work
-- fixed GH# 231: Compatibility issue with Poco::Net::NetworkInterface
-- fixed GH# 236: Bug in RecursiveDirectoryIterator
-- added ColorConsoleChannel and WindowsColorConsoleChannel classes supporting
- colorizing log messages
-- fixed GH# 259: Poco::EventLogChannel fails to find 64bit Poco Foundation dll
-- fixed GH# 254: UTF8::icompare unexpected behavior
-- Poco::UUID::tryParse() also accepts UUIDs without hyphens. Also updated documentation
- (links to specifications).
-- added GH# 268: Method to get JSON object value using Poco::Nullable
-- fixed GH# 267: JSON 'find' not returning empty result if object is expected but another value is found
-- Added support for ARM64 architecture and iPhone 5s 64-bit builds
- (POCO_TARGET_OSARCH=arm64).
-
-
-Release 1.5.1 (2013-01-11)
-==========================
-
-- using double-conversion library for floating-point numeric/string conversions
-- added Poco::istring (case-insensitive string) and Poco::isubstr
-- added SQLite sys.dual (in-memory system table)
-- applied SF Patch #120: The ExpireLRUCache does not compile with a tuple as key on Visual Studio 2010
-- fixed SF Bug #599: JSON::Array and JSON::Object size() member can implicitly lose precision
-- fixed SF Bug #602: iterating database table rows not correct if no data in table
-- fixed SF Bug #603: count() is missing in HashMap
-- fixed GH #23: JSON::Object::stringify throw BadCastException
-- fixed GH #16: NetworkInterface::firstAddress() should not throw on unconfigured interfaces
-- Android compile/build support (by Rangel Reale)
-- TypeHandler::prepare() now takes const-reference
-- fixed GH #27: Poco::URI::decode() doesn't properly handle '+'
-- fixed GH #31: JSON implementation bug
-- fixed SF #597: Configure script ignores cflags
-- fixed SF #593: Poco 1.5.0 on FreeBSD: cannot find -ldl
-- added SF #542: SocketAddress() needs port-only constructor
-- fixed SF #215: Wrong return type in SocketConnector.h
-- applied SF Patch #97: fix c++0x / clang++ bugs
-- fixed GH32/SF596: Poco::JSON: Parsing long integer (int64) value fails.
-- added Net ifconfig sample (contributed by Philip Prindeville)
-- merged GH #34: add algorithm header (Roger Meier/Philip Prindeville)
-- fixed GH #26: Cannot compile on gcc
-- merged SF #111: FTP Client logging (Marian Krivos)
-- fixed GH #30: Poco::Path::home() throws when called from Windows Service
-- fixed GH #22: MySQL connection string lowercased
-- added MySQL support for Date/Time
-- upgraded SQLite to version 3.7.15.1 (2012-12-19)
-- improved SQLite execute() return (affected rows) value and added tests
-- added SQLite::Utility::isThreadSafe() function
-- added SQLite::Utility::setThreadMode(int mode) function
-- fixed GH #36: 'distclean' requires 3 traversals of project tree
-- fixed GH #41: Buffer::resize crash
-- fixed GH #42: Linux unbundled builds don't link
-- fixed GH #44: Problems with win x64 build
-- fixed GH #46: 1.5.1 build fails on OS X when using libc++
-- fixed GH #48: Need getArgs() accessor to Util::Application to retrieve start-up arguments
-- fixed GH #49: NetworkInterface::list doesn't return MAC addresses
-- fixed GH #51: Android should use isfinite, isinf, isnan and signbit from the std namespace
-- fixed GH #53: JSON unicode fixes and running tests on invalid unicode JSON
-- added ParallelAcceptor and ParallelReactor classes
-- added EOF and error to FIFOBuffer
-
-
-Release 1.5.0 (2012-10-14)
-==========================
-
-- 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/kFreeBSD
-- 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
-
-
-Release 1.4.7p1 (2014-11-25)
-============================
-
-- Fixed Visual C++ 2010-2013 project files. Release builds now have optimization enabled.
-- Poco::URI: added constructor to create URI from Path.
-- fixed GH #618: OS X 10.10 defines PAGE_SIZE macro, conflicts with PAGE_SIZE in Thread_POSIX.cpp
-- Poco::Net::HTTPClientSession: added support for global proxy configuration
-- fixed GH #331: Poco::Zip does not support files with .. in the name.
-- fixed a memory leak in Poco::Net::Context constructor when it fails to load the certificate
- or private key files.
-- upgraded bundled SQLite to 3.8.7.2
-- fixed GH #229: added missing value() function
-- fixed GH #69: MySQL empty text/blob
-
-
-Release 1.4.7 (2014-10-06)
-==========================
-
-- fixed GH #398: PropertyFileConfiguration: input != output
-- fixed GH #368: Build failure of Poco 1.4.6p2 on FreeBSD 9.2
-- fixed GH #318: Logger local time doesn't automatically account for DST
-- fixed GH #317: Poco::Zip does not support newer Zip file versions.
-- fixed GH #454: Fix: handle unhandled exceptions
-- fixed GH #463: XML does not compile with XML_UNICODE_WCHAR_T
-- fixed GH #282: Using Thread in a global can cause crash on Windows
-- fixed GH #424: Poco::Timer deadlock
-- fixed GH #465: Fix result enum type XML_Error -> XML_Status
-- fixed GH #510: Incorrect RSAKey construction from istream
-- fixed GH #332: POCO::ConsoleChannnel::initColors() assigns no color to
- PRIO_TRACE and wrong color to PRIO_FATAL
-- fixed GH #550: WebSocket fragmented message problem
-- Poco::Data::MySQL: added SQLite thread cleanup handler
-- Poco::Net::X509Certificate: improved and fixed domain name verification for
- wildcard domains
-- fixed a crash in Foundation testsuite with Visual C++ 2012
-- improved and fixed domain name verification for wildcard domains in
- Poco::Net::X509Certificate
-- updated TwitterClient sample to use new 1.1 API and OAuth
-- added Poco::Clock class, which uses a system-provided monotonic clock
- (if available) and is thus not affected by system realtime clock changes.
- Monotonic Clock is available on Windows, Linux, OS X and on POSIX platforms
- supporting clock_gettime() and CLOCK_MONOTONIC.
-- Poco::Timer, Poco::Stopwatch, Poco::TimedNotificationQueue and Poco::Util::Timer
- have been changed to use Poco::Clock instead of Poco::Timestamp and are now
- unaffected by system realtime clock changes.
-- added Poco::PBKDF2Engine class template
-- Poco::Net::HTTPCookie: added support for Priority attribute (backport from develop)
-- fixed makedepend.* scripts to work in paths containing '.o*'
- (contributed by Per-Erik Bjorkstad, Hakan Bengtsen)
-- Upgraded bundled SQLite to 3.8.6
-- Support for Windows Embedded Compact 2013 (Visual Studio 2012)
-- Project and solution files for Visual Studio 2013
-- Changes for C++11 compatibility.
-- fixed an issue with receiving empty web socket frames (such as ping)
-- improved error handling in secure socket classes
-- Poco::ByteOrder now uses intrinsics if available
-- added new text encoding classes: Latin2Encoding, Windows1250Encoding, Windows1251Encoding
-- Zip: Added CM_AUTO, which automatically selects CM_STORE or CM_DEFLATE based on file extension.
- Used to avoid double-compression of already compressed file formats such as images.
-
-
-Release 1.4.6p4 (2014-04-18)
-============================
-
-- no longer use reverse DNS lookups for cert hostname validation
-- cert hostname validation is case insensitive and more strict
-- HTMLForm: in URL encoding, percent-encode more special characters
-- fixed thread priority issues on POSIX platforms with non-standard scheduling policy
-- XMLWriter no longer escapes apostrophe character
-- fixed GH #316: Poco::DateTimeFormatter::append() gives wrong result for Poco::LocalDateTime
-- fixed GH #305 (memcpy in Poco::Buffer uses wrong size if type != char)
-- Zip: fixed a crash caused by an I/O error (e.g., full disk) while creating a Zip archive
-
-
-Release 1.4.6p3 (2014-04-02)
-============================
-
-- Fixed a potential security vulnerability in client-side X509
- certificate verification.
-
-
-Release 1.4.6p2 (2013-09-16)
-============================
-
-- fixed GH #156: Possible buffer overrun in Foundation/EventLogChannel
-- XML: fixed an issue with parsing a memory buffer > 2 GB
-- upgraded to expat 2.1.0
-- Data/ODBC: added support for setting query timeout (via setProperty
- of "queryTimeout"). Timeout is int, given in seconds.
-- fixed a potential endless loop in SecureStreamSocketImpl::sendBytes()
- and also removed unnecessary code.
-- fixed GH #159: Crash in openssl CRYPTO_thread_id() after library libPocoCrypto.so
- has been unloaded.
-- fixed GH #155: MailOutputStream mangles consecutive newline sequences
-- fixed GH# 139: FileChannel::PROP_FLUSH is invalid (contains a tab character)
-- fixed GH# 173: HTTPClientSession::proxyConnect forces DNS lookup of host names
-- fixed GH# 194: MessageNotification constructor is inefficient.
-- fixed GH# 189: Poco::NumberParser::tryParse() documentation bug
-- fixed GH# 172: IPv6 Host field is stripped of Brackets in HTTPClientSession
-- fixed GH# 188: Net: SocketAddress operator < unusable for std::map key
-- fixed GH# 128: DOMWriter incorrectly adds SYSTEM keyword to DTD if PUBLIC is
- already specified
-- fixed GH# 65: Poco::format() misorders sign and padding specifiers
-- upgraded bundled SQLite to 3.7.17
-- upgraded bundled zlib to 1.2.8
-- fixed a potential memory leak in Poco::Net::HTTPClientSession if it is misused
- (e.g., sendRequest() is sent two times in a row without an intermediate call to
- receiveResponse(), or by calling receiveResponse() two times in a row without
- an intermediate call to sendRequest()) - GH #217
-- removed a few unnecessary protected accessor methods from Poco::Net::HTTPClientSession
- that would provide inappropriate access to internal state
-- fixed GH# 223 (Poco::Net::HTTPCookie does not support expiry times in the past)
-- fixed GH# 233: ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only)
- does not work
-- added ColorConsoleChannel and WindowsColorConsoleChannel classes supporting
- colorizing log messages
-- fixed GH# 259: Poco::EventLogChannel fails to find 64bit Poco Foundation dll
-- fixed GH# 254: UTF8::icompare unexpected behavior
-- Poco::UUID::tryParse() also accepts UUIDs without hyphens. Also updated documentation
- (links to specifications).
-- Added support for ARM64 architecture and iPhone 5s 64-bit builds
- (POCO_TARGET_OSARCH=arm64).
-
-
-Release 1.4.6p1 (2013-03-06)
-============================
-
-- fixed GH# 71: WebSocket and broken Timeouts (POCO_BROKEN_TIMEOUTS)
-- fixed an ambiguity error with VC++ 2010 in Data/MySQL testsuite
-- Poco::Net::NetworkInterface now provides the interface index even for IPv4
-- added DNS::reload() as a wrapper for res_init().
-- On Linux, Poco::Environment::nodeId() first always tries to obtain the
- MAC address of eth0, before looking for other interfaces.
-- Poco::Net::HTTPSession now always resets the buffer in connect() to clear
- any leftover data from a (failed) previous session
-- fixed copysign namespace issue in FPEnvironment_DUMMY.h
-- fixed a warning in Poco/Crypto/OpenSSLInitializer.h
-- added a build configuration for BeagleBoard/Angstrom
-- fixed GH# 109: Bug in Poco::Net::SMTPClientSession::loginUsingPlain)
-- fixed compile errors with clang -std=c++11
-- fixed GH# 116: Wrong timezone parsing in DateTimeParse (fix by Matej Knopp)
-- updated bundled SQLite to 3.7.15.2
-
-
-Release 1.4.6 (2013-01-10)
-==========================
-
-- changed FPEnvironment_DUMMY.h to include <cmath> instead of <math.h>
-- updated bundled SQLite to 3.7.15.1
-- fixed GH# 30: Poco::Path::home() throws
-- fixed SF Patch# 120 The ExpireLRUCache does not compile with a tuple as key on VS2010
-- fixed SF# 603 count() is missing in HashMap
-- Crypto and NetSSL_OpenSSL project files now use OpenSSL *MD.lib library files for
- static_md builds. Previously, the DLL import libs were used.
-- Poco::Environment::osDisplayName() now recognizes Windows 8/Server 2012
-
-
-Release 1.4.5 (2012-11-19)
-==========================
-
-- added Visual Studio 2012 project files
-- buildwin.cmd now support building with msbuild for VS2010 and 2012.
-- added Poco::Optional class
-- 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
-- fixed SF# 594: Websocket fails with small masked payloads
-- fixed SF# 588: Missing POCO_ARCH and POCO_ARCH_LITTLE_ENDIAN define for WinCE on SH4
-- fixed SF# 581: Out-of-bound array access in Unicode::properties() function.
-- fixed SF# 590: Segfault on FreeBSD when stack size not rounded
-- fixed SF# 586: Poco::DateTimeParser and ISO8601 issues when seconds fraction has more than 6 digits
-- Poco::Net::HTTPSSessionInstantiator::registerInstantiator() now optionally accepts a
- Poco::Net::Context object.
-- added Poco::XML::XMLWriter::depth() member function.
-- added Poco::XML::XMLWriter::uniquePrefix() and Poco::XML::XMLWriter::isNamespaceMapped().
-- Poco::FileChannel now supports a new rotateOnOpen property (true/false) which can be used
- to force rotation of the log file when it's opened.
-- fixed a bug in Poco::XML::XMLWriter::emptyElement(): need to pop namespace context
-- OS X builds now use Clang as default compiler
-- Updated SQLite to 3.7.14.1
-- POCO_SERVER_MAIN macro now has a try ... catch block for Poco::Exception and writes
- the displayText to stderr.
-- Poco/Platform.h now defines POCO_LOCAL_STATIC_INIT_IS_THREADSAFE macro if the compiler
- generates thread-safe static local initialization code.
-
-
-Release 1.4.4 (2012-09-03)
-==========================
-
-- 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 (2012-01-23)
-============================
-
-- fixed SF# 3476926: RegDeleteKeyEx not available on Windows XP 32-bit
-
-
-Release 1.4.3 (2012-01-16)
-==========================
-
-- 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 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: 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.
-- PageCompiler: added createSession page attribute.
-
-
-Release 1.4.2p1 (2011-09-24)
-============================
-
-- 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 (2011-08-28)
-==========================
-
-- 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.
-- NetworkInterface::list() now also returns IPv4 interfaces on Windows when
- built with -DPOCO_HAVE_IPv6
-- 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: 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 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: 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: TemporaryFile::tempName() + glob bug on xp
-- fixed SF# 3177372: 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 (2011-02-08)
-============================
-
-- 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 (2011-01-29)
-==========================
-
-- fixed SF# 3150223: Poco::BinaryReader cannot read std::vector correctly
-- fixed SF# 3146326: 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: 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 (2010-12-14)
-==========================
-
-- SSLManager: documentation fixes, code cleanup
-- SSLManager: renamed PrivateKeyPassPhrase event to PrivateKeyPassphraseRequired
-- added HTTPServerRequestImpl::socket() to get access to the underlying socket
-- added Socket::secure() to find out whether a given socket supports SSL/TLS
-- added SecureStreamSocket::havePeerCertificate()
-- NetSSL: added support for turning off extended certificate validation (hostname matching)
-- fixed SF# 2941228: ICMPClient::ping() issues on Mac OS X
-- fixed SF# 2941231: 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: XMLWriter must encode CR, LF and TAB in attribute values as character entities.
-- HTMLForm now supports PUT requests as well (see <http://pocoproject.org/forum/viewtopic.php?f=12&t=2163&p=3930#p3930>)
-- fixed SF# #2970521: 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 to 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.
-- Application::initialize() and 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: HTMLForm and file uploads
-- fixed SF# 2969227: DateTimeParser bug
-- fixed SF# 2966698: Socket connect with timeout issue
-- fixed SF# 2981041: Bind NULL to a query (patch supplied)
-- fixed SF# 2961419: UTF8Encoding::convert() doesn't work properly in DEBUG mode
-- fixed SF# 2957068: Timeout value not picked up by proxy in 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
- Socket::select() and 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 DeflatingStream with zero-length streams (also fixed some other potential,
- but unlikely, memory leaks)
-- fixed SF# 2946457: added RejectCertificateHandler
-- fixed SF# 2946621: Poco::Path bug with POCO_WIN32_UTF8
-- fixed SF# 2929805: Environment::nodeId() does not work if no eth0 device exists
-- 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 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 StreamSocketImpl::sendBytes() for non-blocking sockets
-- added Poco::Net::DialogSocket::receiveRawBytes(), which should be used instead of receiveBytes() due to internal
- buffering by DialogSocket.
-- 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 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: Thread (POSIX) returns uninitialised value for OS priority
-- fixed SF# 3040870: 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: 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 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: RSACipherImpl bug.
-- fixed SF# 3081677: 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).
-- 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: 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 name 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.
-
-
-Release 1.3.6p2 (2010-01-15)
-============================
-
-- 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 (2009-12-21)
-============================
-
-- 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 (2009-11-24)
-==========================
-
-- 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 RWLock::ScopedReadLock and RWLock::ScopedWriteLock (contributed by Marc Chevrier)
-- added Thread::TID type, as well as Thread::tid() and 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 (2009-05-11)
-==========================
-
-- 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.
-- fixed 0000089: Thread::sleep() on Linux is extremely inaccurate
-- added methods to extract the contents of specific fields from the
- subject and issuer distinguished names of a certificate.
-
-
-Release 1.3.4 (2009-04-21)
-==========================
-
-- 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.
-- 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
-
-
-Release 1.3.3p1 (2008-10-09)
-============================
-
-- Fixed SF# 2153031: 1.3.3 Crypto won't compile on 64-bit Linux
-- Fixed a warning in MySQL connector
-- Updated README
-- The global Makefile in the Zip archive is no longer broken
-
-
-Release 1.3.3 (2008-10-07)
-==========================
-
-- 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
-- The Zip library is now officially part of the standard POCO release.
-- The Crypto library (based on OpenSSL) has been added. The original code
- was kindly contributed by Ferdinand Beyer.
-- A Data Connector to MySQL, contributed by Sergey Kholodilov, is now part
- of the POCO release.
-- 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
-- fixed SF# 2140411: ScopedUnlock documentation bug
-- fixed SF# 2036460: UUID regression tests are failing on Linux with g++ 4.3.1
-- fixed SF# 2150438: Tuple TypeHandler position increment size is wrong
-
-
-Release 1.3.2 (2008-02-04)
-==========================
-
-Foundation, XML, Net, Util:
-- 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
-
-Data:
-- fixed SF# 1724388: ODBC Diagnostics
-- fixed SF# 1804797: ODBC Statement multiple execution fails
-- fixed SF# 1803435: SessionPool onJanitorTimer called too often?
-- fixed SF# 1851997: Undefined Behavior in ODBC::Preparation
-- updated SQlite to 3.5.5
-
-
-Release 1.3.1 (2007-08-08)
-==========================
-
-Foundation, XML, Net, Util:
-- 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
-
-Data:
-- fixed SF# 1739989: Data::RecordSet::operator = () (in 1.3 branch)
-- fixed SF# 1747525: SQLite, Transactions and Session Pooling (in 1.3 branch)
-- upgraded to SQLite 3.4.1
-
-
-Release 1.3.0 (2007-05-07)
-==========================
-
-- added HashMap, HashSet classes
-- the 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.
-- added Poco::Tuple
-- added AbstractCache::getAllKeys(), improved performance of the get operation
-- fixed AbstractCache::size() to do cache replacement before returning the size
-- added additional match() method to RegularExpression and documented the fact that the simple
- match() method internally sets RE_ANCHORED and RE_NOTEMPTY.
-- added ExpirationDecorator template. Decorates data types so that they can be used with UniqueExpireCaches
-- added operator ! to AutoPtr and SharedPtr
-- Buffer uses std::size_t instead of int
-- Exception::what() now returns exception name instead of message
-- added poco_ndc_dbg() macro (same as poco_ndc(), but only enabled in debug builds)
-- added Environment::get(name, defaultValue);
-- Foundation.h now includes Config.h at the very beginning.
-- added replace() and replaceInPlace() to Poco/String.h
-- added AutoPtr::assign() and SharedPtr::assign()
-- added operator () to AbstractEvent
-- gcc Makefiles now strip release builds
-- Void now has a == and != operator
-- Base64Encoder and HexBinaryEncoder now support an unlimited line length
- (no newlines written), by specifying a line length of 0
-- NumberParser now has stricter syntax requirements: garbage following a number leads to a SyntaxException
- (Thanks to phireis@gmail.com for the suggestion)
-- fixed SF# 1676830: Don't use -rpath in libraries
-- fixed SF# 1670279: AbstractConfiguration::unckeckedExpand crash
-- fixed a warning in Hashtable
-- HTTPClientSession now uses a keepAliveTimeout for better persistent connection handling
-- added DateTime::makeUTC() and DateTime::makeLocal()
-- added another constructor to LocalDateTime
-- POCO_WIN32_UTF8 is ignored on non-Windows platforms
-- fixed a timeout bug (with NetSSL) in HTTPSession
-- AsyncChannel is automatically opened with first log()
-- minor fix to NotificationQueue sample (reported by Laszlo Keresztfalvi)
-- added File::canExecute() and File::setExecutable()
-- added SharedMemory class to Foundation
-- added FileStream, FileInputStream, FileOutputStream to Foundation
-- added NodeAppender class to XML for faster DOM tree creation
-- HTTPServerRequest and HTTPServerResponse are now abstract base classes,
- actual functionality has moved into HTTPServerRequestImpl and
- HTTPServerResponseImpl. This allows us to plug other HTTP servers
- into POCO.
-- added DynamicAny class to Foundation
-- replaced std::fstream with Poco::FileStream across POCO.
-- added Poco::Checksum class to Foundation.
-- fixed SF# 1700811: conflict in threadpool
-- bugfix: File::moveTo() does not work if the target is a directory
-- File::copyTo() and File::moveTo() now copy/move directories recursively
-- refactored NetworkInterface (now using pimpl idiom);
- added broadcast address and netmask support
-- fixed SF# 1688982: POP3ClientSession fails when retrieving mails with attachment
-- fixed SF# 1655104: Enhance Poco::TextEncoding functionality
-- added Poco::Condition class, implementing a POSIX-style condition variable
-- fixed a bug in File::create() for Windows
-- added poco_static_assert (imported from boost)
-- added Thread::join(timeout) and Thread::tryJoin()
-- ClassLoader support for named manifests (see ClassLibrary.h - POCO_EXPORT_NAMED_MANIFEST)
-- POCO_WIN32_UTF8: UNICODE #define is no longer required (and no longer
- automatically defined in POCO_WIN32_UTF8 is defined)
-- PCRE: upgraded to PCRE version 7.1
-- fixed SF# 1682162: Suggestion on thread priority
-- fixed SF# 1613460: MSVC/STLPort warnings
-- fixed SF# 1709358: Format double percent std::String bug
-- added WindowsConsoleChannel class to Foundation
-- added AutoPtr::unsafeCast<>() and SharedPtr::unsafeCast<>()
-- fixed SF# 1708552: Failed to build on arm and powerpc
-- fixed SF$ 1708529: Failed to build using GCC 4.3: missing #includes
-- fixed SF# 1710053: LogStream proposal
-- fixed a bug involving empty root directories in Windows DirectoryIterator implementation
- (see http://www.appinf.com/poco/wiki/tiki-view_forum_thread.php?comments_parentId=343&forumId=6)
-- robustness improvements to ActiveMethod - removed the opportunity for memory leaks in
- case something goes while invoking the method
-- made C library usage more C++-like - use C++ headers (e.g. <cstring>) instead of
- C ones (<string.h>). Also, use C library functions in std namespace.
-- added Unicode and UTF8String for improved Unicode support.
- The Unicode class can be used to obtain the Unicode properties of a character.
- The UTF8 class provides case insensitive comparison and case conversion
- for UTF-8 encoded strings.
-- added UnWindows.h header file, replaced all #include <windows.h> with #include "Poco/UnWindows.h".
- See the Poco/UnWindows.h header file for a rationale and explanations.
-- fixed SF# 1713820: StreamSocketImpl::sendBytes sends too many bytes
-- File::copyTo(): on Windows, the copy now always has the read-only flag reset, to be consistent
- with other platforms.
-- With Microsoft Visual C++, the necessary POCO libraries are now implicitly linked when
- the corresponding header files are included (#pragma comment(lib, "PocoXYZ.lib") is used).
- To disable this, compile POCO with the preprocessor symbol POCO_NO_AUTOMATIC_LIBS #define'd
- (see Poco/Foundation.h and Poco/Config.h).
-- The Visual Studio project files for the POCO libraries now include configurations
- for building static libraries.
-
-
-Release 1.2.9 (2007-02-26)
-==========================
-
-- fixed a formatting problem in Util::HelpFormatter
-- HTTPClientSession::sendRequest() now attempts to send the complete request in one network packet.
-- improved network performance of ChunkedOutputStream: chunk size and chunk data
- are sent in one network packet if possible
-- fixed SF# 1655035: Wrong expires field calculation in HTTPCookie
- (thanks to Sergey N. Yatskevich for this and other fixes)
-- fixed SF# 1655049: Fix discrepancy of a code to the description
-- fixed SF# 1655170: Poco::Timezone::standardName() problem on WIN32
-- fixed SF# 1629095: POCO_WIN32_UTF8 problem
- There is a new function Path::transcode() that can be used to convert a path (or any other string)
- from UTF-8 to the current Windows code page. This string can the be passed as a filename
- to an fstream or fopen(). This function only does the conversion on Windows,
- and only, if POCO_WIN32_UTF8 is defined. Otherwise, it simply returns the unmodified argument.
-- fixed SF# 1659607: Probably a bug in Poco::Net::DialogSocket
-- HTTPServer network performance improvement: responses that fit into a single network packet
- sent with HTTPServerResponse::sendFile() or the new HTTPServerResponse::sendBuffer() are
- sent in only one packet.
-- added HTTPServerResponse::sendBuffer()
-- HTTPServer now sends a Bad Request response if it fails to parse the HTTP request header.
-- HTTPServer now sends an Internal Server Error response if the request handler throws an
- exception prior to sending a response.- enabled TCP_NODELAY per default on TCPServer/HTTPServer
-- fixed a bug in HTTP persistent connection handling
- (server does not send Connection: close when it reaches connection maximum)
-- HTMLForm - POST submission of URL encoded form no longer uses chunked transfer encoding
- (thus improving interoperability with certain web servers)
-- integrated Environment.cpp from Main (missing get(var, default))
-- added missing AutoPtr include to Util/Application
- (and using Poco::AutoPtr is no longer necessary for POCO_APP_MAIN macro)
-- fixed SF# 1635420: Per Regents of the University of Calfornia letter,
- remove advertising from BSD licensed parts
-- fixed SF# 1633133: MultipartWriter writes superluous CR-LF at beginning
-
-
-Release 1.2.8 (2007-01-04)
-==========================
-
-- fixed SF# 1613906: Util/Application.h and GCC 3.3
-- fixed a byte order issue (failed test) in IPv6 address formatting
-- fixed SF# 1626640: Poco::Net::SocketReactor bug
-- fixed client side chunked transfer encoding handling
-- fixed client side persistent connection handling
-- fixed SF# 1623536: HTTP Server Chunked Transfer Encoding Bug
-- improved HTTP server exception text
-- fixed SF# 1616294: KeepAlive HTTPServerSession patch
-- fixed SF# 1616296: Trivial Poco::TaskCustomNotification patch
-- fixed SF# 1619282: PurgeStrategy bug fix
-- fixed SF# 1620855: Format problem
- there is a new format specifier %z for std::size_t, as well as a new
- flag ? for %d, %i, %o, %x meaning any signed or unsigned integer
-
-
-Release 1.2.7 (2006-12-07)
-==========================
-
-- Poco::File: fixed root directory handling
-- fixed UUIDGenerator documentation
-- clarified Application::setUnixOptions() documentation
-- fixes for issue [SOAPLite Transport 0000023]: SOAP Transport Listener should be able to use existing HTTPServer instance
-- fixing mantis issues 13, 14, 15, 16, 17, 18, 19, 21
-- fixed SF# 1597022: Signed/unsigned warning in StringTokenizer::operator[]
-- fixed SF# 1598601: Message::op= leaks
-- fixed SF# 1605960: PatternFormatter crashes on custom property
-- fixed SF# 1605950: Memory leak in Logger sample code
-- fixed SF# 1591635: Copy Paste Error in sample code
-- fixed SF# 1591512: SMTPClientSession response stream
-- fixed SF #1592776: LayeredConfiguration: getRaw should enumerate in reverse order
-- SF Patch # 1599848 ] VS 2005 Util build fails
-- Logger::dump() now uses std::size_t instead of int for buffer size
-- LayeredConfiguration now supports a priority value for each configuration.
- Also, it's possible to specify for each configuration added whether it
- should be writeable.
-- ServerApplication: cd to root directory only if running as a daemon
-- added Message::swap()
-- improvements to build system:
- global Makefile has correct dependencies for samples
- on Windows, samples build after libraries are ready
- configure supports --no-wstring and --no-fpenvironment flags
- build system supports POCO_FLAGS environment variable for compiler flags
-- RemoteGen: fixed error handling for write protected files (SystemException)
- fixing integral constant overflow messages with large cache expiration, m_ support for type serializers,
- case-insensitive comparison added
-
-
-Release 1.2.6 (2006-11-19)
-==========================
-
-- added additional match() method to RegularExpression and documented the fact that the simple
- match() method internally sets RE_ANCHORED and RE_NOTEMPTY.
-- added ExpirationDecorator template. Decorates data types so that they can be used with UniqueExpireCaches
-- added operator ! to AutoPtr and SharedPtr
-- Buffer uses std::size_t instead of int
-- added poco_ndc_dbg() macro (same as poco_ndc(), but only enabled in debug builds)
-- Foundation.h now includes Config.h at the very beginning.
-- added AutoPtr::assign() and SharedPtr::assign()
-- added operator () to AbstractEvent
-- gcc Makefiles now strip release builds
-- documentation improvements
-
-
-Release 1.2.5 (2006-10-23)
-==========================
-
-- Improved LoggingConfigurator: channel creation and configuration is now a two-step process.
- This means that the previous problems with PropertyFileConfiguration and IniFileConfiguration when referencing other channels are solved.
-- improved options handling: better handling of (non) ambiguities.
- If both an option named "help" and one named "helper" is specified, this no longer causes ambiguity errors.
-- added check for duplicate option definition
-- ThreadPool bugfix: fixed a crash that occurs on Linux multiprocessor machines
- (caused by an thread unsafe string assignment corrupting the heap...)
- (SF# 1575315)
-- improved ThreadPool performance
-- XML now compiles with -DXML_UNICODE_WCHAR_T (SF# 1575174)
-- fixed SF# 1572757: HTML forms can have more than one key/value pair with the same name
-- got rid of the dynamic casts in Events, Events/Cache: simpler/faster Delegate < operator,
- prevents some rare dynamic casts error from occuring when using StrategyCollection with Caches
-- improvements to Logger and LoggingConfigurator:
- * added Logger::unsafeGet()
- * added Logger::setProperty(loggerName, propertyName, value)
- * LoggingConfigurator now correctly (re)configures existing Loggers
- (prior to this change, if a Logger named "a.b.c" existed before
- the LoggingConfigurator started its work, and the LoggingConfigurator
- configured a Logger named "a.b", then "a.b.c" would not inherit
- the new configuration).
-- improvements to SplitterChannel and EventLogChannel configuration
-- improved LoggingRegistry exception messages
-- MessageHeader::read() is more liberal with malformed message headers.
- This fixes problems with certain network cameras sending malformed HTTP headers.
-
-
-Release 1.2.4 (2006-10-02)
-==========================
-
-- some code beautifying and improvements to comments
-- DOMParser now automatically sets FEATURE_NAMESPACE_PREFIXES
-- fixed SF #1567051: DOMBuilder/DOMParser/NamespaceStrategy bug
-- fixed SF #1567364: POCO_APP_MAIN
-- added Document::getElementById() (two-argument) and getElementByIdNS()
-- added another test for DOMParser
-- added AutoPtr::isNull() (to be consistent with SharedPtr)
-- this release again compiles on PA-RISC HP-UX systems with aCC
-- added CMAKE support files contributed by Andrew J. P. Maclean
-
-
-Release 1.2.3 (2006-09-14)
-==========================
-
-- configure script now checks if (auto)selected configuration is supported
-- fixed SF #1552904: NamedEvent bug?
-- fixed SF #1552787: POCO not handling EINTR
-- fixed SF #1552846: Random::~Random uses scalar delete
-- fixed SF #1552987: TLSSlot should explicitly default-construct _value
-- IPAddress no longer accepts an empty address string
-- split up Observer.h into AbstractObserver.h and Observer.h
-- added NObserver class template which supports an AutoPtr
- argument for the notification callback
-- changed EchoServer sample to use NObserver
-- some Windows-specific files were missing in the tarballs
-
-
-Release 1.2.2 (2006-09-01)
-==========================
-
-- fixed SF # 1549973: NotificationCenter::hasObservers() returns wrong result
-- fixed a memory leak in EchoServer sample
-- fixed SocketReactor TimeoutNotification bug (SF #1549365, SocketNotifier::addObserver() incorrect behavior)
-- fixed SF# 1549513: MultipartReader does not work with Unix-style linefeeds
-- MailMessage and HTMLForm: processing of multipart messages will no longer fail if a PartHandler does not read all data from the part stream.
-- added additional test case (Unix-style line ends) to MultipartReaderTest
-
-
-Release 1.2.1 (2006-08-29)
-==========================
-
-- fixed Config.h header (no more #undefs)
-
-Release 1.2.0 (2006-08-29)
-==========================
-
-- DateTime fixes: Julian Day is no longer stored internally.
- Times (hours, minutes, seconds, ...) are now always taken from an utcValue (if available) and not from the Julian day.
- The Julian day is only used for calculating year, month and day (except when the Julian day is the only thing we have)
- This helps us get rid of rounding errors that the Julian Day arithmetic introduced.- on Windows, UUIDGenerator no longer uses Netbios, but GetAdaptersInfo instead
-- The main Makefile now has correct dependencies
-- updated poco-doc.pl with latest version by Caleb Epstein
-- fixed SF #1542722: InflatingInputStream: buffer error
-- improved Windows UTF-8 support
-- added Logger::names()
-- added configure script and make install target
-- XMLWriter bugfix: pretty-print bug with characters() and rawCharacters()
-- improvements to build system: support builds outside of source tree
-- added header doc conversion tool contributed by Caleb Epstein
-- fixed SF #1542618 (build/config/Linux patch)
-- bugfix: BinaryReader/BinaryWriter BOM is now 16 bits, as documented
-- fixed SF #1542247 (Compiler warning from OptionCallback)
-- fixed SF #1542253 (ServerApplication::handleOption doesn't call Application::handleOption)
-- added Application::stopOptionsProcessing()
-- updated samples
-- Util::Application command line handling now supports:
- * argument validation (Option::validator(); see Validator, IntValidator, RegExpValidator)
- * binding of argument values to config properties (Option::binding())
- * callbacks for arguments (Option::callback())
- * checking of required parameters
-- changed header file locations:
- Foundation headers are now in Poco (#include "Poco/Foundation.h")
- XML headers are now in Poco/XML, Poco/SAX and Poco/DOM (#include "Poco/XML/XML.h")
- Util headers are now in Poco/Util (#include "Poco/Util/Util.h")
- etc.
- Unfortunately, this change will break existing code. However, fixing the code is
- a matter of a few global search/replace operations and can be done quickly.
- On the plus side, POCO is now a much better citizen when used with other
- libraries.
-- changed namespaces:
- Foundation is now Poco
- XML is now Poco::XML
- Util is now Poco::Util
- Net is now Poco::Net
-- removed namespace macros
-- fixed some warnings reported by gcc -Wall -Wextra
-- fixed AutoPtr and LayeredConfiguration documentation
-- improved StreamSocket::receiveBytes() doc
-- added Pipe and PipeStream classes
-- added support for I/O redirection (pipes) to Process::launch()
-- added LogStream class (ostream interface to Logger)
-- improved Makefiles (no more double-building if clean all is specified)
-- added CppUnit and DateTime testsuite contributions by Andrew Marlow
-- improved Cygwin and minimal MinGW support
-- FileChannel: gzip compression if archived files now runs in a background thread (SF #1537481)
-- POCO now compiles with large (64-bit) file support on Linux (SF #1536634)
-- added format() function, which provides typesafe sprintf-like functionality (SF #1327621)
-- added File::isLink()
-- bugfix: dangling symbolic links in a directory no longer cause recursive remove to fail with file not found error
-- added Void class (useful as argument to ActiveMethod)
-- ActiveResult now supports exceptions
-- bugfix: Timezone::utcOffset() and Timezone::dst() returned wrong values on Unix platforms (SF #1535428)
-- added ActiveDispatcher class
-- added ActiveStarter class, which is a policy used by ActiveMethod for starting methods
-- ActiveRunnable moved to its own header file
-- ThreadPool: added startWithPriority(), which allows for running threads with a different priority
-- added error handling to dir sample
-- added additional test case to HTTPServer test suite- HTMLForm: should now work with request methods other than POST and GET (all non-POST requests are treated the same as GET)
-- clarified HTMLForm documentation
-- HTMLForm bugfix: uploaded files no longer end up in value; PartHandler is called instead
-- NameValueCollection: added get(name, defaultValue)
-- added HTTPFormServer sample
-- added Foundation::HashTable and SimpleHashTable
-- added Net::HTTPSessionFactory
-- improvements to AutoPtr and SharedPtr
-- improvements to namespaces handling in XMLWriter
-- Foundation Cache: fixed add implementation to match the docu: a 2nd add will now simply overwrite existing entries
-- added DateTime::isValid()
-- added Exception::rethrow() (virtual, must be overridden by all subclasses)
-- Timer can now use a user-supplied ThreadPool
-- added rethrow() to exception classes
-- Net: made some constructors explicit
-- Net: added SocketAddress constructor to HTTPClientSession
-- Net: added HTTPSession::networkException() to check for exceptions swallowed by stream classes
-- Net: added single string argument constructor to SocketAddress.
-- Net: improved HTTPClientSession error handling (no more "Invalid HTTP version string" exceptions when the server prematurely closes the connection due to too much load)
-- Net: improved HTTPSession error handling. Exceptions while sending and receiving data are stored for later retrieval and no longer get lost since streambufs swallow them.
-- Net: added HTTPLoadTest sample
-- fixed a bug when opening logfiles on Unix platforms causing an existing logfile to be truncated
-- bugfix: log file purge intervals given in months did not work, due to a stupid typo
-- added RawSocket and ICMP classes
-- UUID: fixed a doc formatting bug
-- NetworkInterface::list() now includes loopback interface on Windows (SF #1460309)
-- made Exception::message() and Exception::nested() inline
-- added Net::UnsupportedRedirectException
-- HTTPStreamFactory throws an UnsupportedRedirectException if it encounters a redirect to https
-- HTTP: fixed bad 100 Continue handling in client and server code
-- added CONTRIBUTORS file
-
-
-Release 1.1.2 (2006-07-07)
-==========================
-
-- Changed license to Boost license
-- DBlite and NetSSL have been removed from the Boost-licensed release.
- Please contact Applied Informatics (info@appinf.com) if you're interested in them.
-
-
-Release 1.1.1 (2006-04-03)
-==========================
-
-- NetSSL_OpenSSL now supports separate certificate verification
- settings for client and server.
-- fixed SF #1460309 (enumerating network interfaces failed on 64bit Linux)
-- TCPServer no longer crashes if accept() fails
-
-
-Release 1.1.0 (2006-03-23)
-==========================
-
-- events no longer require awkward += new syntax
-- source code and documentation cleanups
-- basic support for new compilers and platforms
-
-
-Release 1.1b2 (2006-03-04)
-==========================
-
-- made NetSSL threadsafe (added locking callbacks for OpenSSL)
-- improved OpenSSL initialization (random generator seeding)
-- various changes to improve compatibility with various platforms
-
-
-Release 1.1b1 (2006-03-03)
-==========================
-
-- New Events package in Foundation. The package supports C#-style event handling
-- New Cache package in Foundation: a templates-based caching framework
-- added Any class to Foundation
-- added DBLite library
-- fixed a memory leak with layered configurations in the application
-- made POCO_DLL the default (unless POCO_STATIC is #defined)
- It is no longer necessary to specify POCO_DLL in projects that use Poco
- (SourceForge Patch #1408231 and Feature Request #1407575).
-- added Buffer template class to Foundation
-- added the UnicodeConverter utility class. This is mainly used for Windows Unicode support and probably of little use for anything else.
-- added Path::resolve()
-- added Windows Unicode support. This calls the Unicode variant of the Windows API functions.
- For this to work, all strings must be UTF-8 encoded and POCO_WIN32_UTF8 must be defined in all compilation units.
-- added StreamCopier::copyToString()
-- added URIStreamOpener::unregisterStreamFactory() and new variants of URIStreamOpener::open() that also work with filesystem paths.
- This fixes SourceForge Bug #1409064 and Feature Request #1409062.
-- added NodeIterator::currentNodeNP() to XML library
-- added some sanity checks to UTF8Encoding::convert()
-- added NetSSL - SSL support for Net library, based on OpenSSL
-- console output of processes launched with Process::launch() is now visible
-
-
-Release 1.0.0 (2006-01-19)
-==========================
-
-- removed unnecessary console output from ProcessTest
-- documentation fixes
-
-
-Release 1.0b2 (2006-01-16)
-==========================
-
-- added ProcessHandle class
-- Process::launch() now returns a ProcessHandle instead of a process ID.
- This fixes a potential problem on Windows with Process::wait() when
- the process terminates before wait() is called.
-- added SplitterChannel::close()
-- added Logger::destroy()
-- added POP3ClientSession::deleteMessage()
-- added test for Process::launch()
-- documentation fixes
-
-
-Release 1.0b1 (2006-01-09)
-==========================
-
-- improved recognition of Windows paths in Path::parseGuess()
-- added setCurrentLineNumber()/getCurrentLineNumber() to CountingStreamBuf
-- improvememts to StreamTokenizer and Token; fixed documentation
-- added a workaround for some strange istream behaviour with VS 2005 and FTPClientSessionTest
-- improved exception/error reporting in cppunit
-- added POP3ClientSession
-- added Process::launch() and Process::wait()
-- added Mail sample
-- added MailStream and SMTPClientSession classes
-- renamed some methods in DialogSocket to make them more general
-- NullPartHandler has moved out of HTMLForm.cpp into a separate file
-- Base64Encoder now always writes \r\n line ends
-- MessageHeader::quote has an optional addition arg controlling the treatment of whitespace
-- bugfix: MultipartReader had a problem with empty lines (\r\n sequences) in a part
-- added MailMessage and MailRecipient classes
-- added text encoding support for Windows-1252 codepage
-
-
-Release 1.0a1 (2006-01-03) [internal]
-=====================================
-
-- mediaType is used consistently to refer to a MIME media type (some occurences of contentType and mimeType have been replaced)
-- moved MediaType::quote() to MessageHeader and made it public
-- added MultipartWriter::stream()
-- Renamed AttachmentSource to PartSource and AttachmentHandler to PartHandler
-- SIGPIPE is always blocked in main thread on Unix systems
-- added EchoServer sample
-- fixed a bug in SocketImpl::setBlocking() - did exactly the opposite (value to ioctl was wrong)
-- fixed a memory leak in NotificationQueue sample
-- added comparison operators to Socket so that Sockets can be used as keys in maps
-- added Socket::setBlocking()
-- added StreamSocket::connectNB() (non-blocking connect)
-- added Observer::accepts()
-- added SocketReactor, SocketConnector and SocketAcceptor classes to support event-based socket programming
-- NamespacePrefixesStrategy now uses expat's XML_SetReturnNSTriplet().
- The previously used separate namespace handling code has been removed.
- This improves performance if NamespacePrefixesStrategy is used (both the n
- amespaces and namespace-prefixes SAX2 features are used)
-- upgraded expat to 2.0 pre-release (2005-12-27) snapshot
-- added TeeInputStream and TeeOutputStream classes
-- added download sample for URIStreamOpener
-- renamed registerOpener() to registerFactory() in HTTPStreamFactory and FTPStreamFactory
-- added LineEndingConverter streams
-- added FTPClientSession
-- code and documentation clean-up
-- added DialogSocket class
-- reorganized HTTP test suites
-- added FTPClientSession and FTPStreamFactory
-- added DialogSocket class
-
-
-Release 0.96.1 (2005-12-28)
-===========================
-
-- fixed a memory leak caused by a bug in Microsoft's stream implementation (see the comment in Foundation/StreamUtil.h for an explanation)
-- added samples for Net library
-- added uptime() and startTime() to Util::Application
-- added DateTimeFormatter::format() for Timespan
-- added ErrorHandler class and better exception handling for threads
-- added poco_debugger() and poco_debugger_msg() macros
-- added project and solution files for Visual Studio 2005 (due to some bugs/leaks in Microsofts standard library - see
- http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=e08bd793-3fef-40ff-adda-ed313e0eafcc
- we do not recommend using this for production purposes)
-- fixed two problems with out-of-range string iterator in Path (the testsuite triggered an assertion in VC++ 8.0)
-- fixed mac line endings in a few files
-- added a workaround to the class loader that fixes strange behavior with VC++ 8.0. There seems to be a problem with typeid() not returning a valid typeinfo under certain circumstances.
-- added buffer allocator argument to buffered stream buffer templates
-- added buffer pools to HTTP to reduce memory fragmentation and to improve performance
-- added Net to Windows build.cmd script
-- added swap() to various classes that already support assignment
-- added a null pointer check in DOMWriter::writeNode()
-- fixed documentation in BinaryWriter.h and BinaryReader.h
-- added explicit support for network byte order to BinaryReader and BinaryWriter
-- added basic support for FreeBSD (needs more testing)
-- BinaryReader: renamed readRawData() to readRaw() to be consistent with BinaryWriter::writeRaw()
-- added support for uppercase output to HexBinaryEncoder.
-- added MediaType class
-- added QuotedPrintableEncoder and QuotedPrintableDecoder classes
-- renamed ObjectFactory to Instantiator. This should prevent the confusion caused by DynamicFactory and ObjectFactory. Sorry for the inconvenience if you are already using this.
-- AttachmentSource::filename() now returns const string&
-- added StringAttachmentSource
-- replaced old-style C casts with C++ casts in NetworkInterface.cpp
-- MutexImpl (WIN32): replaced InitializeCriticalSection with InitializeCriticalSectionAndSpinCount, which should increase performance on multiprocessor or multicore systems when many locks are used.
-- fixed a problem with STLport 5.0 when compiling StreamTokenizer
-- HTTPStreamOpener now also works with no-path URIs (like http://www.appinf.com)
-- fixed wrong delete usage (plain delete instead of delete [] was used in a few cases)
-- fixed a handle leak in WinTestRunner
-
-
-Release 0.95.4 (2005-11-07)
-===========================
-
-- fixed #1348006 and #1348005
-
-
-Release 0.95.3 (2005-10-28) [internal]
-======================================
-
-- updated build scripts (patch #1339015)
-- added support for AMD64 platforms (patch #1339015)
-- MultipartWriter creates its own boundary if an empty string is passed in as boundary
-- made MultipartWriter::createBoundary() public
-- fixed wrong documentation for DateTimeFormat::HTTP_FORMAT
-- added support for HTTP Basic authentication
-- added support for HTTP Cookies
-- added support for HTML forms
-
-
-Release 0.95.2 (2005-10-22) [internal]
-======================================
-
-- fixed a potential problems with streams when close in destructor fails (added try..catch block around close in destructors)
-- added HTTPServer & friends
-- added hasIdleThreads() method to NotificationQueue
-- added TCPServer and friend
-- added support for HTTP proxies to HTTPClientSession and HTTPStreamOpener
-- fixed documentation bugs (Mutex.h, ClassLoader.h)
-
-
-Relesae 0.95.1 (2005-10-15) [internal]
-======================================
-
-- Tasks can now throw custom notifications (contributed by Alex Fabijanic)
-- renamed URIFileStreamFactory to FileStreamFactory
-- added a few methods to URI (setPathEtc(), getPathEtc(), getPathAndQuery())
-- added new exception classes
-- fixed some documentation
-- added basic checks when reading a MessageHeader from a stream
-- added HTTP classes (testsuite still incomplete)
-- added MessageHeader, NameValueCollection, MultipartReader and MultipartWriter classes
-- added Timespan::useconds()
-- added ClassLoader::isLibraryLoaded()
-- Socket classes use Timespan::useconds() to fill struct timeval
-- added DatagramSocket, MulticastSocket and NetworkInterface classes
-- added socket classes and related basic stuff
-- added additonal constructor/assign to Timespan- added BasicBufferedBidirectionalStreamBuf
-- fixed a potential MT issue in Base64Decoder
-- code beautifying in [Un]BufferedStreamBuf
-- more improvements to ClassLoader
-- code cleanup and naming convention fixes (changed all *Imp classes to *Impl for consistency)
-
-
-Release 0.94.1 (2005-09-30) [internal]
-======================================
-
-- added MetaSingleton (based on a contribution by Alex Fabijanic)
-- added ClassLoader::create()
-- added ClassLoader::instance()
-- code clean-ups in FileChannel and related classes
-- added SimpleFileChannel
-- RotateAtTimeStrategy:
- ::getNextRollover() rewritten (buggy)
-- DateTime
- microseconds assert corrected
- asserts in computeGregorian() (except for year - see comment in computeGregorian())
- milliseconds calculation modified in computeGregorian()
- microseconds assigned in computeGregorian()
- normalize() and checkLimit() private functions to correct cases of overflow for milli/microseconds
-- LocalDateTime: added timestamp() method
-- FileChannel:
- added "times" property (used to determine whether to use UTC or local time with RotateAtTimeStrategy)
- ::setProperty() modified (whenever "times" property is set, methods setRotation and setArchive are
- reinvoked to reflect the change)
-- FileChannel: added support for archived file compression and archived file purging
-- FileChannel tests modified
-- FileChannel: put LogFile, RotateStrategy and ArchiveStrategy into their own files
-- Message: added thread id field
-- PatternFormatter: added %I specifier for thread id
-- ThreadPool: PooledThread can be assigned a name
-- TaskManager: task name is reflected in thread name
-- fixed LocalDateTime::operator - (const Timespan&) [#0000004]
-- upon startup all loggers' channels are set to a console channel
-- improved search for application configuration files (see loadConfiguration()).
-- added Glob class (fixes #1249700)
-- upgraded to zlib 1.2.3 (fixes #1261712)
-- added Logger::dump()
-- fixed a wrong condition in Logger::log(const Message&)
-- Path::find() now also works with relative paths in addition to plain file names
-- added Path(const Path&, const Path&) constructor
-- added SharedPtr template
-- added Path::tryParse()
-- SAXParser::parse()/EntityResolverImpl now works for both URIs and local filesystem paths (fixes #1254812)
-
-
-Release 0.93.1 (2005-08-01)
-===========================
-
-This release contains various new features, improvements and bugfixes:
-- bugfix: UUIDGenerator throws an exception if no connected ethernet adapter can
- be found (and thus no MAC address can be obtained)
-- added UUIDGenerator::createOne() method
-- added error handling to UUID sample application
-- added relational (==, !=, <, <=, >, >=) and arithmetic operators (+, -, +=, -=) to DateTime
-- added LocalDateTime class
-- added support for LocalDateTime to DateTimeParser and DateTimeFormatter
-- added enqueueUrgentNotification() to NotificationQueue
-- added support for timezone specifiers (%z, %Z) to PatternFormatter
-- added [] operator and count() to StringTokenizer
-- added elapsed() and isElapsed() to Timestamp
-- added tzd() to Timezone
-- added WinRegistryKey and WinService classes (Windows only)
-- added index operator and count() to StringTokenizer
-- added day/time-based log rotation (thanks to Alex Fabijanic), minor improvements to DateTimeParser
-- support for Mac OS X 10.4/gcc 4.0.0
-- added NamedMutex and NamedEvent
-- added Process::kill()
-- added NoPermissionException
-- added Task and TaskManager classes
-- added ServerApplication class
-- bugfix: EventLogChannel - _logFile was not properly initialized in one constructor
-- bugfix: File::createDirectories did not work for hierarchies deeper than three
-- added Util::FilesystemConfiguration
-- documented logging policy: log() must open channel if it hasn't been opened yet
-- FileChannel::log() opens channel if necessary
-- the application reference passed to initialize() and reinitialize() is no longer const
-- improved application logging initialization
-- fixed a problem with configuration view and property placeholders
-- fixed Util build configuration for Visual Studio
-- improved application samples
-- fixed documentation for Semaphore class
-
-
-Release 0.92.1 (2005-05-09)
-===========================
-
-This release introduces the Util library that provides support for
-configuration file parsing (different file formats), command line
-argument processing, logging configuration and a framework for
-command line/server applications.
-There have also been various changes to the Foundation library:
-- a new RefCountedObject class that acts as a base class for
- various classes that use reference counting
-- some missing members have been added to the AutoPtr template
-- various improvements and bugfixes to the Logging framework, as well as
- new LoggingFactory and LoggingRegistry classses, and a NullChannel class
-- the SignalHandler class (Unix platforms only)
-- ObjectFactory and DynamicFactory template classes
-- the Path::find method for searching a file in a list of directories
-- various new Exception classes
-
-
-Release 0.91.4 (2005-04-11)
-===========================
-
-This is mainly a maintenance release that adds support for QNX Neutrino
-and OpenVMS. There are also minor bugfixes and improvements.
-
-The Unix build system has been modified to work on QNX Neutrino.
-The OpenVMS build system has been fixed and works now.
-Some missing #include's have been added for QNX Neutrino.
-Foundation/String.h: icompare now supports comparison with const char*;
-the classic C version of isspace() has been used in a few places instead of the
-C++ <locale> version, this has been fixed.
-Foundation/Exception.h: IllegalStateException added.
-
-
-Release 0.91.3 (2005-03-19)
-===========================
-
-This is a maintenance release that adds support for Solaris/Sun Forte C++.
-No new features have been added.
-
-An implementation of FPEnvironment for Solaris has been included.
-All stream classes have been modified to work around an initialization
-problem that surfaced with Sun's C++ compiler when using STLport.
-Source-code compatibility with the previous release is not affected. Various
-minor changes, mostly adding missing #include's for Solaris.
-
-
-Release 0.91.2 (2005-02-27)
-===========================
-
-Minor improvements to the Unix build system. No actual changes in the
-libraries.
-
-
-Release 0.91.1 (2005-02-21)
-===========================
-
-This is the first public release of the C++ Portable Components.
-The release does not contain all features planned for the later 1.0 release
-(the NET library is missing, for example), but is already quite usable.
-Please refer to the README file for more information and instructions for
-building the libraries.
+This is the changelog file for the POCO C++ Libraries.
+
+Release 1.9.4 (2019-09-18)
+==========================
+
+- fixed GH #2784: Upgrade bundled expat XML parser library to release 2.2.8,
+ which fixes CVE-2019-15903.
+
+
+Release 1.9.3 (2019-08-20)
+==========================
+
+- fixed GH #2603: Remove incorrect upper size limits for SSL certificates in NetSSL_Win
+- fixed GH #2661: Poco::Zip::ZipArchive cannot load new tomcat.zip file (additional fix)
+- fixed GH #2742: Support of vs150 & vs160 with the official Microsoft localization executable,
+ vswhere.exe, installed by MSVC starting from VS2017
+- Data/ODBC: make binding of std::string configurable (SQL_LONGVARCHAR - default or SQL_VARCHAR)
+ through a global setting (Poco::Data::ODBC::Connector::bindStringToLongVarChar()).
+- added Poco::SharedLibrary::setSearchPath() (currently implemented on Windows only)
+- Windows required minimum version is now Windows XP SP2
+- upgraded bundled SQLite to 3.29.0
+- CppParser now supports type aliases defined with using keyword.
+- PageCompiler: added support for adding Content-Security-Policy and Cache-Control headers.
+
+
+Release 1.9.2 (2019-07-02)
+==========================
+
+- fixed GH #2736: Error using CMake gui - latest version
+- fixed GH #2737: Bundles vulnerable copy of Expat — please upgrade to Expat 2.2.7
+- fixed GH #2738: Poco::AccessExpireStrategy::onGet() must not extend expiration time after expiration
+
+
+Release 1.9.1 (2019-06-24)
+==========================
+
+- Added support for building with different OpenSSL distributions on Windows.
+ See the POCO_EXTERNAL_OPENSSL macro defined in Foundation/include/Poco/Config.h
+ for options.
+- Added Poco::Net::HTTPClientSession::flushRequest()
+- Added Poco::Net::WebSocket::setMaxPayloadSize() and Poco::Net::WebSocket::getMaxPayloadSize()
+ to specify a maximum acceptable payload size for Poco::Net::WebSocket::receiveFrame().
+- Poco::Net::WebSocket: don't attempt to send empty credentials in response to 401 response.
+- Redis: added support for additional commands (exists, expire, ping, multi, exec, discard)
+- Redis: added Poco::Redis::Client::isConnected()
+- Upgraded bundled PCRE to version 8.43
+- Upgraded bundled SQLite to version 3.28.0
+- Added project/solution files for Visual Studio 2019
+- Fixed Visual Studio project files (version information from DLLVersion.rc not included in DLLs)
+- Include version resource in DLLs built with CMake
+- Added HTTP*Credentials::empty() and HTTPCredentials::clear()
+- fixed GH #2220: Encoding/DoubleByteEncoding.cpp fails to compile with VS2008 and _DEBUG
+- fixed GH #2243: DLLVersion.rc is excluded from build, missing detail information in properties of *.dll
+- fixed GH #2277: SQLite null pointer dereference occurs when exception is being thrown
+- fixed GH #2313: PollSet behaves differently on windows
+- fixed GH #2316: cmake can't find MySQL and ODBC libraries
+- fixed GH #2336: Omit ContentLength in WebSocket accept response
+- fixed GH #2358: Don't include <openssl/fips.h> for later OpenSSL
+- fixed GH #2364: Stringify escapes every unicode symbol when object contain an array
+- fixed GH #2380: Calling Poco::Net::X509Certificate::addChainCertificate() leads to double free.
+- fixed GH #2492: Net::Socket::address() crash on Android
+- fixed GH #2549: Fix keepAlive in http client session
+- fixed GH #2565: HTMLForm: optional enforcement of Content-Length instead of Chunked Transfer-Encoding
+- fixed GH #2570: DialogSocket: receiveStatusMessage() - line length limit applies to entire multi-line message
+- fixed GH #2583: Crypto library does not build with OpenSSL 1.0.0
+- fixed GH #2655: MongoDB Binary element to string - bug
+- fixed GH #2661: Poco::Zip::ZipArchive cannot load new tomcat.zip file
+- fixed GH #2700: Invalid read of memory in Poco::Environment::set which may cause crashes.
+- fixed GH #2712: File_WIN32.cpp(168): error C2065: "_upath":Undeclared identifier
+- fixed GH #2723: Access violation when trying to decompress .zip file with unsupported compression method.
+
+
+Release 1.9.0 (2018-03-07)
+==========================
+
+- Added additional text encodings, available in the new PocoEncodings library (GH #2165)
+- Added Punycode support for resolving Internationalized Domain Names to Poco::Net::DNS (GH #2164)
+- Added XDG Base Directory Specification support in Poco::Path, Poco::Util::SystemConfiguration
+ and Poco::Util::Application (GH #1609, GH #561, GH #1609)
+- Added support for GCM ciphers in Crypto library (GH #2129)
+- Poco::Net::RemoteSyslogChannel and Poco::Net::RemoteSyslogListener now have basic
+ support for RFC 5424 structured data (GH #2173)
+- Poco::File now has methods for obtaining partition space (GH #1545)
+- Added Poco::Net::Context::addCertificateAuthority() (GH #2197)
+- Added Poco::AutoPtr::reset() and Poco::SharedPtr::reset() to improve compatibility
+ with std::shared_ptr() (GH #2172)
+- fixed GH #703: Poco::Data::SQLite data types (INTEGER is now mapped to Int64)
+- fixed GH #1426: inttypes.h is available on sun solaris
+- fixed GH #1912: Run ping with custom data size #1912
+- fixed GH #2177: Run ping with custom timeout instead of the default
+- fixed GH #2058 and GH #2095: Synchronization issue/deadlock in Poco::Util::Timer at destruction
+- fixed GH #2089: Allow hyphen in HTTP authentication scheme names
+- fixed GH #2106: Undefined behavior in Delegate::equals()
+- fixed GH #2108: POCO SQLite Data Connector hangs for 20 secs waiting for thread timeouts on Windows
+- fixed GH #2142: JSON::Object preserveOrder keys not synced on assignment
+- fixed GH #2199 and GH #2188: Illegal header in zip file exception/assertion failure during JAR file decompression
+- fixed GH #2203: Use MAX_ADDRESS_LENGTH to determine buffer size
+
+
+Release 1.8.1 (2018-01-09)
+==========================
+
+- Added Poco::File::linkTo()
+- fixed GH #2044: Poco::Net::NetworkInterface::list does not list inactive interfaces
+ even when explicitly being asked for it.
+- fixed GH #2042: Android abstract namespace local socket address
+- fixed GH #2038: Poco::Net::MultipartWriter::createBoundary() always returns the same string.
+- fixed GH #2020: SQLite not handling parameter count mismatch correctly.
+- fixed GH #2012: Data/SQLite: Exception messages contain duplicate text
+- fixed GH #2005: Upgraded bundled PCRE to 8.41
+- fixed GH #2000: Fix building XMLStreamParser with unbundled expat
+- fixed GH #1603: fix MinGW 4.8.2 Compilation
+- fixed GH #1991: Support building poco 1.8.0 as cmake sub-project
+- fixed GH #2080: Bugs in Poco::Net::Socket::select when POCO_HAVE_FD_POLL is defined
+
+
+Release 1.8.0.1 (2017-11-11)
+============================
+
+- Reverted change for GH #1828; DeflatingStreamBuf::sync() no longer flushes
+ underlying stream as this causes corruption for some Zip files.
+- PocoDoc: fix for handling compiler configuration for Gradle builds.
+
+
+Release 1.8.0 (2017-11-10)
+==========================
+
+- Poco::Base64Encoder: add support for base64url encoding (GH #1967)
+- Add Poco::Net::PollSet class to Net library (GH #1763)
+- The Net library now supports Unix Domain Sockets, where available.
+- Added stream parser (Poco::XML::XMLStreamParser) to XML library (GH #1697)
+- Added Poco::Net::TCPServerConnectionFilter and Poco::Net::TCPServer::setConnectionFilter()
+ to support connection filtering and IP blacklisting (GH #1485)
+- Added Redis library (GH #1383)
+- Added Zip64 support to Zip library (GH #1356)
+- Upgraded bundled SQLite to 3.21.0
+- Removed OpenVMS support (GH #1988)
+- fixed GH #271: NamedMutex_UNIX.cpp must remove semid
+- fixed GH #739: Add WebSocket::receiveFrame() that appends to a Poco::Buffer<char>
+- fixed GH #749: NTP Packet impl not according to RFC958
+- fixed GH #896: Sample "TwitterClient" of NetSSL_OpenSSL can't be build
+- fixed GH #1172: Poco::Data default storage should be std::vector
+- fixed GH #1337: Poco::HTMLForm throws exception HTMLFormException("Form must be prepared")
+ even after form is prepared.
+- fixed GH #1373: SessionImpl::close() does not check return code of close handle specific function
+- fixed GH #1425: Workaround bug in SolarisStudio 12.4 on RVO-ed objects.
+- fixed GH #1614: Problematic license for JSON component: the previously used JSON.org parser
+ has been replaced with pdjson
+- fixed GH #1659: wrong field size calculation in ODBC code
+- fixed GH #1683: Poco::Data ODBC impl doesn't bind to unsigned numeric types properly
+- fixed GH #1705: MongoDB: support URI in Connection
+- fixed GH #1708: "SocketReactor::addEventHandler" and "SocketReactor::removeEventHandler"
+ must protect the access to "NotifierPtr pNotifier"
+- fixed GH #1729: getConnectionTimeout of SQLite DB wrapper returns wrong value
+ (in milliseconds, should be in seconds)
+- fixed GH #1739: OpenSSLInitializer isn't threadsafe
+- fixed GH #1750: double_conversion in NumericString is in conflict with Qt5 Core
+- fixed GH #1804 and GH #1805: Integer Overflow or Wraparound
+- fixed GH #1828: DeflatingStreamBuf::sync() should also flush underlying stream.
+- fixed GH #1880: FTPClientSession::close() error
+- fixed GH #1897: DateTime wrong binding/extraction for MySQL database
+- fixed GH #1905: Compiling Foundation library with POCO_NO_FPENVIRONMENT in Config.h fails
+- fixed GH #1906: Race condition in ThreadPool
+- fixed GH #1913: Message Doesn't Support 64-bit Thread IDs
+- fixed GH #1921: ICMPSocket does not check reply address
+- fixed GH #1926: Exception when using SortedDirectoryIterator
+- fixed GH #1934: File::setExecutable() on POSIX should set executable bit for group and
+ other if corresponding readable bit is set
+- fixed GH #1950: Net Exception: Address family not supported with clang
+- fixed GH #1964: Buffer<> swap miss ownMem
+
+
+Release 1.7.9p2 (2017-11-06)
+============================
+
+- fixed GH #1628: Export Poco::Zip::ZipUtil class
+
+
+Release 1.7.9p1 (2017-11-02)
+============================
+
+- fixed GH #1968: Zip Decompress Parent Path Injection
+
+
+Release 1.7.9 (2017-09-11)
+==========================
+
+- fixed GH #1813: xmlparse.cpp doesn't compile in WinCE (poco 1.7.8p3)
+- fixed GH #1826: XPath query error
+- fixed GH #1834: Visual Studio 2008 cannot find stdint.h
+- fixed GH #1842: Upgrade bundled expat to 2.2.3
+- fixed GH #1843: Use random salt for Poco::XML::NamePool
+- fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe
+- improved/fixed QNX support
+- Poco::Util::LayeredConfiguration: added support for labelling configurations and
+ finding them by their label
+- upgraded bundled SQLite to 3.20.1
+- PageCompiler: support <%@ include file="<path>" %> syntax for includes, in addition
+ to <%@ include page="<path>" %>
+- PageCompiler: optimize generated request handler code by removing useless
+ statements, e.g. writing empty strings.
+- added POCO_DEPRECATED macro which will be used in the future to deprecate
+ classes and methods.
+- Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are
+ now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing
+ between different users. Furthermore, ftok() is called with 'p' as project ID
+ argument.
+
+
+Release 1.7.8p3 (2017-06-22)
+============================
+
+- fixed GH #1760: Upgrade bundled expat to 2.2.1 which fixes some vulnerabilities:
+ http://seclists.org/oss-sec/2017/q2/499
+
+
+Release 1.7.8p2 (2017-04-18)
+============================
+
+- fixed GH #1655: CipherImpl memory leak with OpenSSL 1.1
+
+
+Release 1.7.8 (2017-02-21)
+==========================
+
+- fixed GH #1212: Lost WebSocket Frames after Client Websocket Handshake is complete
+- fixed GH #1260: URI encoding
+- fixed GH #1501: Alpine 3.4 trouble with Foundation/src/Error.cpp
+- fixed GH #1523: Long path names under Windows
+- fixed GH #1536: Building with OS X 10.12 SDK and 10.7 deployment target without libc++ fails
+- fixed GH #1537: Need to add multiple cflags parameters to configure
+- fixed GH #1539: Allow overriding POCO_TARGET_OSARCH for iPhoneSimulator
+- fixed GH #1546: Enable bitcode for iPhone build config
+- fixed GH #1549: Latin2Encoding and 0xFF
+- fixed GH #1551: Unable to use Poco on macOS 10.12
+- fixed GH #1552: IPv6 & operator throws an exception when scope = 0
+- fixed GH #1566: Poco/Zip issue with some CM_DEFLATE archives
+- fixed GH #1567: Poco/ZIP issue with uncompressed archives
+- fixed GH #1570: IPv6AddressImpl::toString() returns wrong output for IPv6 address "::"
+- fixed GH #1571: ODBC Preparator memory leak
+- fixed GH #1573: Poco::File::createDirectories() should not throw Poco::FileExistsException
+- fixed GH #1580: Unable to unzip zip file created using non-seeking stream
+- fixed GH #1581: Cannot find 'pcre.h' when using POCO_UNBUNDLED, a non-system PCRE, and CMake
+- fixed GH #1588: Poco::Net::HTTPChunkedStreamBuf::readFromDevice(): restrict maximum
+ size of chunk length
+- fixed GH #1589: Poco::Net::HTMLForm: restrict maximum field and value length
+- fixed GH #1590: Poco::Net::DialogSocket: restrict maximum line length
+- fixed GH #1591: Poco::Net::MultipartReader: restrict maximum boundary string length
+- fixed GH #1597: adding empty file to zip leads to archive that can't be unzipped by windows
+- fixed GH #1599: readFromDevice() in AutoDetectStream.cpp in Poco Zip cannot detect signature
+- fixed GH #1534: Upgraded bundled zlib to 1.2.11
+- fixed GH #1558: Upgraded bundled SQLite to 3.16.2
+- fixed GH #1586: Upgraded bundled PCRE to 8.40
+- fixed GH #1538: Upgraded bundled double-conversion to 1.1.5
+- MongoDB: added support for authentication using "MONGODB-CR" and "SCRAM-SHA-1"
+ authentication schemes.
+- MongoDB: additional documentation and fixes for style and consistency and minor
+ API improvements (e.g., Poco::MongoDB::Binary)
+ Note: some flag enumeration values have been renamed for better consistency
+ and readability; existing code using these will have to be updated.
+
+
+Release 1.7.7 (2016-12-31)
+==========================
+
+- fixed GH #865: FileChannel compress fails leaving empty .gz files
+- fixed GH #990: Potential race condition in Poco::File on Windows
+- fixed GH #1157: Fixing a bug in the NetSSL_Win module (Host name verification failed error)
+- fixed GH #1351: Fix for android include pthread.h from /usr/include
+- fixed GH #1436: ODBC Bug: Unicode text(NVARCHAT) read from DB is truncated to half
+- fixed GH #1453: _clock_gettime Symbol not found on Mac 10.11
+- fixed GH #1460: POCO does not build with OpenSSL 1.1
+- fixed GH #1461: Poco::Data::SQLite::SQLiteStatementImpl::next() error
+- fixed GH #1462: AbstractConfiguration::getUInt does not parse hex numbers
+- fixed GH #1464: ODBCMetaColumn::init() always maps integer NUMERIC/DECIMAL to Int32
+- fixed GH #1465: Assertion violation in DateTime.cpp using ZipArchive
+- fixed GH #1472: HTTP(S)StreamFactory should send a User-Agent header.
+- fixed GH #1476: Fixed error with Poco::UTF8Encoding::isLegal()
+- fixed GH #1484: ODBC: fix uninitialized variable
+- fixed GH #1486: Support ODBC GUID data type as string
+- fixed GH #1488: Poco::ObjectPool shrinks if returned object is not valid
+- fixed GH #1515: Detection of closed websocket connection
+- fixed GH #1521: bug in JSON ParseHandler.cpp (empty keys should be valid)
+- fixed GH #1526: iOS app rejected, IPv6 not working
+- fixed GH #1532: RecordSet and RowFilter: bad use of reference counter
+
+
+Release 1.7.6 (2016-10-18)
+==========================
+
+- fixed GH #1298: ZipFileInfo: Assertion violation when reading ods files
+- fixed GH #1315: Redefine Poco assertions for static analysis
+- fixed GH #1397: Fix issues reported by static source code analysis
+- fixed GH #1403: Android compile with poco-1.7.5 no 'pthread_condattr_setclock' error
+- fixed GH #1416: Assertion violation when unzipping
+- fixed GH #1418: Poco::Delegate assignment operator fails to compile for some specializations
+- fixed GH #1422: Can't build poco 1.7.4 or 1.7.5 on centos5 32 bit
+- fixed GH #1429: exception thrown in MongoDB when using replicaset
+- fixed GH #1431: Poco/FIFOBuffer.h copy issue
+- fixed GH #1445: Use stable_sort to preserve order of IP addresses from DNS
+- fixed GH #1456: better handle leap seconds in Poco::DateTime and Poco::LocalDateTime
+- fixed GH #1458: Probably invalid epoll_create() usage inside Poco/Socket.cpp
+- Poco::XML::NamePool: increased default size from 251 to 509. Default size can now
+ be changed by defining the POCO_XML_NAMEPOOL_DEFAULT_SIZE macro accordingly.
+- Enchancements: Poco::XML::Document and Poco::XML::DOMParser have new constructors
+ taking a NamePool size. Poco::Util::XMLConfiguration::load() also has a new overload
+ for that purpose.
+- Improved error handling in the Zip library (getting rid of some poco_assert macros
+ and did proper error handling instead).
+- Added Poco::URISyntaxException (subclass of Poco::SyntaxException), which is now
+ thrown by Poco::URI.
+- Improved error handling in Poco::URIStreamOpener::open().
+- Poco::Data::MySQL: Handle connection lost/server gone error when starting a transaction
+ and retry.
+- XMLConfiguration default (and single-argument delimiter) constructor now loads an empty
+ XML document with "config" root element to make the configuration usable without an
+ additional call to load() or loadEmpty().
+
+
+Release 1.7.5 (2016-08-29)
+==========================
+
+- fixed GH #1252: Unable to compile Poco::Data for Windows Compact Embedded 2013
+- fixed GH #1344: Poco::Event::wait(timeout) should use CLOCK_MONOTONIC on Linux
+- fixed GH #1355: [JSON::Object] After copy-ctor, JSON::Object::_keys still points to
+ keys in map of copied object
+- GH #1361: Shell expansion rules say that tilde must be replaced with $HOME before
+ calling getpwuid
+- Poco::SingletonHolder: added reset() method
+- prefer clock_getttime() over gettimeofday() if available
+- Upgraded bundled SQLite to 3.14.1
+
+
+Release 1.7.4 (2016-07-20)
+==========================
+
+- fixed GH #1300: Session constructor hangs
+- fixed GH #1303: HTTPSClientSession::sendRequest() fails if server has wildcard cert
+- fixed GH #1304: URI doesn't know "ws:/" or "wss://" schemes
+- fixed GH #1307: Upgrade bundled expat to 2.2.0
+- fixed GH #1313: XML library compilation error
+- fixed GH #1316: Empty SocketReactor never sleeps
+- Upgraded bundled SQLite to 3.13.0
+
+
+Release 1.7.3 (2016-05-02)
+==========================
+
+- fixed GH #993: Invalid zip format when opening a docx in word
+- fixed GH #1235: Poco::Net::HTTPClientSession::sendRequest() should also handle HTTP_PATCH
+- fixed GH #1236: Remove Poco::Data::Row::checkEmpty() as it prevents Row from being used
+ with all NULL rows
+- fixed GH #1239: Poco::Zip::Compress with non-seekable stream fails for CM_STORE
+- fixed GH #1242: Poco::Data::RowFormatter generate exception if the first column of first
+ row is null
+- fixed GH #1253: ListMap does not maintain insertion order if key already exists
+- Upgraded bundled SQLite to 3.12.2
+
+
+Release 1.7.2 (2016-03-21)
+==========================
+
+- fixed GH #1197: Upgrade bundled expat to 2.1.1
+ Expat 2.1.1 fixes a CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1283
+- fixed GH #1204: getdtablesize has been removed on Android 21
+- fixed GH #1203: Poco::Data::RecordSet should be reusable
+- fixed GH #1198: Upgrade bundled SQLite to 3.12.1
+
+
+Release 1.7.1 (2016-03-14)
+==========================
+
+- fixed GH #1187: Data/MySQL: Seeing frequent "MySQL server has gone away" errors
+- fixed GH #1184: Attempting to connect via a proxy throws a DNS error "Host not found"
+- fixed GH #1180: Possible deadlock when TaskManager::count() is called in onFinished
+- NetSSL_OpenSSL: use TLS_*_method() instead of deprecated SSLv23_*_method()
+ if OpenSSL version is >= 1.1; initialize default/fallback client context to support
+ all TLS protocols, not just TLSv1
+
+
+Release 1.7.0 (2016-03-07)
+==========================
+
+- POSSIBLE BREAKING CHANGE: removed automatic registration of Data connectors due to
+ issues with static initialization order.
+- NetSSL_OpenSSL: added support for ECDH and DH ciphers; added support to disable
+ specific protocols (Poco::Net::Context::disableProtocols());
+ new Poco::Net::Context constructor taking a Poco::Net::Context::Params structure that
+ allows specifying ECDH and DH parameters.
+- Poco::Net::TCPServer: add additional try ... catch block around poll() to
+ gracefully deal with errors due to high system load (e.g., out of file descriptors).
+- fixed GH #1171: Poco::Data::RecordSet: rowCount not reset after execute
+- fixed GH #1167: CMake & POCO_UNBUNDLED: expat sources are compiled in libPocoXML
+- fixed GH #1160: Poco::Net::NetException
+ "SSL Exception: error:1409F07F:SSL routines:ssl3_write_pending:bad write retry"
+- fixed GH #1152: Wrong TaskProgressNotification description
+- fixed GH #1141: Poco::StringTokenizer::TOK_TRIM changes behavior between 1.4 and 1.6
+- fixed GH #1137: Missing 'longint' type in SQLite
+- fixed GH #1135: Different package on github and official web site
+- fixed GH #1030: tvOS / WatchOS bitcode enabled for simulators
+- fixed GH #1114: World-write permissions on files created by daemon
+- fixed GH #1087: prevent line breaks in base64-encoded creds
+- fixed GH #1026: Fixes for producing the poco-1.6.2 release on a Cygwin x86 platform
+- fixed GH #1022: Abbreviation in setThreadName can happen even if thread name is not too long
+- fixed GH #1002: ActiveDispatcher saves reference to event context after event was
+ performed until it gets new event
+- fixed GH #973: overwrite existing files on windows when moving files
+- fixed GH #969: Poco::File::renameTo() behaviour differs on windows and linux
+- fixed GH #967: Missing data types in SQLite
+- fixed GH #966: Possible crash when processing a corrupted Zip file
+- fixed GH #958: Bug while reading X509Certificate subjectName
+- fixed GH #937: Missing build_vs140.cmd
+- fixed GH #933: Change in JSON::Object::set(key,value) behavior in 1.6.1
+- fixed GH #931: make strToInt() more strict in what it accepts
+- fixed GH #921: `BasicUnbufferedStreamBuf` needs to be marked for import/export
+- fixed GH #848: MailMessage::_encoding is not set when retrieving plain/text message
+- fixed GH #767: Inconsistency in getPath & getPathAndQuery returns
+- fixed GH #724: Poco 1.6.0 is not compiled with openssl 1.0.0
+- fixed GH #713: Improved support for producing Canonical XML in XMLWriter
+- fixed GH #696: bug in parsing name of attachment poco c++ 1.6.0
+- fixed GH #335: Compress with nonseekable
+- upgraded bundled SQLite to 3.11.0
+- added Poco::Crypto::X509Certificate::equals() to compare two certificates
+- support for detecting Win8/Win10 in Poco::Environment
+- Poco::Net::HTTPServerRequestImpl: fixed an issue with DELETE in persistent connections
+- NetSSL: added Context::preferServerCiphers()
+- NetSSL: added support for ECDH, new Context constructor
+- NetSSL: add support for disabling certain protocols
+- SMTPClientSession: added support for XOAUTH2 authentication
+- Poco::Data::SessionPool: re-added customizeSession() method from 1.4.x releases
+- improved SSLManager to automatically set-up a reasonable client Context if
+ none is configured
+- add brew OpenSSL search paths to Darwin configs
+- add HTTP/1.1 version to HTTPRequest for client WebSocket, as this is required for
+ most servers
+- remove GCC_DIAG_OFF as this caused more issues than it solved
+- respect POCO_NO_FORK_EXEC in ServerApplication (tvOS)
+- tvOS and WatchOS support
+- fix: need an implementation of available() for WebSocketImpl
+- HTTPSessionInstantiator: respect global proxy config
+- added constant for HTTP PATCH method to Poco::Net::HTTPRequest
+- NumberParser::parseHex[64](): allow 0x/0X prefix
+
+
+Release 1.6.1 (2015-08-03)
+==========================
+
+- added project and solution files for Visual Studio 2015
+- upgraded bundled SQLite to 3.8.11.1
+- fixed GH #782: Poco::JSON::PrintHandler not working for nested arrays
+- fixed GH #819: JSON Stringifier fails with preserve insert order
+- fixed GH #878: UUID tryParse
+- fixed GH #869: FIFOBuffer::read(T*, std::size_t) documentation inaccurate
+- fixed GH #861: Var BadCastException
+- fixed GH #779: BUG in 1.6.0 Zip code
+- fixed GH #769: Poco::Var operator== throws exception
+- fixed GH #766: Poco::JSON::PrintHandler not working for objects in array
+- fixed GH #763: Unable to build static with NetSSL_OpenSSL for OS X
+- fixed GH #750: BsonWriter::write<Binary::Ptr> missing size ?
+- fixed GH #741: Timestamp anomaly in Poco::Logger on WindowsCE
+- fixed GH #735: WEC2013 build fails due to missing Poco::Path methods.
+- fixed GH #722: poco-1.6.0: Unicode Converter Test confuses string and char types
+- fixed GH #719: StreamSocket::receiveBytes and FIFOBuffer issue in 1.6
+- fixed GH #706: POCO1.6 Sample EchoServer BUG
+- fixed GH #646: Prevent possible data race in access to Timer::_periodicInerval
+- DeflatingStream: do not flush underlying stream on sync() as these can cause
+ corrupted files in Zip archives
+
+
+Release 1.6.0 (2014-12-22)
+==========================
+
+- fixed GH #625: MongoDB ensureIndex double insert?
+- fixed GH #622: Crypto: RSATest::testSign() should verify with public key only
+- fixed GH #620: Data documentation sample code outdated
+- fixed GH #618: OS X 10.10 defines PAGE_SIZE macro, conflicts with PAGE_SIZE in Thread_POSIX.cpp
+- fixed GH #616: Visual Studio warning C4244
+- fixed GH #612: OpenSSLInitializer calls OPENSSL_config but not CONF_modules_free
+- fixed GH #608: (Parallel)SocketAcceptor ctor/dtor call virtual functions
+- fixed GH #607: Idle Reactor high CPU usage
+- fixed GH #606: HTMLForm constructor read application/x-www-form-urlencoded UTF-8 request
+ body first parameter with BOM in name
+- fixed GH #596: For OpenSSL 1.0.1, include openssl/crypto.h not openssl/fips.h
+- fixed GH #592: Incorrect format string in Poco::Dynamic::Struct
+- fixed GH #590: Poco::Data::SQlite doesn't support URI filenames
+- fixed GH #564: URI::encode
+- fixed GH #560: DateTime class calculates a wrong day
+- fixed GH #549: Memory allocation is not safe between fork() and execve()
+- fixed GH #500: SSLManager causes a crash
+- fixed GH #490: 2 byte frame with payload length of 0 throws "Incomplete Frame Received" exception
+- fixed GH #483: multiple cases for sqlite_busy
+- fixed GH #482: Poco::JSON::Stringifier::stringify bad behaviour
+- fixed GH #478: HTTPCredentials not according to HTTP spec
+- fixed GH #471: vs2010 release builds have optimization disabled ?
+- fixed GH #468: HTTPClientSession/HTTPResponse not forwarding exceptions
+- fixed GH #438: Poco::File::setLastModified() doesn't work
+- fixed GH #402: StreamSocket::receiveBytes(FIFOBuffer&) and sendBytes(FIFOBuffer&) are
+ not thread safe
+- fixed GH #345: Linker warning LNK4221 in Foundation for SignalHandler.obj, String.obj
+ and ByteOrder.obj
+- fixed GH #331: Poco::Zip does not support files with ".." in the name.
+- fixed GH #318: Logger local time doesn't automatically account for DST
+- fixed GH #294: Poco::Net::TCPServerParams::setMaxThreads(int count) will not accept count == 0.
+- fixed GH #215: develop WinCE build broken
+- fixed GH #63: Net::NameValueCollection::size() returns int
+- Poco::Logger: formatting methods now support up to 10 arguments.
+- added Poco::Timestamp::raw()
+- Poco::DeflatingOutputStream and Poco::InflatingOutputStreams also flush underlying stream
+ on flush()/sync().
+- Poco::Util::Timer: prevent re-schedule of cancelled TimerTask
+- enabled WinRegistryKey and WinRegistryConfiguration for WinCE
+- Poco::BasicEvent improvements and preparations for future support of lambdas/std::function
+- upgraded bundled sqlite to 3.8.7.2
+- Poco::Thread: added support for starting functors/lambdas
+- Poco::Net::HTTPClientSession: added support for global proxy configuration
+- added support for OAuth 1.0/2.0 via Poco::Net::OAuth10Credentials and
+ Poco::Net::OAuth20Credentials classes.
+- Poco::Net::IPAddress: fixed IPv6 prefix handling issue on Windows
+- added Poco::Timestamp::TIMEVAL_MIN and Poco::Timestamp::TIMEVAL_MAX
+- added Poco::Clock::CLOCKVAL_MIN and Poco::Clock::CLOCKVAL_MAX
+- added poco_assert_msg() and poco_assert_msg_dbg() macros
+- Poco::Net::Context: fixed a memory leak if the CA file was not found while creating the
+ Context object (the underlying OpenSSL context would leak)
+- Poco::URI: added new constructor to create URI from Path
+- Various documentation and style fixes
+- Removed support (project/solution files) for Visual Studio.NET 2003 and Visual Studio 2005.
+- Improved CMake support
+
+
+Release 1.5.4 (2014-10-14)
+==========================
+
+- fixed GH #326: compile Net lib 1.5.2 without UTF8 support enabled
+- fixed GH #518: NetworkInterface.cpp compile error w/ POCO_NO_WSTRING (1.5.3)
+- Fixed MSVC 2010 warnings on large alignment
+- make HTTPAuthenticationParams::parse() add value on end of string
+- fixed GH #482: Poco::JSON::Stringifier::stringify bad behaviour
+- fixed GH #508: Can't compile for arm64 architecture
+- fixed GH #510: Incorrect RSAKey construction from istream
+- fix SharedMemory for WinCE/WEC2013
+- Add NIOS2 double conversion detection, fixes compile errors
+- added VS2013 project/solution files for Windows Embedded Compact 2013
+- added Process::isRunning()
+- NetSSL: Fix typo in documentation
+- NetSSL_OpenSSL: support for TLS 1.1 and 1.2
+- Zip: Added CM_AUTO, which automatically selects CM_STORE or CM_DEFLATE based
+ on file extension. Used to avoid double-compression of already compressed file
+ formats such as images.
+- added %L modifier to PatternFormatter to switch to local time
+- removed unnecessary explicit in some multi-arg constructors
+- Allow SecureStreamSocket::attach() to be used in server connections
+- added Var::isBoolean() and fixed JSON stringifier
+- added poco_unexpected() macro invoking Bugcheck::unexpected() to deal
+ with unexpected exceptions in destructors
+- fixed GH #538 prevent destructors from throwing exceptions
+- improved HTTP server handling of errors while reading header
+- fixed GH #545: use short for sign
+- upgraded SQLite to 3.8.6
+- fixed GH #550 WebSocket fragmented message problem
+- improved HTTPClientSession handling of network errors while sending the request
+- updated bundled PCRE to 8.35.0
+- fixed GH #552: FIFOBuffer drain() problem
+- fixed GH #402: StreamSocket::receiveBytes(FIFOBuffer&) and sendBytes(FIFOBuffer&) are
+ not thread safe
+- HTTPCookie: fix documentation for max age
+- added Timestamp::raw() and Clock::raw()
+- Poco::Buffer properly handles zero-sized buffers
+- GH #512: Poco:Data:ODBC:Binder.h causes a crash
+- Added Crypto_Win and NetSSL_Win libraries which are re-implementations of existing
+ Crypto and NetSSL_OpenSSL libraries based on WinCrypt/Schannel. The new libraries
+ can be used as an almost drop-in replacement for the OpenSSL based libraries on
+ Windows and Windows Embedded Compact platforms. Only available from GitHub for now.
+
+
+Release 1.5.3 (2014-06-30)
+==========================
+
+- fixed GH# 316: Poco::DateTimeFormatter::append() gives wrong result for
+ Poco::LocalDateTime
+- Poco::Data::MySQL: added SQLite thread cleanup handler
+- Poco::Net::X509Certificate: improved and fixed domain name verification for
+ wildcard domains
+- added Poco::Clock class, which uses a system-provided monotonic clock
+ (if available) and is thus not affected by system realtime clock changes.
+ Monotonic Clock is available on Windows, Linux, OS X and on POSIX platforms
+ supporting clock_gettime() and CLOCK_MONOTONIC.
+- Poco::Timer, Poco::Stopwatch, Poco::TimedNotificationQueue and Poco::Util::Timer
+ have been changed to use Poco::Clock instead of Poco::Timestamp and are now
+ unaffected by system realtime clock changes.
+- fixed GH# 350: Memory leak in Data/ODBC with BLOB
+- Correctly set MySQL time_type for Poco::Data::Date.
+- fixed GH #352: Removed redundant #includes and fixed spelling mistakes.
+- fixed setting of MYSQL_BIND is_unsigned value.
+- fixed GH #360: CMakeLists foundation: add Clock.cpp in the list of source files
+- Add extern "C" around <net/if.h> on HPUX platform.
+- added runtests.sh
+- fixed CPPUNIT_IGNORE parsing
+- fixed Glob from start path, for platforms not alowing transverse from root (Android)
+- added NTPClient (Rangel Reale)
+- added PowerShell build script
+- added SmartOS build support
+- fix warnings in headers
+- XMLWriter: removed unnecessary apostrophe escaping (&apos)
+- MongoDB: use Int32 for messageLength
+- fixed GH #380: SecureSocket+DialogSocket crashes with SIGSEGV when timeout occours
+- Improve RSADigestEngine, using Poco::Crypto::DigestEngine to calculate hash before signing
+- added Poco::PBKDF2Engine
+- Fixed GH #380: SecureSocket+DialogSocket crashes with SIGSEGV when timeout occours
+- added support for a 'Priority' attribute on cookies.
+- GH #386: fixed bug in MailMessage without content-transfer-encoding header
+- GH #384: ew hash algorithms support for RSADigestEngine
+- fixed Clock overflow bug on Windows
+- Poco::ByteOrder now uses intrinsics, if available
+- CMake: added /bigobj option for msvc
+- Fix typo to restore Net/TestSuite_x64_vs120 build
+- correct path for CONFIGURE_FILE in CMakeLists.txt
+- Building Poco 1.5.2 for Synology RS812+ (Intel Atom) (honor POCO_NO_INOTIFY)
+- added WEC2013 support to buildwin.cmd and buildwin.ps1
+- HTMLForm: in URL encoding, percent-encode more characters
+- Fixed #include <linux/if.h> conflict with other libraries
+- Poco::Net::X509Certificate::verify() no longer uses DNS reverse lookups to validate host names
+- cert hostname validation is case insensitive and stricter for wildcard certificates
+- TCPServer: do not reduce the capacity of the default ThreadPool
+- added POCO_LOG_DEBUG flag
+- Zip: fixed a crash caused by an I/O error
+- added runtest script for windows
+- added SQlite Full Text Search support
+- added Thread::trySleep() and Thread::wakeUp()
+- fixed GH #410: Bug in JSON::Object.stringify() in 1.5.2
+- fixed GH #362: Defect in Var::parseString when there is no space between value and newline
+- fixed GH #314: JSON parsing bug
+- added GH #313: MetaColumn additions for Data::ODBC and Data::SQLite
+- fixed GH #346: Make Poco::Data::Date and Poco::Data::Time compare functions const.
+- fixed GH #341: Compiling poco-1.5.2 for Cygwin
+- fixed GH #305: There are bugs in Buffer.h
+- fixed GH #321: trivial build fixes (BB QNX build)
+- fixed GH #440: MongoDB ObjectId string formatting
+- added SevenZip library (Guenter Obiltschnig)
+- fixed GH #442: Use correct prefix length field of Windows IP_ADAPTER_PREFIX structure
+- improved GH #328: NetworkInterface on Windows XP
+- fixed GH #154 Add support for MYSQL_TYPE_NEWDECIMAL to Poco::Data::MySQL
+- fixed GH #290: Unicode support
+- fixed GH #318: Logger local time doesn't automatically account for DST
+- fixed GH #363: DateTimeParser tryParse/parse
+- added HTMLForm Content-Length calculation (Rangel Reale)
+- Make TemporaryFile append a slash to tempDir
+- fixed GH #319 android build with cmake
+- added hasDelegates() method to AbstractEvent
+- fixed GH #230: Poco::Timer problem
+- fixed GH #317: Poco::Zip does not support newer Zip file versions.
+- fixed GH #176: Poco::JSON::Stringifier UTF encoding
+- fixed GH #458: Broadcast address and subnet mask for IEEE802.11 network interface
+- fixed GH #456: poco: library install dirs per RUNTIME/LIBRARY/ARCHIVE
+
+
+Release 1.5.2 (2013-09-16)
+==========================
+
+- added MongoDB library
+- fixed GH #57: poco-1.5.1: Doesn't compile for Android
+- added VoidEvent (Arturo Castro)
+- fixed GH #80: NumberFormatter::append broken
+- fixed GH #93: ParallelSocketAcceptor virtual functions
+- optional small object optimization for IPAddress, SocketAddress, Any and Dynamic::Var
+- SQLite events (insert, update, delete, commit, rollback) handlers
+- merged GH #91: Improve SQLite multi-threaded use (Rangel Reale)
+- merged GH #86: Invalid pointers to vector internals (Adrian Imboden)
+- automatic library initialization macros
+- fixed GH #110: WebSocket accept() fails when Connection header contains multiple tokens
+- fixed GH #71: WebSocket and broken Timeouts (POCO_BROKEN_TIMEOUTS)
+- fixed a warning in Poco/Crypto/OpenSSLInitializer.h
+- fixed GH #109: Bug in Poco::Net::SMTPClientSession::loginUsingPlain
+- added clang libc++ build configurations for Darwin and iPhone (Andrea Bigagli)
+- fixed GH #116: Wrong timezone parsing in DateTimeParse (Matej Knopp)
+- fixed GH #118: JSON::Object::stringify endless loop
+- added Recursive and SortedDirectoryIterator (Marian Krivos)
+- added ListMap (map-like container with preserving insertion order)
+- MailMessage: attachments saving support and consistent read/write
+- fixed GH #124: Possible buffer overrun in Foundation/EventLogChannel
+- fixed GH #119: JSON::Object holds values in ordered map
+- added JSON::PrintHandler
+- renamed JSON::DefaultHandler to ParseHandler (breaking change!)
+- fixed GH #127: Eliminate -Wshadow warnings
+- fixed GH #79: Poco::Thread leak on Linux
+- fixed GH #61: static_md build configs for Crypto and NetSSL
+- fixed GH #130: prefer sysconf over sysctlbyname
+- fixed GH #131: no timezone global var on OpenBSD
+- fixed GH #102: Some subprojects don't have x64 solutions for VS 2010
+- added GH #75: Poco::Uri addQueryParameter method
+- Poco::Environment::osDisplayName() now recognizes Windows 8/Server 2012
+- fixed GH #140: Poco::Runnable threading cleanup issue
+- simplified default TCP/HTTPServer construction
+- fixed GH #141: Application::run() documentation/implementation discrepancy
+- changed RowFormatter to SharedPtr<RowFormatter> in Data::RecordSet interface (breaking change!)
+- fixed GH #144: Poco::Dynamic emits invalid JSON
+- removed naked pointers from Data interfaces
+- fixed GH #82: name conflict in Data::Keywords::bind
+- fixed GH #157: MySQL: cannot bind to 'long' data type on Windows/Visual C++
+- fixed GH #158: MySQL: MYSQL_BIND 'is_unsigned' member is not set
+- fixed GH #160: MultipartReader ignores first part, if preamble is missing
+- fixed GH #156: Possible buffer overrun in Foundation/EventLogChannel
+- XML: fixed an issue with parsing a memory buffer > 2 GB
+- upgraded to expat 2.1.0
+- Data/ODBC: added support for setting query timeout (via setProperty
+ of "queryTimeout"). Timeout is int, given in seconds.
+- fixed a potential endless loop in SecureStreamSocketImpl::sendBytes()
+ and also removed unnecessary code.
+- fixed GH #159: Crash in openssl CRYPTO_thread_id() after library libPocoCrypto.so
+ has been unloaded.
+- fixed GH #155: MailOutputStream mangles consecutive newline sequences
+- fixed GH #139: FileChannel::PROP_FLUSH is invalid (contains a tab character)
+- fixed GH #173: HTTPClientSession::proxyConnect forces DNS lookup of host names
+- fixed GH #194: MessageNotification constructor is inefficient.
+- fixed GH #189: Poco::NumberParser::tryParse() documentation bug
+- fixed GH #172: IPv6 Host field is stripped of Brackets in HTTPClientSession
+- fixed GH #188: Net: SocketAddress operator < unusable for std::map key
+- fixed GH #128: DOMWriter incorrectly adds SYSTEM keyword to DTD if PUBLIC is
+ already specified
+- fixed GH #65: Poco::format() misorders sign and padding specifiers
+- upgraded bundled SQLite to 3.7.17
+- replaced JSON parser with Poco::Web::JSON parser (from sandbox)
+- added JSON conversion to Dynamic Struct and Array
+- added VarIterator
+- modified behavior of empty Var (empty == empty)
+- added Alignment.h header for C++03 alignment needs
+- added Data/WebNotifier (DB, WebSocket) example
+- fixed GH #209: Poco::NumberFormatter double length
+- fixed GH #204: Upgrade zlib to 1.2.8
+- fixed GH #198: The "application.configDir" property is not always created.
+- fixed GH #185: Poco::NumberFormatter::format(double value, int precision)
+ ignore precision == 0
+- fixed GH #138: FreeBSD JSON tests fail
+- fixed GH #99: JSON::Query an JSON::Object
+- limited allowed types for JSON::Query to Object, Array, Object::Ptr,
+ Array::Ptr and empty
+- fixed GH #175: HTMLForm does not read URL parameters on POST or PUT
+- added GH #187: MySQL: allow access to the underlying connection handle
+- added GH #186: MySQL: support for MYSQL_SECURE_AUTH
+- fixed GH #174: MySQL: 4GB allocated when reading any largetext or largeblob field
+- fixed a potential memory leak in Poco::Net::HTTPClientSession if it is misused
+ (e.g., sendRequest() is sent two times in a row without an intermediate call to
+ receiveResponse(), or by calling receiveResponse() two times in a row without
+ an intermediate call to sendRequest()) - GH #217
+- removed a few unnecessary protected accessor methods from Poco::Net::HTTPClientSession
+ that would provide inappropriate access to internal state
+- merged GH #210: Don't call CloseHandle() twice on Windows; Ability to select the
+ threadpool that will be used to start an Activity(Patrice Tarabbia)
+- fixed GH #212: JSONConfiguration was missing from the vs90 project(Patrice Tarabbia)
+- fixed GH #220: add qualifiers for FPEnvironment in C99 (Lucas Clemente)
+- fixed GH #222: HTTPCookie doesn't support expiry times in the past (Karl Reid)
+- fixed GH #224: building 1.5.1 on Windows for x64
+- fixed GH# 233: ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only) does not work
+- fixed GH# 231: Compatibility issue with Poco::Net::NetworkInterface
+- fixed GH# 236: Bug in RecursiveDirectoryIterator
+- added ColorConsoleChannel and WindowsColorConsoleChannel classes supporting
+ colorizing log messages
+- fixed GH# 259: Poco::EventLogChannel fails to find 64bit Poco Foundation dll
+- fixed GH# 254: UTF8::icompare unexpected behavior
+- Poco::UUID::tryParse() also accepts UUIDs without hyphens. Also updated documentation
+ (links to specifications).
+- added GH# 268: Method to get JSON object value using Poco::Nullable
+- fixed GH# 267: JSON 'find' not returning empty result if object is expected but another value is found
+- Added support for ARM64 architecture and iPhone 5s 64-bit builds
+ (POCO_TARGET_OSARCH=arm64).
+
+
+Release 1.5.1 (2013-01-11)
+==========================
+
+- using double-conversion library for floating-point numeric/string conversions
+- added Poco::istring (case-insensitive string) and Poco::isubstr
+- added SQLite sys.dual (in-memory system table)
+- applied SF Patch #120: The ExpireLRUCache does not compile with a tuple as key on Visual Studio 2010
+- fixed SF Bug #599: JSON::Array and JSON::Object size() member can implicitly lose precision
+- fixed SF Bug #602: iterating database table rows not correct if no data in table
+- fixed SF Bug #603: count() is missing in HashMap
+- fixed GH #23: JSON::Object::stringify throw BadCastException
+- fixed GH #16: NetworkInterface::firstAddress() should not throw on unconfigured interfaces
+- Android compile/build support (by Rangel Reale)
+- TypeHandler::prepare() now takes const-reference
+- fixed GH #27: Poco::URI::decode() doesn't properly handle '+'
+- fixed GH #31: JSON implementation bug
+- fixed SF #597: Configure script ignores cflags
+- fixed SF #593: Poco 1.5.0 on FreeBSD: cannot find -ldl
+- added SF #542: SocketAddress() needs port-only constructor
+- fixed SF #215: Wrong return type in SocketConnector.h
+- applied SF Patch #97: fix c++0x / clang++ bugs
+- fixed GH32/SF596: Poco::JSON: Parsing long integer (int64) value fails.
+- added Net ifconfig sample (contributed by Philip Prindeville)
+- merged GH #34: add algorithm header (Roger Meier/Philip Prindeville)
+- fixed GH #26: Cannot compile on gcc
+- merged SF #111: FTP Client logging (Marian Krivos)
+- fixed GH #30: Poco::Path::home() throws when called from Windows Service
+- fixed GH #22: MySQL connection string lowercased
+- added MySQL support for Date/Time
+- upgraded SQLite to version 3.7.15.1 (2012-12-19)
+- improved SQLite execute() return (affected rows) value and added tests
+- added SQLite::Utility::isThreadSafe() function
+- added SQLite::Utility::setThreadMode(int mode) function
+- fixed GH #36: 'distclean' requires 3 traversals of project tree
+- fixed GH #41: Buffer::resize crash
+- fixed GH #42: Linux unbundled builds don't link
+- fixed GH #44: Problems with win x64 build
+- fixed GH #46: 1.5.1 build fails on OS X when using libc++
+- fixed GH #48: Need getArgs() accessor to Util::Application to retrieve start-up arguments
+- fixed GH #49: NetworkInterface::list doesn't return MAC addresses
+- fixed GH #51: Android should use isfinite, isinf, isnan and signbit from the std namespace
+- fixed GH #53: JSON unicode fixes and running tests on invalid unicode JSON
+- added ParallelAcceptor and ParallelReactor classes
+- added EOF and error to FIFOBuffer
+
+
+Release 1.5.0 (2012-10-14)
+==========================
+
+- 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/kFreeBSD
+- 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
+
+
+Release 1.4.7p1 (2014-11-25)
+============================
+
+- Fixed Visual C++ 2010-2013 project files. Release builds now have optimization enabled.
+- Poco::URI: added constructor to create URI from Path.
+- fixed GH #618: OS X 10.10 defines PAGE_SIZE macro, conflicts with PAGE_SIZE in Thread_POSIX.cpp
+- Poco::Net::HTTPClientSession: added support for global proxy configuration
+- fixed GH #331: Poco::Zip does not support files with .. in the name.
+- fixed a memory leak in Poco::Net::Context constructor when it fails to load the certificate
+ or private key files.
+- upgraded bundled SQLite to 3.8.7.2
+- fixed GH #229: added missing value() function
+- fixed GH #69: MySQL empty text/blob
+
+
+Release 1.4.7 (2014-10-06)
+==========================
+
+- fixed GH #398: PropertyFileConfiguration: input != output
+- fixed GH #368: Build failure of Poco 1.4.6p2 on FreeBSD 9.2
+- fixed GH #318: Logger local time doesn't automatically account for DST
+- fixed GH #317: Poco::Zip does not support newer Zip file versions.
+- fixed GH #454: Fix: handle unhandled exceptions
+- fixed GH #463: XML does not compile with XML_UNICODE_WCHAR_T
+- fixed GH #282: Using Thread in a global can cause crash on Windows
+- fixed GH #424: Poco::Timer deadlock
+- fixed GH #465: Fix result enum type XML_Error -> XML_Status
+- fixed GH #510: Incorrect RSAKey construction from istream
+- fixed GH #332: POCO::ConsoleChannnel::initColors() assigns no color to
+ PRIO_TRACE and wrong color to PRIO_FATAL
+- fixed GH #550: WebSocket fragmented message problem
+- Poco::Data::MySQL: added SQLite thread cleanup handler
+- Poco::Net::X509Certificate: improved and fixed domain name verification for
+ wildcard domains
+- fixed a crash in Foundation testsuite with Visual C++ 2012
+- improved and fixed domain name verification for wildcard domains in
+ Poco::Net::X509Certificate
+- updated TwitterClient sample to use new 1.1 API and OAuth
+- added Poco::Clock class, which uses a system-provided monotonic clock
+ (if available) and is thus not affected by system realtime clock changes.
+ Monotonic Clock is available on Windows, Linux, OS X and on POSIX platforms
+ supporting clock_gettime() and CLOCK_MONOTONIC.
+- Poco::Timer, Poco::Stopwatch, Poco::TimedNotificationQueue and Poco::Util::Timer
+ have been changed to use Poco::Clock instead of Poco::Timestamp and are now
+ unaffected by system realtime clock changes.
+- added Poco::PBKDF2Engine class template
+- Poco::Net::HTTPCookie: added support for Priority attribute (backport from develop)
+- fixed makedepend.* scripts to work in paths containing '.o*'
+ (contributed by Per-Erik Bjorkstad, Hakan Bengtsen)
+- Upgraded bundled SQLite to 3.8.6
+- Support for Windows Embedded Compact 2013 (Visual Studio 2012)
+- Project and solution files for Visual Studio 2013
+- Changes for C++11 compatibility.
+- fixed an issue with receiving empty web socket frames (such as ping)
+- improved error handling in secure socket classes
+- Poco::ByteOrder now uses intrinsics if available
+- added new text encoding classes: Latin2Encoding, Windows1250Encoding, Windows1251Encoding
+- Zip: Added CM_AUTO, which automatically selects CM_STORE or CM_DEFLATE based on file extension.
+ Used to avoid double-compression of already compressed file formats such as images.
+
+
+Release 1.4.6p4 (2014-04-18)
+============================
+
+- no longer use reverse DNS lookups for cert hostname validation
+- cert hostname validation is case insensitive and more strict
+- HTMLForm: in URL encoding, percent-encode more special characters
+- fixed thread priority issues on POSIX platforms with non-standard scheduling policy
+- XMLWriter no longer escapes apostrophe character
+- fixed GH #316: Poco::DateTimeFormatter::append() gives wrong result for Poco::LocalDateTime
+- fixed GH #305 (memcpy in Poco::Buffer uses wrong size if type != char)
+- Zip: fixed a crash caused by an I/O error (e.g., full disk) while creating a Zip archive
+
+
+Release 1.4.6p3 (2014-04-02)
+============================
+
+- Fixed a potential security vulnerability in client-side X509
+ certificate verification.
+
+
+Release 1.4.6p2 (2013-09-16)
+============================
+
+- fixed GH #156: Possible buffer overrun in Foundation/EventLogChannel
+- XML: fixed an issue with parsing a memory buffer > 2 GB
+- upgraded to expat 2.1.0
+- Data/ODBC: added support for setting query timeout (via setProperty
+ of "queryTimeout"). Timeout is int, given in seconds.
+- fixed a potential endless loop in SecureStreamSocketImpl::sendBytes()
+ and also removed unnecessary code.
+- fixed GH #159: Crash in openssl CRYPTO_thread_id() after library libPocoCrypto.so
+ has been unloaded.
+- fixed GH #155: MailOutputStream mangles consecutive newline sequences
+- fixed GH# 139: FileChannel::PROP_FLUSH is invalid (contains a tab character)
+- fixed GH# 173: HTTPClientSession::proxyConnect forces DNS lookup of host names
+- fixed GH# 194: MessageNotification constructor is inefficient.
+- fixed GH# 189: Poco::NumberParser::tryParse() documentation bug
+- fixed GH# 172: IPv6 Host field is stripped of Brackets in HTTPClientSession
+- fixed GH# 188: Net: SocketAddress operator < unusable for std::map key
+- fixed GH# 128: DOMWriter incorrectly adds SYSTEM keyword to DTD if PUBLIC is
+ already specified
+- fixed GH# 65: Poco::format() misorders sign and padding specifiers
+- upgraded bundled SQLite to 3.7.17
+- upgraded bundled zlib to 1.2.8
+- fixed a potential memory leak in Poco::Net::HTTPClientSession if it is misused
+ (e.g., sendRequest() is sent two times in a row without an intermediate call to
+ receiveResponse(), or by calling receiveResponse() two times in a row without
+ an intermediate call to sendRequest()) - GH #217
+- removed a few unnecessary protected accessor methods from Poco::Net::HTTPClientSession
+ that would provide inappropriate access to internal state
+- fixed GH# 223 (Poco::Net::HTTPCookie does not support expiry times in the past)
+- fixed GH# 233: ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only)
+ does not work
+- added ColorConsoleChannel and WindowsColorConsoleChannel classes supporting
+ colorizing log messages
+- fixed GH# 259: Poco::EventLogChannel fails to find 64bit Poco Foundation dll
+- fixed GH# 254: UTF8::icompare unexpected behavior
+- Poco::UUID::tryParse() also accepts UUIDs without hyphens. Also updated documentation
+ (links to specifications).
+- Added support for ARM64 architecture and iPhone 5s 64-bit builds
+ (POCO_TARGET_OSARCH=arm64).
+
+
+Release 1.4.6p1 (2013-03-06)
+============================
+
+- fixed GH# 71: WebSocket and broken Timeouts (POCO_BROKEN_TIMEOUTS)
+- fixed an ambiguity error with VC++ 2010 in Data/MySQL testsuite
+- Poco::Net::NetworkInterface now provides the interface index even for IPv4
+- added DNS::reload() as a wrapper for res_init().
+- On Linux, Poco::Environment::nodeId() first always tries to obtain the
+ MAC address of eth0, before looking for other interfaces.
+- Poco::Net::HTTPSession now always resets the buffer in connect() to clear
+ any leftover data from a (failed) previous session
+- fixed copysign namespace issue in FPEnvironment_DUMMY.h
+- fixed a warning in Poco/Crypto/OpenSSLInitializer.h
+- added a build configuration for BeagleBoard/Angstrom
+- fixed GH# 109: Bug in Poco::Net::SMTPClientSession::loginUsingPlain)
+- fixed compile errors with clang -std=c++11
+- fixed GH# 116: Wrong timezone parsing in DateTimeParse (fix by Matej Knopp)
+- updated bundled SQLite to 3.7.15.2
+
+
+Release 1.4.6 (2013-01-10)
+==========================
+
+- changed FPEnvironment_DUMMY.h to include <cmath> instead of <math.h>
+- updated bundled SQLite to 3.7.15.1
+- fixed GH# 30: Poco::Path::home() throws
+- fixed SF Patch# 120 The ExpireLRUCache does not compile with a tuple as key on VS2010
+- fixed SF# 603 count() is missing in HashMap
+- Crypto and NetSSL_OpenSSL project files now use OpenSSL *MD.lib library files for
+ static_md builds. Previously, the DLL import libs were used.
+- Poco::Environment::osDisplayName() now recognizes Windows 8/Server 2012
+
+
+Release 1.4.5 (2012-11-19)
+==========================
+
+- added Visual Studio 2012 project files
+- buildwin.cmd now support building with msbuild for VS2010 and 2012.
+- added Poco::Optional class
+- 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
+- fixed SF# 594: Websocket fails with small masked payloads
+- fixed SF# 588: Missing POCO_ARCH and POCO_ARCH_LITTLE_ENDIAN define for WinCE on SH4
+- fixed SF# 581: Out-of-bound array access in Unicode::properties() function.
+- fixed SF# 590: Segfault on FreeBSD when stack size not rounded
+- fixed SF# 586: Poco::DateTimeParser and ISO8601 issues when seconds fraction has more than 6 digits
+- Poco::Net::HTTPSSessionInstantiator::registerInstantiator() now optionally accepts a
+ Poco::Net::Context object.
+- added Poco::XML::XMLWriter::depth() member function.
+- added Poco::XML::XMLWriter::uniquePrefix() and Poco::XML::XMLWriter::isNamespaceMapped().
+- Poco::FileChannel now supports a new rotateOnOpen property (true/false) which can be used
+ to force rotation of the log file when it's opened.
+- fixed a bug in Poco::XML::XMLWriter::emptyElement(): need to pop namespace context
+- OS X builds now use Clang as default compiler
+- Updated SQLite to 3.7.14.1
+- POCO_SERVER_MAIN macro now has a try ... catch block for Poco::Exception and writes
+ the displayText to stderr.
+- Poco/Platform.h now defines POCO_LOCAL_STATIC_INIT_IS_THREADSAFE macro if the compiler
+ generates thread-safe static local initialization code.
+
+
+Release 1.4.4 (2012-09-03)
+==========================
+
+- 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 (2012-01-23)
+============================
+
+- fixed SF# 3476926: RegDeleteKeyEx not available on Windows XP 32-bit
+
+
+Release 1.4.3 (2012-01-16)
+==========================
+
+- 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 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: 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.
+- PageCompiler: added createSession page attribute.
+
+
+Release 1.4.2p1 (2011-09-24)
+============================
+
+- 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 (2011-08-28)
+==========================
+
+- 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.
+- NetworkInterface::list() now also returns IPv4 interfaces on Windows when
+ built with -DPOCO_HAVE_IPv6
+- 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: 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 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: 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: TemporaryFile::tempName() + glob bug on xp
+- fixed SF# 3177372: 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 (2011-02-08)
+============================
+
+- 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 (2011-01-29)
+==========================
+
+- fixed SF# 3150223: Poco::BinaryReader cannot read std::vector correctly
+- fixed SF# 3146326: 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: 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 (2010-12-14)
+==========================
+
+- SSLManager: documentation fixes, code cleanup
+- SSLManager: renamed PrivateKeyPassPhrase event to PrivateKeyPassphraseRequired
+- added HTTPServerRequestImpl::socket() to get access to the underlying socket
+- added Socket::secure() to find out whether a given socket supports SSL/TLS
+- added SecureStreamSocket::havePeerCertificate()
+- NetSSL: added support for turning off extended certificate validation (hostname matching)
+- fixed SF# 2941228: ICMPClient::ping() issues on Mac OS X
+- fixed SF# 2941231: 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: XMLWriter must encode CR, LF and TAB in attribute values as character entities.
+- HTMLForm now supports PUT requests as well (see <http://pocoproject.org/forum/viewtopic.php?f=12&t=2163&p=3930#p3930>)
+- fixed SF# #2970521: 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 to 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.
+- Application::initialize() and 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: HTMLForm and file uploads
+- fixed SF# 2969227: DateTimeParser bug
+- fixed SF# 2966698: Socket connect with timeout issue
+- fixed SF# 2981041: Bind NULL to a query (patch supplied)
+- fixed SF# 2961419: UTF8Encoding::convert() doesn't work properly in DEBUG mode
+- fixed SF# 2957068: Timeout value not picked up by proxy in 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
+ Socket::select() and 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 DeflatingStream with zero-length streams (also fixed some other potential,
+ but unlikely, memory leaks)
+- fixed SF# 2946457: added RejectCertificateHandler
+- fixed SF# 2946621: Poco::Path bug with POCO_WIN32_UTF8
+- fixed SF# 2929805: Environment::nodeId() does not work if no eth0 device exists
+- 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 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 StreamSocketImpl::sendBytes() for non-blocking sockets
+- added Poco::Net::DialogSocket::receiveRawBytes(), which should be used instead of receiveBytes() due to internal
+ buffering by DialogSocket.
+- 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 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: Thread (POSIX) returns uninitialised value for OS priority
+- fixed SF# 3040870: 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: 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 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: RSACipherImpl bug.
+- fixed SF# 3081677: 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).
+- 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: 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 name 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.
+
+
+Release 1.3.6p2 (2010-01-15)
+============================
+
+- 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 (2009-12-21)
+============================
+
+- 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 (2009-11-24)
+==========================
+
+- 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 RWLock::ScopedReadLock and RWLock::ScopedWriteLock (contributed by Marc Chevrier)
+- added Thread::TID type, as well as Thread::tid() and 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 (2009-05-11)
+==========================
+
+- 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.
+- fixed 0000089: Thread::sleep() on Linux is extremely inaccurate
+- added methods to extract the contents of specific fields from the
+ subject and issuer distinguished names of a certificate.
+
+
+Release 1.3.4 (2009-04-21)
+==========================
+
+- 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.
+- 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
+
+
+Release 1.3.3p1 (2008-10-09)
+============================
+
+- Fixed SF# 2153031: 1.3.3 Crypto won't compile on 64-bit Linux
+- Fixed a warning in MySQL connector
+- Updated README
+- The global Makefile in the Zip archive is no longer broken
+
+
+Release 1.3.3 (2008-10-07)
+==========================
+
+- 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
+- The Zip library is now officially part of the standard POCO release.
+- The Crypto library (based on OpenSSL) has been added. The original code
+ was kindly contributed by Ferdinand Beyer.
+- A Data Connector to MySQL, contributed by Sergey Kholodilov, is now part
+ of the POCO release.
+- 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
+- fixed SF# 2140411: ScopedUnlock documentation bug
+- fixed SF# 2036460: UUID regression tests are failing on Linux with g++ 4.3.1
+- fixed SF# 2150438: Tuple TypeHandler position increment size is wrong
+
+
+Release 1.3.2 (2008-02-04)
+==========================
+
+Foundation, XML, Net, Util:
+- 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
+
+Data:
+- fixed SF# 1724388: ODBC Diagnostics
+- fixed SF# 1804797: ODBC Statement multiple execution fails
+- fixed SF# 1803435: SessionPool onJanitorTimer called too often?
+- fixed SF# 1851997: Undefined Behavior in ODBC::Preparation
+- updated SQlite to 3.5.5
+
+
+Release 1.3.1 (2007-08-08)
+==========================
+
+Foundation, XML, Net, Util:
+- 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
+
+Data:
+- fixed SF# 1739989: Data::RecordSet::operator = () (in 1.3 branch)
+- fixed SF# 1747525: SQLite, Transactions and Session Pooling (in 1.3 branch)
+- upgraded to SQLite 3.4.1
+
+
+Release 1.3.0 (2007-05-07)
+==========================
+
+- added HashMap, HashSet classes
+- the 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.
+- added Poco::Tuple
+- added AbstractCache::getAllKeys(), improved performance of the get operation
+- fixed AbstractCache::size() to do cache replacement before returning the size
+- added additional match() method to RegularExpression and documented the fact that the simple
+ match() method internally sets RE_ANCHORED and RE_NOTEMPTY.
+- added ExpirationDecorator template. Decorates data types so that they can be used with UniqueExpireCaches
+- added operator ! to AutoPtr and SharedPtr
+- Buffer uses std::size_t instead of int
+- Exception::what() now returns exception name instead of message
+- added poco_ndc_dbg() macro (same as poco_ndc(), but only enabled in debug builds)
+- added Environment::get(name, defaultValue);
+- Foundation.h now includes Config.h at the very beginning.
+- added replace() and replaceInPlace() to Poco/String.h
+- added AutoPtr::assign() and SharedPtr::assign()
+- added operator () to AbstractEvent
+- gcc Makefiles now strip release builds
+- Void now has a == and != operator
+- Base64Encoder and HexBinaryEncoder now support an unlimited line length
+ (no newlines written), by specifying a line length of 0
+- NumberParser now has stricter syntax requirements: garbage following a number leads to a SyntaxException
+ (Thanks to phireis@gmail.com for the suggestion)
+- fixed SF# 1676830: Don't use -rpath in libraries
+- fixed SF# 1670279: AbstractConfiguration::unckeckedExpand crash
+- fixed a warning in Hashtable
+- HTTPClientSession now uses a keepAliveTimeout for better persistent connection handling
+- added DateTime::makeUTC() and DateTime::makeLocal()
+- added another constructor to LocalDateTime
+- POCO_WIN32_UTF8 is ignored on non-Windows platforms
+- fixed a timeout bug (with NetSSL) in HTTPSession
+- AsyncChannel is automatically opened with first log()
+- minor fix to NotificationQueue sample (reported by Laszlo Keresztfalvi)
+- added File::canExecute() and File::setExecutable()
+- added SharedMemory class to Foundation
+- added FileStream, FileInputStream, FileOutputStream to Foundation
+- added NodeAppender class to XML for faster DOM tree creation
+- HTTPServerRequest and HTTPServerResponse are now abstract base classes,
+ actual functionality has moved into HTTPServerRequestImpl and
+ HTTPServerResponseImpl. This allows us to plug other HTTP servers
+ into POCO.
+- added DynamicAny class to Foundation
+- replaced std::fstream with Poco::FileStream across POCO.
+- added Poco::Checksum class to Foundation.
+- fixed SF# 1700811: conflict in threadpool
+- bugfix: File::moveTo() does not work if the target is a directory
+- File::copyTo() and File::moveTo() now copy/move directories recursively
+- refactored NetworkInterface (now using pimpl idiom);
+ added broadcast address and netmask support
+- fixed SF# 1688982: POP3ClientSession fails when retrieving mails with attachment
+- fixed SF# 1655104: Enhance Poco::TextEncoding functionality
+- added Poco::Condition class, implementing a POSIX-style condition variable
+- fixed a bug in File::create() for Windows
+- added poco_static_assert (imported from boost)
+- added Thread::join(timeout) and Thread::tryJoin()
+- ClassLoader support for named manifests (see ClassLibrary.h - POCO_EXPORT_NAMED_MANIFEST)
+- POCO_WIN32_UTF8: UNICODE #define is no longer required (and no longer
+ automatically defined in POCO_WIN32_UTF8 is defined)
+- PCRE: upgraded to PCRE version 7.1
+- fixed SF# 1682162: Suggestion on thread priority
+- fixed SF# 1613460: MSVC/STLPort warnings
+- fixed SF# 1709358: Format double percent std::String bug
+- added WindowsConsoleChannel class to Foundation
+- added AutoPtr::unsafeCast<>() and SharedPtr::unsafeCast<>()
+- fixed SF# 1708552: Failed to build on arm and powerpc
+- fixed SF$ 1708529: Failed to build using GCC 4.3: missing #includes
+- fixed SF# 1710053: LogStream proposal
+- fixed a bug involving empty root directories in Windows DirectoryIterator implementation
+ (see http://www.appinf.com/poco/wiki/tiki-view_forum_thread.php?comments_parentId=343&forumId=6)
+- robustness improvements to ActiveMethod - removed the opportunity for memory leaks in
+ case something goes while invoking the method
+- made C library usage more C++-like - use C++ headers (e.g. <cstring>) instead of
+ C ones (<string.h>). Also, use C library functions in std namespace.
+- added Unicode and UTF8String for improved Unicode support.
+ The Unicode class can be used to obtain the Unicode properties of a character.
+ The UTF8 class provides case insensitive comparison and case conversion
+ for UTF-8 encoded strings.
+- added UnWindows.h header file, replaced all #include <windows.h> with #include "Poco/UnWindows.h".
+ See the Poco/UnWindows.h header file for a rationale and explanations.
+- fixed SF# 1713820: StreamSocketImpl::sendBytes sends too many bytes
+- File::copyTo(): on Windows, the copy now always has the read-only flag reset, to be consistent
+ with other platforms.
+- With Microsoft Visual C++, the necessary POCO libraries are now implicitly linked when
+ the corresponding header files are included (#pragma comment(lib, "PocoXYZ.lib") is used).
+ To disable this, compile POCO with the preprocessor symbol POCO_NO_AUTOMATIC_LIBS #define'd
+ (see Poco/Foundation.h and Poco/Config.h).
+- The Visual Studio project files for the POCO libraries now include configurations
+ for building static libraries.
+
+
+Release 1.2.9 (2007-02-26)
+==========================
+
+- fixed a formatting problem in Util::HelpFormatter
+- HTTPClientSession::sendRequest() now attempts to send the complete request in one network packet.
+- improved network performance of ChunkedOutputStream: chunk size and chunk data
+ are sent in one network packet if possible
+- fixed SF# 1655035: Wrong expires field calculation in HTTPCookie
+ (thanks to Sergey N. Yatskevich for this and other fixes)
+- fixed SF# 1655049: Fix discrepancy of a code to the description
+- fixed SF# 1655170: Poco::Timezone::standardName() problem on WIN32
+- fixed SF# 1629095: POCO_WIN32_UTF8 problem
+ There is a new function Path::transcode() that can be used to convert a path (or any other string)
+ from UTF-8 to the current Windows code page. This string can the be passed as a filename
+ to an fstream or fopen(). This function only does the conversion on Windows,
+ and only, if POCO_WIN32_UTF8 is defined. Otherwise, it simply returns the unmodified argument.
+- fixed SF# 1659607: Probably a bug in Poco::Net::DialogSocket
+- HTTPServer network performance improvement: responses that fit into a single network packet
+ sent with HTTPServerResponse::sendFile() or the new HTTPServerResponse::sendBuffer() are
+ sent in only one packet.
+- added HTTPServerResponse::sendBuffer()
+- HTTPServer now sends a Bad Request response if it fails to parse the HTTP request header.
+- HTTPServer now sends an Internal Server Error response if the request handler throws an
+ exception prior to sending a response.- enabled TCP_NODELAY per default on TCPServer/HTTPServer
+- fixed a bug in HTTP persistent connection handling
+ (server does not send Connection: close when it reaches connection maximum)
+- HTMLForm - POST submission of URL encoded form no longer uses chunked transfer encoding
+ (thus improving interoperability with certain web servers)
+- integrated Environment.cpp from Main (missing get(var, default))
+- added missing AutoPtr include to Util/Application
+ (and using Poco::AutoPtr is no longer necessary for POCO_APP_MAIN macro)
+- fixed SF# 1635420: Per Regents of the University of Calfornia letter,
+ remove advertising from BSD licensed parts
+- fixed SF# 1633133: MultipartWriter writes superluous CR-LF at beginning
+
+
+Release 1.2.8 (2007-01-04)
+==========================
+
+- fixed SF# 1613906: Util/Application.h and GCC 3.3
+- fixed a byte order issue (failed test) in IPv6 address formatting
+- fixed SF# 1626640: Poco::Net::SocketReactor bug
+- fixed client side chunked transfer encoding handling
+- fixed client side persistent connection handling
+- fixed SF# 1623536: HTTP Server Chunked Transfer Encoding Bug
+- improved HTTP server exception text
+- fixed SF# 1616294: KeepAlive HTTPServerSession patch
+- fixed SF# 1616296: Trivial Poco::TaskCustomNotification patch
+- fixed SF# 1619282: PurgeStrategy bug fix
+- fixed SF# 1620855: Format problem
+ there is a new format specifier %z for std::size_t, as well as a new
+ flag ? for %d, %i, %o, %x meaning any signed or unsigned integer
+
+
+Release 1.2.7 (2006-12-07)
+==========================
+
+- Poco::File: fixed root directory handling
+- fixed UUIDGenerator documentation
+- clarified Application::setUnixOptions() documentation
+- fixes for issue [SOAPLite Transport 0000023]: SOAP Transport Listener should be able to use existing HTTPServer instance
+- fixing mantis issues 13, 14, 15, 16, 17, 18, 19, 21
+- fixed SF# 1597022: Signed/unsigned warning in StringTokenizer::operator[]
+- fixed SF# 1598601: Message::op= leaks
+- fixed SF# 1605960: PatternFormatter crashes on custom property
+- fixed SF# 1605950: Memory leak in Logger sample code
+- fixed SF# 1591635: Copy Paste Error in sample code
+- fixed SF# 1591512: SMTPClientSession response stream
+- fixed SF #1592776: LayeredConfiguration: getRaw should enumerate in reverse order
+- SF Patch # 1599848 ] VS 2005 Util build fails
+- Logger::dump() now uses std::size_t instead of int for buffer size
+- LayeredConfiguration now supports a priority value for each configuration.
+ Also, it's possible to specify for each configuration added whether it
+ should be writeable.
+- ServerApplication: cd to root directory only if running as a daemon
+- added Message::swap()
+- improvements to build system:
+ global Makefile has correct dependencies for samples
+ on Windows, samples build after libraries are ready
+ configure supports --no-wstring and --no-fpenvironment flags
+ build system supports POCO_FLAGS environment variable for compiler flags
+- RemoteGen: fixed error handling for write protected files (SystemException)
+ fixing integral constant overflow messages with large cache expiration, m_ support for type serializers,
+ case-insensitive comparison added
+
+
+Release 1.2.6 (2006-11-19)
+==========================
+
+- added additional match() method to RegularExpression and documented the fact that the simple
+ match() method internally sets RE_ANCHORED and RE_NOTEMPTY.
+- added ExpirationDecorator template. Decorates data types so that they can be used with UniqueExpireCaches
+- added operator ! to AutoPtr and SharedPtr
+- Buffer uses std::size_t instead of int
+- added poco_ndc_dbg() macro (same as poco_ndc(), but only enabled in debug builds)
+- Foundation.h now includes Config.h at the very beginning.
+- added AutoPtr::assign() and SharedPtr::assign()
+- added operator () to AbstractEvent
+- gcc Makefiles now strip release builds
+- documentation improvements
+
+
+Release 1.2.5 (2006-10-23)
+==========================
+
+- Improved LoggingConfigurator: channel creation and configuration is now a two-step process.
+ This means that the previous problems with PropertyFileConfiguration and IniFileConfiguration when referencing other channels are solved.
+- improved options handling: better handling of (non) ambiguities.
+ If both an option named "help" and one named "helper" is specified, this no longer causes ambiguity errors.
+- added check for duplicate option definition
+- ThreadPool bugfix: fixed a crash that occurs on Linux multiprocessor machines
+ (caused by an thread unsafe string assignment corrupting the heap...)
+ (SF# 1575315)
+- improved ThreadPool performance
+- XML now compiles with -DXML_UNICODE_WCHAR_T (SF# 1575174)
+- fixed SF# 1572757: HTML forms can have more than one key/value pair with the same name
+- got rid of the dynamic casts in Events, Events/Cache: simpler/faster Delegate < operator,
+ prevents some rare dynamic casts error from occuring when using StrategyCollection with Caches
+- improvements to Logger and LoggingConfigurator:
+ * added Logger::unsafeGet()
+ * added Logger::setProperty(loggerName, propertyName, value)
+ * LoggingConfigurator now correctly (re)configures existing Loggers
+ (prior to this change, if a Logger named "a.b.c" existed before
+ the LoggingConfigurator started its work, and the LoggingConfigurator
+ configured a Logger named "a.b", then "a.b.c" would not inherit
+ the new configuration).
+- improvements to SplitterChannel and EventLogChannel configuration
+- improved LoggingRegistry exception messages
+- MessageHeader::read() is more liberal with malformed message headers.
+ This fixes problems with certain network cameras sending malformed HTTP headers.
+
+
+Release 1.2.4 (2006-10-02)
+==========================
+
+- some code beautifying and improvements to comments
+- DOMParser now automatically sets FEATURE_NAMESPACE_PREFIXES
+- fixed SF #1567051: DOMBuilder/DOMParser/NamespaceStrategy bug
+- fixed SF #1567364: POCO_APP_MAIN
+- added Document::getElementById() (two-argument) and getElementByIdNS()
+- added another test for DOMParser
+- added AutoPtr::isNull() (to be consistent with SharedPtr)
+- this release again compiles on PA-RISC HP-UX systems with aCC
+- added CMAKE support files contributed by Andrew J. P. Maclean
+
+
+Release 1.2.3 (2006-09-14)
+==========================
+
+- configure script now checks if (auto)selected configuration is supported
+- fixed SF #1552904: NamedEvent bug?
+- fixed SF #1552787: POCO not handling EINTR
+- fixed SF #1552846: Random::~Random uses scalar delete
+- fixed SF #1552987: TLSSlot should explicitly default-construct _value
+- IPAddress no longer accepts an empty address string
+- split up Observer.h into AbstractObserver.h and Observer.h
+- added NObserver class template which supports an AutoPtr
+ argument for the notification callback
+- changed EchoServer sample to use NObserver
+- some Windows-specific files were missing in the tarballs
+
+
+Release 1.2.2 (2006-09-01)
+==========================
+
+- fixed SF # 1549973: NotificationCenter::hasObservers() returns wrong result
+- fixed a memory leak in EchoServer sample
+- fixed SocketReactor TimeoutNotification bug (SF #1549365, SocketNotifier::addObserver() incorrect behavior)
+- fixed SF# 1549513: MultipartReader does not work with Unix-style linefeeds
+- MailMessage and HTMLForm: processing of multipart messages will no longer fail if a PartHandler does not read all data from the part stream.
+- added additional test case (Unix-style line ends) to MultipartReaderTest
+
+
+Release 1.2.1 (2006-08-29)
+==========================
+
+- fixed Config.h header (no more #undefs)
+
+Release 1.2.0 (2006-08-29)
+==========================
+
+- DateTime fixes: Julian Day is no longer stored internally.
+ Times (hours, minutes, seconds, ...) are now always taken from an utcValue (if available) and not from the Julian day.
+ The Julian day is only used for calculating year, month and day (except when the Julian day is the only thing we have)
+ This helps us get rid of rounding errors that the Julian Day arithmetic introduced.- on Windows, UUIDGenerator no longer uses Netbios, but GetAdaptersInfo instead
+- The main Makefile now has correct dependencies
+- updated poco-doc.pl with latest version by Caleb Epstein
+- fixed SF #1542722: InflatingInputStream: buffer error
+- improved Windows UTF-8 support
+- added Logger::names()
+- added configure script and make install target
+- XMLWriter bugfix: pretty-print bug with characters() and rawCharacters()
+- improvements to build system: support builds outside of source tree
+- added header doc conversion tool contributed by Caleb Epstein
+- fixed SF #1542618 (build/config/Linux patch)
+- bugfix: BinaryReader/BinaryWriter BOM is now 16 bits, as documented
+- fixed SF #1542247 (Compiler warning from OptionCallback)
+- fixed SF #1542253 (ServerApplication::handleOption doesn't call Application::handleOption)
+- added Application::stopOptionsProcessing()
+- updated samples
+- Util::Application command line handling now supports:
+ * argument validation (Option::validator(); see Validator, IntValidator, RegExpValidator)
+ * binding of argument values to config properties (Option::binding())
+ * callbacks for arguments (Option::callback())
+ * checking of required parameters
+- changed header file locations:
+ Foundation headers are now in Poco (#include "Poco/Foundation.h")
+ XML headers are now in Poco/XML, Poco/SAX and Poco/DOM (#include "Poco/XML/XML.h")
+ Util headers are now in Poco/Util (#include "Poco/Util/Util.h")
+ etc.
+ Unfortunately, this change will break existing code. However, fixing the code is
+ a matter of a few global search/replace operations and can be done quickly.
+ On the plus side, POCO is now a much better citizen when used with other
+ libraries.
+- changed namespaces:
+ Foundation is now Poco
+ XML is now Poco::XML
+ Util is now Poco::Util
+ Net is now Poco::Net
+- removed namespace macros
+- fixed some warnings reported by gcc -Wall -Wextra
+- fixed AutoPtr and LayeredConfiguration documentation
+- improved StreamSocket::receiveBytes() doc
+- added Pipe and PipeStream classes
+- added support for I/O redirection (pipes) to Process::launch()
+- added LogStream class (ostream interface to Logger)
+- improved Makefiles (no more double-building if clean all is specified)
+- added CppUnit and DateTime testsuite contributions by Andrew Marlow
+- improved Cygwin and minimal MinGW support
+- FileChannel: gzip compression if archived files now runs in a background thread (SF #1537481)
+- POCO now compiles with large (64-bit) file support on Linux (SF #1536634)
+- added format() function, which provides typesafe sprintf-like functionality (SF #1327621)
+- added File::isLink()
+- bugfix: dangling symbolic links in a directory no longer cause recursive remove to fail with file not found error
+- added Void class (useful as argument to ActiveMethod)
+- ActiveResult now supports exceptions
+- bugfix: Timezone::utcOffset() and Timezone::dst() returned wrong values on Unix platforms (SF #1535428)
+- added ActiveDispatcher class
+- added ActiveStarter class, which is a policy used by ActiveMethod for starting methods
+- ActiveRunnable moved to its own header file
+- ThreadPool: added startWithPriority(), which allows for running threads with a different priority
+- added error handling to dir sample
+- added additional test case to HTTPServer test suite- HTMLForm: should now work with request methods other than POST and GET (all non-POST requests are treated the same as GET)
+- clarified HTMLForm documentation
+- HTMLForm bugfix: uploaded files no longer end up in value; PartHandler is called instead
+- NameValueCollection: added get(name, defaultValue)
+- added HTTPFormServer sample
+- added Foundation::HashTable and SimpleHashTable
+- added Net::HTTPSessionFactory
+- improvements to AutoPtr and SharedPtr
+- improvements to namespaces handling in XMLWriter
+- Foundation Cache: fixed add implementation to match the docu: a 2nd add will now simply overwrite existing entries
+- added DateTime::isValid()
+- added Exception::rethrow() (virtual, must be overridden by all subclasses)
+- Timer can now use a user-supplied ThreadPool
+- added rethrow() to exception classes
+- Net: made some constructors explicit
+- Net: added SocketAddress constructor to HTTPClientSession
+- Net: added HTTPSession::networkException() to check for exceptions swallowed by stream classes
+- Net: added single string argument constructor to SocketAddress.
+- Net: improved HTTPClientSession error handling (no more "Invalid HTTP version string" exceptions when the server prematurely closes the connection due to too much load)
+- Net: improved HTTPSession error handling. Exceptions while sending and receiving data are stored for later retrieval and no longer get lost since streambufs swallow them.
+- Net: added HTTPLoadTest sample
+- fixed a bug when opening logfiles on Unix platforms causing an existing logfile to be truncated
+- bugfix: log file purge intervals given in months did not work, due to a stupid typo
+- added RawSocket and ICMP classes
+- UUID: fixed a doc formatting bug
+- NetworkInterface::list() now includes loopback interface on Windows (SF #1460309)
+- made Exception::message() and Exception::nested() inline
+- added Net::UnsupportedRedirectException
+- HTTPStreamFactory throws an UnsupportedRedirectException if it encounters a redirect to https
+- HTTP: fixed bad 100 Continue handling in client and server code
+- added CONTRIBUTORS file
+
+
+Release 1.1.2 (2006-07-07)
+==========================
+
+- Changed license to Boost license
+- DBlite and NetSSL have been removed from the Boost-licensed release.
+ Please contact Applied Informatics (info@appinf.com) if you're interested in them.
+
+
+Release 1.1.1 (2006-04-03)
+==========================
+
+- NetSSL_OpenSSL now supports separate certificate verification
+ settings for client and server.
+- fixed SF #1460309 (enumerating network interfaces failed on 64bit Linux)
+- TCPServer no longer crashes if accept() fails
+
+
+Release 1.1.0 (2006-03-23)
+==========================
+
+- events no longer require awkward += new syntax
+- source code and documentation cleanups
+- basic support for new compilers and platforms
+
+
+Release 1.1b2 (2006-03-04)
+==========================
+
+- made NetSSL threadsafe (added locking callbacks for OpenSSL)
+- improved OpenSSL initialization (random generator seeding)
+- various changes to improve compatibility with various platforms
+
+
+Release 1.1b1 (2006-03-03)
+==========================
+
+- New Events package in Foundation. The package supports C#-style event handling
+- New Cache package in Foundation: a templates-based caching framework
+- added Any class to Foundation
+- added DBLite library
+- fixed a memory leak with layered configurations in the application
+- made POCO_DLL the default (unless POCO_STATIC is #defined)
+ It is no longer necessary to specify POCO_DLL in projects that use Poco
+ (SourceForge Patch #1408231 and Feature Request #1407575).
+- added Buffer template class to Foundation
+- added the UnicodeConverter utility class. This is mainly used for Windows Unicode support and probably of little use for anything else.
+- added Path::resolve()
+- added Windows Unicode support. This calls the Unicode variant of the Windows API functions.
+ For this to work, all strings must be UTF-8 encoded and POCO_WIN32_UTF8 must be defined in all compilation units.
+- added StreamCopier::copyToString()
+- added URIStreamOpener::unregisterStreamFactory() and new variants of URIStreamOpener::open() that also work with filesystem paths.
+ This fixes SourceForge Bug #1409064 and Feature Request #1409062.
+- added NodeIterator::currentNodeNP() to XML library
+- added some sanity checks to UTF8Encoding::convert()
+- added NetSSL - SSL support for Net library, based on OpenSSL
+- console output of processes launched with Process::launch() is now visible
+
+
+Release 1.0.0 (2006-01-19)
+==========================
+
+- removed unnecessary console output from ProcessTest
+- documentation fixes
+
+
+Release 1.0b2 (2006-01-16)
+==========================
+
+- added ProcessHandle class
+- Process::launch() now returns a ProcessHandle instead of a process ID.
+ This fixes a potential problem on Windows with Process::wait() when
+ the process terminates before wait() is called.
+- added SplitterChannel::close()
+- added Logger::destroy()
+- added POP3ClientSession::deleteMessage()
+- added test for Process::launch()
+- documentation fixes
+
+
+Release 1.0b1 (2006-01-09)
+==========================
+
+- improved recognition of Windows paths in Path::parseGuess()
+- added setCurrentLineNumber()/getCurrentLineNumber() to CountingStreamBuf
+- improvememts to StreamTokenizer and Token; fixed documentation
+- added a workaround for some strange istream behaviour with VS 2005 and FTPClientSessionTest
+- improved exception/error reporting in cppunit
+- added POP3ClientSession
+- added Process::launch() and Process::wait()
+- added Mail sample
+- added MailStream and SMTPClientSession classes
+- renamed some methods in DialogSocket to make them more general
+- NullPartHandler has moved out of HTMLForm.cpp into a separate file
+- Base64Encoder now always writes \r\n line ends
+- MessageHeader::quote has an optional addition arg controlling the treatment of whitespace
+- bugfix: MultipartReader had a problem with empty lines (\r\n sequences) in a part
+- added MailMessage and MailRecipient classes
+- added text encoding support for Windows-1252 codepage
+
+
+Release 1.0a1 (2006-01-03) [internal]
+=====================================
+
+- mediaType is used consistently to refer to a MIME media type (some occurences of contentType and mimeType have been replaced)
+- moved MediaType::quote() to MessageHeader and made it public
+- added MultipartWriter::stream()
+- Renamed AttachmentSource to PartSource and AttachmentHandler to PartHandler
+- SIGPIPE is always blocked in main thread on Unix systems
+- added EchoServer sample
+- fixed a bug in SocketImpl::setBlocking() - did exactly the opposite (value to ioctl was wrong)
+- fixed a memory leak in NotificationQueue sample
+- added comparison operators to Socket so that Sockets can be used as keys in maps
+- added Socket::setBlocking()
+- added StreamSocket::connectNB() (non-blocking connect)
+- added Observer::accepts()
+- added SocketReactor, SocketConnector and SocketAcceptor classes to support event-based socket programming
+- NamespacePrefixesStrategy now uses expat's XML_SetReturnNSTriplet().
+ The previously used separate namespace handling code has been removed.
+ This improves performance if NamespacePrefixesStrategy is used (both the n
+ amespaces and namespace-prefixes SAX2 features are used)
+- upgraded expat to 2.0 pre-release (2005-12-27) snapshot
+- added TeeInputStream and TeeOutputStream classes
+- added download sample for URIStreamOpener
+- renamed registerOpener() to registerFactory() in HTTPStreamFactory and FTPStreamFactory
+- added LineEndingConverter streams
+- added FTPClientSession
+- code and documentation clean-up
+- added DialogSocket class
+- reorganized HTTP test suites
+- added FTPClientSession and FTPStreamFactory
+- added DialogSocket class
+
+
+Release 0.96.1 (2005-12-28)
+===========================
+
+- fixed a memory leak caused by a bug in Microsoft's stream implementation (see the comment in Foundation/StreamUtil.h for an explanation)
+- added samples for Net library
+- added uptime() and startTime() to Util::Application
+- added DateTimeFormatter::format() for Timespan
+- added ErrorHandler class and better exception handling for threads
+- added poco_debugger() and poco_debugger_msg() macros
+- added project and solution files for Visual Studio 2005 (due to some bugs/leaks in Microsofts standard library - see
+ http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=e08bd793-3fef-40ff-adda-ed313e0eafcc
+ we do not recommend using this for production purposes)
+- fixed two problems with out-of-range string iterator in Path (the testsuite triggered an assertion in VC++ 8.0)
+- fixed mac line endings in a few files
+- added a workaround to the class loader that fixes strange behavior with VC++ 8.0. There seems to be a problem with typeid() not returning a valid typeinfo under certain circumstances.
+- added buffer allocator argument to buffered stream buffer templates
+- added buffer pools to HTTP to reduce memory fragmentation and to improve performance
+- added Net to Windows build.cmd script
+- added swap() to various classes that already support assignment
+- added a null pointer check in DOMWriter::writeNode()
+- fixed documentation in BinaryWriter.h and BinaryReader.h
+- added explicit support for network byte order to BinaryReader and BinaryWriter
+- added basic support for FreeBSD (needs more testing)
+- BinaryReader: renamed readRawData() to readRaw() to be consistent with BinaryWriter::writeRaw()
+- added support for uppercase output to HexBinaryEncoder.
+- added MediaType class
+- added QuotedPrintableEncoder and QuotedPrintableDecoder classes
+- renamed ObjectFactory to Instantiator. This should prevent the confusion caused by DynamicFactory and ObjectFactory. Sorry for the inconvenience if you are already using this.
+- AttachmentSource::filename() now returns const string&
+- added StringAttachmentSource
+- replaced old-style C casts with C++ casts in NetworkInterface.cpp
+- MutexImpl (WIN32): replaced InitializeCriticalSection with InitializeCriticalSectionAndSpinCount, which should increase performance on multiprocessor or multicore systems when many locks are used.
+- fixed a problem with STLport 5.0 when compiling StreamTokenizer
+- HTTPStreamOpener now also works with no-path URIs (like http://www.appinf.com)
+- fixed wrong delete usage (plain delete instead of delete [] was used in a few cases)
+- fixed a handle leak in WinTestRunner
+
+
+Release 0.95.4 (2005-11-07)
+===========================
+
+- fixed #1348006 and #1348005
+
+
+Release 0.95.3 (2005-10-28) [internal]
+======================================
+
+- updated build scripts (patch #1339015)
+- added support for AMD64 platforms (patch #1339015)
+- MultipartWriter creates its own boundary if an empty string is passed in as boundary
+- made MultipartWriter::createBoundary() public
+- fixed wrong documentation for DateTimeFormat::HTTP_FORMAT
+- added support for HTTP Basic authentication
+- added support for HTTP Cookies
+- added support for HTML forms
+
+
+Release 0.95.2 (2005-10-22) [internal]
+======================================
+
+- fixed a potential problems with streams when close in destructor fails (added try..catch block around close in destructors)
+- added HTTPServer & friends
+- added hasIdleThreads() method to NotificationQueue
+- added TCPServer and friend
+- added support for HTTP proxies to HTTPClientSession and HTTPStreamOpener
+- fixed documentation bugs (Mutex.h, ClassLoader.h)
+
+
+Relesae 0.95.1 (2005-10-15) [internal]
+======================================
+
+- Tasks can now throw custom notifications (contributed by Alex Fabijanic)
+- renamed URIFileStreamFactory to FileStreamFactory
+- added a few methods to URI (setPathEtc(), getPathEtc(), getPathAndQuery())
+- added new exception classes
+- fixed some documentation
+- added basic checks when reading a MessageHeader from a stream
+- added HTTP classes (testsuite still incomplete)
+- added MessageHeader, NameValueCollection, MultipartReader and MultipartWriter classes
+- added Timespan::useconds()
+- added ClassLoader::isLibraryLoaded()
+- Socket classes use Timespan::useconds() to fill struct timeval
+- added DatagramSocket, MulticastSocket and NetworkInterface classes
+- added socket classes and related basic stuff
+- added additonal constructor/assign to Timespan- added BasicBufferedBidirectionalStreamBuf
+- fixed a potential MT issue in Base64Decoder
+- code beautifying in [Un]BufferedStreamBuf
+- more improvements to ClassLoader
+- code cleanup and naming convention fixes (changed all *Imp classes to *Impl for consistency)
+
+
+Release 0.94.1 (2005-09-30) [internal]
+======================================
+
+- added MetaSingleton (based on a contribution by Alex Fabijanic)
+- added ClassLoader::create()
+- added ClassLoader::instance()
+- code clean-ups in FileChannel and related classes
+- added SimpleFileChannel
+- RotateAtTimeStrategy:
+ ::getNextRollover() rewritten (buggy)
+- DateTime
+ microseconds assert corrected
+ asserts in computeGregorian() (except for year - see comment in computeGregorian())
+ milliseconds calculation modified in computeGregorian()
+ microseconds assigned in computeGregorian()
+ normalize() and checkLimit() private functions to correct cases of overflow for milli/microseconds
+- LocalDateTime: added timestamp() method
+- FileChannel:
+ added "times" property (used to determine whether to use UTC or local time with RotateAtTimeStrategy)
+ ::setProperty() modified (whenever "times" property is set, methods setRotation and setArchive are
+ reinvoked to reflect the change)
+- FileChannel: added support for archived file compression and archived file purging
+- FileChannel tests modified
+- FileChannel: put LogFile, RotateStrategy and ArchiveStrategy into their own files
+- Message: added thread id field
+- PatternFormatter: added %I specifier for thread id
+- ThreadPool: PooledThread can be assigned a name
+- TaskManager: task name is reflected in thread name
+- fixed LocalDateTime::operator - (const Timespan&) [#0000004]
+- upon startup all loggers' channels are set to a console channel
+- improved search for application configuration files (see loadConfiguration()).
+- added Glob class (fixes #1249700)
+- upgraded to zlib 1.2.3 (fixes #1261712)
+- added Logger::dump()
+- fixed a wrong condition in Logger::log(const Message&)
+- Path::find() now also works with relative paths in addition to plain file names
+- added Path(const Path&, const Path&) constructor
+- added SharedPtr template
+- added Path::tryParse()
+- SAXParser::parse()/EntityResolverImpl now works for both URIs and local filesystem paths (fixes #1254812)
+
+
+Release 0.93.1 (2005-08-01)
+===========================
+
+This release contains various new features, improvements and bugfixes:
+- bugfix: UUIDGenerator throws an exception if no connected ethernet adapter can
+ be found (and thus no MAC address can be obtained)
+- added UUIDGenerator::createOne() method
+- added error handling to UUID sample application
+- added relational (==, !=, <, <=, >, >=) and arithmetic operators (+, -, +=, -=) to DateTime
+- added LocalDateTime class
+- added support for LocalDateTime to DateTimeParser and DateTimeFormatter
+- added enqueueUrgentNotification() to NotificationQueue
+- added support for timezone specifiers (%z, %Z) to PatternFormatter
+- added [] operator and count() to StringTokenizer
+- added elapsed() and isElapsed() to Timestamp
+- added tzd() to Timezone
+- added WinRegistryKey and WinService classes (Windows only)
+- added index operator and count() to StringTokenizer
+- added day/time-based log rotation (thanks to Alex Fabijanic), minor improvements to DateTimeParser
+- support for Mac OS X 10.4/gcc 4.0.0
+- added NamedMutex and NamedEvent
+- added Process::kill()
+- added NoPermissionException
+- added Task and TaskManager classes
+- added ServerApplication class
+- bugfix: EventLogChannel - _logFile was not properly initialized in one constructor
+- bugfix: File::createDirectories did not work for hierarchies deeper than three
+- added Util::FilesystemConfiguration
+- documented logging policy: log() must open channel if it hasn't been opened yet
+- FileChannel::log() opens channel if necessary
+- the application reference passed to initialize() and reinitialize() is no longer const
+- improved application logging initialization
+- fixed a problem with configuration view and property placeholders
+- fixed Util build configuration for Visual Studio
+- improved application samples
+- fixed documentation for Semaphore class
+
+
+Release 0.92.1 (2005-05-09)
+===========================
+
+This release introduces the Util library that provides support for
+configuration file parsing (different file formats), command line
+argument processing, logging configuration and a framework for
+command line/server applications.
+There have also been various changes to the Foundation library:
+- a new RefCountedObject class that acts as a base class for
+ various classes that use reference counting
+- some missing members have been added to the AutoPtr template
+- various improvements and bugfixes to the Logging framework, as well as
+ new LoggingFactory and LoggingRegistry classses, and a NullChannel class
+- the SignalHandler class (Unix platforms only)
+- ObjectFactory and DynamicFactory template classes
+- the Path::find method for searching a file in a list of directories
+- various new Exception classes
+
+
+Release 0.91.4 (2005-04-11)
+===========================
+
+This is mainly a maintenance release that adds support for QNX Neutrino
+and OpenVMS. There are also minor bugfixes and improvements.
+
+The Unix build system has been modified to work on QNX Neutrino.
+The OpenVMS build system has been fixed and works now.
+Some missing #include's have been added for QNX Neutrino.
+Foundation/String.h: icompare now supports comparison with const char*;
+the classic C version of isspace() has been used in a few places instead of the
+C++ <locale> version, this has been fixed.
+Foundation/Exception.h: IllegalStateException added.
+
+
+Release 0.91.3 (2005-03-19)
+===========================
+
+This is a maintenance release that adds support for Solaris/Sun Forte C++.
+No new features have been added.
+
+An implementation of FPEnvironment for Solaris has been included.
+All stream classes have been modified to work around an initialization
+problem that surfaced with Sun's C++ compiler when using STLport.
+Source-code compatibility with the previous release is not affected. Various
+minor changes, mostly adding missing #include's for Solaris.
+
+
+Release 0.91.2 (2005-02-27)
+===========================
+
+Minor improvements to the Unix build system. No actual changes in the
+libraries.
+
+
+Release 0.91.1 (2005-02-21)
+===========================
+
+This is the first public release of the C++ Portable Components.
+The release does not contain all features planned for the later 1.0 release
+(the NET library is missing, for example), but is already quite usable.
+Please refer to the README file for more information and instructions for
+building the libraries.