From Common C++ 1.7.2 to 1.7.3
- missing dccp demo apps and socket exceptions added.

From Common C++ 1.7.1 to 1.7.2
- missing server accept constructor for DCCP sockets.
- fix ThreadQueue win32 compile error
- update test
- missing get{Tx,Rx}CCID methods for DCCP sockets.
- fix wrong type for setCCID method
- demo app for dccp sockets

From Common C++ 1.7.0 to 1.7.1
- const fix from Marty Jack.
- memory leak fixed for ThreadLock.
- dccp socket support contributed by Leandro Melo de Sales and David Sugar.

From Common C++ 1.6.4 to 1.7.0
- Pedantic code cleanup.
- Some fix for multicast.

From Common C++ 1.6.3 to 1.6.4
- New library naming policy for RPM packages

From Common C++ 1.6.2 to 1.6.3
- Debian patches applied upstream
- Some code cleanup

From Common C++ 1.6.1 to 1.6.2
- fix pointer.h for recursive/multiple include
- dsp files updated.

From Common C++ 1.6.0 to 1.6.1
- some fixups for mingw32 based builds

From Common C++ 1.5.9 to 1.6.0
- patch for ThreadQueue from Angelo Naselli
- patch for LinkedDouble from Sergio Repetto, changed abi.

From Common C++ 1.5.7 to 1.5.9
- changes for make-in-place builds
- a few gentoo patches, such as for --as-needed build link option and for
  gnutls/openssl selection

From Common C++ 1.5.6 to 1.5.7
- fix for w32 overlapped serial i/o from Thomas Pfaff
- downstream gcc 4.3 and isRunning fix from Mark Purcell
- sha digest cleanup

From Common C++ 1.5.5 to 1.5.6
- visibility for shared library symbols
- upstream debian patches

From Common C++ 1.5.4 to 1.5.5
- missing lz in ccext2.pc, ssl/zstream links for libccext2 in 
  src/Makefile.am

From Common C++ 1.5.3 to 1.5.4
- hi resolution and monotonic timers for TimerPort
- TimerPort synchronized sleep
- Mingw compile fix for ll consts in epoch calculation
- Angelo Naselli's revised timed buffer thread queue
- other minor patches and fixes, code cleanup
- fixes for mingw32 (cross compile) targets and building dll's
- fix for relative build path in configure

From Common C++ 1.5.2 to 1.5.3
- some code cleanup of operators and const members
- removal of -local-data hook in main Makefile for ease of 
  cross-compiler use

From Common C++ 1.5.1 to 1.5.2
- fix for include path passed in .pc files.
- small Solaris patch

From Common C++ 1.5.0 to 1.5.1
- gnutls support used for SSLStream

From Common C++ 1.4.3 to 1.5.0
- added IPV4/V6Cidr objects for use in routing policies.
- removed libxml2 wrapper option so we can better focus on Common C++'s
  built-in sax parser.
- addition of "clean" MemPager protected member, used by Keydata to
  assure dynamic object behavior is correct and non-leaking.

From Common C++ 1.4.2 to 1.4.3
- fix for getThread id if priv is NULL.
- fix for extern "C" of handlers and types.
- fix for keydata loadPrefix for w32.
- use readData/writeData for overflow/underflow in TCPStream to allow
  override in SSLStream
- optional introduction of SSLStream class
- new SSLStream class cannot be built substituting gnutls yet because 
  openssl emulation is not thread-safe and so class must be rewritten 
  explicitly for gnutls.  Hence for now ssl is disabled by default
- one small change to w32 serial

From Common C++ 1.4.1 to 1.4.2
- fix for possible race condition in detach
- fix for url.get with relocated objects without path
- use of MSG_NOSIGNAL in ::send( to avoid signals with disconnect
- a fix for mingw32 and file.cpp

From Common C++ 1.4.0 to 1.4.1
- set etctest correctly for posix targets with forced sysconfdir.

From Common C++ 1.3.26 to 1.4.0
- Templates no longer DLL export managed.  Explicit DLL interface instanciation 
  is now recommended instead for building native .dll's with templates 
  on broken Microsoft compilers.
- export templates cleaned up and __EXPORT_TEMPLATE added
- RefPointer and RefObject classes for reference count managed objects
- LinkedSingle and LinkedDouble self managing linked list classes
- MapTable and mapObject classes for managed hash indexes
- Some convenience functions for keydata
- conditional build for extras library
- isRealtime check for thread priority management
- moved templates into main header

From Common C++ 1.3.25 to 1.3.26
- page request overflow triggers abort.
- small code cleanups.
- keydata uses bigger default paging for >32 bit pointers.
- new errLockFailure indicator for Thread shared files.
- added exception handling for SocketService and SerialService constructors.

From Common C++ 1.3.24 to 1.3.25
- fix for XMLRPC
- bindings for templates in dll's

From Common C++ 1.3.23 to 1.3.24
- persistance engine exceptions unified

From Common C++ 1.3.22 to 1.3.23
- fix for std:: in mutex.cpp.

From Common C++ 1.3.21 to 1.3.22
- some fixups for casting for w32.
- new spec file...
- small fix for socket writeData and url parsing.
- allow SO_REUSEADDR in w32...
- fix w32 socket disconnect.
- _POSIX_PTHREAD_SEMANTICS defined before signal.h
- freebsd6 nat fix
- improvements in generated documentation

From Common C++ 1.3.20 to 1.3.21
- use ios header for gcc atomics
- spec file fixed
- fix for null keys for Keydata loadFile

From Common C++ 1.3.19 to 1.3.20
- fix for pthread platforms with expiration....
- always explicity set protocol numbers for tcp & udp
- fix for some header inlines and define checks...

From Common C++ 1.3.18 to 1.3.19
- fix w32/Makefile.bcc error in clean target when -DBMODE=DEBUG
- fix tests/thread1.cpp to compile with Microsoft Visual C++ 6.0
- fix Microsoft build file line end convention from -kb to -ko
- fix for w32 TCPSession connect issue
 
From Common C++ 1.3.17 to 1.3.18
- fix for w32 platform sdk/ipv6 dependencies and entanglements from Pino
- fix for Borland w32 from Pino

From Common C++ 1.3.16 to 1.3.17
- freebsd nanosleep define fix

From Common C++ 1.3.15 to 1.3.16
- inline header fix.

From Common C++ 1.3.14 to 1.3.15
- dupString added as alias to newString.
- parent notify disabled, in case parent already deleted, will be fixed
  later by using tids...

From Common C++ 1.3.13 to 1.3.14
- some fixups for AIX and Visual Age C++.

From Common C++ 1.3.12 to 1.3.13
- fix for automake generated install of ccgnu2-config.
- important fix for string class from Migel Nick.
- setUpper/setLower added.

From Common C++ 1.3.11 to 1.3.12
- some stuff for fussy compilers.
- fix for w32 setting of active thread id.
- better deadlock debugging support
- mutex deadlock trace support added for win32.

From Common C++ 1.3.10 to 1.3.11
- socket public inheritence for SimpleTCPStream.

From Common C++ 1.3.9 to 1.3.10
- fix for macosx 10.4

From Common C++ 1.3.8 to 1.3.9
- fix for socket.cpp from Uwe Buchholz
- fix for suspend/resume and exchange atomics..

From Common C++ 1.3.7 to 1.3.8
- fix for missing mime.cpp

From Commom C++ 1.3.6 to 1.3.7
- start of MIME multipart support
- seperate test for mlock()
- better support for w32 vs6 with platform sdk installed; ipv6 now enabled!

From Common C++ 1.3.5 to 1.3.6
- fix for w32 gettimeofday implimentation.

From Common C++ 1.3.4 to 1.3.5
- fix critical bug in assoc getPointer().
- alternate keydata constructor.

From Common C++ 1.3.3 to 1.3.4
- detached thread exiting cleanup (posix).
- fix for more general case multicast when no interface binding on posix.
- GNU/Hurd target support.

From Common C++ 1.3.2 to 1.3.3
- multicast support for w32 platform from dmcamens patch.
- kill final delete this in TCPSession and add virtual destructor.
- added virtual destructor for TTYSession, UnixSession

From Common C++ 1.3.1 to 1.3.2
- fix for keydata exit close on non-opened objects.
- string.h pragma pack wrapped.
- pkgconfig fix for libccext2.pc.
- gcc atomics patch
- HAVE_SNPRINTF defined for docs
- posix getValue for semaphore removed.

From Common C++ 1.3.0 to 1.3.1
- serialization of pairs...
- run-list non-blocking callback semaphore-like operation class
- fix for demo tcpservice
- fix for TTYStream underflow.
- fix for missing overlap on strlcpy/strlcat
- two level /etc check
- security fix; keydata config file paths can no longer be "relocated"
  through environment manipulation!  "CONFIG_KEYDATA" env gone!
- security fix; config files must be root owned or match process uid
- virtuals no longer have inline defs
- update to change exception notice to match GNU libstdc++ runtime exception.
- named assoc misc base class.

From Common C++ 1.2.4 to 1.3.0
- separation of tested Common C++ compile options from passed CXXFLAGS
- Buffer class moved into base library
- getopt moved to ext library
- Buffer, sockt streaming, and xml 64 bit clean...breaks prior signatures
- new compressed stream classes
- use of conditional to impliment posix semaphore class!  Timed 
  semaphore support in both win32 and posix.
- system-wide Lockfile class.
- killed old fifo class.
- new memory locking options for MappedFile.
- more portable process system / resource info functions
- portable lastAccessed and lastModified functions
- better support for posix realtime extensions
- some tru64 configure issues resolved
- all uses of signal use Process:: based signal classes build from 
  sigaction rather than default "signal()" function, hence behavior
  is known and consistent.
- hpux loader fix
- start of transitional interface to using getaddrinfo and char strings
  for fast connection lookup.  Eventually all classes will use this 
  method by 1.4.0 (as well as retaining current methods by addr object).
- odd tcpstream class family gone; TCPStream can now be used same way.
- demo apps updated for new interfaces
- socketport moved to ccext2
- greater flexibility in use of Keydata objects and new keydump demo app.
- StringTokenizer moved to ext library
- tcp streaming rewritten to make use of segment sizing and buffering.
- local build instance defaults can be in ~/.configure.
- MemPagerObject and StringObject added to live in pager memory.
- DirTree added to walk recursive directory structures quickly.
- StackPager to cache objects.
- new OST_CCXX2_CHECK macro for cleaner autoconf/automake interface.
- support of IPV6 for w32 target when built native from vs.net.
- windows registry support for keydata.
- updated for latest FreeBSD, OpenBSD, and NetBSD.

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. 




