Version 0.4.3
-------------
Additions:
- made it possible to put PortableThreads into a shared library. Added pt-config support for this
- added pt_seed, a function suitable for random number generator seeding
Changes:
- improved use of GNU build system
- made pt_ticks NON-PORTABLE.

Version 0.4.2
-------------
Changes:
- moved to GNU build system (aclocal, autoconf, automake)


Version 0.4.1
-------------
Additions:
- added a pt_ticks, a functions whose return value is likely to change with each call. Suitable for concurrent random number generator initialization
- added pt-config, an automatic configuration utility that prints flags for compiling and linking
- added a GNU style configure script, build process is now configure, make, make install

Changes:
- made threads always joinable (threads run detached but report thread exit to the PThread class)
- updated MINGW32 support for Windows, compiles now succeed
- removed PMonitor b/c it was basically a fancy mutex
- moved PThreadPool into it's own header file (thread_pool.h)
- changed PBarrier and PRandom to PTBarrier and PTRandom, added typedefs for backward compatiblity
- removed support for generic waiting using PWait(able) b/c it wasn't elegant to use
- renamed PMutexHelper to PTGuard, added typedef for backward compatility 
- made PThread::give() a protected member function b/c there is no point calling this method from another thread
- renamed PSpinLock to PTSpinlock, added typedef for backward compatility 

Version 0.4
-----------
Additions:
- added spin lock: PSpinlock
- added ABA problem averting compare-and-swap for pointers: PTPointerCAS
- added a generic processor yield function: pt_yield
- native 64 bit CPU support (AMD Opteron)
- monitor class: PMonitor
- barrier class: PBarrier
- mt-safe replacement for standard rand(), srand() functions: random numbers: PRandom
- accurate time measuring and stop watch functionality: PTime
- lock-free data structures and functions: PLockFreeQueue, PLockFreeStack, pt_atomic_add|sub|inc|dec, pt_atomic_compare_and_swap

Changes:
- disabled UNIX signals for all threads. Signals must be handled in the main thread or reenabled for each thread
- renamed sleep functions for consistency reasons: xxx_sleep -> pt_xxx_sleep
- made PThread print out a message if an uncaught exception is discovered
- removed Sparc support
- made atomic numbers (PAtomicNumber) truely atomic and hence usable on x86 platforms
- made class names more consistent: MessageQueue -> PMessageQueue
- changed PMessageQueue to use the monitor instead of mutex for synchronisation
- changed PThreadPool to use lock-free queue|atomic number to report inactive workers
- added another process|tryProcess method to PThreadPool that takes a pointer to a heap-allocated object 
  (no copying, object is later on deleted in worker thread)

Version 0.3c
------------
- changed include structure to compile with more conforming compilers
- the directory that contains the portablethreads directory has to be in compiler's search path

Version 0.3b
------------
- more flexible MessageQueue class that allows messages to be taken from the end and inserted at the front
- some convenience methods added to PAtomicNumber (operator++, operator--, operator-=, operator+=)
- PCondition has a new Method that allows waiting with timeout for a specified amount of milliseconds
- bugfix in PCondition with timed wait, requires PortableThreads to be linked with the realtime library under Linux

Version 0.3a
------------
- bugfix in PThreadPool to make sure all threads are done with their requests before the pool is destroyed
- TSAlloctor's vars use PMutex to prevent unintentionally double locking (works fine under MS Windows)

Version 0.2
-----------

- Portable Threads now live in namespace PortableThreads. If you want PortableThreads in the global namespace again define the macro PT_GLOBAL_NAMESPACE during compilation
- all of the methods now start with a lowercase letter
- PThreadObjectSemantic now expects a functor class instead of a class that has a loopImpl()-method
- as of this version you need to define UNIX instead of LINUX to compile and use PortableThreads
- loads of new classes and bugfixes
- started on exception safety in threads