From Common C++ 1.9.3 to 1.9.4 - cygwin and pthread_suspend/continue support! - virtual to add to generated http headers. - fix for Solaris and atomic - XMLRPC core support. - base64 character encoding. - patch from Barnaby Gray for SocketPort. From Common C++ 1.9.2 to 1.9.3 - fixup of defines. - fix of UDPSocket::getPeer - can use --without-xml to disable xml support. - LoadPrefix option for keydata parsing. - slog patch for locals from Marcelo - date patch from Marcelo From Common C++ 1.9.1 to 1.9.2 - many small changes for HP/UX and other oddities from Peter Koerber. - support for echo in slog. - fixes in udp for use with new ccrtp release. From Common C++ 1.9.0 to 1.9.1 - small fixes in socket code. - fix for gcc 3.0 problems in new code. - make sure sigwait always shielded by HAVE_SIGWAIT2. - a lot of corrected headers for win32 exports. - some fixes for older gcc compilers. From Common C++ 1.5.1 to 1.9.0 - unsigned long arg for setCompletion for win32. - mutex change for win32. - Federico's patch for atomic counters with old kernels. - Merged source trees for pending 2.0 release. - Frederico's patchs for multicast for use with ccrtp. - fixed FILE_GET_METHOD to close any leftover socket first. - fixed close socket in file open in URLStream. - added syslog test and generic syslog support. - added Slog to win32. - Date and Time classes being added. - number manipulations and random number generation being added. - cvs COMMONV2 defined in automake for splitting release builds. - cvs configure.in has new flag option for --with-v2. - added string.h for 1.6.1 and above so people can get used to using it. - timeout fix for TCPSTream from Tommi Makitalo. - "ost" namespace support added. - new Exception class hierarchy. - dynamic loading info exported thru ccgu-config. - source directories merged and libraries redistributed. - Common C++ template library added. From Common C++ 1.5.0 to 1.5.1 - some further changes and corrections for gcc 3.0. - fix from adam for autoconf 2.50 bug. - namespace tweaks. - added COMMON_XML_PARSING to test for XML support. - new contributed socket port demo. - added Wallace Owens patch to support NoDelay socket option. - added Craig Emery's patch for port numbers in urls. - changed DSO loader by adding alternate constructor to pass lazy option to dlopen linker. - big change in auto-detect for iostream support. Old style iostream constructors with explicit init now used when autoconf detected. This fixes segfaults for many older C++ ansi libraries. - setLinger option added for ending sockets. - some Solaris patches from Radu Greab. From Common C++ 1.4.3 to 1.5.0 - fix for out of data exception handling in persistance engine. - added timeout option to Readline() method. - added timeout to TTYStream and TCPStream object for future timed i/o. - changed slog.open() to support basis for win32 slog and portable use of passing argv[0] to get a daemon name and in win32 a log file path. - timeout control for underflows and url streaming. - added Conditional to posix synchronization objects. - changes for gcc 3.0 - added elapsed time for timer ports. - better support for thread priority scheduling. - SysV semaphore support option. - setCompletion now bool and in socket "flags". - streaming and timeout fixes based on suggestions from Macro Coulombe. From Common C++ 1.4.2 to 1.4.3 - fix for freebsd build checks. - inf. timeout in wait event. - InetAddress count initialization and delete of null lists. - no longer use shutdown when closing sockets in case the object was "dupped" since newer kernels pass shutdown thru all instances. - make friends __EXPORT in win32 as suggested by Hwu - added Wolfgang Schmieder's changes to enable common directory to be used with MSVC project. - fixed execHandler to set _tid to self. - patch from Eric Peters related to polling with timer signal handlers. - added Suspend and Resume to win32 threads. - added Detach() as alternate Start() method. - notification of parent threads more restrictive. - other win32 fixes including items not initialized in constructors. From Common C++ 1.4.1 to 1.4.2 - xmlfetch and test.xml work file in demo directory test xml parsing. - setFollow() option for urlstream. - setProtocol() option for urlstream. - install our autoconf macros locally. From Common C++ 1.4.0 to 1.4.1 - for posix build, -DSTLPORT removed from ccgnu-config --flags. - FreeBSD ports collection package building restored to Common C++. - fix for Serial I/O attribute setting. - fix problem for keydata reaching eof. - improved detection of libxml2. From Common C++ 1.3.3 to 1.4.0 - Meno Abels provided a great little patch for using STLPORT with Common C++ - added "-with-stlport[=dir]" to configure to enable STLPORT usage and specify where STLPORT is. - fix for intel solaris. - added multicast to socket support. - made URLStream work and have added urlfetch demo code. - URLStream extended features added. - new method of handling Common C++ Win32 "dllexport" vs "dllimport"; export.h included during dll build to export remaining symbols, otherwise cc++ headers always act as "import" for target app. - XMLStream parser added to posix tree, uses libxml2 underneath. - Fuller support for HTTP/1.1 including "chunked" transfer encoding. - URLStream seperated from "socket" code for easier editing. From Common C++ 1.3.2 to 1.3.3 - added httpHeader to allow derived object to receive and parse headers. - added -I and -L flags to ccgnu-config. - OST_CCXX_VERSION macro added to check for a minimum version of CommonC++: OST_CCXX_VERSION([MINIMUM-VERSION [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]]) - make sure getThread returns _mainthread if no threads are active. - ost_commoncxx.m4 merged with ost_check.m4. - added testCancel for non-yielding test. - socket address structures pre-initialized to zero. - added cmdoptions from Gianni@mariani.ws - sem_getvalue added to Semaphore class. - millisecond timers with itimer option. - cleanup for inaddr.cpp and Borland C++ compiler. - fixed and improved Borland C++ makefiles. - keydata now 32 chars. From Common C++ 1.3.1 to 1.3.2 - fix for SunOS and other minor target compile issues. - fix for iflag vs lflag for flow control settings. - url client processing classes added. - borland compile fixes from Rupert Curwen. - RTLD_GLOBAL added for DSO loading. - zoner's suggested use of Event class for thread cancellation control. From Common C++ 1.3.0 to 1.3.1 - new multi-host support in socket address classes. - fix for segfault in fifo objects. - serial i/o and multi-address changes suggested by Gary Murphy. From Common C++ 1.2.6 to 1.3.0 - UDPTransmit/UDPReceive/UDPDuplex classes redesigned based on ccrtp work. These now form base RTP stack components rather than duplicated in ccrtp. Matches ccrtp 0.3.0 release. - slog now uses thread-safe buffering to assure consistency. - exception handling mode is now part of thread rather than global, and is inherited from parent to child. - restructure address class slightly to allow symbolic hostnames to be used in base InetAddress object. - select rather than "poll" is the preferred default method of pending and selection timeouts if sys/stream.h is also present. This is to cover systems which do not impliment "poll" for socket descriptors or outside of stream device drivers. - new ccgnu-config mechanism to get attributes and compiler options. - new test for single argument sigwait for older sunos, etc. - test for namespace support. Common C++ will soon use namespaces. - fix for win32 socket.h problems. - updated as protected members buffer manipulation. - doxygen now used for documentation. - added ETC_PREFIX for locating config files. - late addition, hashing function classes. - getThread() must create temp thread objects if unknown threads found... From Common C++ 1.2.5.1 to 1.2.6 - fix inaddr locking in posix for non-threadsafe host address lookup. - updated TCPSocket for isPendingConnection in win32 sources. - added _POSIX_PTHREAD_SEMANTICS to "config.h" - default all sockets to SO_REUSEADDR - fix for duplex interconnect. - fix for socket ports from Petr Ferschmann - new global exception handling control. From Common C++ 1.2.5 to 1.2.5.1 - nessisary fix because fpathconf doesnt link correctly in FreeBSD. From Common C++ 1.2.4 to 1.2.5 - some fix for new resolver for sun. - --enable-profiling and --enable-debug added to "configure" - change setsockopt for broadcast - added serial example from Gary Lawrence. - some fixes suggested for IRIX compatibility. - one fix for FreeBSD pthread usage. - test whether compiler supports "mutable" members. From Common C++ 1.2.3 to 1.2.4 - updated solaris sigwait use. - fixed win32 typo. - new threadsafe resolver support. From Common C++ 1.2.2 to 1.2.3 - updated mempager for auditing correctly. - fixed stream constructor issues. - changed xxxStream base classes so streambuf always first for ?broken? compilers. - changes for memory leak issues. - uflow problem in TCPStream has been fixed. Thanks to Gerald L. Gay. From Common C++ 1.2.1 to 1.2.2 - support for FreeBSD dynamic loader. From Common C++ 1.2.0 to 1.2.1 - now must define __USE_GNU to work with newest GLIBC. - debian packaging addded. - fix include for common subdirectory and multi-target builds. - John Connor's fixes for nonblocking win32 sockets when supported, for a win32 implimentation of setCompletion, and for other win32 improvements. - setSpeed of Serial class accepts 0 parameter which does a modem "hang up". - fixed inaddr issue with "INADDR_ANY" miscast as char. From Common C++ 1.1.0 to 1.2.0 - making a whole stuff const where needed and appropriate, and did many cleanups regarding constness etc. - cleaned up configuration process - fixed typo in win32 mutex. - bind address "*" = 0.0.0.0 - iostream is constructed with streambuf argument in for the TTYStream class similar to TCPStream; now TTYStream and ttystream class works properly. - resolved interesting inline issue with == and bool coercion. - added powerful StringTokenizer - added macros for older source compatibility - recursive mutex fix - added FreeBSD "ports" package build to distribution. - added stream aware isPending for TTYStream and TCPStream, and made isPending base virtual. From Common C++ 1.0.3 to 1.1.0 - pthread.m4 supports cross compiler sys-include directory - support of "thread.h" header other than sunos. - unsigned socklen_t for unixware. - use of XOPEN removed from file.cpp. - use of sys/termiox.h with unixware. - unixware now cross-compiles gcc 2.95.2! May need "-D_THR_UNIXWARE" native. Some of the changes for Unixware may also work for AIX. - thread initiation and signal handling now thru "C" friend functions. - new poll service for SocketService and SerialService; not binary compatible with old library. - new win32 mutex code that supports winnt/win95/win98 from Michael Furmanczyk. - fix getIndex. From Common C++ 1.0.2 to 1.0.3 - more setsockopt problems on different platforms. - support of -lthread check for Unixware. - some additional cross compiler build support. From Common C++ 1.0.1 to 1.0.2 - close _cancellation handle in win32 thread object. - fix mutexcounter usage for host protection. - replaced tid_t with cctid_t to avoid AIX collision. - odd VC quirks. - tcpservice.cpp demo app contributed by Gianni Mariani. - TryEnterMutex added to win32 - fixed a number of socket options - fixed bug in mapped file without initial map From Common C++ 1.0.0 to 1.0.1 - fcntl.h now tested for in autoconf system, as well as sys/fcntl.h. - fixed atomic.h test to include test for atomic_t. - cleaned up delayed connection code in posix tree. - caddr_t (a bsdism) introduced as a general purpose type. - moved __EXPORT from class definition so kdoc can process. - __EXTENSIONS__ added for Solaris - we took in some FreeBSD 4.0 patches. - TCPStream and Serial sync is public. - fixed fatel crash when loading more than one dso! From Common C++ 0.9.7 to GNU package Common C++ 1.0.0 - more liberal use of namespace.h. - split of Common C++ between GNU Common C++ and "Extras" libraries. - overview documentation. - official designation as a GNU package. - changed win32 "remove" to "DeleteFile". - missing int() operator in posix AtomicCounter. - endian testing added. From Common C++ 0.9.6 to 0.9.7 - local config file access bug (~/.xxxrc) in keydata fixed. - cfgfile closure bug in keydata fixed. - isDir, isFile, and isDevice checks added. - canAccess and canModify checks added. - simple DSO support for win32 added. - new level option to control and filter slog() logging. - major work done on win32 support for (cross)compiling under mingw32 & cygwin32. - Fixed InterlockExchangeAdd support in win32 which seems missing. From Common C++ 0.9.5 to 0.9.6 - typo fix in socket.h for evaluating open ttystream's. - added ldconfig to RPM spec. - AtomicCounter class contributed by Sean Cavanaugh. - Rewritten file classes based on new RandomFile base. - old win32 "fileio" routines removed. - zip target in main Makefile for building distribution for windows users. - serial I/O name processing improved in ttystream::open. - certain runtime optimizations crash gcc exception handling and are now stripped as part of the OST_CXX_EXCEPTIONS macro. From Common C++ 0.9.4 to 0.9.5 - intruduce mutex protected mempager. - getLocal() added to TCPSocket. - alloc() and first() now virtual memory allocators. - slog() also invokes clog() if not running as true daemon. - empty slog() used for continuation lines. - DSO getError() added for catch handlers. - start of Bayonne script engine code. - new and much simpler autoconf macros for building user applications. - a simple low level directory scanning class was added. - some stream fixes from Fulko Hew - new handling of Solaris thread.h include for use with cross-compiling. - spec and lsm file automated. - rwlock support for thread synchronization added! From Common C++ 0.9.3 to 0.9.4 - operator!() for tcpstream updated in socket.h - new "slog" syslog facility; similar to "clog" buffered error messages. - isPending() fixed in win32 for infinite timeout support. - Persistence TypeManager suffered with some problems. They should be fixed - typos in socket fixed from contributed changes by Fulko Hew. - ..and a semaphore fix for win32. - added virtual methods for extending serial and socket service threads. - endSocket() cleaned up in win32. - endSocket() cleaned up in posix. - final was missed in win32. - fifo stream support added. - not all compilers considered ~ operator valid for mutexcounter. The host lookups now implicity call base class LeaveMutex directly. - setb fix for stream handlers. - set failbit on stream socket/serial errors. - StringFunctionMap has to be public to compile. - sync stream method handlers no longer clear get buffer. - sync simplified further, and dummy doallocate added. From Common C++ 0.9.2 to 0.9.3 - Woops! serial.cpp was supposed to build in libccio.so, not libccxx.so! - autoconf options loader has been fixed and improved. - html.cpp temporarily pulled; incomplete linkage. - zstream added to config.def. - fix in keydata.cpp for "/etc/". - config.def simplified! From Common C++ 0.9.1 to 0.9.2 - Socket::Terminate changed to Socket::endStream to avoid confusion with Thread::Terminate when using derived TCPSession class. - win32 updated to include new "tcpstream"; tcp.cpp demo should be usable under win32 again. - == operator moved to InetAddress base class. - ! operator added for testing if an InetAddress is valid. - turn of throw error handling on SocketPort once service thread takes over. This is nessisary since throw is not inter-thread. - test for "poll()" now used for isPending support. - thread Final() method was called too early for self deleting objects. - timerport moved from socket.h to thread.h - posix streamable C++ serial port I/O classes added. - fixed 64 bit types for Tru64 Unix. - fixed warnings in persist, engine, and html classes. From Common C++ 0.9.0 to 0.9.1 - implementation of MutexCounter operator ~ matches prototype. - last fileio.h reference squashed. - fixed win32 "install.bat"; still thought it was APE - added dummy macros.h for win32. - fixed posix/trunk.h inclusion of macros.h. - fixed int64 type check. From APE 1.2.3 and Common C++ 0.2 to Common C++ 0.9.0 - Found big bug in Thread::Start(). Replaced ++_start with _start->Post(). - Modified tcpthread.cpp demo app. - Oh, lots of stuff changed for the merged code base... - Added ~ operator for MutexCounter so catch handler can unlock.