mirror of
https://github.com/pocoproject/poco.git
synced 2025-01-18 00:15:27 +01:00
added release build scripts
This commit is contained in:
parent
c23141fa4d
commit
9f751f5e9a
833
dist/CHANGELOG
vendored
Normal file
833
dist/CHANGELOG
vendored
Normal file
@ -0,0 +1,833 @@
|
||||
This is the changelog file for the POCO C++ Libraries.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
--
|
||||
$Id: //poco/1.3/dist/CHANGELOG#17 $
|
17
dist/CONTRIBUTORS
vendored
Normal file
17
dist/CONTRIBUTORS
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
Guenter Obiltschnig <guenter.obiltschnig@appinf.com>
|
||||
Alex Fabijanic <aleskx@gmail.com>
|
||||
Peter Schojer <peter.schojer@appinf.com>
|
||||
Claus Dabringer <claus.dabringer@appinf.com>
|
||||
Andrew Marlow <public@marlowa.plus.com>
|
||||
Caleb Epstein <caleb.epstein@gmail.com>
|
||||
Andrew J. P. Maclean <a.maclean@optusnet.com.au>
|
||||
Paschal Mushubi <mushubi@sympatico.ca>
|
||||
Sergey N. Yatskevich <snc@begun.ru>
|
||||
Krzysztof Burghardt <burghardt@users.sourceforge.net>
|
||||
David Shawley <boredc0der@users.sourceforge.net>
|
||||
Larry Lewis <lewislp@users.sourceforge.net>
|
||||
Ryan Kraay <rkraay@users.sourceforge.net>
|
||||
Eran Hammer-Lahav <therazorblade@users.sourceforge.net>
|
||||
|
||||
--
|
||||
$Id: //poco/1.3/dist/CONTRIBUTORS#4 $
|
23
dist/LICENSE
vendored
Normal file
23
dist/LICENSE
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
Boost Software License - Version 1.0 - August 17th, 2003
|
||||
|
||||
Permission is hereby granted, free of charge, to any person or organization
|
||||
obtaining a copy of the software and accompanying documentation covered by
|
||||
this license (the "Software") to use, reproduce, display, distribute,
|
||||
execute, and transmit the Software, and to prepare derivative works of the
|
||||
Software, and to permit third-parties to whom the Software is furnished to
|
||||
do so, all subject to the following:
|
||||
|
||||
The copyright notices in the Software and this entire statement, including
|
||||
the above license grant, this restriction and the following disclaimer,
|
||||
must be included in all copies of the Software, in whole or in part, and
|
||||
all derivative works of the Software, unless such copies or derivative
|
||||
works are solely in the form of machine-executable object code generated by
|
||||
a source language processor.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
55
dist/NEWS
vendored
Normal file
55
dist/NEWS
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
Release 1.3 (2007-05-07)
|
||||
========================
|
||||
|
||||
This release contains major improvements and new features.
|
||||
|
||||
Summary of Changes:
|
||||
- HashMap and HashSet classes (Foundation)
|
||||
- Tuple class template (Foundation)
|
||||
- SharedMemory class (Foundation)
|
||||
- FileStream, FileInputStream, FileOutputStream classes that
|
||||
support Unicode (UTF-8) filenames on Windows (Foundation)
|
||||
- improvements and bugfixes in the Net library, mostly HTTP
|
||||
- DynamicAny class (Foundation)
|
||||
- improvements to NetworkInterface class (Net)
|
||||
- Condition class, implementing POSIX condition variable-style
|
||||
thread synchronization (Foundation)
|
||||
- upgraded to PCRE 7.1 (Foundation)
|
||||
- improved Unicode/UTF-8 support
|
||||
- NodeAppender class for faster DOM tree creation (XML)
|
||||
- Checksum class (Foundation)
|
||||
- lots of bugfixes and other improvements - please see the
|
||||
CHANGELOG for details
|
||||
|
||||
Incompatible Changes and Transition Issues:
|
||||
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.
|
||||
|
||||
On Windows, POCO now builds with Unicode/UTF-8 support
|
||||
(POCO_WIN32_UTF8) enabled by default. If you need the previous
|
||||
behavior, remove the corresponding #define from Poco/Config.h
|
||||
|
||||
|
||||
Release 1.2 (2006-08-29)
|
||||
========================
|
||||
|
||||
This release contains major improvements and new features.
|
||||
Summary of changes (please see CHANGELOG for details):
|
||||
- namespaces and header locations have changed
|
||||
- improvements to command line options handling
|
||||
- improvements to HTTP server and client classes
|
||||
- support for raw sockets and ICMP
|
||||
- improvements to DateTime, bugfixes in Timezone
|
||||
- improvements to Logging (including a new LogStream class)
|
||||
- HashTable classes in Foundation
|
||||
- ThreadPool now supports thread priorities
|
||||
- ActiveMethod now supports start policies; improved exception support
|
||||
- typesafe sprintf-like formatting
|
||||
- Process::launch() now supports I/O redirection to pipes
|
||||
- improvements to the build system (configure; make; make install is now supported)
|
||||
- various other bugfixes and enchancements
|
||||
|
||||
--
|
||||
$Id: //poco/1.3/dist/NEWS#5 $
|
196
dist/README
vendored
Normal file
196
dist/README
vendored
Normal file
@ -0,0 +1,196 @@
|
||||
This is the README file for the POCO C++ Libraries.
|
||||
|
||||
In this document you will find a brief description of the directory layout,
|
||||
as well as a description necessary steps to build the POCO C++ Libraries.
|
||||
|
||||
The Foundation library contains a platform abstraction layer (including classes
|
||||
for multithreading, file system access, logging, etc.), as well as
|
||||
a large number of useful utility classes, such various stream buffer and stream
|
||||
classes, URI handling, and many more.
|
||||
The XML library contains an XML parser with SAX2 and DOM interfaces,
|
||||
as well as an XMLWriter.
|
||||
The Util library contains classes for working with configuration files and
|
||||
command line arguments, as well as various utility classes.
|
||||
The Net library contains network classes (sockets, HTTP, etc.)
|
||||
All libraries come with a test suite and a number of sample programs.
|
||||
|
||||
The directory layout is as follows:
|
||||
|
||||
build/ the build system for Unix/OpenVMS and additional utility scripts
|
||||
config/ build configurations for various Unix platforms
|
||||
rules/ common build rules for all platforms
|
||||
scripts/ build and utility scripts
|
||||
vms/ OpenVMS build system scripts
|
||||
|
||||
bin/ all executables (dynamic link libraries on Windows)
|
||||
|
||||
doc/ additional documentation
|
||||
|
||||
lib/ all libraries (import libraries on Windows)
|
||||
|
||||
CppUnit/ project and make/build files for the CppUnit unit testing framework
|
||||
doc/ additional documentation
|
||||
include/
|
||||
CppUnit/ header files for CppUnit
|
||||
src/ source files for CppUnit
|
||||
WinTestRunner/ Windows GUI for CppUnit
|
||||
|
||||
Foundation/ project and make/build files for the Foundation library
|
||||
include/
|
||||
Poco/ header files for the Foundation library
|
||||
src/ source files for the Foundation library
|
||||
testsuite/ project and make/build files for the Foundation testsuite
|
||||
src/ source files for the Foundation testsuite
|
||||
bin/ test suite executables
|
||||
samples/ sample applications for the Foundation library
|
||||
|
||||
XML/ project and make/build files for the XML library
|
||||
include/
|
||||
Poco/
|
||||
XML/ header files for the XML library
|
||||
src/ source files for the XML library
|
||||
testsuite/ project and make/build files for the XML testsuite
|
||||
src/ source files for the XML testsuite
|
||||
bin/ test suite executables
|
||||
samples/ sample applications for the XML library
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
=============
|
||||
|
||||
Online browsable reference documentation in HTML is available at
|
||||
<http://pocoproject.org/poco/docs/>.
|
||||
|
||||
|
||||
BUILDING ON WINDOWS
|
||||
===================
|
||||
|
||||
Microsoft Visual Studio 7.1 (2003) or 8.0 (2005) is required to build the POCO C++ Libraries
|
||||
on Windows platforms. Solution and project files for both versions are included.
|
||||
You can either build from within Visual Studio (Build->Batch Build->Select All;Rebuild)
|
||||
or from the command line. To build from the command line, start the
|
||||
Visual Studio .NET 2003 (or 2005) Command Prompt and cd to the directory where you have
|
||||
extracted the POCO C++ Libraries sources. Then simply start the build_vs71.cmd (or
|
||||
build_vs80.cmd, respectively) batch file. This will build all libraries, test suites and
|
||||
sample programs, in both debug and release versions. The dynamic link libraries will be
|
||||
placed in the top-most bin directory. The import libraries will be placed in the top-most lib
|
||||
directory. The test suite executables will be placed in the testsuite/bin directories.
|
||||
The sample executables will be placed in the sample/*/bin directories.
|
||||
|
||||
In order to run the test suite and the samples, the top-most bin directory containing
|
||||
the shared libraries must be in the PATH environment variable.
|
||||
|
||||
If you want to run the test suite or samples from within Visual Studio, we recommend that
|
||||
you download and install the free Solution Build Environment for Visual Studio .NET 2003,
|
||||
from <http://www.workspacewhiz.com/SolutionBuildEnvironmentReadme.html>.
|
||||
|
||||
You can then add the bin directory to the PATH environment variable in a .slnenv file,
|
||||
using the following entry.
|
||||
|
||||
POCO_BASE=p:\poco
|
||||
PATH=$(PATH);$(POCO_BASE)\bin
|
||||
|
||||
Of course you will have to change the path p:\poco so that it matches your environment.
|
||||
|
||||
IMPORTANT NOTE: Please make sure that the path to the directory containing the
|
||||
POCO C++ Libraries source tree does not contain spaces. Otherwise, the Microsoft
|
||||
message compiler will fail when building the Foundation library.
|
||||
|
||||
|
||||
BUILDING ON UNIX/LINUX/MAC OS X
|
||||
===============================
|
||||
|
||||
For building on Unix platforms, the POCO C++ Libraries come with their own
|
||||
build system. The build system is based on GNU Make 3.80, with the help from a few
|
||||
shell scripts. If you do not have GNU Make 3.80 (or later) installed on your machine,
|
||||
you will need to download it from <http://directory.fsf.org/devel/build/make.html>,
|
||||
build and install it prior to building the POCO C++ Libraries.
|
||||
|
||||
You can check the version of GNU Make installed on your system with
|
||||
|
||||
> gmake --version
|
||||
|
||||
or
|
||||
|
||||
> make --version
|
||||
|
||||
Once you have GNU Make up and running, the rest is quite simple.
|
||||
To extract the sources and build all libraries, testsuites and samples, simply
|
||||
|
||||
> gunzip poco-X.Y.tar.gz
|
||||
> tar -xf poco-X.Y.tar.gz
|
||||
> cd poco-X.Y.tar.gz
|
||||
> ./configure
|
||||
> gmake -s
|
||||
|
||||
See the configure script source for a list of possible options.
|
||||
|
||||
Once you have successfully built POCO, you can install it
|
||||
to /usr/local (or another directory specified as parameter
|
||||
to configure --prefix=<path>):
|
||||
|
||||
> sudo gmake -s install
|
||||
|
||||
To build on Mac OS X 10.3 with GCC 3, do the following:
|
||||
|
||||
> ./configure --config=Darwin7
|
||||
> make -s
|
||||
|
||||
|
||||
BUILDING ON QNX NEUTRINO
|
||||
========================
|
||||
|
||||
For QNX Neutrino, the Unix build system (see the instructions above) is used.
|
||||
You can use the build system to cross-compile for a target platform on a Solaris or
|
||||
Linux host. Unfortunately, the Cygwin-based Windows host environment has some major
|
||||
quirks that prevent the build system from working there. You can also use the
|
||||
build system on a self-hosted QNX system. The default build configuration for QNX
|
||||
(found in build/config/QNX) is for a self-hosted x86 platform. To specify another
|
||||
target, edit the CCVER setting in the build configuration file. For example, to
|
||||
compile for a PowerPC target, specify CCVER=3.3.1,gcc_ntoppcbe.
|
||||
|
||||
Service Pack 1 for QNX Neutrino 6.3 must be installed, otherwise compiling the
|
||||
Foundation library will fail due to a problem with the <list> header in the
|
||||
default (Dinkumware) C++ standard library.
|
||||
|
||||
|
||||
BUILDING ON OPENVMS
|
||||
===================
|
||||
|
||||
OpenVMS is no longer supported in recent versions of POCO, due to both a
|
||||
lack of interest and a lack of contributors. The following
|
||||
instructions are here for historical reasons.
|
||||
|
||||
The POCO C++ Libraries come with their own build system for OpenVMS, implemented
|
||||
by a bunch of DCL scripts. The scripts can be found in the build/vms directory.
|
||||
|
||||
To build the POCO C++ Libraries on OpenVMS, follow the following steps.
|
||||
|
||||
1) Download the .zip distribution of the POCO C++ Libraries
|
||||
|
||||
2) Unzip the archive
|
||||
$ unzip -aa poco-0_91_4.zip
|
||||
|
||||
3) Change the directory
|
||||
$ set def [.poco-0_01_4]
|
||||
|
||||
4) Create a lib directory
|
||||
$ create/dir [.lib]
|
||||
|
||||
5) Run the buildvms.com script
|
||||
$ @buildvms
|
||||
|
||||
This will build the debug versions of the libraries. To build the release
|
||||
versions, use
|
||||
$ @buildvms -release
|
||||
|
||||
|
||||
MORE INFORMATION
|
||||
================
|
||||
|
||||
For more information, see the POCO C++ Libraries website
|
||||
at <http://pocoproject.org>.
|
||||
|
||||
|
||||
--
|
||||
$Id: //poco/1.3/dist/README#2 $
|
50
dist/build_vs71.cmd
vendored
Executable file
50
dist/build_vs71.cmd
vendored
Executable file
@ -0,0 +1,50 @@
|
||||
@echo off
|
||||
|
||||
rem
|
||||
rem build.cmd
|
||||
rem
|
||||
rem $Id: //poco/1.3/dist/build_vs71.cmd#1 $
|
||||
rem
|
||||
rem command-line build script for VS 7.1
|
||||
rem
|
||||
|
||||
cd CppUnit
|
||||
devenv /useenv /rebuild debug_shared CppUnit_vs71.sln
|
||||
devenv /useenv /rebuild release_shared CppUnit_vs71.sln
|
||||
cd ..
|
||||
|
||||
cd Foundation
|
||||
devenv /useenv /rebuild debug_shared Foundation_vs71.sln
|
||||
devenv /useenv /rebuild release_shared Foundation_vs71.sln
|
||||
cd samples
|
||||
devenv /useenv /rebuild debug_shared samples_vs71.sln
|
||||
devenv /useenv /rebuild release_shared samples_vs71.sln
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
cd XML
|
||||
devenv /useenv /rebuild debug_shared XML_vs71.sln
|
||||
devenv /useenv /rebuild release_shared XML_vs71.sln
|
||||
cd samples
|
||||
devenv /useenv /rebuild debug_shared samples_vs71.sln
|
||||
devenv /useenv /rebuild release_shared samples_vs71.sln
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
cd Util
|
||||
devenv /useenv /rebuild debug_shared Util_vs71.sln
|
||||
devenv /useenv /rebuild release_shared Util_vs71.sln
|
||||
cd samples
|
||||
devenv /useenv /rebuild debug_shared samples_vs71.sln
|
||||
devenv /useenv /rebuild release_shared samples_vs71.sln
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
cd Net
|
||||
devenv /useenv /rebuild debug_shared Net_vs71.sln
|
||||
devenv /useenv /rebuild release_shared Net_vs71.sln
|
||||
cd samples
|
||||
devenv /useenv /rebuild debug_shared samples_vs71.sln
|
||||
devenv /useenv /rebuild release_shared samples_vs71.sln
|
||||
cd ..
|
||||
cd ..
|
50
dist/build_vs80.cmd
vendored
Executable file
50
dist/build_vs80.cmd
vendored
Executable file
@ -0,0 +1,50 @@
|
||||
@echo off
|
||||
|
||||
rem
|
||||
rem build.cmd
|
||||
rem
|
||||
rem $Id: //poco/1.3/dist/build_vs80.cmd#1 $
|
||||
rem
|
||||
rem command-line build script for VS 8.0
|
||||
rem
|
||||
|
||||
cd CppUnit
|
||||
devenv /useenv /rebuild debug_shared CppUnit_vs80.sln
|
||||
devenv /useenv /rebuild release_shared CppUnit_vs80.sln
|
||||
cd ..
|
||||
|
||||
cd Foundation
|
||||
devenv /useenv /rebuild debug_shared Foundation_vs80.sln
|
||||
devenv /useenv /rebuild release_shared Foundation_vs80.sln
|
||||
cd samples
|
||||
devenv /useenv /rebuild debug_shared samples_vs80.sln
|
||||
devenv /useenv /rebuild release_shared samples_vs80.sln
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
cd XML
|
||||
devenv /useenv /rebuild debug_shared XML_vs80.sln
|
||||
devenv /useenv /rebuild release_shared XML_vs80.sln
|
||||
cd samples
|
||||
devenv /useenv /rebuild debug_shared samples_vs80.sln
|
||||
devenv /useenv /rebuild release_shared samples_vs80.sln
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
cd Util
|
||||
devenv /useenv /rebuild debug_shared Util_vs80.sln
|
||||
devenv /useenv /rebuild release_shared Util_vs80.sln
|
||||
cd samples
|
||||
devenv /useenv /rebuild debug_shared samples_vs80.sln
|
||||
devenv /useenv /rebuild release_shared samples_vs80.sln
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
cd Net
|
||||
devenv /useenv /rebuild debug_shared Net_vs80.sln
|
||||
devenv /useenv /rebuild release_shared Net_vs80.sln
|
||||
cd samples
|
||||
devenv /useenv /rebuild debug_shared samples_vs80.sln
|
||||
devenv /useenv /rebuild release_shared samples_vs80.sln
|
||||
cd ..
|
||||
cd ..
|
115
dist/configure
vendored
Executable file
115
dist/configure
vendored
Executable file
@ -0,0 +1,115 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# configure
|
||||
#
|
||||
# $Id: //poco/1.3/dist/configure#3 $
|
||||
#
|
||||
# Configuration script for POCO.
|
||||
#
|
||||
# Usage:
|
||||
# configure [<options>...]
|
||||
#
|
||||
# Options:
|
||||
# --config=<config_name>
|
||||
# Use the given build configuration
|
||||
# See $POCO_BASE/build/config for possible configs
|
||||
#
|
||||
# --prefix=<install_prefix>
|
||||
# Use the given install directory for make install.
|
||||
# Default is /usr/local
|
||||
#
|
||||
# --no-tests
|
||||
# Do not build testsuites.
|
||||
#
|
||||
# --no-samples
|
||||
# Do not build samples.
|
||||
#
|
||||
# --no-wstring
|
||||
# Compile with -DPOCO_NO_WSTRING.
|
||||
#
|
||||
# --no-fpenvironment
|
||||
# Compile with -DPOCO_NO_FPENVIRONMENT
|
||||
#
|
||||
|
||||
# save cwd
|
||||
build=`pwd`
|
||||
# get directory where we are located
|
||||
cd `dirname $0`
|
||||
base=`pwd`
|
||||
cd $build
|
||||
|
||||
tests="tests"
|
||||
samples="samples"
|
||||
flags=""
|
||||
# parse arguments
|
||||
while [ "$1" != "" ] ; do
|
||||
val=`expr -- $1 : '--config=\(.*\)'`
|
||||
if [ "$val" != "" ] ; then
|
||||
config=$val;
|
||||
fi
|
||||
|
||||
val=`expr -- $1 : '--prefix=\(.*\)'`
|
||||
if [ "$val" != "" ] ; then
|
||||
prefix=$val
|
||||
fi
|
||||
|
||||
if [ "$1" = "--no-samples" ] ; then
|
||||
samples=""
|
||||
fi
|
||||
|
||||
if [ "$1" = "--no-tests" ] ; then
|
||||
tests=""
|
||||
fi
|
||||
|
||||
if [ "$1" = "--no-wstring" ] ; then
|
||||
flags="$flags -DPOCO_NO_WSTRING"
|
||||
fi
|
||||
|
||||
if [ "$1" = "--no-fpenvironment" ] ; then
|
||||
flags="$flags -DPOCO_NO_FPENVIRONMENT"
|
||||
fi
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "$config" = "" ] ; then
|
||||
config=`uname`
|
||||
cyg=`expr -- $config : '\(CYGWIN\).*'`
|
||||
if [ "$cyg" = "CYGWIN" ] ; then
|
||||
config=CYGWIN
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$base/build/config/$config" ] ; then
|
||||
echo "Unknown configuration: $config"
|
||||
echo "Please use the --config option to specify another build configuration"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$prefix" = "" ] ; then
|
||||
prefix=/usr/local
|
||||
fi
|
||||
|
||||
# copy Makefile to build dir
|
||||
if [ "$base" != "$build" ] ; then
|
||||
cp $base/Makefile $build
|
||||
fi
|
||||
|
||||
# create config.make
|
||||
echo '# config.make generated by configure script' >$build/config.make
|
||||
echo "POCO_CONFIG = $config" >>$build/config.make
|
||||
echo "POCO_BASE = $base" >>$build/config.make
|
||||
echo "POCO_BUILD = $build" >>$build/config.make
|
||||
echo "POCO_PREFIX = $prefix" >>$build/config.make
|
||||
echo "POCO_FLAGS = $flags" >>$build/config.make
|
||||
|
||||
echo "export POCO_CONFIG" >>$build/config.make
|
||||
echo "export POCO_BASE" >>$build/config.make
|
||||
echo "export POCO_BUILD" >>$build/config.make
|
||||
echo "export POCO_PREFIX" >>$build/config.make
|
||||
echo "export POCO_FLAGS" >>$build/config.make
|
||||
|
||||
echo ".PHONY: poco" >>$build/config.make
|
||||
echo "poco: libexecs $tests $samples" >>$build/config.make
|
||||
|
||||
echo "Configured for $config"
|
@ -65,13 +65,3 @@ echo "Building release $release"
|
||||
|
||||
rm -rf releases/poco-$release.*
|
||||
$POCO_BASE/release/script/mkrelease $release $relspec
|
||||
|
||||
#
|
||||
# Copy archive
|
||||
#
|
||||
echo "Uploading archive..."
|
||||
if [ $cygwin ] ; then
|
||||
$POCO_BASE/release/script/upload $version releases/poco-$release.zip
|
||||
else
|
||||
$POCO_BASE/release/script/upload $version releases/poco-$release.tar.*
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user