Changes from 7.0.0 to 7.0.1
- small cmake fixes, improvements for bsd support
- stdalign.h not used
- supports openssl > 1.0.x
- lots of code cleanup for modern distros and compilers
- Modernize cmake, add dist target
- Spec files cleanup for 7.0.1
- Debian downstream patches added

Changes from 6.6.0 to 7.0.0
- clean new library abi 8.0
- atomic typeref system completed, matches tychomt spec
- c++11 support completed
- deprecated functions and templates removed
- deprecated modules (xml, persist) moved to commoncpp

Changes from 6.5.7 to 6.6.0
- introduced rsa key support
- expanded hmac support
- expanded digests for sha256 and 384
- reword of common digest code
- improved nullptr clang support
- remove clang forced c++11 from build
- check for openssl rsa support
- port types for 7.0 migration
- socket addresses for typeref
- further c++11 header fixes
- removed old ssl demo app

Changes from 6.5.6 to 6.5.7
- improved c++11 support
- mapped pointer introduced
- fixed is usage
- improved mapref remove

Changes from 6.5.5 to 6.5.6
- simplified arrayref
- added listref
- map iterators thru locked instances
- type standardization
- socket address type

Changes from 6.5.4 to 6.5.5
- more portable nullptr support
- thread-safe mapref class
- some typeref convenience types
- bit operations on byterefs

Changes from 6.5.3 to 6.5.4
- secure string and key management types
- better cleanup of secure objects
- file i/o for heap temporary

Changes from 6.5.2 to 6.5.3
- arrayref now uses ConditionalAccess, fix for Conditional

Changes from 6.5.1 to 6.5.2
- memory management cleanup and mingw32 support for native conditionals
- new methodology of having getaddrinfo allocate memory
- introduction of queueref and stackref; arrayref becomes useful
- typeref concatenation operators

Changes from 6.5.0 to 6.5.1
- thread shared references added

Changes from 6.4.4 to 6.5.0
- typeref expanded
- arrayref introduced
- nullptr and other c++ modernizations
- clang now defaulted to c++11
- minimum native windows now requires conditionals
- mingw has to use win32 pthread support
- somewhat more usable heap temporary templates

Changes from 6.4.3 to 6.4.4
- additional typeref operators

Changes from 6.4.2 to 6.4.3
- fix for broken windows setuid macro

Changes from 6.4.1 to 6.4.2
- solaris related cmake fixes
- cleanup of test build and osx fixes

Changes from 6.4.0 to 6.4.1
- keyfile fixed constructor issue

Changes from 6.3.6 to 6.4.0
- new typeref system for immutable atomic reference counted objects
- heap management objects support moving heap through assignment
- extended unit tests for typeref system
- improved openbsd support
- atomics enabled by default

Changes from 6.3.5 to 6.3.6
- code cleanup
- simulate option for scrub
- set newline style for cmake genorated files

Changes from 6.3.4 to 6.3.5
- general code cleanup
- some build fixes

Changes from 6.3.3 to 6.3.4
- improved atomics support
- configure atomics default matches cmake default
- general code cleanup
- more casting operations and cast fixups
- polymorphic casting support & rtti detection
- enclose random value templates in Random
- improved rng support

Changes from 6.3.2 to 6.3.3
- improved cipher key management
- b64 support improved and string hex conversions
- simplified digest functions
- some solaris fixes

Changes from 6.3.1 to 6.3.2
- fixed a broken streambuf for commoncpp
- deref cast function added
- fixed missing pkg-config

Changes from 6.3.0 to 6.3.1
- copyright assignment to Cherokees of Idaho
- introduction of ucommon cmake hosted macros
- simplified doxygen doc support
- convergence of automake and cmake builds
- make utils easier for source introspection
- converted for cmake builds on debian
- count for String::check should be size_t
- string bounds checking

Changes from 6.2.3 to 6.3.0
- remove legacy cmodel support
- modernize library usage
- simplify autoconf and cmake
- introduce sysruntime...
- cleanup memory operators....

Changes from 6.2.2 to 6.2.3
- a few socket fixes, mostly windows related...

Changes from 6.2.1 to 6.2.2
- bumped gnutls to 3.0.0 or later...
- lots of bug fixes and general cleanup
- socket endian issues and other things for ccrtp
- templated newp and freep handle management

Changes from 6.2.0 to 6.2.1
- datetime: fix const inconsistency
- fsys: cached error variable must be mutable
- replacment new/delete cannot be declared inline
- fix exception specifier clash for c++11

Changes from 6.1.11 to 6.2.0
- standardized cmake paths and stand-alone usages
- gnutls support in cmake
- unified openssl checks, even works for windows
- improved openssl support, new static crypto option
- pkgconfig usable in win32, other win32 fixes
- fixes for mac build & optional disable of utils
- upticked abi version to 7, should have happened with 10/11?

Changes from 6.1.10 to 6.1.11
- any addr and overloads in commoncpp
- cmake abi fix and other apple specific issues
- stream fixes, sflphone recommended changes, and other updates
- key protocol added
- cleaner build for binding without resolver
- cleanup and fixes for commoncpp peering...
- UDPSocket: use ucommon::Socket::address
- Socket::address: add setAny(sockaddr*), setLoopback(sockaddr*)

Changes from 6.1.9 to 6.1.10
- for next release
- iso cleaness
- Fix memory leak in DateTime ctor
- Fix utf8::count()
- secure::erase() should be more secure

Changes from 6.1.8 to 6.1.9
- ost::Socket: use ucommon::Socket for join(), drop() implementations
- back to native threading model for mingw
- Socket::store: use existing len method
- Socket::address: allow printing to std::ostream
- Socket::address: use in_port_t for port numbers
- Socket::join, ::drop: allow to set interface index for IPv6

Changes from 6.1.7 to 6.1.8
- mingw libstdc++ c++11 support now requires winpthread
- more android related updates

Changes from 6.1.6 to 6.1.7
- lots of android related updates

Changes from 6.1.5 to 6.1.6
- some windows and mingw fixes
- Socket::address::print(): minor fixes
- Socket::address: fix constructor documentation
- Socket::address: add unit tests for print()
- Socket::address: add print() method
- Socket::address: add withPort()
- Socket::address: add constructors from standard addr types
- Socket::address: use existing len() method.

Changes from 6.1.4 to 6.1.5
- key merge on load for 6.1.5

Changes from 6.1.3 to 6.1.4
- lots of namespace usage cleanup
- Socket::address: add unit tests for new features
- Socket::address: add isAny, setAny, isLoopback, setLoopback, any, loopback
- Socket::address: convert port to network byte order
- ost::Socket: add compatibility with ucommon::Socket::address
- we don't want commoncpp configs if no lib made
- Socket::address: add equality operator, getPort, setPort, getSize
- improved cmake and added srpm, todo make targets

Changes from 6.1.2 to 6.1.3
- revised unixaddr buffer overflow issue

Changes from 6.1.1 to 6.1.2
- updated contacts, fsf address, and copyright
- revised cmake build
- added setgroups

from ucommon 6.1.0 to 6.1.1
- module flag support for older commoncpp packages
- fix for commoncpp pc file
- some additional original classes mapped to commoncpp
- default Semaphore constructor now valid special case

from ucommon 6.0.7 to 6.1.0
- small fixes based on notes from Tristan
- exception behavior is changed (fixed) for commoncpp
- keywait utility added

from ucommon 6.0.6 to 6.0.7
- error state in fsys open fixed
- fsys error reset inline added

from ucommon 6.0.5 to 6.0.6
- small cleanup of useless validator assignments
- fix gnutls casting and warnings
- modernized automake support

from ucommon 6.0.4 to 6.0.5
- additional constructors to pass pre-allocated memory

from ucommon 6.0.3 to 6.0.4
- fix for address list comparison issue

from ucommon 6.0.2 to 6.0.3
- fixes for older gnutls releases

from ucommon 6.0.1 to 6.0.2
- digest stream operators
- auto memory erasing keystring and keyrandom template
- common code shared for secure library
- some fixes for gnutls support

from ucommon 6.0.0 to 6.0.1
- fixes for gnutls support
- elimination of gcrypt in gnutls

from ucommon 5.5.1 to 6.0.0
- new version 6 api
- fixed string + concat operation
- made StringPager proper base class by naming conventions
- new device access mode and name checking for fsys
- fbuf refocused on process pipe and device access
- more consistent abi naming conventions
- depreciated methods removed
- access base classes now consistent with protocols
- reorg of datetime classes
- allocation and access fault handling

from ucommon 5.5.0 to 5.5.1
- regex checks also for lib, mingw support
- pedantic cleanup of mingw
- anaselli fix for applog and pipes

from ucommon 5.4.3 to 5.5.0
- mapof and listof added
- semaphore default for commoncpp set to 0
- simplify config, no longer separate stdlib and compat
- resolved issues with XOPEN_SOURCE and broken BSD headers
- many mingw 32 and 64 bit fixes, build fixes for out of source binary builds

from ucommon 5.4.2 to 5.4.3
- fixes for supporting ancient gcc compilers (at least >=2.96!)
- bug in Conditional gettimeout, stack and queue suggested by Pollak

from ucommon 5.4.1 to 5.4.2
- fixes for older gcc builds and template issues.
- bugfix for ConditionalAccess constructor.
- bugfix for commoncpp address functions.

from ucommon 5.4.0 to 5.4.1
- fixes for windows build.

from ucommon 5.3.0 to 5.4.0
- cleanup for ide use.
- NamedList sort uses system collation.
- some convenience string methods added.
- search and replace, regular expression support.
- UString extended with copy/cut/paste/left/right operations.
- stringpager extended with set/replace method and split.
- added fsys::pipe and fsys::noexec.
- removed unused pipeio subsystem.

from ucommon 5.2.2 to 5.3.0
- sort specific string collation functions added
- more stringpager manipulations possible
- use of stringlist_t for new fsys exec.
- string inpuit and output for bufpager.

from ucommon 5.2.1 to 5.2.2
- use strcoll for sorting when possible
- common c++ object linking, maps, and ref counted pointers added back
- stringpager supports ordered add and sorting
- directory pager and list type added
- no -L or -I paths in default installs (multi-arch issue)

from ucommon 5.2.0 to 5.2.1
- fixed issue with static linking initialization order
- shell release method

from ucommon 5.1.2 to 5.2.0
- improved shell::detach support and new pdetach utility
- fsys generic basic file operations
- commoncpp file and dso compatibility support added

from ucommon 5.1.1 to 5.1.2
- corrected copyright.  since cc libs were moved to bayonne and commoncpp
  had been added, ALL of ucommon (including commoncpp2) are L-GPL, not just
  the "core" library.
- more standardized manpages

from ucommon 5.1.0 to 5.1.1
- better handling of strerror_r support.

from ucommon 5.0.7 to 5.1.0
- Pollak's suggestion for peek method for queue added to queue, stack, buffer,
  and templates.
- new stringpager class to hold simple expanding tables of strings.
- commoncpp strerror_r fix from list.

from ucommon 5.0.6 to 5.0.7
- use debian move xopen forward patch
- joinable thread self-join does cleanup of run state

from ucommon 5.0.5 to 5.0.6
- generic object save/auto-restore.
- separation of shell::error() from shell::errexit(0,...)
- separation of runtime and non-runtime libs
- disable posix_fadvise if header definitions missing (debian kfreebsd bug)

from ucommon 5.0.4 to 5.0.5
- fix for commoncpp emulation when no direct parent commoncpp thread.
- rename scrub to scrub files to avoid name conflict.
- some enhacement in cmake

from ucommon 5.0.3 to 5.0.4
- set without explicit this in templates conflicts with std inherited classes.

from ucommon 5.0.2 to 5.0.3
- specialization to use linked_pointer<struct sockaddr> to walk address lists.
- fix for cmake build of car.
- sockaddr util added to show address resolution lists.

from ucommon 5.0.1 to 5.0.2
- fix for termios support.
- shell getpass and inkey methods.
- extended cipher key management methods.
- crytographic archiver (car) added.
- openssl fips support added.

from ucommon 5.0.0 to 5.0.1
- missing commoncpp/numbers.h header.

from ucommon 4.3.3 to 5.0.0
- thread objects fully inheritable.

from ucommon 4.3.2 to 4.3.3
- service control path added for dropfile info.
- generics dup template added.

from ucommon 4.3.1 to 4.3.2
- cmake unit tests added and automated.
- extensions to mapping, copy and mapped_view get.
- certificate paths now part of usecure.
- sorting and named list issues resolved.

from ucommon 4.3.0 to 4.3.1
- fix for access to keyfile::create().
- new -xxx and +xxx numeric parser option.

from ucommon 4.2.2 to 4.3.0
- shell::path added.
- fsys for descriptor.
- keyfile extended.
- symlink handling in fsys.

from ucommon 4.2.1 to 4.2.2
- reorg how we do cmake path configurations.

from ucommon 4.2.0 to 4.2.1
- proposed barrier dec from Leon.
- added fsys::islink symlink check function.
- keyfile::save method added, registry interfaces.

from ucommon 4.1.7 to 4.2.0
- some clarification of linked object abi.

from ucommon 4.1.6 to 4.1.7
- small fixes in cmake to add includes to projects, etc.

from ucommon 4.1.5 to 4.1.6
- fixed permission of shared memory, now world readable if not umasked.

from ucommon 4.1.4 to 4.1.5
- posix timers have become experimental since seems broken on some platforms

from ucommon 4.1.3 to 4.1.4
- revised cmake for unix builds, fixed cmake bug with non-stdlib

from ucommon 4.1.2 to 4.1.3
- new check for posix timing and monotomic clocking
- thread unit test expanded to verify timed operations

from ucommon 4.1.1 to 4.1.2
- configuration clearification for posix timers
- linkage fix for secure and sstream; no copy constructor

from ucommon 4.1.0 to 4.1.1
- rexlock try method and better thread inheritence
- timer fix for dll linkage, again broken windows
- thread specific storage
- fixes for cmake builds with openssl and intl support
- mingw32, windows header and openssl link issues

from ucommon 4.0.5 to 4.1.0
- security system logging.
- cleanup of cmake.
- clearer idea of what shell::errexit is.
- cleanup of pointer templates, Object pointers now object_pointer, temporary
  is now temporary object, new "generic" smart pointer to be added.
- new containers.h to seperate use of contained resources from thread.h and
  basic threading primitives.
- linked_allocator template added for easy access to a free list managed
  object pool.

from ucommon 4.0.4 to 4.0.5
- smarter openssl search.
- simplified service handling.
- exiting critical handler added.

from ucommon 4.0.3 to 4.0.4
- make it easier to subclass cipher key for special purposes.
- component naming of binaries for combining ucommon with other subprojects.

from ucommon 4.0.2 to 4.0.3
- some changes in file stat macros.

from ucommon 4.0.1 to 4.0.2
- introduction of scrub utility for secure file deletion.
- introduction of mdsub utility for computing file hashes.
- shell::printf always flushes output for console.
- Digest::reset now resets even for cleared contexts.

from ucommon 4.0.0 to 4.0.1
- fix for misnamed library in ucommon-config.

from ucommon 3.4.0 to 4.0.0
- introduction of protocols as abstract bases for mixin classes.
- Socket class tracks last error and has iowait/blocking property.
- Socket int methods return errno() rather than -1 on error.
- buffer protocol created.
- string no longer has dependency on socket.
- ssl and tcp classes reorganized for consistent naming.
- file handling in charfile through character protocol.
- unicode conversions use character protocol.
- templates updated so []'s always emit value references.

from ucommon 3.3.7 to 3.4.0
- simplified to better focus on core runtime mission.
- packaging simplified.
- ccscript moved to bayonne
- ccaudio detached

from ucommon 3.3.6 to 3.3.7
- small change in how ucommon components can be pre-set.
- missing local header for gnutls.

from ucommon 3.3.5 to 3.3.6
- grouping operator for usage help.
- script merge operation by images.
- doxygen generation now supported from cmake, from Angelo Naselli.

from ucommon 3.3.4 to 3.3.5
- make sure gettext is actually buildable before we build with it.

from ucommon 3.3.3 to 3.3.4
- broken sym lookup fixed.

from ucommon 3.3.2 to 3.3.3
- process detach and restart handling.
- more complete string to numeric conversions.
- syms were not initialized in all shell constructors.
- some inline templates that contain generic values redone as typename.

from ucommon 3.3.1 to 3.3.2
- shell debug message logging output.
- restart method to hook debuggers.
- local thread-safe symbol space.

from ucommon 3.3.0 to 3.3.1
- expand args to directory and recursive operations.
- fix cstring initialization.
- set methods to initialize shell options.
- basic logging added.

from ucommon 3.2.2 to 3.3.0
- internationalization bindings with gnu gettext support.
- use shell parser in audiotool code.
- small fixes in shell option parsing.

from ucommon 3.2.1 to 3.2.2
- xml parser for buffered i/o objects and files.
- bidirectional socket descriptor to FILE.
- OrderedIndex reset method.
- numeric format conversion and scanning operator "%".

from ucommon 3.2.0 to 3.2.1
- splitting shell parser so that it is possible to create tool style parsers.
- string hexpack and hexdump functions.
- traditional, random, and digest uuid functions.
- make sure we always ignore pthread/pth if msw targets (fedora mingw32).
- barrier patch from Leon Pollak.

from ucommon 3.1.2 to 3.2.0
- added explicit add and remove for NamedObject to make keymap easier to use.
- created new keypager type to allocate named objects on demand.
- fixed option crash when not defining a long option.
- improved shell header documentation.
- shell spawn and process management functions.
- shell io for buffered pipes and stdio handling.

from ucommon 3.1.1 to 3.1.2
- some attention to the question of padding cipher blocks.
- gnutls can now also be used in place of openssl.
- make sure all keys are destroyed cleanly when secure objects are released.

from ucommon 3.1.0 to 3.1.1
- some attention to the shell functions.

from ucommon 3.0.6 to 3.1.0
- encapuslate select() bit mask operations into select class.
- new read/write based stream methods.
- socket cannot be private in TCPSocket.
- fixed doxygen generated docs, now much more complete.
- introduced new secure library for ssl sockets, digests, ciphers, etc.

from ucommon 3.0.5 to 3.0.6
- optional socks proxy support possible with --enable-socks configure flag.
- new Socket methods to wrap more socket functionality and new init method.

from ucommon 3.0.4 to 3.0.5
- new socket option for nodelay.
- copyright notices fixed for consistency.
- fix for conflict between stream and macros.

from ucommon 3.0.3 to 3.0.4
- buffer purge method added.
- new flush io buffer virtual method.
- buffering support and tcp socket for non-blocking i/o.

from ucommon 3.0.2 to 3.0.3
- new biderectional buffered i/o support added.
- new buffered file and buffered tcp socket classes added.
- bug in ReusableAllocator freelist assignment.
- creation of connected sockets.
- standardized host and service name resolution.

from ucommon 3.0.1 to 3.0.2
- atomic counter and lock class added.
- shell no longer a second class member of ucommon.
- unit tests conditional by component selection.
- audio::init for static linkage issues.
- fsys::trunc method added.
- unicode utf8 file character operations.

from ucommon 3.0.0 to 3.0.1
- bug fix and unit test for queueof.
- initialization template function added.
- small cmake fixes.
- refinement of stackof and queueof templates.

From ucommon 2.1.4 to 3.0.0
- merged ccscript and ccaudio into ucommon core framework.
- extended configuration support for includes and plugins.
- expanded configure for framework component selection.

From ucommon 2.1.3 to 2.1.4
- new utf8_pointer string class and further unicode support.
- new component access api for datetime objects.
- New object containers for object lists, fifo's, and queues.

From ucommon 2.1.2 to 2.1.3
- unicode string support and utf8 string processing.

From ucommon 2.1.1 to 2.1.2
- set() methods for date, time, and datetime added.
- new defines for buffer sizes added.
- new date and time related auto string classes.
- fixups for netbsd and openbsd.

From ucommon 2.1.0 to 2.1.1
- fix for Time string conversion
- size fields for date and time strings.

From ucommon 2.0.8 to 2.1.0
- new abi for fsys seek and drop
- Added NamedTree/treemap copy constructor and changed id behavior
- Improved cmake support using proper build options and adding cpack
- Common use of "eq()" inlines for string and other data types
- fix for lseek (also patched in 2.0.9)
- all int fsys functions now return errno on failure, not -1
- Common C++ number string manip classes
- greater use of const in abi
- datetime class support added
- timer class expanded for operators
- fix for generated docs

From ucommon 2.0.7 to 2.0.8
- support for optional cmake based build system being added

From ucommon 2.0.6 to 2.0.7
- strict aliasing, socket address manipulations, and gcc 4.4
- doc generation cleanup

From ucommon 2.0.5 to 2.0.6
- spec file updated per redhat/fedora packaging policies
- fixed install scripts handling
- added man page for ucommon-config.

From ucommon 2.0.4 to 2.0.5
- small code cleanup.
- added fsync to fsys as fsys::sync() method.
- added missing destructors for queue and stack when no mempager is used.

From ucommon 2.0.3 to 2.0.4
- fixed bug in reusable object handoff to free list.
- basic dccp socket support added.

From ucommon 2.0.2 to 2.0.3
- documented behavior and use case for ...Thread::exit() methods changed.

From ucommon 2.0.1 to 2.0.2
- fix for missing functions in mingw32 cross-builds.

From ucommon 2.0.0 to 2.0.1
- fix for failed dlopen detection in lc and false libcompat check for netbsd
- general code cleanup with pedantic, some subtle header changes
- fix for generic interface routing in ipv6 multicast operations
- improved sunwpro support for --disable-stdcpp by using no%Cstd and CXX model

From ucommon 1.9.9 to 2.0.0
- fsys stream and random access modes with posix_fadvise support.
- new fsys drop method to drop used pages in streaming applications.
- license changes to lgplv3+
- mempager/memalloc "zalloc" method  added.
- keyfile based on memalloc, not mempager.

From ucommon 1.9.8 to 1.9.9
- critical fix for assignment template for auto pointers.

From ucommon 1.9.7 to 1.9.8
- new NamedTree listing methods for moving and re-ordering tree branches.
- getIndexed methods for accessing a linked list by index.
- some clarification of internet socket address types.
- smart pointer can be initially assigned NULL...
- new memalloc because I needed a mempager without mutexes...

From ucommon 1.9.6 to 1.9.7
- lots of code cleanup for final release candidate for 2.0.

From ucommon 1.9.5 to 1.9.6
- better address list management, including unique insert and remove.
- copy constructor and address duplication for Socket::address.
- fixup of reader/writer pool locking and addition of gaurd objects.
- hopefully final core api for real 2.0 release!

From ucommon 1.9.4 to 1.9.5
- mutex::gaurd for scope mutex locking arbitrary objects.
- read/write locking access control for arbitrary objects.
- multi-distro spec file.
- simplified abi numbering.

From ucommon 1.9.3 to 1.9.4
- string equality tests.
- Socket isNull/isNumeric can parse inside a field...
- container policies for cidr's
- behavior of ID reset for named objects can now be overriden by virtual.
- string format conversion base class for use in string classes and operators.

From ucommon 1.9.2 to 1.9.3
- fixed join/drop issue in multicast reported by Michael Freedman.
- module loader error handling.

From ucommon 1.9.1 to 1.9.2
- added Socket::isNull and Socket::isNumeric checks.
- added keyhost hash key indexing on host only.
- fixed uninitialized getsockname len argument in gethint.
- updated spec file.

From ucommon 1.9.0 to 1.9.1
- bug in string::token parsing fixed.
- unit test to validate string::token fix.
- keyfile/keydata classes added for generic config file parsing.
- unit test added for keydata processing.

From ucommon 1.8.2 to 1.9.0
- pipestream interface normalized for shell execution.
- new "shell" class for generic parsing and argument expansion.
- v4mapped() added to enable/disable ipv4 to ipv6 mapping support.
- fsys::isfile/isdir added.
- some rework of timer events to better support updating in arm & disarm.

From ucommon 1.8.1 to 1.8.2
- doxygen updates.
- fix related to libstdc++/ansi c++ library design defect.

From ucommon 1.8.0 to 1.8.1
- use entirely safe string operations everywhere.
- keyassoc keydata constructor changed to pass size of string buffer.
- basic optional GNU pth support completed.

From ucommon 1.7.2 to 1.8.0
- support for forced ipv4/ipv6 in init.  ipv6 unit testing.
- new family method for query default.
- further refinement of socket api.
- ipv6 support for opensolaris and -lnsl.

From ucommon 1.7.1 to 1.7.2
- small fix in type mismatch in stream allocate methods.
- do not remap undefined error codes, as can break switch blocks.
- fix for mingw32 address conversion functions.

From ucommon 1.7.0 to 1.7.1
- extended errno mapping for sockets.

From ucommon 1.6.2 to 1.7.0
- updated abi for fsys, rebuilt to unify file handling and to use a common
  type and functions for files, directory access, and loader.
- simplified TimedEvent completion port handling and new static members.
- refactored socket api around supporting use of native socket_t.  Minimal
  api for abstract socket class used for protocol building.
- refactored containers to use references in assignment to avoid stack frame
  constructions.
- added stream classes for fsys (threaded i/o) and piping.

From ucommon 1.6.1 to 1.6.2
- improved support for using Socket::address as referenced type.  New set &
  add methods.

From ucommon 1.6.0 to 1.6.1
- fix for loader.
- simplified fsys r/w calls.
- fsys.h documented.

From ucommon 1.5.0 to 1.6.0
- some small cleanups for opensolaris builds.
- additional is() and isnull() template operators, template swap.
- automatic rules for default selection with/without ansi C++ library (see
  BUILDS).
- new fsys wrapper class for threaded portable i/o operations.
- cmodel.sh support for broken libtool versions.
- lots of tcpstream/socket bug fixes and new tcpstream unit test added.
- changes in tcpstream abi to use address objects by reference.
- dynamic loader support added.

From ucommon 1.4.2 to 1.5.0
- added gnu common c++ based tcp streaming class to ucommon.
- added gnu common c++ based xml sax parser to ucommon with better support for
  parsing embedded xml data structures.
- Daniel Silverstone's persistence engine from gnu common c++ added.

From ucommon 1.4.1 to 1.4.2
- get address entry by family from list.
- MultiMap/multimap multiply pathed lists/associated key objects.
- remove complex automake rules; use new cmodel.sh to reset libtool when
  building pure c mode link for c++ objects for deep embedding without
  libstdc++.
- changes to support QNX target builds.

From ucommon 1.4.0 to 1.4.1
- internalized getaddrinfo substituted on targets without addrinfo support.
- small correction to socket::address::add to pass socket type.
- cygwin support
- fixups for Solaris support

From ucommon 1.3.3 to 1.4.0
- socket::address constructors reorganized
- added mapped (shared memory) to ucommon library
- improved mingw32 support
- support for gcc < 3.0 (gcc 2.96, rhel-2.1 for example)
- socket initialization for msw.

From ucommon 1.3.2 to 1.3.3
- initialization of socket hinting for BSD stack.
- further clarify asserts.
- fixes for NetBSD 4; clock_nanosleep and pthread_setconcurrency support.
- fixes for gcc < 3.4 (such as openbsd...)
- fixes for embedded linux kernel targets

From ucommon 1.3.1 to 1.3.2
- clarified assertions for argument preconditions for correctness.

From ucommon 1.3.0 to 1.3.1
- many testing asserts added to library for function argument preconditions.

From ucommon 1.2.5 to 1.3.0
- dynamic mutex resource locking, with new interface and supporting templates
  to automate operation.  This allows one to create exclusive access regions
  on demand without having to embed initialized mutexes in each instance of
  an object that requires serialization protection.

From ucommon 1.2.4 to 1.2.5
- restore sharing level at ConditionalLock commit if recursive locked.

From ucommon 1.2.3 to 1.2.4
- default initialization of socket address list to NULL required.

From ucommon 1.2.2 to 1.2.3
- small change in use of sched.h for portability.
- unitialized mempager and reorg treemap purge.

From ucommon 1.2.1 to 1.2.2
- typo in exclusive conditional lock.

From ucommon 1.2.0 to 1.2.1
- conditional modify access can be asserted during active recursive share.

From ucommon 1.1.1 to 1.2.0
- adding conditional policies, ConditionalLock::concurrency() and
  ConditionalRW::sharing().
- Recursive support in conditional locking.
- SharedPointer derived from ConditionalRW and optimized.

From ucommon 1.1.1 to 1.1.2
- fix for OS/X.

From ucommon 1.1.0 to 1.1.1
- adjusted definition of priority scheduling and added realtime thread policies.

From ucommon 1.0.0 to 1.1.0
- fixed spec file to support uses_stdcpp definition.
- fixed new operator when using stdcpp.
- conditionalrw locking scheme integrated for scheduling optimization.

From ucommon 0.9.2 to 1.0.0
- use std::runtime_exception instead of abort when using c++ runtime library
- crit macro allows std::runtime_exception processing for c++ runtime library
- check for old and new style c++ stream i/o classes, added OLD_STDCPP
- replaced NOSTDCPP with reversed & revised NEW_STDCPP flag unless OLD_STDCPP
- classes documented and doxygenized.
- expanded linked list support with head/tail and insert options.
- barrier with timed wait.

From ucommon 0.9.1 to 0.9.2
- fix critical bug in Socket::equal tests...

From ucommon 0.9.0 to 0.9.1
- removed AutoObject
- migrated thread functions to use pure win32 threading for mingw32; no
  more redhat pthread-win32.  This became possible when we dropped
  cancellable threads.
- fixed cc mode library build because libtool still forces libstdc++!

From ucommon 0.8.2 to 0.9.0
- slight change to thread init for pthread-win32 static libs.
- new steplock formed purely from staircase mutexes.
- new event timer for timed completion event signalling.
- removed cancellable thread concepts to simplify thread model!

From ucommon 0.8.1 to 0.8.2
- conditional lock protect for shared recursive/short lock use.

From ucommon 0.8.0 to 0.8.1
- fix for pthread without setschedprio.

From ucommon 0.7.0 to 0.8.0
- fix for timerqueue class.
- potential writer starvation issues resolved in rwlock/condlock classes.
- consolidated and improved Conditional timed waits.
- introduction of transformable conditional locking.
- access shared locking extended to cover transformable conditional locks.
- default compile mode is now stdcpp; first step in gnu common c++ merge.

From ucommon 0.6.1 to 0.7.0
- added basic thread priority support
- changed base configure options to avoid collisions with other packages
- added getservice interface to get socket port #
- added charbuf template
- cidr policy chains simplified
- some rationalization and improvement in socket class with the ability
  to compare addresses, manipulate address lists, etc.
- string finding with deliminators.
- first pass at offering real documentation for the library via doxygen.

From ucommon 0.6.0 to 0.6.1
- support for static libpthreadGC2
- support for w32 address conversion

From ucommon 0.5.0 to 0.6.0
- detached & pooled thread exit support fixed
- equal test for socket address
- getinterface to find interface to destination address
- subnet test for socket address comparison
- getaddress replaces hosttostr

From ucommon 0.4.0 to 0.5.0
- rwlock now also recursive writers
- clarification of conditional locking
- generic rexlock type replaces recursive mutex

Initial Release 0.4.0

