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 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 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. 




