<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mailman.git/src/mailman/commands, branch plugin</title>
<subtitle>The GNU Mailing List manager.
</subtitle>
<id>https://git.neuromancer.sk/mailman.git/atom?h=plugin</id>
<link rel='self' href='https://git.neuromancer.sk/mailman.git/atom?h=plugin'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/'/>
<updated>2017-08-07T17:00:49Z</updated>
<entry>
<title>Merge branch 'pluggable-workflows' into plugin</title>
<updated>2017-08-07T17:00:49Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-08-07T17:00:49Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=ee9da27283ffb7adc836f764f1442cd06e3fb2a5'/>
<id>urn:sha1:ee9da27283ffb7adc836f764f1442cd06e3fb2a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate the [un]subscription_policy attribute.</title>
<updated>2017-08-07T16:18:00Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-07-04T23:07:37Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=6c621405c88671a58ef24cd84a9bd74ca324207e'/>
<id>urn:sha1:6c621405c88671a58ef24cd84a9bd74ca324207e</id>
<content type='text'>
 - This is quite a huge commit, since it changes the type of the
   MailingList.subscription_policy and unsubscription_policy
   attributes to the new names of pluggable workflows, in all
   occurences.
 - Also adds a migration to migrate the attributes to the new types.
 - Adds tests for the migration.
</content>
</entry>
<entry>
<title>Add new logger which plugins can use.</title>
<updated>2017-08-07T15:39:08Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-06-27T14:42:33Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=7afec8975cb2c8fa1c6725176f52e100d396d1c4'/>
<id>urn:sha1:7afec8975cb2c8fa1c6725176f52e100d396d1c4</id>
<content type='text'>
</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>Set a timeout on the lock acquisition</title>
<updated>2017-07-27T23:10:42Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-07-27T23:10:42Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=d1cbc8af09045f8d0edbb0ba34d2fd8457393e11'/>
<id>urn:sha1:d1cbc8af09045f8d0edbb0ba34d2fd8457393e11</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>Fix confirmation of unsubscription requests.  (Closes: #294)</title>
<updated>2017-01-16T05:24:41Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-01-16T05:24:41Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=abab1cb4afd1a0c41110c2e4bcd11cf74ef05775'/>
<id>urn:sha1:abab1cb4afd1a0c41110c2e4bcd11cf74ef05775</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bump up stale lock expiration date.</title>
<updated>2017-01-09T14:07:29Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-01-09T14:07:29Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=beebdf29317a8df4fcfabd0ee4f01cb7eb6247d3'/>
<id>urn:sha1:beebdf29317a8df4fcfabd0ee4f01cb7eb6247d3</id>
<content type='text'>
Hopefully this will help fix intermittent failures on the Gitlab CI runners.
2 minutes appears to be too short since the MySQL tests can take longer than
that to get to the lock claim attempt.
</content>
</entry>
</feed>
