2.6.4-cr2 This release contains two major types of changes. The first, and most common, is the "low hanging fruit" from jitterbug. These are all of the relatively easy to fix bug reports. Jack Twilley and I have fixed about seventeen such problems. The second, and most important, is the rewrite of the $command_mode:/DEPERMIT command and the attendant changes to $lily_utils:event_broadcast. These must be reviewed carefully, and please send me feedback even if it only amounts to "looks good to me." The new command/event_broadcast change is conceptually quite simple. In the begining, the event_broadcast verb send the same event to everyone but the sender, added it to _all_ review buffers, and added it to the discussion review buffer (if there was one). The text of the event alone contained all of the informatio necessary for transmission. Then SLCP came along, and suddenly a lot more information became necessary. For most commands little needed to be changed, but for discussion permission commands everything go complicated. The "appoint" event has several subevents (author, speaker, moderator) and the discussion has an actor, (the user running the command), a context (discussion), and the targets (the people being acted on). ALSO, the notice to the actor was now an event itself, rather than being a simple mesage. To resolve this complexity a new parameter has been added to event_broadcast "reviewflag". This seventh, and optional, parameter indicates whether the event should be added to discussion reviews. By default the value is '1' (or true), and this is how it is used when sending the event that everyone sees. When sending the event that only the target sees, the value should be set to '0'. This keeps the specific event out of the discussion review, preventing the many instances of "*** You have been ... ***" from being added to the discussion review buffer. Document sections: CHANGES, UPDATES, THANKS CHANGES: o Applied performance improvement patches to $set_utils:intersection() and $set_utils:union() (jmt) o Added storage of one-character names in a special $sset bucket, this will speed performance for one-character name lookups (car, PR#251) o Added multi-step searching of longer names to limit the available search space. All namespace searches should experience a speedup (car, PR#250) o Moved discussion name searches into their own sset object (car, PR#284) o Fixed "/DISPLAY BANNER" generating a traceback (car, PR#381) o Fixed "/INFO APPEND" tracebacking on a blank info (car, PR#399) o Corrected the usage statement for /INFO (car, PR#321) o Display of 'm' flag in /WHO now only occurs if there are visible memos in the buffer. (car, PR#443 & PR#467) o Corrected the $lily_utils:namelist() parameter in $slcp_agent:deliverWhat() so that '#$# what' works without a traceback (car, PR#474) o Changed regexp to match keyword + whitespace (jmt, PR#459) o Added median discussion membership count to /HOW (jmt, PR#456) o Changed /SUBMIT to use a prompt on the summary line (jmt, PR#262) o Enclosed one of the response messages in /SUBMIT with ()s (jmt) o Removed the penalty when the creator of a discussion self-/DEPERMITs, now a message is printed (car, PR#380) o Fixed several access leakage problems when calling /DEPERMIT (e.g. author perms remain and speakers remain) (car, PR#451 & PR#315 ) o Corrected a missing discussion OID when sending a user-directed appoint notification (car, PR#409) UPDATES: If you are manually patching your server, you will need to run the following commands as a wizard/programmer: -------------- @property #0.waterlogin #35 r $admin @eval $waterlogin.name="waterlogin" @property $waterlogin.active_connections {} "rw" $admin @property $waterlogin.active_state {} "rw" $admin @eval $client_options = setadd($client_options, "waterlogin") @property $sset.tiny_bucket {} "rwc" $admin @property $sset_d #36 "r" $admin @eval $sset_d.name="sset_d" @eval chparent($sset_d, $sset) @eval $banner = {} @eval $lily_version="2.6.4-cr2" -------------- THANKS: My thanks on this release go to Maker for some good performance tips in the $set_utils:intersection() changes. Also, to Coke and Nautilus for providing several good patches to apply to this release. ------------------------------------------------------------------------------- 2.6.4.1 NOTE If you are going to apply this release to 2.6.4, please run the following commands first: CHANGES * Fixes two traceback errors in the global exception handler. {CAR} * Extracts the rejoin-on-connect logic into a new verb. {CAR} * Implements version 1 of the waterlogin protocol. {CAR} THANKS My thanks go out to hawkeye, Prisoner, Garance, Maker, and all the denizens of lily-dev for their help with the first revision of the waterlogin protocol. Feedback is absolutely welcomed. For information please see the document included in this directory. christian