I've reworked the user_groups system, again, into something that seems to actually more or less work for now.
* user_groups ur_group is now a short string key ('sysop' etc) * groups table is gone * user_rights table is gone * Permissions for groups are for now set in $wgGroupPermissions. An in-database management system could be re-added in the future if it's really needed, but for now it's mostly just been screwing things up. * Group.php and Special:Groups are deprecated; will probably die. * User group memberships are set explicitly through addGroup and removeGroup methods instead of being re-saved on every change to the user record.
In 1.4, the group keys are in a comma-separated list in the user_rights table (in 1.3 and earlier the user_rights field in the user table). They're now split to individual rows in user_groups; this means you can for instance easily grab a list of all sysops without a nasty LIKE clause.
On an upgrade from 1.4 or older, the user_rights data should be automatically migrated. When updating an existing 1.5 alpha wiki, the previous user_groups table will be renamed and a clean one simply added; due to the various funkadelic problems before I don't think there's much point trying to migrate automatically -- the user_rights fields were overwritten with garbage and I wouldn't trust the contents fo the old user_groups.
So when you update your alpha wiki, be sure to add yourself a sysop back, something like:
INSERT INTO user_groups values (1,'sysop'),(1,'bureaucrat');
The good news is, the sysop user created at installation should actually work now... :D
-- brion vibber (brion @ pobox.com)