mirror of
https://github.com/Telecominfraproject/wlan-cloud-lib-poco.git
synced 2025-11-02 03:27:56 +00:00
see changelog
This commit is contained in:
@@ -1,6 +1,243 @@
|
||||
POCO C++ Libraries Release Notes
|
||||
AAAIntroduction
|
||||
|
||||
|
||||
!!!Release 1.4.0
|
||||
|
||||
!!Summary of Changes
|
||||
|
||||
- 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.6.23.1
|
||||
- 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).
|
||||
|
||||
|
||||
!!Incompatible Changes and Possible Transition Issues
|
||||
|
||||
- The behavior of Poco::Timer has been changed for the case when
|
||||
the callback function takes longer to execute than the given
|
||||
timer interval. In this case, the missed intervals are counted
|
||||
and the next callback will be at the next proper interval.
|
||||
|
||||
|
||||
!!!Release 1.3.6p2
|
||||
|
||||
!!Summary of Changes
|
||||
|
||||
- fixed an issue in the Windows implementation Poco::RWLock, where
|
||||
tryReadLock() sometimes would return false even if no writers
|
||||
were using the lock (fix contributed by Bjrn Carlsson)
|
||||
- added Poco::Environment::libraryVersion().
|
||||
- fixed SF# 2919461: Context ignores parameter cypherList
|
||||
- removed an unused enum from RSACipherImpl.cpp (Crypto)
|
||||
- integrated a new expat patch for CVE-2009-3560.
|
||||
- fixed SF# 2926458: SSL Context Problem. The Poco::Net::Context
|
||||
class now makes sure that OpenSSL is properly initialized.
|
||||
- updated iPhone build configuration (contributed by Martin York)
|
||||
- fixed SF# 1815124 (reopened): XML Compile failed on VS7.1 with
|
||||
XML_UNICODE_WCHAR_T
|
||||
- fixed SF# 2932647: FTPClientSession::getWorkingDirectory() returns a bad result
|
||||
|
||||
|
||||
!!!Release 1.3.6p1
|
||||
|
||||
!!Summary of Changes
|
||||
|
||||
- added support for using external zlib, pcre, expat and sqlite3 instead of
|
||||
bundled ones (-DPOCO_UNBUNDLED, configure --unbundled)
|
||||
- fixed SF# 2911407: Add sh4 support
|
||||
- fixed SF# 2912746: RSAKey::EXP_LARGE doesn't work
|
||||
- fixed SF# 2904119: abstractstrategy uses std::set but do not includes it
|
||||
- fixed SF# 2909946: localtime NULL pointer
|
||||
- fixed SF# 2914986: potential expat DoS security issues (CVE-2009-3560 and CVE-2009-3720)
|
||||
- fixed SF# 2916305: SSL Manager crashes
|
||||
- fixed SF# 2903676: Tuple TypeHander does not handle composites.
|
||||
|
||||
|
||||
!!!Release 1.3.6
|
||||
|
||||
!!Summary of Changes
|
||||
|
||||
Reference in New Issue
Block a user