From The Fairy Garden MUSH
Jump to navigation Jump to search

Version 1.8.4 patchlevel 8 -- Nov 11, 2011

Major changes:

  • ssl_slave is enabled by default by configure if OpenSSL and libevent2 are present. Passing --disable-ssl_slave to configure will still disable it.
  • The newline_one_char config option has been removed -- %r now always returns a single-char newline (\n).
  • Microsoft Visual Studio 2010 project files.

Minor changes:

  • crunch_code and crypt_code in funcrypt.c are no longer static.
  • @dump now notifies the executor when the dump is complete.
  • There is now a slight delay between a client connecting to the MUSH, and the connect screen being shown. This means that the "<-- ... -->" HTML comments are no longer needed around the connect screen when mud_url is enabled, the HTML shown when someone connects to the MUSH with a browser works better, and that Pueblo clients will usually only get the HTML connect screen, instead of seeing both. Also, telnet negotiation should complete before the screen is shown, making terminfo() and width() give useful values for people using softcoded connect_files. Commands can still be used before the connect screen is displayed.
  • When looking at an object, all its components (describe, descformat, conformat and exitformat) now share registers: a q-register set in the desc can be accessed in the conformat, and so on.
  • When you fail to @mail a player because you don't pass their @lock/mail, the MAIL_FAILURE verbs will be triggered, as per 'help failure'.
  • When using channels() on an object, the permission checks now resemble those for cwho() / @channel/who.
  • Guests no longer control anything, including themselves, and can't ever build, create or destroy objects. They can still examine themselves, for backwards compatability.
  • Changed many things which were evaluating an attribute value manually to use call_ufun() instead, for better %+ / %= values, among other benefits.
  • fetch_ufun_attrib now takes a new flag, UFUN_NAME, which will add the object's name to the beginning of the attr value (respecting no_name and no_space attr flags), for @o-* attrs.
  • Clean up the functions that send data across the network to connections.
  • Updated intructions for compiling with MySQL support on Windows.
  • Improve ssl_slave cleanup code on lost connections and shutdowns.
  • @list locks and list(locks) sort their results.


  • @lock/infilter, not @lock/infitler.
  • @shutdown/reboot handles failed database saves much more gracefully.
  • Help fixes.
  • Fix a few places that could trigger an integer division exception.
  • A number of places in the hardcode incorrectly took TINY_MATH into account when deciding if something was a valid number or not.
  • doing() now evaluates the DOING attribute with better values for %# and %@.
  • Fix some cases where functions like lcon() could return partial dbrefs at the end of a long output string.
  • When magic-sorting strings with embedded dbrefs, setunion() no longer treats different objects with the same name as being identical.
  • type() and hastype() claimed to work on GARBAGE objects, but actually returned #-1 NO SUCH MATCH.
  • A few messages were sent with incorrect nospoof data.
  • Fix a harmless but annoying race condition when making a SSL connection to a game in the middle of starting.
  • Fixed minor memory leak in chat system.
  • @channel/decompile didn't recreate the ANSI in a channel's name.
  • Channel names can now contain any amount of ANSI, as long as the visible name is 30 chars or less in length.
  • @channel/rename allowed you to give channels invalid names.
  • @readcache rebuilds the linux file watch list, allowing deleted files to be watched for changes again when re-created.
  • Crash bug in @boot/me.


  • isregexp() to validate regexp patterns.
  • sqlescape() doesn't need to have commas escaped.


  • 'examine' and 'brief' now take an /opaque switch, which omits contents listings. Useful for spammy objects like the player_start room.