POCO v1.7.8.p2 Release Notes
Release Date: 2017-04-18 // about 7 years ago-
- 🛠 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
- 0️⃣ 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.
- 0️⃣ 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::parseHex64: 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 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 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
- 0️⃣ 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
- 0️⃣ 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
- 0️⃣ simplified default TCP/HTTPServer construction
- 🛠 fixed GH #141: Application::run() documentation/implementation discrepancy
- 🔄 changed RowFormatter to SharedPtr 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 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