History
0.14
- Provide an option to control requirements checking when loading
plugins, and disable it by default. This removes protection against
loading the wrong version of a plugin, or that plugin’s
dependencies.
0.13
- Deprecate TestExtensionManager and replace with
make_test_instance() class method to provide test classes that
behave more like the production class, while still allowing the
extensions to be injected for testing. (contributed by drocco-007)
- Include a work-around to avoid a cpython bug with atexit
(#15881). (contributed by philiptzou)
- Update documentation to refer to setuptools instead of
distribute. (contributed by westurner)
- Add pypy to the list of default test configurations.
0.12
- Fixes an exception when reporting on an error where multiple drivers
have the same name (issue 25, solution provided by clayg).
- Switch packaging to use pbr.
- Add map_method() API to controllers.
0.11
- Fixes logging configuration under Python 2.6 with a NullHandler.
(issue 2)
0.10
- Adds propagate_map_exceptions parameter to all of the extension
managers which specifies whether exceptions are propagated up
through the map call or logged and then ignored. The default is to
preserve the current behavior of logging and ignoring exceptions.
Christopher Yeoh <cyeoh@au1.ibm.com>
0.9
- Add name_order parameter to
NamedExtensionManager to coerce
map() into processing the extensions in the order they are
named when the manager is created, instead of the random order
they may have been loaded. Contributed by Daniel Rocco.
- Change the
NamedDispatchExtensionManager to ignore
missing extensions (issue 14).
- Add __getitem__ to
ExtensionManager for looking up
individual plugins by name (issue 15).
- Start working on the tutorial, Using Stevedore in Your Application.
- Remove dependency on distribute, now that it is merged back into
setuptools 0.7 (issue 19).
0.8
- Ignore AssertionError exceptions generated when plugins are
loaded.
- Update NamedExtensionManager to check
the name of a plugin before loading its code to avoid importing
anything we are not going to use.
0.7.2
- Fix logging support for Python 2.6.
0.7.1
- Fix an issue with logging configuration.
0.7
- Add memoization to the entrypoint scanning code in
ExtensionManager to avoid
performance issues in situations where lots of managers are
instantiated with the same namespace argument.
0.6
- Change the EnabledExtensionManager to
load the extension before calling the check function so the plugin
can be asked if it should be enabled.
0.5
0.4
- Removed the name argument to plugin constructors.
- Added driver property to DriverManager.
0.3
- Added dispatch managers for selecting among a set of plugins at
runtime instead of load time.
- Added __call__ method to
DriverManager so it can be invoked in a
more natural fashion for a single plugin.
0.2
0.1