<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mailman.git/src/mailman/model/roster.py, branch pluggable-workflows</title>
<subtitle>The GNU Mailing List manager.</subtitle>
<id>https://git.neuromancer.sk/mailman.git/atom/src/mailman/model/roster.py?h=pluggable-workflows</id>
<link rel='self' href='https://git.neuromancer.sk/mailman.git/atom/src/mailman/model/roster.py?h=pluggable-workflows'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/'/>
<updated>2017-01-04T15:30:17Z</updated>
<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>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>Clean up the model and languages directories.</title>
<updated>2016-03-25T15:01:46Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-03-25T15:01:46Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=7fd9e5ab09b0da347da0607b47d2d3838bd80f0c'/>
<id>urn:sha1:7fd9e5ab09b0da347da0607b47d2d3838bd80f0c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix membership query for preferred addresses.</title>
<updated>2016-02-06T23:00:06Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-02-06T22:58:35Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=d87106191610b69387feb1e339ecdf6db9727c53'/>
<id>urn:sha1:d87106191610b69387feb1e339ecdf6db9727c53</id>
<content type='text'>
When multiple users are subscribed to a mailing list via their preferred
address, too many results are returned from a membership query,
resulting in an assertion error.  Reported by Darrell Kresge.
(Closes: #190)
</content>
</entry>
<entry>
<title>Several optimizations:</title>
<updated>2016-01-12T03:52:33Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-01-12T03:52:33Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=03bb57c8c2a47a08e19b20975622ebb2ef2b81c6'/>
<id>urn:sha1:03bb57c8c2a47a08e19b20975622ebb2ef2b81c6</id>
<content type='text'>
* Use `yield from` wherever appropriate.
* Use SA's .one_or_none() where appropriate.

- Fix a bug in MailingList.pass_extensions.
- Use ValueError in other places for consistency.
- Remove unreached/nonsense code.
- Simplify the SubscriptionService.find_member() and .find_members()
  implementations.
- Boost coverage.
</content>
</entry>
<entry>
<title>Happy New Year.</title>
<updated>2016-01-03T03:43:23Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2016-01-03T03:43:23Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=f390e08c31477c476e1312d03771b68e22b42675'/>
<id>urn:sha1:f390e08c31477c476e1312d03771b68e22b42675</id>
<content type='text'>
</content>
</entry>
<entry>
<title>The ``mailman members`` command can now be used to display members based on</title>
<updated>2015-12-23T04:14:44Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2015-12-23T04:14:44Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=a11e089cc1e0e5aff2502e584014295a414a43f9'/>
<id>urn:sha1:a11e089cc1e0e5aff2502e584014295a414a43f9</id>
<content type='text'>
subscription roles.  Also, the positional "list" argument can now accept
list names or list-ids.
</content>
</entry>
<entry>
<title>Optimize the roster SQL query</title>
<updated>2015-11-23T03:06:00Z</updated>
<author>
<name>Aurélien Bompard</name>
</author>
<published>2015-11-20T06:56:42Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=8413ae86bfce8665fc94a8e3fb8b5e0624a46f25'/>
<id>urn:sha1:8413ae86bfce8665fc94a8e3fb8b5e0624a46f25</id>
<content type='text'>
Measured improvement: about 100x faster. (!)

Reformatting.
</content>
</entry>
<entry>
<title>Merge the member query fix branch.</title>
<updated>2015-04-14T16:47:02Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2015-04-14T16:47:02Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=eab98485ec133dcc745618e4fd5b6054c902af05'/>
<id>urn:sha1:eab98485ec133dcc745618e4fd5b6054c902af05</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Added IMember.subscriber to definitively return how a member is subscribed to</title>
<updated>2015-04-14T16:35:53Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2015-04-14T16:35:53Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=85afb7bac938eb2c2f00507482886e1470bdcaa1'/>
<id>urn:sha1:85afb7bac938eb2c2f00507482886e1470bdcaa1</id>
<content type='text'>
the mailing list (via preferred address/user or explicit address).

IMember.get_member() is defined to return the explicit address when members
are subscribed in both ways.

IMember.get_memberships() returns a sequence of length 0, 1, or 2 containing
all the member records associated with the email address.

Fixed the AbstractMemberRoster methods query to properly return subscriptions
via the user's preferred address and via an explicit address.
</content>
</entry>
</feed>
