685 lines (552 with data), 24.4 kB
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,
- 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
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
- 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 &
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
- 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
- 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
- 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
- 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