Another crosspost to wikipedia-l and wikitech-l, please follow up to one list only. Tell me offlist if you think the crossposting is useful.
I'm making some changes to user blocks. Here is the changelog entry:
* Allow blocks on anonymous users only (bug 550) * Allow or disallow account creation from blocked IP addressess on a per-block basis. * Prevent duplicate blocks. * Fixed the problem of expiry and unblocking erroneously affecting multiple blocks. * Fixed confusing lack of error message when a blocked user attempts to create an account. * Fixed inefficiency of Special:Ipblocklist in the presence of large numbers of blocks; added indexes and implemented an indexed pager.
This will require a schema update, hopefully it can be done on Wikimedia with a minimum of disruption.
A unique index will be introduced which will prevent duplicate blocks on users or IP addresses. To migrate to the new schema, it is necessary that all existing duplicate blocks be deleted. This will be done automatically during the schema update. I *think* the winning block will be the earliest one, with all others silently deleted, but we'll see for sure during the update.
If it's a problem for anyone that these blocks will be removed, please speak up. I'm not going to create a list of dropped blocks unless anyone has a really good reason why it's necessary. The original record of the duplicate block being created, available in Special:Log, will not be deleted, and there will be a backup of the ipblocks table in case anything goes wrong.
I'll aim to put this change live in about 24 hours from now. It has to be soon, because we won't be able to deploy any other updates to MediaWiki until the schema is updated.
I know a lot of people have all sorts of dreams for the perfect blocking feature, and I'm sorry to say that this won't fulfill all of them. It is a concrete step forward, it fixes some embarrassing bugs, and it implements a much requested feature. I'd be happy to hear about your ideas for a perfect blocking module, just don't expect them to be live on the site within 24 hours.
-- Tim Starling