From Common C++ 1.2.5 to 1.2.6
- String constructor fix patch.
- Patch for aymeric debug fix.
- configure tests updated for freebsd 5.3

From Common C++ 1.2.4 to 1.2.5
- small fix in config.h for w32 build under vc6.
- configure.in moved to configure.ac as reconfig works more reliably this way
- fix retrieval of url status through stack.
- fix for endStream buf issues.

From Common C++ 1.2.3 to 1.2.4
- patch for url proxy by Andrey Kulikov
- fix for ambigious exception handling
- Chad Yates patches for unit tests and persistence engine
- Ricardo Gameiro's nat/netfilter support

From Common C++ 1.2.2 to 1.2.3
- w32 mutex now possible to base on critical section or w32 mutex using
  kulikov patch.
- save stack value for w32 thread start, which was moved to start().
- only use alignmed pages in MemPager for those systems which require
  BYTE_ALIGNMENT > 1.
- fixes for platforms which emulate recursive mutex behavior based on
  Conditional's emulation code.
- w32 specific thread attributes now hidden in priv data structure.
- support for more unix targets...
- support for cygwin dll compile...
- more 64 bit clean
- borlandc makefile updates and compile fixes from Darko
- tmpString broken, dangerous, and removed!  

From Common C++ 1.2.1 to 1.2.2
- fix for datetime constructor.
- w32 distributed build issues.
- vic fix for some w32 builds on atomics and setAddress.

From Common C++ 1.2.0 to 1.2.1
- major fix for deleting dummy thread when shadowing non-commonc++ 
  threads.

From Common C++ 1.1.9 to 1.2.0
- initial ipv6 support!
- MemPager uses posix_memalign to align allocated pages when available.
- now uses pkgconfig system.
- more String functions.
- ability to use std::string in String constructor.
- Conditional & Event now uses ordinary (non-recursive) mutex!
- Marcelo patches for EXPORTS and m4 underquoting.
- fix for win32 restartable threads.
- some fixes tried for signal handled quit when no immediate cancel.
- use of enterCancel/exitCancel for building cancellation point wrappers.
- w32 file access and isPending operations now cancellation points 
  through enterCancel/exitCancel for more consistent behavior with 
  posix which treats select/poll/read/write as cancellation point.
- fix for broken signaling version code to clear act structure.
- added Thread::sync() for suspending until cancel/join.
- socket close order changed.
- faster atomic ops, aix atomic support.
- cleanup of endian detection.

From Common C++ 1.1.8 to 1.1.9
- second fix in date.cpp and unquoted definition in m4 files, from 
  Marcelo Dalmas
- make sure original object exists in TTYStream during closure.
- consistent type casting of String for exceptions.
- fix String operator=.

From Common C++ 1.1.7 to 1.1.8
- use /etc/configure.conf for options as well as ~/.configure.
- reconfig supports aclocal path option and ~./configure options.
- improved handling of connetError when thrown as exception to make
  sure stream is correct.
- fix for process deamonfy attach.
- SysTime patch to support re-entrant time.
- fix shadowing of parms and members.

From Common C++ 1.1.6 to 1.1.7
- doxygen/docgen cleanup patch from Matthew Burgess.
- automake patch for newer automake from Matthew Burgess.
- readdir_r patch from Vyacheslav Hryhoryev.
- some fix for configure.in and package build for rpm.

From Common C++ 1.1.5 to 1.1.6
- some changes in include path versioning.
- some changes for /opt vs "lsb compliant" /opt paths.
- possible race condition fix in terminate!
- extra safety check for slog.

From Common C++ 1.1.4 to 1.1.5
- improved /opt prefix and lsb layout handling.
- improved PATH stuff to find configure.
- fixes for gcc-3.4.0.
- patch for Time::getTime.
- patch for PosixThread::waitSignal.

From Common C++ 1.1.3 to 1.1.4
- fix for ETC_PREFIX setting.
- getThread changed for less confusion, member version now ::get.
- fix for string assignment overuse.

From Common C++ 1.1.2 to 1.1.3
- --with-lsb=name option to build lsb compliant package.
- major fix for String class copy, assignment, and space reuse.

From Common C++ 1.1.1 to 1.1.2
- fix typo in serial.cpp.
- CBuilder patch for borland compilers & w32 targets.
- match change in numbers for dealing with const values.
- fix in ThreadQueue code.
- path fixups in w32 dsp projects.
- qnx6 compile fixes for serial.cpp and network.cpp.
- more compiler optimizations when not using exceptions.
- clarification of w32 build projects and new common workspace.

From Common C++ 1.1.0 to 1.1.1
- use CCXX_EXCEPTIONS for old HAVE_EXCEPTION_HANDLING
- some compile fixups for use when no exception handling is available
- "configure --without-exceptions" can now be used!  Also kills rtti
  and adds omit-frame-pointer optimization back in.  This can be used
  to produce smaller and more efficient code for targetted uses.
  NOTE: some broken c++ stdlibs have inline dynamic_cast's in common
  headers and hence can NEVER be compiled -fno-rtti.
- support for new ~/.configure mechanism for setting default options.
- fix potential memory leak in self exiting threads, and more advanced
  support for "join" method with immediate stack cleanup on posix.
- fix for pathname not properly initialized in main RandomFile 
  constructor.
- new --without-libxml2 and --without-compression options to further
  optimize library.
- missing __EXPORT for ThreadQueue.
- Jeffry Reed's string patch for stl use.
- fix for w32 "syslog" logging.
- fix for w32 terminate setting self to NULL when not terminating self.
- new automatic stack frame locking objects for member function calls
  including semaphore and read/write locks.
- new automatic cancellation object to do stack frame automatic setting
  and auto-restore on exit of cancel modes.
- Abid Taraben's patch for overlapped serial i/o.
- mempager alignment patch
- auditing for use of safe string functions.
- added new safe string functions "newString" and "tmpString" to get
  strings from memory and stack frame.

From Common C++ 2 1.0.x and 1.1.0 beta to 1.1.0 release
- merge of 1.1.0 beta and 1.0.x source trees
- configure system updated for autoconf 2.5x or later.
- fix of ssl Makefile
- new Process methods for managing process user identity
- expansion of Dir class to many more dir operations and iterator
  behavior
- patch for persist for namespace situations
- portable filename manipulations
- realpath() support and emulation for systems without.
- Common C++ String class introduced
- Date functions now use new string class
- Date class now uses iso date formats as standard
- Network class updated for new string class
- embed memmove code for portability.
- make use of win32 version of snprintf.
- use const for mempager string alloc.
- consolidation of missing libc functions.
- fix for Conditional::wait().
- keydata now has win32 specific mode for parsing .ini files and support
  for other keydata extensions.
- xml support now always enabled; if libxml2 is not found, a new built in 
  C++ coded mini-xml parser (non-validating, fairly simple) will be used!  
  The mini-parser will be expanded to support "well formedness" detection and
  improved over time...
- win32 support for mapped files and other features!
- Digest::initDigest is now public instead of protected.
- TCPStream "printf" method.
- varous slog methods (error, info, etc) can do varargs.
- setAutostack used as global means to tune posix stack usage.
- emulate detached for w32 and detached threads now auto delete on exit

From Common C++ 2 1.0.0 to 1.1.0 (beta set)
- include/cc++/socket.h: doc. updated to new constants and Win32 implementation
- src/xml.cpp: bug fixes from Norber Koch.
- doc/Doxyfile and many header files: fixed doxygen warnings and included demos
- doc/commoncpp2.texi, doc/fdl.texi, doc/fdlnotice.texi, doc/gpl.texi: 
  OVERVIEW.TXT formatted in texinfo and partially updated.
- doc/developer/CodingStyle and doc/developer/PortingProblem incorporated to 
  doc/commoncpp2.texi
- win32: appended d to MSVC debug libraries. Fixed warnings from VC7.
- include/cc++/url.h: splitted into url.h and urlstring.h so that
  ccgnu2.dll does not depend on ccext2.dll.
- start of experimental GNU Common C++ "ssl" stream class support and new 
  libccssl library.
- "common.reg" for win32 registry initialization of CONFIG_KEYDATA stuff
  planned.
- src/url.cpp: small fix from David Genest.
- src/date.cpp, include/cc++/numbers.h: patches from Norbert Koch
- configure.in, include/cc++/xml.h, src/xml.cpp and url.cpp, 
  win32/cc++/config.h: HAVE_SSTREAM #ifdefs
- src/simplesocket.cpp, include/cc++/socket.h, src/Makefile.am,
  win32/Makefile.gcc, win32/ccgnu2.dsp: added SimpleTCPStream from Mark Millard
- commoncpp2.spec.in, Makefile.am: fixes for correctly building rpms from
  Marcelo Dalmas
- piostream from Daniel E Baumann.
  acconfig.h, configure.in: added --with-piostream configure option.
  new headers in include/cc++/: piostream, pistream, pistream.tcc, postream, 
	postream.tcc, pios, piosfwd, pios_init.h (Makefile.am also updated)
  new sources in src/: pios.cpp, pio_globals.cpp (Makefile.am also updated)
  new demos in demo/: pio.cpp (Makefile.am also updated)
  win32/Makefile.gcc, win32/CCXX2demo.dsw, win32/demo/pio.dsp
  src/private.h, include/cc++/thread.h: added Thread::getThreadID().
- fix (constructor parameters) for serialecho demo from Daniel E Baumann.
- include/cc++/piomanip, include/cc++/Makefile.am, demo/pio.cpp: added 
  manipulators for piostreams from Daniel E. Baumann.
- src/serial.cpp: fixed recursive call in ttystream::close().
- exception construction fix.
- src/port.cpp: fixed TimerPort::getElapsed() Win32 implementation.
- src/thread.cpp:(Win32) sleep(0) replaced with sleep(1) -from Leonard Thornton
- acconfig.h, m4/ost_pthread.m4: removed HAVE_ASM_ATOMIC... checks and defines
  -From Mark Purcell
- thread.cpp: siginstall renamed to sigInstall to match declaration in thread.h
- src/socket.cpp, src/peer.cpp, src/port.cpp, simplesocket.cpp, unix.cpp: 
	before ::connect, change INADDR_ANY to INADDR_LOOPBACK so that it 
	does not crash on Win32.
- include/cc++/socket.h, src/port.cpp: non-blocking outboud tcp	connection
	constructor for SocketPort from Christian Prochnow
- include/cc++/xml.h, src/xml.cpp: rearranged xml related #ifdefs.
- include/cc++/file.h: File::Access and File::Error are now public.
- include/cc++/network.h, src/network.cpp, include/cc++/common.h: new 
	NetworkDeviceInfo class, from Christian Prochnow. netdevices demo.
- acconfig.h, m4/ost_reentrant.m4, include/cc++/exception.h, 
  include/cc++/ftp.h, include/cc++/socket.h, src/exception.cpp, src/ftp.cpp,
  src/port.cpp, src/socket.cpp, demo/tcp.cpp: better error/exception messages
  for socket classes, from Christian Prochnow.
- include/cc++/numbers.h: CCXX_CLASS_EXPORT Time and DateTime.
- include/cc++/digest.h, src/sha.cpp, demo/shadigest.cpp: new SHA1Digest and
	SHA256Digest classes, from Elizabeth Barham.
- src/file.cpp: fixes for open, fetch, update and append methods from 
	Andrew L. Shwaika
- src/ost_check2.m4: added OST_CCXX2_XML, from Ari Johnson.
- include/cc++/thread.h, src/thread.cpp: added support for periodic itimer
	based timers, from Jakob Skov-Pedersen.
- include/cc++/thread.h, src/thread.cpp: added Thread::join, from Jakob
	Skov-Pedersen.
- configure.in, src/Makefile.am demo/Makefile.am, tests/Makefile.am, and
	several source files: added '-Wall -ansi -pedantic' compiling options
	and corrected the warnings that show up, from Albert Strasheim.
- src/thread.cpp: detached threads created with detach attribute.
- src/thread.cpp, include/cc++/thread.h: isDetached() support.
- src/thread.cpp: close fix if deleted, detached threads loose parent.
- demo/thread3.cpp: test whether thread cancel unwinds stack frame and
	calls destructors on auto objects.
- src/dir.cpp, include/cc++/file.h: dir object has close member now.
- include/cc++/socket.h: added InetAddress assignment operator
	from unsigned int, from Mark Purcell and Gerhard Tonn.
- include/cc++/urlstring.h, src/urlstring.cpp: new b64 encode and
	        decode methods for string. From Chad Yates.
- configure.in, src/Makefile.am: added --with-cppunit option and
	WITH_CPPUNIT_TESTS conditional.
- tests/Makefile.am, SampleObject.h, SampleSubObject.h,
	Test_Date.h, Test_Digest.h, Test_Engine.h, Test_SHATumbler.h,
	Test_URLString.h, ccxx_tests.cpp SampleObject.cpp
	SampleSubObject.cpp, Test_Date.cpp, Test_Digest.cpp,
	Test_Engine.cpp, Test_SHATumbler.cpp, Test_URLString.cpp: new
	cppunit based test suite, From Chad Yates.
- win32/CCXX2tests.dsw, win32/tests/ccxx_testsuite.dsp: added
	project file for the new test suite, from Chad Yates.
- tests/Test_TCPStream.h, tests/Test_TCPStream.cpp: new test, from Chad Yates.
- include/cc++/socket.h, src/socket.cpp: new read and write methods for socket,
        and new getInterfaceIndex and join (with interface specifier)
	methods, from Donald Wycoff.
	
From Common C++ 2 1.0rc2 to 1.0.0
- Added timeout optional parameter to TTYStream and URLStream constructors.
- include/cc++/strchar.h: removed deprecated and unused #include <strstream>.
- rpm specs updated to build optional extras package and devel package.
- include/cc++/ftp.h, src/ftp.cpp: fixed namespaces.
- src/url.cpp: more improvements from Norbert Koch. removed #include <strstream>
- template/template.h: removed cc++/string.h and cc++/objkeys.h (missing)
- Other fixes so that all templates compile.
	
From Common C++ 2 1.0rc1 to Common C++ 2 1.0rc2
- url.cpp split between url.cpp and urlstring.cpp; urlstring.cpp part of
  libccgnu2.
- ccgnu2-config reports version as "1.0.0" to fix problems with config
  scripts.
	
From Common C++ 2 0.99.7 to Common C++ 2 1.0rc1
- updated mingw32 support from Frederico!
- post updates for even better mingw32 builds...
- all win32/posix sources merged.
- new ccgnu2.dll and ccext2.dll split dll build.
- include/cc++/digest.h: CRC32Digest exported for dll's
- include/cc++/xml.h, src/xml.cpp: XMLRPC fixed and improved with patches 
  from Norbert Koch. Now uses the newer <sstream> rather than <strstream>.
- include/cc++/digest.h, include/cc++/slog.h: removed unused <strstream> -nkoch
- src/mempager.cpp: added std namespace to endl -nkoch
- include/cc++/misc.h: used the [] version of delete -Mike Suchoff
- some persist patches from Pierre Bacquet.
- PersistException now derived from Exception.
- XML support, demo and tests workspaces for MSVC++.
	
From Common C++ 2 0.99.6 to Common C++ 2 0.99.7
- slight restructure of libs and we make sure -lc_r is inserted for 
  FreeBSD
- support --with-pthread= option to specify pthread library directly.
- support for new pthread flag and function tests
- support for virtual i/o methods in URLStream for possible async i/o
  override.
- win32 serial support from Leonard Thornton.
- serial i/o can be overloaded for async i/o methods.
- added --with-linuxthreads option for FreeBSD with Linux threads support.

From Common C++ 2 0.99.5 to Common C++ 2 0.99.6
- fix for freebsd build and ports
- addition of kdevelop project
- added getCount to Keydata
- added configure --with-ftp option
- fix for FreeBSD segfault when destroying main thread!
- cygwin dll builds now work automatically with latest cygwin!

From Common C++ 2 0.99.4 to Common C++ 2.0 0.99.5
- fixed memory leak in thread creation?
- fix small bug in regression test.

From Common C++ 2 0.99.2 (2pre2) to Common C++ 2 0.99.3 (2pre3)
- fixed compile with STLport (tested on Linux and FreeBSD)
- use only needed include (including all cause some problem with gcc 2.95.3)
- compile getopt_long if not available
- SocketService now work on win32
- Removed global sleep and yield
- Make Thread::sleep and Thread::yield static members
- fixed bug in StringTokenizer
- Added constructor to PosixThread
- used private implementation for Thread
- removed global ccxx_sleep and ccxx_yield
- made Thread::sleep and Thread::yield static member
- Fixed bug on cygwin

From Common C++ 2 0.99.1 (2pre1) to Common C++ 2 0.99.2 (2pre2)
- cleanup of URLStream
- fixed buffer overflow in Socket::readLine
- fixed buffer overflow in b64Encode
- new base64 function
- fix timeout hang using URLStream
- fixed socket duplication for win32 
- fixed handle leak in thread (win32)

From GNU Common C++ 1.9.5 to GNU Common C++ 2 0.99.1 (2.0pre-1)
- new "common.h" master include file to simplify library use.
- contributed unix socket i/o class.
- fixed memory leak when calling getThread from non Common C++ thread.
- updated some documentation
- put some global enum inside class (URLStream and Thread)
- implement SocketPort/SocketService in win32
  (not stable, test required)
  (ReadFile on anonymous pipe is blocking... it not work)
- getThread in win32 now alloc a new Thread class
- correct Thread::isRunning behaviour in win32
- start implementing THREAD_CANCEL_MANUAL on win32
- other minor fix on win32 implementation of Thread
- Anad Narwi's url interface binding patch.
- fix for some problem with Solaris and some version of g++
- fix for detecting atomic operations on no i386 machine
- made some automatic regression tests (tests directory)
- fix md5 calculation on 64bit machine (like alpha)
- fix some buffer overflow on base64 encoding
- fix memory leak and signal registering problem on Thread class
- many other small fixes
- written a coding style convenction (see doc/developer/CodingStyle)
  and applied to code (this broken compatibility with old cc++1)
- change include method assusing uniqueness (<cc++/xxx.h> even for cc++2)
- added a common.h header to include all stuff of cc++ with a single include

From Common C++ 1.9.4 to 1.9.5
- xml.h header fixes.
- some fixes from Vladimir Kokovic.
- new "win32/Makefile.gcc" to build mingw32 cross targets.
- lots of changes for suspend and such from Freddy.
- some AIX cleanups from Bernhard Tummer.

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. 




