<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mailman.git/src/mailman/core, branch pluggable-components</title>
<subtitle>The GNU Mailing List manager.
</subtitle>
<id>https://git.neuromancer.sk/mailman.git/atom?h=pluggable-components</id>
<link rel='self' href='https://git.neuromancer.sk/mailman.git/atom?h=pluggable-components'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/'/>
<updated>2017-08-07T15:39:08Z</updated>
<entry>
<title>Fix coverage, deprecate, but run non-plugin (post|pre)_hooks.</title>
<updated>2017-08-07T15:39:08Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-07-25T19:44:54Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=8addebbf9802e911c06f6a27b7ffff1e0f1d2e57'/>
<id>urn:sha1:8addebbf9802e911c06f6a27b7ffff1e0f1d2e57</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't fail when plugins pre_hook or post_hook fails.</title>
<updated>2017-08-07T15:39:08Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-06-19T13:04:12Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=0923455ba337fa734f89b3be72bb7fde061dcc91'/>
<id>urn:sha1:0923455ba337fa734f89b3be72bb7fde061dcc91</id>
<content type='text'>
 - Catches all exceptions raised when running a plugins (pre|post)
   _hooks. If its pre_hook raises an exception, the plugin is disabled
   and removed, so its post_hook will not be run and its components
   will not be loaded. If its post_hook raises an exception we just
   continue and hope for the best.
</content>
</entry>
<entry>
<title>Make config.plugin_configs yield a dict with plugin names.</title>
<updated>2017-08-07T15:39:08Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-06-06T13:51:10Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=a2668307017e8b3a0c705e5cff49a8fa7dbeac7d'/>
<id>urn:sha1:a2668307017e8b3a0c705e5cff49a8fa7dbeac7d</id>
<content type='text'>
 - Allows to better loop over pluging configs and their names.
</content>
</entry>
<entry>
<title>Add per-plugin hooks, add docs about plugins.</title>
<updated>2017-08-07T15:39:07Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-06-01T13:46:48Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=0d4f53b51892866b5cc85ace229b23f4b9bac896'/>
<id>urn:sha1:0d4f53b51892866b5cc85ace229b23f4b9bac896</id>
<content type='text'>
 - Removes pre_hook, post_hook and ext_dir. With the latter being
   unused. Warns on startup if the hooks are present in config.

 - Adds IPlugin interface with pre_hook and post_hook methods.

 - Adds 'class' config parameter to plugins, which can be set to
   a class implementing the IPlugin interface, it will be
   initialized once on Mailman's startup, then before the DB
   setup the pre_hook will be run, after DB and other components
   the post_hook will be run. Plugin instances are stored in the
   config.plugins dict, with keys being their configuration section
   names.
</content>
</entry>
<entry>
<title>Add pluggable components.</title>
<updated>2017-08-07T15:39:07Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-05-31T00:09:09Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=38a86adcdb78c1944c26a5ab8deddff619b33bcf'/>
<id>urn:sha1:38a86adcdb78c1944c26a5ab8deddff619b33bcf</id>
<content type='text'>
 - Adds the notion of a 'plugin'.
   - A plugin has a package path and a flag specifying whether
     it's enabled or not.

 - Adds a find_pluggable_components function similar to the
   find_components one. This one dynamically searches not only
   the mailman package but all of plugins.
   - e.g. find_pluggable_components('rules', IRule) finds
     all IRule components in mailman.rules but also in
     example_plugin.rules for plugin names example_plugin.

 - Uses the find_pluggable_components function in place of
   find_components when searching for Rules, Handlers, Chains,
   EmailCommands, and Styles.
</content>
</entry>
<entry>
<title>Rename metadata key for clarity</title>
<updated>2017-08-04T01:13:04Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-08-04T01:13:04Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=9cdcffbc1189a19bc2963cf3d5c86a3d4f1f24a6'/>
<id>urn:sha1:9cdcffbc1189a19bc2963cf3d5c86a3d4f1f24a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Convert to click for CLI options</title>
<updated>2017-07-22T03:02:05Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-07-22T03:02:05Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=f00b94f18e1d82d1488cbcee6053f03423bc2f49'/>
<id>urn:sha1:f00b94f18e1d82d1488cbcee6053f03423bc2f49</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Added a rule to discard messages with no valid sender address.</title>
<updated>2017-06-30T22:42:02Z</updated>
<author>
<name>Mark Sapiro</name>
</author>
<published>2017-06-30T22:42:02Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=c3fb97543f252c96180b4a42defd879d0611bf6f'/>
<id>urn:sha1:c3fb97543f252c96180b4a42defd879d0611bf6f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move pipelines to their own package, instantiate them dynamically.</title>
<updated>2017-06-17T13:20:31Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-05-30T19:10:52Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=c274d8ca000f8ede0dcc3399abd1d35e09355ae6'/>
<id>urn:sha1:c274d8ca000f8ede0dcc3399abd1d35e09355ae6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Provide a better way to avoid instantiating some components</title>
<updated>2017-06-17T03:33:38Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-06-17T03:33:38Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=88f40ac0add14cc9e7c106c5e2e9ec3d6f73df6e'/>
<id>urn:sha1:88f40ac0add14cc9e7c106c5e2e9ec3d6f73df6e</id>
<content type='text'>
</content>
</entry>
</feed>
