zenXML Changelog

What's new in zenXML 1.9

Jun 8, 2013
  • Mark failed UTF conversions with replacement character
  • zen library update
  • revised documentation

New in zenXML 1.8 (Apr 24, 2013)

  • Allow element values to contain non-escaped quotation marks
  • Respect Linux/Mac/Window line endings when calculating parsing error location
  • Map all end-of-line characters (Win/Linux/Mac) to \n

New in zenXML 1.7 (Apr 24, 2013)

  • zen library update
  • revised documentation

New in zenXML 1.6 (Apr 24, 2013)

  • Fixed header file circular dependency
  • Improved performance of FILE* based I/O
  • Updated zen libraries

New in zenXML 1.5 (Apr 24, 2013)

  • Replaced sscanf/sprintf hex conversions: speedup of factors 3000 and 3 for large inputs
  • MinGW: Improved char-based string to floating point conversion by factor 10
  • Fixed crash in UTF8 conversion when processing corrupted data
  • Fixed MSVC security warnings

New in zenXML 1.4 (Apr 24, 2013)

  • Added missing include

New in zenXML 1.3 (Apr 24, 2013)

  • Improved template meta programming implementation
  • Support unusual string classes: Glib::ustring, wxString (wxWidgets >= 2.9)
  • A number of documentation fixes

New in zenXML 1.2 (Oct 11, 2011)

  • Design improvements and minor refactoring
  • Removed Loki dependency

New in zenXML 1.1 (Oct 3, 2011)

  • A few minor fixes

New in zenXML 0.1.7 (Jul 4, 2011)

  • General:
  • Fixed makefiles for GNU/kFreeBSD, GNU/hurd. (lf)
  • Fixed build errors with gcc 4.3 pre-release. (lf)
  • Fixed compiler error that occurs when using 64 bit pointers. (rs)
  • Added support for Code::Blocks and MSVC 9. (rs, pk)
  • Added more unit tests (rs)
  • Several other bug fixes (rs, pk)
  • Checker:
  • Added for this release. (rs)
  • Added test project. (rs)
  • CheckReturn:
  • Added for this release. (rs, pk)
  • Added test project. (rs + pk)
  • flex_string:
  • Fixed bugs in several functions and storage policies. (aa, rs, jfg)
  • LevelMutex:
  • Added for this release. (rs)
  • Added unit tests for LevelMutex. (rs)
  • SafeBits:
  • Added for this release. (rs, fp)
  • Added unit tests for SafeBits. (rs, fp)
  • SmartPtr:
  • Fixed double-delete race condition. (rs)
  • StrongPtr:
  • Fixed destructor so cleanup is only done once. (rs)
  • Fixed test by using class level locking. (lf)
  • Threads:
  • Add possibility to enable recursive mutex support for pthread (pk)
  • Added more atomic functions. (rs)
  • Type Traits:
  • Added 64 bit support.

New in zenXML 0.1.6 (Jul 4, 2011)

  • General:
  • CacheFactory added by Guillaume Chatelet
  • Factory documentation improved by Guillaume Chatelet
  • migrated to subversion (pk)
  • Mac linker errors fixed (lf)
  • Makefiles can now be called from sub directories (lf)
  • Makefiles know includes and recompile if they are changed (linux, macosx) (lf)
  • Build all tests except SingletonDll with the static library (linux, macosx) (lf)
  • use standard conforming naming, SUN's compiler needs it (pk)
  • add Loki:: to LOKI_ macros
  • several bug fixes.
  • AbstractFactory:
  • remove injected friends.
  • remove injected friends.
  • LockingPtr:
  • constructor added which gets a std::pair of pointers
  • to the object and the mutex (pk)
  • Pimpl:
  • ImplT/PimplT/RimplT renamed to a more readable version: ImplOf (pk)
  • Register:
  • also produce a informative LOKI_CHECK_CLASS_IN_LIST error message with GCC (pk)
  • SafeFormat:
  • add writing to ostream
  • add unsigned long version for Windows,
  • Also compiles with Aix
  • switched to recursive implementation
  • Singleton
  • example: move instantiation to the source file
  • fixes linker error with gcc 4.0.1 on the mac,
  • 64 bit linker error fixed (lf)
  • SmallObj:
  • compiler errors on SUN fixed (pk)
  • more documentation (rs)
  • more tests (rs)
  • AIX fixed,
  • StrongPtr:
  • Added typedef so LockableTwoRefCounts uses thread-safe allocator. (rs)
  • AIX fixed, (thanks to Dieter Rosch, pk)
  • linker error when using threads fixed (pk)
  • Threads:
  • reentrance support added to the pthread mutex (Thanks to Shen Lei, pk)

New in zenXML 0.1.5 (Jul 4, 2011)

  • General:
  • operator== added to Functor,
  • new Strong/Weak smart pointer added. (rs)
  • loki.spec
  • build shared lib also on mac osx
  • added MinGW .dev files for the library (rs)
  • some makefile improvements
  • adding an XCode build project (kx)
  • flex_string:
  • compare bug fixed in flex_string_shell.h
  • Function:
  • test is doesn't need boost any more (pk)
  • wrong default parameter fixed (pk)
  • OrderedStatic:
  • undef all min/max macros
  • Singleton:
  • Singleton moved into correct namespace
  • SmartPtr:
  • patch for RedHat 9: undefined uintptr_t
  • more tests (rs)
  • bugs 1452805 and 1451835 fixed (rs)
  • addded HeapStorage policy as mentioned in Feature Request 1441024 (rs)
  • added MinGW test project for SmartPtr (rs)

New in zenXML 0.1.4 (Jul 4, 2011)

  • General:
  • helper templates for Pimpl/Rimpl implementations added (pk)
  • improved Makefiles (lf)
  • improved make.msvc.bat files (pk)
  • cvs LOG keywords added (rs)
  • removed old c style casts (lf)
  • more warning enabled on gcc (lf)
  • new header added: ConstPolicy.h (rs,pk)
  • new header added: RefToValue.h (rs,pk)
  • standard RPM specification file for integrated installation
  • using Loki as shared library is now possible (pk,lf)
  • Register.h added (pk)
  • Function:
  • guard including (pk)
  • test stsic functions (pk)
  • test LOKI_FUNCTOR_IS_NOT_A_SMALLOBJECT (pk)
  • Functor:
  • Added explicit call to base copy-constructor (rs)
  • Changed base class from SmallObject to SmallValueObject.
  • add possibility to disable inheritance from SmallValueObject: LOKI_FUNCTOR_IS_NOT_A_SMALLOBJECT (pk)
  • ScopeGuard:
  • naming conflict with SmartPtr removed (rs,pk)
  • ByRef moved to RefByVale (rs,pk)
  • Singleton:
  • support of allocators with a standard interface added
  • convenience template Singleton added for shared libraries
  • example added which shows how to use Singletons with shared libraries added
  • SmartPtr:
  • supports propagating constness by additional policy (rs,pk)
  • ArrayStorage policy added
  • fix in RefCounted for Mac OSX gcc 4.0.0 (Thanks to Sam Miller, pk)
  • RefCounted ported to 64 bit (pk)
  • add mutex policy (pk)
  • new test code (rs)
  • RecjectNullStrict const member function added (Thanks to Sam Miller, pk)
  • Moved a monolithic RefLinkedBase class from header file to new source file. (rs)
  • ByRef moved to RefToVale (rs,pk)
  • Fixed bug 1425890. Last SmartPtr in linked chain NULLs its prev & next
  • pointers to prevent infinite recursion. Added asserts. (rs)
  • Bug fix: infinite recursion in SmartPtr destructor (rs)
  • LockingPtr:
  • wrong return types fixed (rs)
  • add mutex policy (rs,pk)
  • supports now propagating constness (pk,rs)
  • macro switch LOKI_DEFAULT_CONSTNESS added for propagating constness (pk)
  • multi threaded example added
  • SafeFormat:
  • definition moved to src/SafeFormat.cpp, it's now part of the library
  • Singleton:
  • add mutex policy (pk)
  • SmallObj:
  • add mutex policy (pk)
  • Added check for memory leak inside destructor.
  • Threads:
  • Mutex added (rs,pk)
  • use Loki::Mutex instead of win32/posix mutexes in threading classes (rs,pk)

New in zenXML 0.1.3 (Jul 4, 2011)

  • General:
  • LockPtr added (rs)
  • ScopeGuard added (pk,rs)
  • improved Makefiles (lf,pk)
  • several gcc fixes and removed warnings
  • tested on 64-bit Linux (pk)
  • MS Visual C++ 2005 project files added (pk)
  • now also the ms toolkit 2003 generates a library (pk)
  • OrderedStatic:
  • point operator added (pk)
  • SafeFormat:
  • moved into namespace Loki (pk)
  • 64 bit problems fixed
  • ported to 64-bit Windows, not tested (pk)
  • Printf/SPrintfing of std::strings added (pk)
  • all warnings removed gcc and msvc (pk)
  • use snprintf for "%p"
  • test program: speed comparison added (pk)
  • SmallObject:
  • added functions to check for memory corruption (rs)
  • more fine tuning (rs)
  • warnings removed (pk)
  • TypeTraits:
  • bug 1388477 fixed (pk)
  • flex_string:
  • fixed compare bug by updating
  • fixed seg faults on Linux and Windows (pk)
  • improved error reporting of the test program (pk)
  • SmartPtr:
  • make object level locking possible
  • BindFirst:
  • store Functor arguments by value (bug 1383566) (pk)
  • Visitor:
  • add support for visiting constant member functions (pk)
  • example added (pk)
  • ScopeGuard:
  • example added (pk)

New in zenXML 0.1.2 (Jul 4, 2011)

  • General:
  • changes to compile under Linux
  • more doxygen documentation, modules added (rs, pk)
  • SmartPtr:
  • three year old bugs 626407 and 541846 fixed:
  • Assertion with SmartPtr (pk)
  • SmartPtr and COMRefCounted
  • Typelists:
  • it's now possible to completely disable the
  • LOKI_TYPELIST_ macros (pk)
  • marco definitions moved to a separate file (pk)
  • Factory:
  • Factory now protects its private data (pk)
  • new method to get the keys:
  • std::vector RegisteredIds() (pk)
  • Functor:
  • TR1 methods added: empty() and clear() (pk)
  • Function:
  • boost/TR1 like Function template with
  • improved member function pointer usage (pk)
  • tested with boost's function_test.cpp
  • Sequence:
  • small change in usage: use e.g. Functor
  • instead of Functor
  • SmallObjects:
  • comparison of new/malloc/std::allocator/boost::object_pool (rs, pk)
  • undef LOKI_SMALL_OBJECT_USE_NEW_ARRAY when using a ms compiler (pk)
  • new lifetimes in namespace LongevityLifetime to manage dependencies:
  • DieAsSmallObjectParent and DieAsSmallObjectClient (pk)
  • no memory leaks when using SmallObjects (pk)
  • new default lifetime is DieAsSmallObjectParent (pk)
  • Threads:
  • threads on POSIX systems
  • small regression test program (pk)
  • Singleton:
  • new lifetime: FollowIntoDeath (pk)
  • new namespace LongevityLifetime with lifetimes DieLast, DieFirst,
  • DieDirectlyBeforeLast, and function SingletonFixedLongevity (pk)
  • new implementation for SetLongevity (pk)
  • example programs (pk)

New in zenXML 0.1.1 (Jul 4, 2011)

  • Singleton:
  • wrong ordered longevity fixed
  • less warnings with msvc
  • new policy, DeletableSingleton
  • see also CUJ article 'Creating Dynamic Singletons & the Loki Library',(pk)
  • AssocVector:
  • hinted insert does now preserve ordering
  • additional 'hinted insert' test for Regression test
  • fix name look up
  • SmallObj:
  • several improvements (rs)
  • more documentation (rs)
  • improved SmallBench (rs, pk)
  • Longevity:
  • example added (pk)
  • additional example similar to that of the book
  • OrderedStatic:
  • a proposal to solve the 'static initialization ordered fiasco' problem (pk)
  • Sequence:
  • a proposal to replace the LOKI_TYPELIST_XX macros with a template implementation (pk)
  • e.g.: LOKI_TYPELIST_1(int) becomes Seq::Type
  • inspired by the functional language OPAL (pk)

New in zenXML 0.1.0 (Jul 4, 2011)

  • General:
  • version numbering started
  • new directory structure
  • Andrei's yasli, flex_string, and SafePrint added (pk)
  • all macros now in the LOKI "namespace", e.g.:
  • TYPLELIST_1 -> LOKI_TYPELIST_1 (rs, pk)
  • Makefiles added: tested with gcc 3.4 (mingw, cygwin),
  • msvc 8.0, and the toolkit (pk)
  • added some documentation (rs)
  • several bug fixes (pk)
  • added a cvs-list to sourceforge where you can see all changes (pk)
  • SmallObjects:
  • new implementation (rs)
  • Factory:
  • works now with parameters (pk)
  • regression test added (Thanks to Kalle Rutanen, pk)
  • TypeTraits:
  • isMemberPointer, isFunction added (Thanks to Kalle Rutanen, pk)
  • regression test added (Thanks to Kalle Rutanen, pk)
  • Threading:
  • new macros for better thread support (win32):
  • LOKI_CLASS_LEVEL_THREADING and LOKI_OBJECT_LEVEL_THREADING