===================================
 pyutilib.component.core CHANGELOG
===================================

-------------------------------------------------------------------------------
 Version 4.5.1
-------------------------------------------------------------------------------

- Removing the comparison operators. This will cause problems with Python 3.x, but
  the comparisons really shouldn't be used in plugins.

-------------------------------------------------------------------------------
 Version 4.5
-------------------------------------------------------------------------------

- Portability changes for Python 3.x

- Adding comparison methods, which are required in Python 3.x

-------------------------------------------------------------------------------
 Version 4.4.1
-------------------------------------------------------------------------------

- Adding PluginMeta to the list of exported symbols.

- Move error notices to stderr.

-------------------------------------------------------------------------------
 Version 4.4
-------------------------------------------------------------------------------

- Adding a new option to the implements() function. The syntax

    implements(IMyInterface, service=False)

  now tells the PCA to not activate this plugin when it is created. This
  allows plugins to be used in contexts where they are not expected to
  provide global services.

- Added the __del__ method for plugins, to support cleanup.

-------------------------------------------------------------------------------
 Version 4.3.1
-------------------------------------------------------------------------------

- Reformatting with reindent.

- Bug fix for an error logging message.

-------------------------------------------------------------------------------
 Version 4.3
-------------------------------------------------------------------------------

- Changed tests to eliminate the use of deprecated 'fail*' syntax.

- Changing the name of the logger names used in pyutilib.component.core
  to help ensure that these are unique in large software projects.

-------------------------------------------------------------------------------
 Version 4.2
-------------------------------------------------------------------------------

- Adding check that the plugin class is not constructed multiple times.

- Rework of the factory logic for creating plugins.
  - Plugin classes are now associated with environment/namespace
  - Plugin classes are now associated with interfaces
  - Error checking is added if a plugin class is redefined within a namespace.

-------------------------------------------------------------------------------
 Version 4.1.1
-------------------------------------------------------------------------------

- Fix to return representation generated by the __repr__ method in 
  pyutilib.component.core.PluginEnvironment.

-------------------------------------------------------------------------------
 Version 4.1
-------------------------------------------------------------------------------

- Changing the semantics of the extensions() method to return a 
  sorted list rather than a set.  This ensure that the extensions will
  be iterated over in a consistent mannter.

-------------------------------------------------------------------------------
 Version 4.0.2
-------------------------------------------------------------------------------

- Update to baselines due to chanes in PyUtilib.

-------------------------------------------------------------------------------
 Version 4.0.1
-------------------------------------------------------------------------------

- Changes to tests to isolate them from plugins namespaces and interfaces
  that have been added to PyUtilib.

- Misc change to use modern decorator syntax.

-------------------------------------------------------------------------------
 Version 4.0
-------------------------------------------------------------------------------

- Added support for plugin factories that are named with the 'alias' function.
  The CreatePluginFactory() function creates a functor that can create 
  instances of classes with a specified interface.  The name of the plugin
  that is create is matched with the 'alias' declaration in the plugin class.

- Added filter in testing to ignore non-core interfaces.

- Update to package README files to point to the new PyUtilib mailing lists.

-------------------------------------------------------------------------------
 Version 3.2.1
-------------------------------------------------------------------------------

- Rework of unit tests to (a) import pyutilib.th as 'unittest' and
  (b) employ test skipping.

- Various documentation updates.

-------------------------------------------------------------------------------
 Version 3.2
-------------------------------------------------------------------------------

- Renaming pyutilib.plugin.core to pyutilib.component.core

-------------------------------------------------------------------------------
 Version 3.1
-------------------------------------------------------------------------------

- Converting the core.py file to UNIX format.

- Resolve an issue with the initialization of Singleton plugins.  They now keep 
  information about the environment in which they were created, since we do not 
  wish to construct a new singleton instance for different environments.

-------------------------------------------------------------------------------
 Version 3.0
-------------------------------------------------------------------------------

- Initial release PyUtilib to create the pyutilib.plugin.core package.

- See pyutilib.dist for previous ChangeLog information related to PyUtilib.

