From Common C++ 2 1.0.12 to 1.0.13
- automatic build of darwin second stage link when target is darwin
- fixups for newer automake

From Common C++ 2 1.0.11 to 1.0.12
- fixed broken thread destructor.

From Common C++ 2 1.0.10 to 1.0.11
- src/date.cpp: Datetime constructor initialization, use of strftime
- acconfig.h: eliminate msvc warning about 'this' in base
- src/urlstring.cpp: urlDecode was broken for hex decoding!

From Common C++ 2 1.0.9 to 1.0.10
- src/date.cpp: buffer adjustment and date exceptions, from Marcelo Dalmas.
- m4/ost_dynamic.m4, src/dso.cpp: hp/ux shl_load dynamic loader support.
- extensive changes for macosx/mach dynamic loader support (still in progress).
- src/keydata.cpp, include/cc++/misc.h: macosx cannot initialize a static
  fstream with default constructor directly.  cfgFile now dynamically
  created on first use.
- m4/ost_dynamic.m4, src/ost_check2.m4: detection and passing of alternate
  module build flags for making plugins on mach/macosx since libtool -module
  does not use the correct link flags for c/c++ plugins.
- added HAVE_GETOPT for systems with a valid getopt in a standard 
  library, but have no gnu getopt_long.
- include/cc++/slog.h, demo/slogTest.cpp: new shortcut abbrivation members
  to simplify use of slog.
- very bizzare MACOSX dynamic linking issue; this can be resolved by
  using the "macosx" target to manually force a second stage link in the
  src directory without requiring changes to application source.  The
  libtools supplied by Apple doesn't know how to do this automatically.
- src/socket.cpp: (Socket::getSender): fix for Win32 - check if WSAEMSGSIZE 
  is reported, and ignore that error (borrowed from the socket error/exception
  handling code in cc++ 1.1).
- acconfig.h, src/socket.cpp: FreeBSD 5.x strangeness...
- include/cc++/socket.h: UDPReceive::getReceiver made const.
- include/cc++/digest.h, src/sha.cpp: fix for ms vc++ operator<< ambiguity, 
  from Elizabeth Barham.
- include/cc++/numbers.h, src/date.cpp: declare as const methods of Date,
  Time and Datetime
- src/ftp.cpp: (FTPSocket::get): fixed windows portability bug when opening
  output stream, from Alex Waggershauser.
- configure.in: must add AC_PROG_CC for newest automake (1.5) and autoconf
  to work correctly; else fails to build conftest.c.  Very strange but true. 
- src/keydata.cpp: ability to verify open broken on ifstream in freebsd 
  and macosx, so now we depend on canAccess.
- include/cc++/numbers.h, src/date.cpp: more operators for Datetime, and 
  missing implementation of Datetime(time_t tm), from Marcelo Dalmas.
- src/thread.cpp: added joinSem.post() to Thread::close(), and fixed win32
  implementation of Thread::terminate() (delete priv).
- include/cc++/misc.h: fixed memory leak in 
  StringTokenizer::iterator::operator=
- src/ftp.cpp: (FTPSocket::DirEntry::parse): fix for borland c++, from
  Axel Waggershauser.
- src/getopt.c, src/getopt1.c: use cc++/config.h instead of config.h, to
  avoid failing at '#include "@thrprefix@/thread.h"'
- test/unixio.cpp: added for bug investigation and future unix socket i/o 
  test.

From Common C++ 2 1.0.8 to 1.0.9
- lockf fixes for MACOSX support.
- semaphore fixes for MACOSX support.
- updated configure for macosx and to locally build getopt when missing.
- acconfig.h, m4/ost_posix.m4: #define __EXTENSIONS__ to 1, from 
  Kristopher Spinka.
- acconfig.h, m4/ost_signal.m4, m4/ost_socket.m4, include/cc++/thread.h:
  patch for compiling cc++ on Cywgin, from Makino Takaki.
- win32/install.bat: install template headers.
- src/sha.cpp: fix for SHA, from Elizabeth Barham.
- src/thread.cpp: Thread::join put outside #ifndef WIN32
- include/cc++/numbers.h, src/date.cpp: fixes for a Time assignment
  operator and the fromSeconds method. Do not get two different 
  times in Datetime default constructor. From Marcelo Dalmas.
- src/date.cpp: namespace and include fix for when --enable-debug is 
  specified.
- src/date.cpp: recognize date formats like 20030129, from Marcelo Dalmas.
- src/network.cpp: fix for the SIOCGIFMTU ioctl call on Solaris 2.8, from
  Craig E. Johnston.
- src/xml.cpp: replace #warning with #pragma warning, which is ANSI and
  does not make VC++ complain.
- include/cc++/urlstring.h, src/urlstring.cpp: new b64 encode and
  decode methods for string. From Chad Yates.
- include/cc++/common.h: fixed so that it can be included when xml classes
  are not defined, from George T. Talbot.
- src/socket.cpp: fix for win32 compiles.
- 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. (read/write renamed to readData/writeData)
- include/cc++/socket.h, src/inaddr.cpp: added InetAddress::hostname, 
  which holds the host name returned by gethostbyaddr.
- src/keydata.cpp: fixed StringTokenizer constructor (_skipAll data member).

From Common C++ 2 1.0.7 to 1.0.8
- src/sha.cpp: fix for mingw32
- src/file.cpp: fixes for open, fetch, update and append methods from 
	Andrew L. Shwaika
- acconfig.h, m4/ost_pthread.m4: fix for declaration of nanosleep.
- general code cleanup.
- src/ost_check2.m4: added OST_CCXX2_XML, from Ari Johnson.
- include/cc++/digest.h: added dll exports.
- include/cc++/process.h: exported.
- 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, 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/date.cpp: (Date::fromJulian): fixed conversion algorithm, from Marcelo 
	Dalmas
- doc/fdl.texi, doc/fdlnotice.texi: updated to FDL 1.2.
- doc/commoncpp2.texi: added David's explanation on GPL + linking exception
- src/keydata.cpp: (Keydata::loadPrefix) strcpy $HOME replaced with strncpy to
	avoid buffer overflows, from Gernot Hillier.
- src/ost_check2.m4: more explicit notice when cc++ 2 is missing.
- src/md5.cpp: (MD5Digest::initDigest): fixed initialization bug, from Chad 
	Yates.
- src/date.cpp, include/cc++/numbers.h: fixes for Date, from Chad Yates.
- src/thread.cpp: detached threads created with detach attribute.
- src/thread.cpp, include/cc++/thread.h: isDetached() support added.
- src/thread.cpp: detach looses parent link, close clean for self delete.
- include/cc++/socket.h: added InetAddress assignment operator
	from unsigned int, from Mark Purcell and Gerhard Tonn.
- doc/Doxyfile, doc/Doxyman, doc/Makefile.am, doc/cc++/config.h:
	do not use specific config.h for Doxygen.
- Makefile.am, include/Makefile.am, include/cc++/Makefile.am,
	tests/Makefile.am, m4/Makefile.am, ssl/Makefile.am : fixes for
	MAINTAINERCLEANFILE from Albert Strasheim.
- src/urlstring.cpp: fix for b64Encode, from Chad Yates.
- src/serial.cpp: fix for Mac OS X, from Ian Gough.
- include/cc++/socket.h: (~TCPStream): avoid recursive exceptions,
	from James Georgas (Savannah Patch #965).
- include/cc++/process.h: added note on spawn differences between
	posix and win32, suggested by Ian Gough.
- src/fifo.cpp, src/semaphore.cpp: use Thread:: for throwException/Object.
- m4/ost_pthread.m4, acconfig.h, src/thread.cpp: added compile
	check for sched_getscheduler.
- m4/ost_socket.m4, src/network.cpp: include sys/sockio.h when available.
- acconfig.h: added socklen_t declaration when missing.
- src/date.cpp: patch to handle dates like "mm/dd", "yy/mm/dd" and
	"yyyy/mm/dd", and date-times like "mm/dd hh:mm", "yy/mm/dd hh:mm",
	"yy/mm/dd hh:mm:ss" and "yyyy/mm/dd hh:mm:ss", from Marcelo Dalmas.
	
From Common C++ 2 1.0.6 to 1.0.7
- socketport attach() stuff.
- include/cc++/digest.h, src/sha.cpp, demo/shadigest.cpp: new SHA1Digest and
	        SHA256Digest classes, from Elizabeth Barham.
- "COMMON_NET_DEVICES" check for new net devices support.
- Fixed IMPLEMENT_PERSISTENCE macro typo
- Persistence of stl deque
- The << engine uses const references instead of pointers.
- The >> engine can load into an instance, an uninitialized
  pointer to the class, or a pre-initialized pointer (it
  recognizes the object type and handles it appropriately.)
- modularized and re-organized read functions to handle the
  specifics of the above object types.
- documented the fact that persistable objects must never
  maintain non-null unallocated pointers.
- added additional documentation to clarify things here and
  there.
- src/process.cpp: #include <cstdio> for snprintf on solaris.
- include/cc++/network.h, src/network.cpp, include/cc++/common.h: new 
	NetworkDeviceInfo class, from Christian Prochnow.
- demo/netdevices.cpp, win32/demo/netdevices.dsp: added netdevices demo.
- include/cc++/numbers.h: CCXX_CLASS_EXPORT Time and DateTime.
- include/cc++/network.h: CCXX_EXPORT enumNetworkDevices. Fixed Win32 impl.
- src/port.cpp: fixed a SIGSEGV in the SocketPort outbound
	tcp-constructor when connection does not complete immediately.

From Common C++ 2 1.0.5 to 1.0.6
- thread.cpp: siginstall renamed to sigInstall to match declaration in thread.h
- 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.
- FreeBSD build fixes for automake 1.5.1.
- include/cc++/file.h: File::Access and File::Error are now public.

From Common C++ 2 1.0.4 to 1.0.5
- fix for date.cpp under win32 native build.
- small throw fixes.

From Common C++ 2 1.0.3 to 1.0.4
- exception construction fix.
- 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.
- xml push parser patch.
	
From Common C++ 2 1.0.2 to 1.0.3
- fixed a bug in this ChangeLog :)
- commoncpp2.spec.in, Makefile.am: fixes for correctly building rpms, from
  Marcelo Dalmas
- fix (constructor parameters) for serialecho demo from Daniel E Baumann.
- different versions of autoconf/automake will creatr and use very 
  different working file sets in "config".  For this reason, we need a 
  config/Makefile.am and cannot hardcode these files in the main 
  Makefile.am.
- src/serial.cpp: fixed recursive call in ttystream::close().
- small fix for older gcc systems.
- src/port.cpp: fixed TimerPort::getElapsed() Win32 implementation.
	
From Common C++ 2 1.0.1 to 1.0.2
- doc/commoncpp2.texi: replaced @verbatim (only supported in TeXInfo >=4.1)
- 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
	
From Common C++ 2 1.0.0 to 1.0.1
- include/cc++/socket.h: doc. updated to new constants and Win32 implementation
- src/xml.cpp: bug fixes from Norbert 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 also incorporated
  into 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.
- new "common.reg" keyfile for win32 registry.  This may be used for a
  default "CONFIG_KEYDATA" setting later...
- src/url.cpp: small fix from David Genest.
	
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. 




