root/1.8.3/branches/gc/CHANGES.OLD

Revision 981, 201.0 KB (checked in by shawnw, 19 months ago)

Various documentation improvements

Line 
1This is the old changes file for PennMUSH.  Changes are reported in reverse
2chronological order (more recent first.) Starting with 1.7.4, each minor
3version has its own changelog, in CHANGES.174 and so on.
4
5[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian)
6[TAP] is T. Alexander Popiel, a former PennMUSH developer (aka Talek)
7[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
8[LdW] is Luuk de Waard, a former PennMUSH developer (aka Halatir)
9[RLM] is Ralph Melton, a former PennMUSH developer
10[NJG] is Nick Gammon, the former Win32 porter
11[DW] is Dan Williams, the former MacOS porter
12[2.2] refers to code which originated with the TinyMUSH 2.2 developers
13[3] refers to code by (or inspired by) TinyMUSH 3.0
14[Rhost] refers to code by (or inspired by) RhostMUSH
15
16==========================================================================
17
18Version 1.7.3 patchlevel 14                    January 29, 2001
19
20Major Changes:
21      * Commands and functions can now be aliased to other names
22        in mush.cnf, so you can provide translated command names
23        as well as the english one, etc. Suggested at various times
24        by Krad@M*U*S*H and David@M*U*S*H. New file aliases.cnf
25        in game/ is created to put these command_alias and function_alias
26        directives (as well as reserve_alias). [SW]
27Minor Changes:
28      * smalloc and bigram compression options are no longer supported. [SW]
29      * Internal improvements to @search/lsearch, which are now more
30        consistent with one another. [SW]
31      * mush.cnf options that refer to dbrefs now understand #<number> as
32        well as just <number>. They are also formatted as dbrefs in @config
33        and config(). [SW]
34      * Much longer game/names.cnf file contributed by Kyieren@M*U*S*H.
35      * New internal function notify_format() to replace notify+tprintf
36        more safely. [SW]
37      * Tweaks to network activity timeout code. [SW]
38      * @stat and lstats no longer needs to scan the entire database. [SW]
39Commands:
40      * @switch and @select can now take a /notify switch, like @dolist.
41      * Players may @chown by dbref, but they must still be carrying
42        the object if it's a thing. Suggested by Kyieren@M*U*S*H.
43      * @clone can now clone rooms. Suggested by Kyieren@M*U*S*H.
44      * @verb's matching of the <actor> argument has been relaxed so
45        non-privileged objects can use it on remote actors, if the normal
46        permission checks succeed. This makes @verb much more useful for zones
47        and master room objects. [SW]
48Attributes:
49      * @forwardlist [2.2,SW]
50Functions:
51      * itemize() takes a list "a b c" and produces "a, b, and c" and
52        similar tricks. Also callable as elist() for Rhost compatibility.
53      * ilev() returns the current iter nesting level. [Rhost,SW]
54Fixes:
55      * When indexing help files, ones that aren't in the right format
56        weren't being properly closed. Report by Nammyung@M*U*S*H. [SW]
57      * We're much more forgiving about help files that start with
58        blank lines now.
59      * Help updates by Kyieren@M*U*S*H, [SW]
60      * Games w/o MAIL_ALIAS couldn't load maildbs that had mail aliases.
61        Reported by Nymeria. [SW]
62      * max_pennies had a limit of 10,000 in conf.c, even though it
63        has always defaulted to 100,000. Reported by Intrevis@M*U*S*H.
64      * src/filecopy.c didn't include hdrs/log.h. Fixed by Noltar@Korongil.
65      * MacOS portability fixes. [DW]
66      * vsnprintf used in place of vsprintf everywhere when available. [SW]
67      * Cleanup of @atrlock code. [SW]
68      * '#' without any trailing numbers was treated as #0 when used as a
69         dbref. [SW]
70      * Added explicit checking for lower-case letters in good_atr_name(). [SW]
71      * Trying to set an attribute with a bad name now gives a better
72        error message. [SW]
73      * Fix to potential overflow bug in revwords. [SW]
74      * Fix to potential overflow bug in @grep. [SW]
75      * Configure checks for snprintf. Systems unfortunate enough not to
76        have this (Solaris 2.5.1, for example) are stuck with sprintf.
77        Report by Broncalo@DuneIII.
78      * CHARGES were decremented whenever an A-attribute would be
79        executed, *even if the attribute wasn't set on the object*.
80        Reported by Kyieren@M*U*S*H.
81
82Version 1.7.3 patchlevel 13                    January 9, 2001
83
84Major Changes:
85      * Semaphores may use attributes other than SEMAPHORE. These
86        "named semaphores" make it easier to have multiple semaphores
87        waiting on the same object. [SW]
88      * New attribute flag AF_NODUMP prevents attributes from being
89        dumped to the db. It applies to QUEUE, SEMAPHORE, and attributes
90        used as named SEMAPHORES. [SW]
91Commands:
92      * @wait/until can be used to put commands on the wait queue until
93        some absolute time (in secs) is reached. [SW]
94      * @cpattr/noflagcopy copies attribute data without flags.
95        Same for @mvattr. Suggested by Noltar@Korongil.
96Functions:
97      * foreach() takes start and end arguments like TM3/MUX2. [3,SW]
98      * locate() has a new option to force matching the preferred type,
99        and an undocumented option to eliminate ambiguous matching is now
100        documented. [SW]
101Minor Changes:
102      * Experimental support for translating 8-bit accented characters to HTML
103        entities for Pueblo. [SW]
104      * Objects without a @lock/zone that are used as zones are noticed and
105        warned about during dbcks. [SW]
106      * Some people prefer that +channel "foo now cause you to say "foo
107        on the channel, instead of stripping the initial quote. Now
108        it's a mush.cnf option (chat_strip_quote). Suggested by Dave Milford.
109      * isint() now ignores tiny_math, so isint(foo) will always return 0. [SW]
110Fixes:
111      * Hopefully fixed a problem with puppets doing look for non-Pueblo
112        players with Pueblo support turned on. The line after the look
113        could appear to come from the puppet even if it didn't. [SW]
114      * If you disabled a command with a one-character token (like say),
115        then running the command with the token ("hi!) would fail, but
116        wouldn't return the right thing for $command matching. Now it
117        returns the canoncalized raw command (SAY hi!) so you can trap
118        it in softcode. Reported by Mackenzie@SWGT Mush 
119      * General linting [SW]
120      * Help fixes by Eratl@M*U*S*H.
121      * make customize doesn't try to link mkindx any more. And README and
122        os2/Makefile don't refer to it either. By Bobby Bailey (Chil@M*U*S*H).
123      * The internal tprintf() function is safer. [SW]
124      * Crash bug in @edit fixed, and @edit code is cleaned up. [SW]
125      * max_pennies documented in mush.cnf. Noted by Oriens@Alexandria
126      * cmdlocal.dst now includes cmds.h. Reported by David@M*U*S*H.
127
128
129Version 1.7.3 patchlevel 12                    January 4, 2001
130
131Locks:
132      * A new @lock/chzone, set on a ZMO, controls who may @chzone
133        objects to the ZMO. This can simplify multi-player building
134        using ZMOs. Suggested by David@M*U*S*H
135Commands:
136      * @wcheck/me checks all of a player's objects for them.
137Functions:
138      * cflags() function gets channel flags.
139      * ctitle() gets channel title for an object. Suggested by Luke@M*U*S*H.
140      * strinsert() function does insert() on strings. Suggested by
141        Reagan@M*U*S*H. [SW]
142      * channels() on an object you can't examine now shows you channels
143        that you have in common with it. Suggested by Trispis@M*U*S*H
144Minor changes:
145      * Runaway objects are now logged, along with the command that
146        pushed them over the edge. Suggested by Trispis@M*U*S*H.
147      * All instances of fprintf(stderr,...) after logging is started
148        are now handled through do_rawlog(LT_ERR,...). By David@M*U*S*H.
149      * @atrchown works more reasonably. [SW]
150      * @lock/link on an unlinked exit restricts who may link it.
151      * Everyone (even mortals) sees object names at the top of
152        their descriptions when they look at them. Suggested by Jeff
153        Ferrell most recently.
154      * New reserve_alias mush.cnf directive makes run-time command
155        alias reservation possible. Suggested by Jeff Ferrell.
156      * Mortals may use @command to get info about commands. Suggested by
157        Chili@M*U*S*H.
158      * Messages logged during help file indexing distinguish indexing
159        of admin topics. Suggested by mith@M*U*S*H
160Fixes:
161      * Help fixes by [SW], Jeff Ferrell, mith@M*U*S*H, Mirth@AtheneuMUSH.
162      * Help update to @cpattr based on behavior noted by Noltar@Korongil.
163      * cwho and @chan/who behave better with hidden (@hide) players.
164        Reported by Reagan@M*U*S*H.
165      * MUSHes with no @functions crashed on @list calls due to a
166        problem with the hashtable code. Reported by Whiskey. [SW]
167      * A bug in handling of errors under debug in process_expression
168        was reported by Reagan@M*U*S*H. [SW]
169      * Rare memory leak in process_expression fixed. [SW]
170      * Inconsistencies in the handling of destroyed objects/players
171        and their locations fixed. [SW]
172      * The QUEUE attribute was not properly cleared on restart
173        for non-player objects. It was buggy in other ways, too. [SW]
174      * The AF_SAFE attribute flag couldn't be reset. Reported by
175        Pegasus@StarQuest.
176      * @teleporting into garbage could cause crashes. Reported by Howie
177      * The help_command and ahelp_command directives now look for
178        whitespace generally, not spaces specifically.
179        Suggested by Krad@M*U*S*H
180      * SIGHUP once again re-reads the config file. [SW]
181      * If an exit @created an object, that object would be inside the exit
182        until the next dbck. Now it is created in the exit's source room. [SW]
183      * Turning the lowest possible integer number into a string could
184        result in garbage output. [SW]
185      * Solaris needed arpa/nameser.h before resolv.h in mysocket.c
186
187Version 1.7.3 patchlevel 11                    December 4, 2000
188
189Minor changes:
190      * Added 'comsys' as help alias for 'chat'. Suggested by David@M*U*S*H
191      * New win32 project files and MSVC build instructions by Jenny Lind.
192Fixes:
193      * Improved test for non-broken getdate and getnameinfo.
194      * Loading panic dumps does better on chatdb. By Maverick@M*U*S*H
195      * You may leave a channel even if you're the wrong type
196        to get onto it. Suggested by Cheetah@M*U*S*H.
197      * Typo in the win32 strcasecmp code fixed [NJG]
198      * stddev's algorithm improved. [TAP]
199      * If the go command is restricted, other commands produce spurious
200        errors during the exit-matching phase of command parsing.
201        Reported by Jamie@M*U*S*H
202
203Version 1.7.3 patchlevel 10                    November 20, 2000
204
205Major Changes:
206      * Improved detection of errors saving the game. If any problems
207        are encountered, the save is aborted, and online admins notified so
208        they can fix the problem before finding out about it too late. [SW]
209Flags:
210      * The INHERIT flag has been renamed TRUST, which better describes
211        its function. INHERIT remains as an alias.
212Commands:
213      * @chan now takes /ungag, /unhide, and /unmute as well as the
214        usual @chan/gag <channel>=no. By David@M*U*S*H.
215Minor Changes:
216      * money() called on a no_pay player returns the value of
217        MAX_PENNIES to ease softcode checks. Suggested by Oriens@Alexandria.
218      * Removed help and &help entries from the distributed pennmush.nws
219        because people will generally want to override them anyway
220        and we shouldn't introduce problems. Suggested by Jeff Heinen.
221      * safe_str and friends optimize trivial 0 and 1 letter strings. [SW]
222      * A version of word-based compression that's almost 8-bit clean
223        is now included. [SW]
224      * We now use stricmp and friends for strcasecmp and friends on
225        Win32, rather than roll our own. [SW]
226Fixes:
227      * @mail aliases couldn't be used by players who didn't have
228        permissions to see the alias members, which is wrong.
229        Fixed now. Report by Grinna@M*U*S*H.
230      * lnum(1) and lnum(0,0) were broken. Report by Jeff Ferrell
231      * Help updates. [SW]
232      * @set obj/notanattribute=flag now returns a 'No such attribute' error.
233        Reported by David@M*U*S*H. [SW]
234      * Help file indexing tries to detect files that aren't in the right
235        format. [SW]
236      * function restrictions were checking the wrong object. [SW]
237      * objmem and playermem counted eval-locks and atr-locks incorrectly.
238        Reported by Javin@DynamixMUSH. [SW]
239      * Fixes to win32 NT_TCP stuff. [NJG]
240      * Rare memory leak in do_page fixed by David@M*U*S*H.
241
242Version 1.7.3 patchlevel 9                    November 20, 2000
243
244Major Changes:
245      * Help files and their associated commands are now defined with
246        the 'help_command' (or 'ahelp_command') directive
247        in mush.cnf. So you can translate the help to french and
248        add an "aidez-moi" command if you like. [SW]
249      * Help file indexes are now kept in memory and built by the
250        server. The mkindx program is no longer used. [SW]
251      * Added restrict_function and @function/restrict, like the versions
252        for commands. [SW]
253      * User @functions can now override built-in functions, if you
254        @function/delete the built-in first. You can also @function/restore
255        the built-in back. [SW]
256Attributes:
257      * @[oa]zenter and @[oa]zleave on ZMOs are triggered when someone
258        enters or leaves a given zone. Motion between rooms in the same
259        zone doesn't trigger these. "Zone" is based on the mover's
260        absolute room (outermost container) so that entering and leaving
261        an unzoned object in a zoned room doesn't trigger these either.
262        Suggested by Michael Kurtz.
263Commands:
264      * New /silent switch for @teleport without @[o|a|ox]tport msgs.
265Minor Changes:
266      * Still less allocation involved in outputting text to connections. [SW]
267      * @scan has better output when multiple attribs match. [SW]
268      * Added internal absolute_room function for use by fun_room
269        and move.c and wiz.c, etc.
270      * MEM_CHECK now uses a sorted linked list and is faster. [SW]
271Fixes:
272      * References to kill_timer removed from win32 sections. [SW]
273      * conf.c reports error via logging routines, not fprintf. [SW]
274      * Assorted minor bug and warning fixes. [SW]
275      * Fix to example in help regedit by Amberyl.
276      * @wait and other timing functions were broken under win32.
277        Fixed now. [LdW]
278
279
280Version 1.7.3 patchlevel 8                    November 12, 2000
281
282Major Changes:
283      * Objects' names are stored in a string tree like attributes, so
284        we don't have hundreds of copies of 'West <W>;west;w' and such
285        taking up memory. Attribute name "hash table" is now a strtree. [SW]
286      * We no longer use alarm() to know when to run stuff on the queue. [SW]
287      * @shutdown/reboot is now supported on Windows builds. This is
288        slightly experimental. By Revian.
289Minor Changes:
290      * %qa-%qz now operate as global registers like %q0-%q9.
291        Suggested by Trispis@M*U*S*H and probably others.
292      * Hashtable lookups are faster (collision chains are sorted) [SW]
293      * @uptime/mortal suppresses the extra process information [SW]
294      * Wizard @uptime prints better process information on linux. [SW]
295      * @listen, @filter and @infilter respect the REGEXP and CASE attribute
296        flags.  Suggested by Maestro@M*U*S*H [SW]
297      * Having many @waits or semaphores is more efficient, because we
298        sort those queues by time and we stop looking sooner. [SW]
299      * User-defined lock names must follow the same rules as attribute
300        names. The name part of attrib and eval locks have to also. [SW]
301      * @chan/title's confirmation message is nicer. [SW]
302      * Minor optimizations related to strcpy() and malloc() overhead. [SW]
303      * safe_format uses vsnprintf if your system has it. By Luke@M*U*S*H.
304      * replace_string is safer. By Luke@M*U*S*H.
305Fixes:
306      * iter() is smarter about quitting when the function invocation
307        limit is reached or the buffer is filled. [TAP]
308      * lnum() has been greatly sped up. [TAP]
309      * RWHO references removed from game/mushcnf.dst, game/restart,
310        etc. by mith@M*U*S*H.
311      * Fix to help filter by Revian.
312      * COMPRESSION_TYPE 0 didn't compile. Report by David@M*U*S*H.
313      * Clarification of @lock/teleport in help @elock by Envinyatar@M*U*S*H
314      * Compiling w/o MAIL_ALIASES didn't declare load_maliases.
315        Reported by Envinyatar@M*U*S*H
316      * clone() was stomping %0-%9. Report by Revian.
317      * @dol with an empty list now does the right thing (nothing)
318        instead of running the command once. Report by Linda Naughton [SW]
319      * spname cleanup by mith@M*U*S*H.
320      * Fixed a bug in @function function-name [SW]
321      * make update should finally handle CHAT_TOKEN_ALIAS right.
322        It's also smarter with mush.cnf
323      * isword() on a null string now returns 0. Suggested by Ashen-Shugar.
324      * channels(object) returns a better error when object isn't matched.
325        Suggested by Trispis.
326      * Fix to help rand() to reflect actual error return value. Reported
327        by Philip Mak.
328      * More translated strings noted by Krad.
329      * Problems with encrypt()'s logic fixed by Ashen-Shugar. [Rhost]
330      * Other encrypt() sillyness fixed by Brazil.
331      * Potential crashers around DEBUG and other buffer overruns
332        have been fixed. Report by Tajan and Rimnar. [SW]
333      * notify_anything allocates less memory. [SW]
334      * Fixed mistagged memcheck "restart.descriptor".
335      * MacOS portability changes. Should build on MacOS X public beta
336        (Darwin) systems nearly straightaway. [DW]
337      * Restart script test for already-running MUSH condensed to one
338        line. Suggested most recently by Cory Albrecht.
339      * Serious crash bug in page fixed. Reported by Revian.
340      * Win32 bugs fixed by Luke@M*U*S*H: problems with dumping
341        compression suffixes, problems with @uptime
342      * MUSH no longer crashes if a player alias is > 32 chars in length.
343        It truncates names that are too long instead. By Luke@M*U*S*H.
344      * We don't check AF_PRIVATE attributes for $/^commands on children.
345        By Luke@M*U*S*H.
346      * Under win32, the MUSH would often start ignoring commands from
347        players after the first 98 per connection. Fixed by Revian.
348       
349Version 1.7.3 patchlevel 7                    October 12, 2000
350
351Functions:
352      * filterbool(), for TM3 compatibility. Like filter(),
353        but tests for any true value, not just 1. [3,SW]
354      * case(), for TM3 compatibility, and caseall().  Like switch()
355        and switchall(), but does an exact match, not wildcard. [3,SW]
356      * valid() takes more categories. [SW]
357      * localize(), for TM3 compatibility. Like a cross between
358        s() and ulocal(). [3,SW]
359Commands:
360      * @break, for Rhost compatibility. Stops processing the
361        current action list. [Rhost,SW]
362      * @enable and @disable can be used on any boolean config option. [SW]
363      * @function/enable and @function/disable for built-ins
364      * @function function-name reports some information on the function,
365        like @command command-name.
366Flags:
367      * New attribute flag 'safe' prevents accidental modification.
368        Suggested by Stephen Viscido. [TAP]
369Minor Changes:
370      * The daytime config option is no more. Do a few @searches in
371        its honor. [SW]
372      * lsearch() permission is controlled by @search, and entrances()
373        by @entrances, for consistency with other functions that have
374        a corresponding command. [SW]
375      * The number of reboots is tracked, and the restarts() function
376        added, for TM3 compatibility. [3,SW]
377      * Rearranged some compile flags to suit systems that have
378        /usr/local/include/ident.h. By Luiz Claudio Duarte.
379      * More strings marked for translation. By Krad@M*U*S*H
380      * :, [, ], (, and ) are no longer legal in attribute names
381        due to ambiguities and security issues. [TAP,SW]
382      * Ranges in @search, lsearch() and @find can be either #dbrefs or
383        (for backwards compatibility), integers. Inspired by ElendorMUSH. [SW]
384      * Broadcast messages in bsd.c replaced with GAME prefix.
385        Suggested by Krad@M*U*S*H.
386Fixes:
387      * Fixed a bug in filter() where it only looked
388        at the first character of the evaluated attribute. [SW]
389      * Some more noise from info_slave was removed. [SW]
390      * do_pcreate and do_chownall now live in game.h and not
391        externs.h. Reported by Maestro@M*U*S*H.
392      * Clean-up of atr_add calls in void context. [TAP]
393      * IPv6 buglet fixed. Report by Vexon@M*U*S*H. [SW]
394      * @config/set can no longer be used to set options in the files   
395        and messages categories, as this has icky consequences. [SW]
396      * Fixed a logic bug in letters_to_privs where not all the letters
397        were being turned into privs properly. Report by Bolt@M*U*S*H [SW]
398      * Fix to isint() so that isint(1a) is 0. [SW]
399      * Added safe_boolean internal function, and fixed a hang bug
400        in edit() reported by Walker@M*U*S*H. [SW]
401      * Fixed problems in panic dumps/reads of maildb and chatdb. [SW]
402      * @edit is a bit more efficient. [SW]
403      * Assorted lock structures are allocated in big chunks like
404        attribute structures, to save malloc overhead. [SW]
405      * User-defined lock names are stored in the attribute name tree. [SW]
406      * Various help fixes [SW, Javelin]
407      * LASTLOGOUT time now forces two-digit day for convtime niceness. [SW]
408      * Very large malias names or member lists could cause buffer
409        overruns. [SW]
410      * Buffer overrun fix, fix to str_chr. [TAP]
411      * tprintfs removed from DEBUG output so DEBUG doesn't mess up
412        messages in ^-commands anymore. [TAP]
413
414Version 1.7.3 patchlevel 6                    September 20, 2000
415
416Minor Changes:
417      * Translation files are now archived separately on the ftp site.
418      * A variety of options.h settings have been removed.
419        EXTENDED_ANSI, DUMP_EMPTY_ATTRS, DUMP_LESS_GARBAGE and the *_LOCK
420        defines are totally gone. [SW]
421        OLD_NEWLINES, DELETE_ATTRS and VISIBLE_EMPTY_ATTRS have been
422        moved out of options.h as they're special-purpose. [SW]
423      * More common function error messages were made into variables
424        rather than being hardcoded in as string literals. [SW]
425      * If a player is set HALT, their queued commands will not run.
426      * Speedup in process_expression. [TAP].
427Functions:
428      * The regedit(?:all)?i? family of functions, like perl's s///. [SW]
429      * Case-insenstive versions of regrab() and regraball(). [SW]
430      * etimefmt(), which is to timestring() as timefmt() is to time(). [SW]
431Fixes:
432      * Error messages that were already variables are now translated. [SW]
433      * Fixes to various metaconfig rules. [SW]
434      * Open_Anywhere and Link_Anywhere were sharing the same
435        bitmask. Fixed. [SW]
436      * You can escape : in $command patterns that are being regexp-
437        matched now. [SW]
438      * Rewrites of the regexp functions so that, say, regrab() and
439        regraball() point to the same actual code, using called_as to
440        know when to stop. They also use PCRE's match optimizing
441        pcre_study() function when appropriate. [SW]
442      * Buglets in game/restart and game/mushcnf.dst fixed.
443        Reported by Krad and Nymeria at M*U*S*H.
444      * page_aliases directive in mush.cnf works now. Report by Nymeria.
445      * Same for float_precision. Report by Oleo@M*U*S*H.
446      * mushtype.h now included in compress.c. [DW]
447      * Less noise in log/netmush.log from failed ident queries.
448      * More strings marked for translation.
449      * Fixes to problems with @search reported by Oleo@M*U*S*H.
450      * Weird evaluation of functions in softcoded commands fixed. [TAP]
451      * Cleanup of typos here and there by Padraic@M*U*S*H.
452
453
454Version 1.7.3 patchlevel 5                    September 7, 2000
455
456Minor Changes:
457      * FLOATING_POINT is no longer an option (it's always on). [SW]
458      * EXTENDED_ANSI defaults to enabled. [SW]
459Attributes:
460      * @receive/@oreceive/@areceive triggered on the recipient
461        after a get or give, so you've got access to who caused
462        you to acquire the object and the object's dbref now.
463      * @give/@ogive/@agive triggered on the giver with object's
464        dbref in %0. Suggested by Oriens@Alexandria.
465Fixes:
466      * Fixes for systems with broken or incomplete IPv6 support. [SW]
467      * Uses of index() changed to strchr() for consistency. [SW]
468      * Much removal of duplicate function prototypes and rearranging
469        of headers.  hdrs/globals.h is now hdrs/case.h. hdrs/intrface.h is
470        no more, and hdrs/boolexp.h, hdrs/log.h were added. [SW]
471      * @search supports "quoted player names".
472      * We no longer report failed connect to ident servers in the log.
473
474Version 1.7.3 patchlevel 4                    August 8, 2000
475
476Major Changes:
477      * Internationalization:
478        * Support for international time formats via LC_TIME locale [SW]
479        * Support for message translation
480        * Support for locale-sensitive ordering of strings (LC_COLLATE) [SW]
481        To take advantage of the new features, you should have your
482        LANG environment variable set to an appropriate locale
483        before you 'make install' (which will cause the right message
484        catalog to be compiled), and you should see the section
485        in game/restart for setting it there (which will actually cause
486        the server to use it).
487      * IPv6 support [SW]
488Commands:
489      * @dolist/delim and @map/delim [SW]
490      * @stats/tables [SW]
491      * SESSION command displays session statistics (experimental) [SW]
492Functions:
493      * uldefault(), like udefault but saves registers like ulocal() [SW]
494      * switchall(), for Tiny compatibility. [SW]
495      * cemit() with an option to act like @cemit/noisy [SW]
496      * vmin() and vmax(), for returning the min and max of each pair in two
497        vectors. [SW]
498      * utctime(), convutcsecs() for UTC/GMT time instead of server-local. [SW]
499      * convtime() uses getdate() if present, along with a variety of templates
500      * that it can accept. [SW]
501      * timefmt() - like the strftime() C function. [SW]
502      * pcreate() side effect function suggested by Adamas and Padraic@M*U*S*H
503      * starttime() now returns the first startup time, and
504        restarttime() returns the time of the last @shutdown/reboot [SW]
505Minor Changes:
506      * +help is mentioned in help help. Suggested by Trispis@M*U*S*H.
507      * include directive for config files, with an example moving all
508        the restrict_command's to another file. [SW]
509      * make indent runs expand, then indent, because indent doesn't seem to
510        handle tabs very well. [SW]
511      * index-files.pl sorts patchlevels correctly. Patch by Jeff
512        Heinen.
513      * LASTLOGOUT attribute records logout time, like LAST, but not
514        visual. Suggested by Oriens@Alexandria, and others.
515      * Internal cleanup by David@M*U*S*H. New @config category 'messages',
516        no more OBJECT_ENDOWMENT or OBJECT_DEPOSIT macros, etc.
517      * Internal functions safe_integer(), safe_number(), and safe_dbref()
518        to replace safe_str(unparse_FOO(data), buff, bp) calls  [SW]
519      * You can now @trigger an attribute containing a $command or
520        ^listen and it'll work (skipping the $...: or ^...: parts).
521        So you can now do this:
522         &DO_WHO obj=$who *: @pemit %#=[u(who,%0)]
523         &DO_+WHO obj=$+who *: @tr me/do_who=%0
524        (But you can do this much more efficiently with regexp...)
525Fixes:
526      * table() is less CPU-intensive in extreme cases. [SW]
527      * Hopefully, Configure now determines pagesize on FreeBSD.
528        Method suggested by Matt Harris.
529      * CHAT_TOKEN_ALIAS comment clarification by Oleo@M*U*S*H.
530      * pcre regexp engine updated to version 3.4.
531      * Typo in @chan/who fixed by Vexon@M*U*S*H.
532      * @attribute/access won't modify AF_INTERNAL attributes now.
533      * Additional win32 portability fixes. [NJG]
534      * con() was buggy in a bad way. Fixed now.
535      * Configure -d should now work on linux systems that don't have
536        crypt libraries. Reports by mith and Inek@M*U*S*H.
537      * Fix to Z_TEL on things.
538      * Help fix to @lock5 by Datron@SW2.
539Languages:
540      * Swedish and Hungarian translations for most strings are
541        included in this patchlevel.
542
543
544Version 1.7.3 patchlevel 3                    July 12, 2000
545
546Major Changes:
547      * Restrictions to the 7-bit ascii charset have largely been removed
548        except in attribute names, to help international users. [SW]
549      * If available, we now use setlocale to support international
550        charsets (and eventually other conventions, though this should
551        be considered experimental). If you set your LC_CTYPE environment
552        variable to, say, 'fr_FR', french-accented characters should work.
553        Wide (multibyte) charsets are not supported.
554Minor Changes:
555      * Internal cleanup of page/whisper code by David@M*U*S*H.
556      * New mush.cnf directive, page_aliases, for showing alias of
557        paging player. Supported by code by David@M*U*S*H.
558        Requested by many. A contrib version by Flame dates to 1996.
559      * @chat on a non-existant channel returns an error message. [SW]
560      * Two new CRYPT_SYSTEM options. One checks both SHS and crypt(3)
561        for passwords, and saves them back using SHS. The other does
562        the same for plaintext passwords. These should encourage folks
563        who currently use crypt(3) to make a painless move to SHS. [SW]
564Commands:
565      * @remit can take /silent and /noisy switches now. Suggested by
566        Philip Mak.
567      * @lemit and @emit can take /silent switch. [SW]
568      * @config/set can set configuration parameters at runtime. [SW]
569Functions:
570      * The set algebra functions can be given a sort order for output. [SW]
571Fixes:
572      * CHAT_TOKEN_ALIAS could get defined w/o a character value.
573        Added a better explanation of CHAT_TOKEN_ALIAS in options.h.dist.
574        and fixed utils/update.pl to handle commented defines that take
575        values a bit better. Report by Nymeria@M*U*S*H.
576      * You can no longer initiate following a disconnected player.
577        Report by Dave@Galactic.
578      * CHANGES for 1.7.1 and 1.7.0 were missing. Back now.
579      * Typo in options.h.dist corrected. Report by Padraic@M*U*S*H.
580      * Small Configure portability improvements.
581      * Better handling of cases where the maildb has messages from
582        dbrefs that are out of range (due to truncating a db to remove
583        corruption, for example). Suggested by Ashen-Shugar.
584      * We now check for sitelocked sites before asking info_slave to
585        do ident lookups.
586      * Many help clarifications. [SW]
587      * linux Configure can use nm to find symbols, finally.
588      * help locate() now includes the z flag.
589
590
591Version 1.7.3 patchlevel 2                    June 3, 2000
592
593Commands:
594      * New @sitelock options to control access to god, wizards, admin
595        by site. [SW]
596      * @force can now take /noeval [SW]
597
598Functions:
599      * squish() can take a second argument to squish non-spaces. [SW]
600      * div(), floordiv(), modulo(), and remainder(), a set of functions
601        jointly adopted by MUSH and MUX servers for compatibility. [TAP]
602      * @@() and null() functions suggested by [LdW].
603
604Minor Changes:
605      * @uptime now shows initial restart time, not just time since
606        last reboot.
607      * Each player now has a limit to the number of @mail messages
608        in their inbox (folder 0), configurable in mush.cnf.
609        Suggested by Edwin@M*U*S*H.
610
611Fixes:
612      * More linting and improved indenting [SW]
613      * PARANOID works right for broadcast messages (like @cemit) now
614        too. Report by Vexon@M*U*S*H.
615      * You can no longer follow what you can't see.
616      * CHAT_TOKEN_ALIAS info appears in options.h now. Report by
617        Rhysem@M*U*S*H.
618      * Mac portability changes. [DW]
619      * Disconnected players don't follow any more. Suggested by Don Burks.
620      * Various fixes to better resist crashing due to attacks involving
621        overwhelming connections.
622      * @mail/stats for all was broken. Fixed now.
623      * Clearer message after failed @pemit. Suggested by Eratl@M*U*S*H
624      * Destroyed things stop following/leading. Report by Ashen-Shugar.
625      * follow didn't properly set up the followers as enactors.
626        We no longer short-circuit process_command. Report by Moe@Chicago.
627
628Version 1.7.3 patchlevel 1                    May 18, 2000
629
630Commands:
631      * @oemit now takes a list of players. Adapted from patch by Philip Mak.
632
633Minor Changes:
634      * Reconnecting is less spammy - we don't show motds again
635        to players already connected. Suggested by Trispis@M*U*S*H.
636
637Fixes:
638      * Configure problem that resulted in weird compile failures on
639        bind/accept in src/bsd.c fixed.
640      * Further linting. [SW]
641      * FreeBSD getrlimit problem diagnosed by [SW] is worked around.
642      * Couldn't compile w/o FLOATING_POINTS defined. Fixed.
643      * Fixed a few dependencies in the Makefiles to insure that
644        hdrs/patches.h and hdrs/switches.h are rebuilt properly.
645      * Indentation cleanup.
646      * We now recognize egcs as if it were gcc 2, and set ccflags
647        accordingly.
648      * Increased size of some hash tables for performance. [SW]
649      * Help fixes. [SW]
650      * flags(obj/attrib) behaved badly unless attrib was CAPITALIZED.
651        Fixed now. Reported by Vexon@M*U*S*H.
652
653Version 1.7.3 patchlevel 0                    April 20, 2000
654
655Major Changes:
656      * If you create a 'patches' subdirectory and keep any user-contrib
657        patches you apply in there, and if the patches are properly
658        formatted, i.e., they include these lines:
659              # Patch name:
660              # Patch version:
661        your MUSH's @version and INFO output will report them.
662        In addition to being helpful for you, this will help the
663        developers when you send us a bug report including your
664        @version. [TN]
665      * As @cemit doesn't override @chan/gag and allows
666        NOSPOOF notification, it basically now operates just like
667        @pemit/list (you can protect yourself from spoofing, and you can
668        silence it). Accordingly, the cemit power is no longer
669        necessary. It's now a runtime option.
670      * @malias (@mailing lists) by Daniel Peters.
671      * Attribute names are now stored in a single string tree,
672        so we don't have thousands of copies of the string
673        "FINGER_NOTE", etc., taking up memory. [TAP]
674      * As a consequence of the attribute name tree, the STARTUP flag
675        is no longer needed, and will be automatically removed from
676        dbs.
677      * Attributes are now inserted in alphabetical order, which
678        speeds lookup. [TAP]
679      * Panic dumps now dump the maildb and chatdb, appended to the
680        end of PANIC.db. The MUSH handles breaking them up on restart.
681      * New link_anywhere power allows @link'ing to any destination.
682      * Mortals may create VARIABLE exits. At the time the destination
683        is computed, the exit is check to see if it has permission to
684        link there (i.e., the exit controls the destination or the
685        exit is link_anywhere or the destination is link_ok).
686        To keep old code from breaking, all existing variable exits are
687        given the link_anywhere power at first db read in this patch.
688        Suggested by David@M*U*S*H.
689      * The follow command is implemented!
690      * Nested iter is now useful. The itext(n) function returns
691        the value of ## for the nth innermost iteraction, where
692        0 is the most inner, and inum(n) does the same for #@. [TN]
693      * New regexp library, pcre, now allows perl 5.005 compatible
694        regular expressions! Suggested by [SW].
695      * Objects are now limited in the number of attributes that may
696        be set on them. This prevents a DoS attack. Suggested by
697        Ashen-Shugar.
698      * Some more english-style matching (look my 2nd box). [TN]
699
700Functions:
701      * config() returns a list of config option names.
702        config(<option>) returns the value of a config option.
703        (e.g. config(money_singular))
704      * sort() now accepts an output delimiter, a la iter().
705        Suggested by Jason Newquist.
706      * channels() now accepts a delimiter. Suggested by Trispis@M*U*S*H.
707      * money(<integer>) returns the name of the money, either singular
708        or plural, depending on <integer>. Suggested by Trispis@M*U*S*H.
709      * timestring() with a pad flag of 2 forces 2 digit numbers.
710        Suggested by Trispis@M*U*S*H.
711      * fmod() function returns floating point remainder on division.
712        Written by Michael Thole.
713      * brackets() function returns bracket counts for its unparsed
714        argument. Handy for debugging. By Jason Wilcox.
715      * edit() can take multiple find-replace pairs. By Chili@M*U*S*H.
716      * clock() function by Ari@SpaceMUSH and Chili@M*U*S*H.
717      * flags() function can show attribute flags as well.
718        Suggested by Kami@SW2
719      * mailstats(), mailfstats(), and maildstats() added by Kami@SW2
720      * nattr() (aka attrcnt()) returns number of attributes on
721        an object. Suggested by Ashen-Shugar.
722      * map() and foreach() now provide the element's position
723        through %1. [LdW]
724      * spellnum() function spells out numbers in words. [LdW]
725      * wrap() for server-based line wrapping. Adapted from code by [LdW]
726      * lmath() function lets you do math on delimited lists, and makes
727        it easy to emulate Tiny's ladd/lsub/etc. [SW]
728      * bitwise math functions. [SW]
729      * mean(), median(), and stddev() functions. [SW]
730      * bound() function for bounding numbers. [SW]
731      * regrab(), regraball(), and regrep() regular expression
732        versions of grab/graball/grep. [SW]
733      * controls() can now be used if you control either the <obj> or
734        the <victim>. [RLM] suggested this in July 1998, but we were
735        too boneheaded at the time to agree on it.
736
737Commands:
738      * teach <command> shows others in your room the (unparsed)
739        command that you want to demonstrate, and then causes you
740        to execute it. Suggested by Reed Riner.
741      * /preserve switch for @clone and @chown to preserve privbits.
742        By Kurt Fitzner.
743      * rpage and rwho have been removed.
744      * @nameformat on a room allows you to specify how the room's
745        name should be displayed to those inside it when they look.
746      * An optional second token for chat (in addition to +) can
747        be set if you'd like + and = (or whatever) to both work.
748        Patch by Kami@SW2.
749      * @scan returns the matched attribute name as well as object.
750        Suggested by many, including Thi@M*U*S*H.
751      * ; waves is treated as :waves, instead of as ;waves.
752        Suggested by Sandi Fallon, for tiny compatibility.
753      * cv command at connect screen forces a !DARK connect.
754        Suggested by David@M*U*S*H.
755      * with obj=command tries a $command on a specific object. [TN]
756      * @mailsignature finally implemented.
757      * @chan/join and @chan/leave are aliases for @chan/on and @chan/off,
758        respectively. Suggested by [LdW]
759      * @chan/decomp/brief decompiles a channel without listing players.
760
761Flags:
762      * LISTEN_PARENT flag causes the object to inherit ^listens
763        from its parent. By Kurt Fitzner.
764      * Internal ACCESSED flag removed.
765      * PARANOID player toggle replaces the old paranoid_nospoof
766        configuration directive, and allows per-player setting of
767        nospoof format. Suggested by Trispis@M*U*S*H
768
769Minor Changes:
770      * New lock @lock/command controls who may use $commands on an
771        object. @lock/listen controls ^patterns, @lock/use controls both.
772        Patch by Kurt Fitzner.
773      * The max_obj_val and max_wiz_obj_val configuration options
774        have been removed, as they're rarely used. You can change them
775        in hdrs/conf.h (search for ENDOWMENT).
776      * src/connect.c is no longer distributed. It wasn't ever used
777        for anything anyway.
778      * @fixdb command removed.
779      * @config/functions and commands can show listings in lowercase.
780      * match_list changed to try to match player aliases. Allows
781        "look <alias>" for a player in the same room. Reported by Corum.
782      * See_All players can now see/check AF_WIZARD attributes
783        (but AF_MDARK still requires that you be roy/wiz).
784        Suggested by Balazs Gasparin.
785      * VERBOSE PUPPETs relay to their owners even if the owner's
786        in the same room. Dedicated to Julianna@ATS.
787      * You may now @dest objects that you control via a zone,
788        as you could have done so indirectly before anyway.
789        Reported by [LdW]
790      * Sending the MUSH process an INT signal now causes graceful
791        shutdown (not panic dump). Sending a USR2 signal causes
792        a normal dump. As before, HUP causes config reload and
793        TERM causes a panic dump. [TAP]
794      * @chan/list shows your gag status. Suggested by Matt@M*U*S*H
795      * When chatting, we only match partial channel names against
796        channels you're actually on. Suggested by Matt@M*U*S*H
797      * By default you can no longer speak to a channel you're not
798        on. This is configurable per-channel with the new "open"
799        priv. Suggested by Akiko@M*U*S*H.
800      * If you can't go through an exit because it's linked to
801        garbage or its variable destination is invalid, we no longer
802        process the SUCC and DROP message set on the exit.
803      * The Inherit() macro no longer includes a Wizard test -- we
804        don't need it anymore as we protect Wiz objects in controls().
805      * getrandom has been replaced by get_random_long, with a better
806        algorithm and interface. Suggested by Stephen Dennis. [TAP]
807      * Win32 compilers now get the __cdecl hint so they can compile
808        using __fastcall which can greatly increase speed. Patch by
809        Stephen Dennis.
810      * For WIN32, use GetSystemTime instead of timeGetSystemTime.
811        Patch by Stephen Dennis.
812      * For WIN32, use a combination of wsadata.iMaxSockets and
813        options.max_logins to pick a reasonable number of available file
814        descriptors. Patch by Stephen Dennis.
815      * Default dump messages now call it a 'save', not a 'dump',
816        to avoid newbie confusion. Suggested by Vedui.
817      * You're notified if you set an attribute/flag on a quiet object
818        that you don't own. Patch by Kurt Fitzner.
819      * @decomp now comments its "No attributes found" message so as
820        not to break scripts.  Report by Kurt Fitzner.
821      * More Mac tweaking. [DW]
822      * \ and % are no longer valid in attribute names. Suggested by Ali Abdin
823      * Cleanup to logging code. We now try to do almost all of it through
824        log.c functions for better encapsulation. Patch by David@M*U*S*H.
825      * New @lock/examine to restrict who may examine visual objects.
826        Suggested by [LdW]
827      * Examining objects now shows channels they're on, if any.
828        Suggested by Big Spoon@M*U*S*H.
829      * Channel-hidden players are now marked in @chan/who for those
830        who are allowed to see them.
831      * @uptime shows more upcoming events, and shows them to mortals.
832        Suggested by Kyieren@M*U*S*H.
833      * @chzone obj works like @chzone obj=none. Suggested by Mystery8@M*U*S*H
834      * Player creation is now announced to MONITOR players. Suggested
835        by Paul@M*U*S*H.
836      * Poll message kept across @shutdown/reboot. Suggested by [SW].
837      * The military_time directive is removed from mush.cnf. It only
838        affected the way time was shown in @idle/@haven/@away messages
839        anyway. Reported by Angelus@M*U*S*H.
840
841Fixes:
842      * help for lnum() and dig() improved. Leo@ATS TrekMUSH
843      * help for @charges improved. Suggested by Scott Weber
844      * @mvattr a/b=a/b would clear the attribute. No longer.
845        Reported by Octavian@M*U*S*H
846      * type(obj) would log a "WEIRD OBJECT" message if obj was
847        a garbage object. Reported by RLM. [TAP]
848      * Bug in deciding when to take a penny for queued commands fixed
849        by Stephen Dennis.
850      * Portability fixes for gcc 2.95.2 and other compilers who require
851        that function pointers in prototypes include the function args.
852        Reported by Gepht.
853      * @chan/decomp should include the channel description, too.
854        Report by David@M*U*S*H.
855      * Two other ways to be inside an object inside yourself reported by
856        Ashen-Shugar, and one by Rhysem@M*U*S*H.
857      * Small memory leak when doing @cpattr of a standard attribute to a
858        non-standard attribute is fixed.
859      * Help clarification for pemit() suggested by Falor@M*U*S*H.
860      * Help parents and @search3 fixed. Suggested by rodregis@M*U*S*H.
861      * Tport_anything didn't allow teleporting things to exits.
862        Noted by Vexon@M*U*S*H.
863      * Z_TEL flag works on ZMO's as promised now. Report by [SW].
864      * Potential crash in moveit fixed. Report by Howie@NF TrekMush
865      * @cemit now does the checks that @chat does, in regard to being
866        of the right type, allowed to speak, on the channel, etc.
867        Suggested by Oleo@M*U*S*H.
868      * getstring_noalloc was doing an fgetc into a char variable,
869        instead of an int, so wasn't 8-bit clean. Report by Slava.
870
871Version 1.7.2 patchlevel 35                        January 27, 2001
872
873Fixes:
874      * Fixed a bug in filter introduced in p34. Report by Jason Rhodes.
875      * Help for sort() now indicates that 'n' sorts integers. Report by
876        Dave Milford.
877
878
879Version 1.7.2 patchlevel 34                        October 2, 2000
880
881Fixes:
882      * filter now looks at the whole result, not just the first
883        character, when checking if the filter function returned '1'. [SW]
884      * raw_input and raw_input_at are now unsigned char *, so
885        they build right on HP/UX and similar. Report by Jeff Hildebrand
886
887
888Version 1.7.2 patchlevel 33                        August 17, 2000
889
890Fixes (backported from 1.7.3p4):
891      * Bug in con() patched.
892      * Bug in deciding when to take a penny for queued commands fixed
893        by Stephen Dennis.
894      * Configure portability fixes
895      * Better handling of cases where the maildb has messages from
896        dbrefs that are out of range (due to truncating a db to remove
897        corruption, for example). Suggested by Ashen-Shugar.
898      * Various fixes to better resist crashing due to attacks involving
899        overwhelming connections.
900      * @mvattr a/b=a/b would clear the attribute. No longer.
901        Reported by Octavian@M*U*S*H
902      * type(obj) would log a "WEIRD OBJECT" message if obj was
903        a garbage object. Reported by RLM. [TAP]
904      * Small memory leak when doing @cpattr of a standard attribute to a
905        non-standard attribute is fixed.
906      * Tport_anything didn't allow teleporting things to exits.
907        Noted by Vexon@M*U*S*H.
908      * Z_TEL flag works on ZMO's as promised now. Report by [SW].
909      * Potential crash in moveit fixed. Report by Howie@NF TrekMush
910      * getstring_noalloc was doing an fgetc into a char variable,
911        instead of an int, so wasn't 8-bit clean. Report by Slava.
912
913Version 1.7.2 patchlevel 32                        April 17, 2000
914
915Fixes:
916      * @cpattr from a non-standard attribute to a standard one
917        didn't preserve the AF_STATIC flag, and a subsequent atr_clr
918        could cause a crash.
919
920Version 1.7.2 patchlevel 31                        April 9, 2000
921
922Minor Changes:
923      * The SAY_TOKEN now applies to channels. That is, +public "Hi!
924        will not result in a doubled initial quote any more.
925        Suggested by Tyler Spivey.
926Fixes:
927      * Uninitialized negate_perms in the monitor flag table.
928        Report by Concordia@Beyond the Fire.
929      * Updates to help changes to match CHANGES.
930      * Another way to end up in an object in your inventory has been
931        fixed. Report by Lensman.
932      * Unused ancient ccflags cruft removed from hints files.
933      * Considerable linting and cleanup. [SW]
934      * MacOS portability improvements. [DW]
935      * You may reset your @alias to itself in different case.
936        Suggested by Bolt.
937
938Version 1.7.2 patchlevel 30                        March 14, 2000
939
940Major Changes:
941      * New US export rules allow us to include shs.c and funcrypt.c
942        in the Penn distribution! Yay!
943      * Code is included in bsd.c for Windows NT users that uses
944        NT's native i/o instead of the bsd socket layer for
945        much improved performance. If you want it, edit src/bsd.c
946        and uncomment the define at the top. [NJG]
947Minor Changes:
948      * New eplayer, eroom, eexit, eobject classes for searches,
949        like Tiny. By Rhysem.
950      * @sitelock/access.cnf can now use regexp patterns. By Raevnos.
951      * The Exits() macro is replaced with Source(), Home(), etc.
952        where sensible. By Maverick@M*U*S*H.
953      * Example of bzip2 compression defines in mushcnf.dst by David@M*U*S*H.
954      * shs.c can now be configured to reverse endianness, so you
955        can more easily use win32 dbs on unix (or vice versa) without
956        password hassles. This is in mush.cnf. [NJG]
957      * JUMP_OK no longer allows anyone to @tel an exit into your room.
958        You must control the destination or have the open_anywhere
959        power in order to do this now. Report by rodregis.
960Fixes:
961      * Calling do_log with LT_TRACE resulted in no logging. Report by David.
962      * MacOS (and general) portability improvements, suggested by [DW]
963      * help for before(), after() notes case-sensitivity. By Audumla.
964      * hasflag() didn't work with MONITOR. Report by Mystery8.
965      * A little more linting. [NJG]
966      * Fixed help reference to 'global functions'. Report by Falor.
967      * Some gmalloc fixes around missing newlines. Report by Raevnos
968      * Improvements to help switch(). Report by Omozali.
969      * Buffer overflow in @wall fixed. Report by rodregis.
970      * Fixed (I think) the FreeBSD/Linux problem of not finding
971        sigchld/sigcld and similar ilk. Hints for FreeBSD are back.
972      * Crash bug in @link fixed. Report by Howie@New Frontier TrekMUSH
973
974Version 1.7.2 patchlevel 29                        January 23, 2000
975
976Fixes:
977      * src/sig.c didn't include config.h. As a result, some systems
978        with sigaction that didn't keep signal handlers installed
979        (some linuxes) would crash very quickly on the second SIGALRM.
980
981Version 1.7.2 patchlevel 28                        January 14, 2000
982
983Minor Changes:
984      * New 'deny_silent' option for access.cnf sites.
985        Turns off logging of denied connection/creation/guest/register
986        from a site, to prevent logfile spamming by twinks.
987        Reported by Kludge-BC.
988      * TFPREFIX attribute, if set, is used in place of FugueEdit>
989        in @decomp/tf. [SW]
990      * @grep/print no longer requires you to be set ANSI. Suggested
991        by Philip Mak.
992      * Improved reporting of function invocation limit. [TAP]
993      * /noeval switch added to think command.
994      * Changes to enhance portability to Mac 68k platform and others
995        that need < 32k of local data per function. [DW]
996      * Objects are only considered to be listening if they're
997        connected players, puppets, have an @listen set, or
998        are things/rooms with MONITOR flags. Previously, things/rooms
999        with ^patterns in attributes were considered listeners, even if
1000        they weren't MONITOR. Suggested by Luke.
1001Fixes:
1002      * gmalloc.c updated from 1987 version to 1995 version. By Gepht.
1003      * help corrections for shl and shr by Vexon@M*U*S*H.
1004      * help corrections for @clock by Krad@M*U*S*H.
1005      * RLIMIT_NOFILE bug fixed by Susan Thorne.
1006      * Eliminated variables named 'new' to promote easier C++
1007        compiles. Suggested by Gepht.
1008      * Compiling with CSRI_TRACE works again. [TAP]
1009      * signal stuff broken out to src/sig.c to allow link w/info_slave.
1010      * strcasecmp and friends prototyped better in externs.h. [DW]
1011      * Overzealous test for inherit flag on zoned objects corrected
1012        by Nveid.
1013      * Clearing an @attribute'd attribute's value on some object
1014        and later manipulating the attribute could corrupt the
1015        @attribute table in some cases. Fix suggested by Kami@SW2.
1016      * Nested pemits could truncate one another. Reported by Alierak.
1017      * Channel messages didn't correctly set %#. Reported by Saberwind.
1018      * info_slave used ident even if use_ident was off in the
1019        mush.cnf file. Reported by Rhysem.
1020
1021Version 1.7.2 patchlevel 27                        September 22, 1999
1022
1023Minor Changes:
1024      * Added Raevnos's sitelock/name patch to allow removing names
1025        with @sitelock/name !<name> and to fix a display bug.
1026      * bsd.c, info_slave.c, and player.c now deal in IP addresses as well
1027        as hostnames (which can be spoofed), providing more reliable logging
1028        and access control. IP addresses are stored in the LASTIP attrib
1029        on players, as per LASTSITE. Suggested by David@M*U*S*H.
1030      * Hidden connections are announced as per DARK ones. Suggested
1031        by Julianna@ATS.
1032      * New /noisy switch to @cemit prepends <Channel> to message.
1033        Suggested by Spork@M*U*S*H.
1034Fixes:
1035      * help vmul() incorrectly defined the dot product (which vdot() does).
1036        Reported by [SW].
1037      * Typo fixed in help @set3. Reported by Logain@ATS
1038      * Typo fixed in help @emit. Reported by Rhysem@M*U*S*H.
1039      * Various help fixes by mith, Big Spoon, and Krad@M*U*S*H.
1040      * @function now works for mortals as the help indicates. Report by mith.
1041      * @log/wipe should be @logwipe in comments in mushcnf.dst.
1042        Report by Spork@M*U*S*H.
1043      * Object names are now limited to 256 characters. Fixes some
1044        buffer overflow issues.
1045
1046Version 1.7.2 patchlevel 26                        July 18, 1999
1047
1048Minor changes:
1049      * @verb didn't save stack args before dealing with the WHAT/OWHAT
1050        msgs, as TinyMUSH does. Changed to emulate TinyMUSH.
1051        Reported by Angel. [SW]
1052Fixes:
1053      * The noeval-eqsplit fix cause weirdness with attribute setting by
1054        directly connected players when specifying the obj by function.
1055        Fixed. Reported by Julienna@ATS.
1056      * Wizards couldn't modify atrlock'd attribs without breaking the
1057        lock first. [SW]
1058      * @find by Wizards showed all garbage objects. Reported by mith.
1059
1060
1061Version 1.7.2 patchlevel 25                        July 10, 1999
1062
1063Minor changes:
1064      * New 'nofixed' command restriction, by popular demand.
1065      * CONFIGURATION messages in netmush.log shortened to CONFIG.
1066        Suggested by mith.
1067      * Attributes with the Wizard flag can no longer by created/modified
1068        by any non-wizard, even that attribute's owner. Reported by
1069        Kurt Fitzner.
1070      * @pcreate now shows the dbref of created player. Suggested by
1071        Oderus.
1072      * When you receive an @mail message, you're now told the number.
1073        Suggested by Rak@M*U*S*H, among others.
1074      * The @toad command has been removed. The security issues it
1075        presents, though not unsolvable, aren't worth solving just to
1076        provide Wizards with a humiliating alternative to @newpassword.
1077Fixes:
1078      * %q0-%q9 were not preserved during evaluation of player-message
1079        attributes (DESC, SUCC, DROP, etc.) Reported by Geoff Gerrietts
1080      * Added some hints from FreeBSD. Suggested by Lord Argon of mux.net.
1081      * Better Configure handling of library paths.
1082      * 'nogagged' wasn't working correctly in restrict_command. Fixed.
1083      * @search on rooms sometimes reported a null room. Reported by mith.
1084      * Nearly all source files now include conf.h (which includes options.h),
1085        and do so before any other PennMUSH header file except config.h
1086        and copyrite.h.  Suggested by Joel Ricketts.
1087      * Fixed a few comparisons of <= db_top. Reported by Kurt Fitzner.
1088      * @oemit <obj>=<message> was emitting to the enactor's location,
1089        rather than to <obj>'s location, as it should have been. Fixed that
1090        and fixed help oemit() which documented this wrong behavior.
1091        Reported by Kurt Fitzner.
1092      * An 8-bit-unclean construction in bsd.c fixed by Christoper/Chicago.
1093      * p/noeval <message> (repaging) eval'd message anyway.
1094      * Args to $commands that looked like functions were being eval'd
1095        even if not in brackets. Reported by [SW]. [TAP]
1096      * @lock/listen could cause weird pose corruption. Reported by
1097        David@M*U*S*H. [SW]
1098      * Clarification of wiz_noenter in mush.cnf suggested by
1099        Interloper@M*U*S