6960a6c6d4
Change log: This is the changelog file for the POCO C++ Libraries. 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. |
||
---|---|---|
.. | ||
buildlink3.mk | ||
DESCR | ||
Makefile | ||
PLIST |