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