<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mailman.git/src/mailman/commands, branch address-events</title>
<subtitle>The GNU Mailing List manager.</subtitle>
<id>https://git.neuromancer.sk/mailman.git/atom/src/mailman/commands?h=address-events</id>
<link rel='self' href='https://git.neuromancer.sk/mailman.git/atom/src/mailman/commands?h=address-events'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/'/>
<updated>2017-01-16T05:24:41Z</updated>
<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>
<entry>
<title>Bump copyright years.</title>
<updated>2017-01-04T15:30:17Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-01-04T15:30:17Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=8180990a2ed053f6e4880f93a75acd9845631793'/>
<id>urn:sha1:8180990a2ed053f6e4880f93a75acd9845631793</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement caching suffix list with in-tree fallback.</title>
<updated>2017-01-01T22:28:37Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-01-01T22:25:29Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=e3d6c34b7d02b925cb8c59fa9e1df24741fc46ee'/>
<id>urn:sha1:e3d6c34b7d02b925cb8c59fa9e1df24741fc46ee</id>
<content type='text'>
Also:
* Change doctest cleanups to be an ExitStack.
* Added [dmarc]cache_lifetime setting.
* Cleanup pass through dmarc-mitigation.rst.
* Be sure the cached org domain file is cleaned up when the world is reset.
</content>
</entry>
<entry>
<title>Prevent the occasional CI/testsuite hang.</title>
<updated>2016-12-03T16:08:18Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-12-03T16:08:18Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=a30bbdf0d483150dc4259b8d149679d38b6030f1'/>
<id>urn:sha1:a30bbdf0d483150dc4259b8d149679d38b6030f1</id>
<content type='text'>
This doesn't solve the underlying problem of why child processes (both
runners and master) occasionally don't exit, but it prevents ugly
timeouts in the CI infrastructure when that happens.
</content>
</entry>
<entry>
<title>Use `atpublic` for @public instead of internal copy.</title>
<updated>2016-11-29T23:51:05Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-11-29T23:51:05Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=fe22ebdb98d125db840c980cbd953a8fbc2e5cdf'/>
<id>urn:sha1:fe22ebdb98d125db840c980cbd953a8fbc2e5cdf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix the Flake8 ignore tags</title>
<updated>2016-11-21T11:45:16Z</updated>
<author>
<name>Aurélien Bompard</name>
</author>
<published>2016-11-21T11:45:16Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=0a5efbdf15a67f6e4065c78b0c70e72202e0d965'/>
<id>urn:sha1:0a5efbdf15a67f6e4065c78b0c70e72202e0d965</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix doctests to properly set unsubscription_policy = SubscriptionPolicy.open</title>
<updated>2016-10-26T03:15:31Z</updated>
<author>
<name>Mark Sapiro</name>
</author>
<published>2016-10-26T03:15:31Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=6c1e74d93212ee6922ea8500dbecb4cf2eff1114'/>
<id>urn:sha1:6c1e74d93212ee6922ea8500dbecb4cf2eff1114</id>
<content type='text'>
where needed.
</content>
</entry>
<entry>
<title>100% diffcov</title>
<updated>2016-10-21T15:06:46Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-10-21T15:06:46Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=f036d465725204a294a6e2f582750aaab875eb18'/>
<id>urn:sha1:f036d465725204a294a6e2f582750aaab875eb18</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify the implementation.</title>
<updated>2016-10-17T13:13:32Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-10-17T13:13:32Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=d45af03c4f2a560d51631fdfa7c55cd1a98e722c'/>
<id>urn:sha1:d45af03c4f2a560d51631fdfa7c55cd1a98e722c</id>
<content type='text'>
This merges the SubscriptionManager and UnsubscriptionManager into a
single SubscriptionManager implementation that handles both register()
and unregister().  This allows us to use direct class-based adaptation
instead of the more clunky getAdapter() API.  We can also eliminate the
funky _get_workflow() implementation detail.

This has a couple of side-effects.  .confirm() must lookup the token in
the pendings database and pull out the pending type, dispatching to the
proper class depending on the type, or raising a LookupError if the
token is None or there is no pendable associated with the given token.
This feels like an acceptable trade-off.

However, this *also* means that IWorkflowStateManager must lose its
'name' argument in its methods.  That's because we won't actually know
the name until its too late.  Honestly, the name wasn't providing much
value anyway (it was always the subclass's name), so losing that seems
fine too.  The complication here is that the name was a primary key in
the 'workflowstate' table, so we need to add its removal in the database
migration.
</content>
</entry>
</feed>
