I can't get in to the Python bug tracker right now (its promised registration email has not arrived), so I post this here in the meantime. (Update: Finally got the email. Bug filed with patch as
#3801.)
The code: import cgi; cgi.parse_qsl('a=1&b=2&b=3')
The result in Python 2.5: [('a', '1'), ('b', '2'), ('b', '3')]
The result in Python 2.6b3+ (trunk:66224): {'a': ['1'], 'b': ['2', '3']}
Probably a cut-and-paste bug, cgi.parse_qsl is in fact implemented by calling urlparse.parse_qs.
Guess I should have my code running on the community buildbots after all.