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

-------------------------------------------------------------------------------
 Version 4.7
-------------------------------------------------------------------------------

- Next release

-------------------------------------------------------------------------------
 Version 4.6.4
-------------------------------------------------------------------------------

- Reworked to use dependency on six's with_metaclass() logic.  This
  enabled a simplification of the directory structure.

-------------------------------------------------------------------------------
 Version 4.6.3
-------------------------------------------------------------------------------

- Using relative paths when reading files in setup.py

-------------------------------------------------------------------------------
 Version 4.6.2
-------------------------------------------------------------------------------

- Using absolute paths when reading files in setup.py

-------------------------------------------------------------------------------
 Version 4.6.1
-------------------------------------------------------------------------------

- Reworking the directory structure to segregate python2 and python3 source.

-------------------------------------------------------------------------------
 Version 4.6
-------------------------------------------------------------------------------

- When deleting a plugin environment, don't clear
  the global environment if it's pca or <default>.

- Changing filtering function used during testing 
  to ignore other potential plugin components.

-------------------------------------------------------------------------------
 Version 4.5.6
-------------------------------------------------------------------------------

- Updating tester to filter IFunctorTask lines

-------------------------------------------------------------------------------
 Version 4.5.5
-------------------------------------------------------------------------------

- Updating a baseline.

-------------------------------------------------------------------------------
 Version 4.5.4
-------------------------------------------------------------------------------

- Adding option to alias() to ignore errors when an alias'd class
  is subclassed.

-------------------------------------------------------------------------------
 Version 4.5.3
-------------------------------------------------------------------------------

- Another set of Python 3.x compatibility changes.

- Referencing core3 in setup.py

-------------------------------------------------------------------------------
 Version 4.5.2
-------------------------------------------------------------------------------

- Fixed sorting in tests.

- Sort plugins with an explicit key argument.

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

