New in 0.3.13
-------------

 * Added a uuidgen program.
 * Suppress warnings in GCC 4.
 * Put headers in a versioned location.
 * Fixed building of XPLC on FreeBSD.

New in 0.3.12
-------------

 * Additional work done on the category system.
 * Improved the module loader.

New in 0.3.11
-------------

 * Fixed an AMD64 portability issue (possibly affected other 64 bit
   systems).
 * Improved the test framework.
 * Improved the Debian package.

New in 0.3.10
-------------

 * Made it easy to install multiple versions of XPLC in parallel.
 * Fixed compilation problems with Darwin/Mac OS X.
 * Fixed a problem with Debian package uninstallation.
 * Simon Law took over maintenance of the Debian package.

New in 0.3.9
------------

 * Fixed a compile problem in the "illegal delete detector".

New in 0.3.8
------------

 * Refactored the module loading mechanism, sharing more code and
   making it simpler to use.
 * Fixed some bugs in the unit tests.
 * Improved the examples a bit to make lifting of code easier.

New in 0.3.7
------------

 * Some example code to show the basic use of XPLC.
 * Added an addModuleDirectory method to the XPLC helper class.
 * Added missing Doxygen documentation.

New in 0.3.6
------------

 * Added a clause to the license on the C++ bindings, to allow
   closed-source programs and libraries to use the XPLC C++ bindings.
 * Build XPLC as a DLL on Windows, and put the C++ bindings in a
   separate statically linked library, as on Unix.
 * Fixed some interaction between xplc_ptr and the "illegal delete
   detector".
 * Fixed an issue when building XPLC with GCC 3.4.

New in 0.3.5
------------

 * Rewrote and finished the xplc_ptr smart pointer templated class.
 * Mostly implemented component categories (missing IFactory
   behavior).
 * Fixed a few details in the pkg-config support.
 * Updated the README.

New in 0.3.4
------------

 * Added an "illegal delete detector".
 * Added support for pkg-config.
 * Re-enabled support for dyld on Mac OS X/Darwin.
 * Avoid leaking autoconf headers in the installed headers.

New in 0.3.3
------------

 * Major improvements to the Win32 port, including compatibility with
   windows.h.
 * Continuing work on the module loader subsystem.

New in 0.3.2
------------

 * Made the UUID structure compatible with the one in Windows.
 * Improved the Doxygen documentation.
 * Changed the way loadable modules are defined.
 * Moved the generic factory to the C++ binding, making it feel more
   natural to use in C++ in the process.
 * Replaced the GenericComponent macro with a more efficient and
   easier to use IMPLEMENT_IOBJECT macro.
 * Fixed a leak when using weak reference.

New in 0.3.1
------------

 * Added a good deal of Doxygen documentation.
 * Fixed a bug where some symbols where missing from libxplc.so.
 * Added a Debian package setup.
 * Restricted exported symbols, made libxplc.so resistant to changes
   in libxplc-cxx.a.
 * Various optimizations to decrease the size of libxplc.so.
 * Fixed build system for Visual C++.NET.
 * Started the category support.
 * Improved testing suite.

New in 0.3.0
------------

 * Added weak references and appropriate tests.
 * Improved GenericComponent to handle weak reference support
   automatically.
 * The XPLC helper class can now create objects directly from a
   moniker.
 * Fixed a problem in the RPM package.

New in 0.1.7
------------

 * We now support the dyld found on Mac OS X/Darwin.
 * Optimized IID storage for space and time as best as humanly
   possible and usable.
 * Enabled generation of position-independent code (allows for more
   sharing between processes, but is almost 20% bigger, can be
   disabled).
 * Added an XPLC helper class, that provides shortcuts to many often
   used operations and also takes care of proper lifetime of the
   service manager reference.
 * Some bugs fixed.

New in 0.1.6
------------

 * Added a (still experimental) smart pointer templated class.
 * Fixed a large number of leaks, thanks to Valgrind.
 * Simplified building on Windows.
 * Added support for number of new platforms.
 * Switched to autoconf 2.5x.
 * Added support for building without dynamic loading support.
 * Code cleanups.
 * Improved Standard C++ correctness.
 * Created a new libxplc-cxx.a library that contains the code for the
   C++ bindings.
 * Added a "create" templated helper function to create instances of
   components quickly and easily.
 * Improved GenericComponent to also automate getInterface
   implementation.
 * Added a Perl script to convert the output of "uuidgen" to a C
   definition.
 * Improved the dependencies generation (now compatible with gcc 3).
 * Fixed various small bugs and warnings.

New in 0.1.5
------------

 * Added an RPM package spec file.
 * Improved general portability.
 * Fixed the Win32 port and added Visual Studio 2002 project files.

New in 0.1.4
------------

 * Added the long awaited module loader, that will load modules from a
   given directory.
 * Combined the unit tests into a single binary.
 * Fixed a number of bugs, including a number of memory leaks found
   using Valgrind.
 * Various evolutive reorganizations and clarifications.
 * Added support for FreeBSD.

New in 0.1.3
------------

 * Added a way to mark unstable interfaces as such, so that you cannot
   accidentally use an unstable interface (there is a 'configure'
   switch to allow unstable interfaces, and unstable releases of XPLC
   have it enabled by default).
 * Added an "uninstall" make target.
 * Renamed the static library libxplc.a and added a libxplc_s.a
   symbolic link pointing to it.
 * Added a platform-independent dlopen/LoadLibrary abstraction.
 * Changed the simple dynamic loader so that it does not require a
   different binary interface from modules.
 * Started laying down a binary interface for modules.
 * Improved testing suite.

New in 0.1.2
------------

 * Added a moniker interface and resolving service.
 * Added a "new" moniker that creates an instance from a factory
   moniker.
 * Changed the "getInterface" and "mutateInterface" templated
   functions name to "get" and "mutate", respectively.
 * Fixed a bug where the static service handler would hold a reference
   to itself and never release it.
 * Added a template mix-in that traces addRef/release calls.
 * Added methods to convert UUID to/from strings.
 * Improved the testing suite to catch more errors.
 * Added developer-specific debugging hooks.

New in 0.1.1
------------

 * Added the missing test for the generic component template.
 * Automated some of the release work.
 * Added 'configure' switches for a number of compiler behaviors.
 * The simple dynamic loader does not append the platform-specific
   extension for shared objects anymore.
 * Added addFirstHandler and addLastHandler methods to the
   IServiceManager interface (bug #431200).
 * Enabled more warnings and fixed them.
 * Bug fixes.

