PennMUSH Community

root/1.8.3/tags/p6/CHANGES.OLD

Revision 1032, 201.0 kB (checked in by shawnw, 1 year ago)

Merged 1.8.3p4 into trunk

Line 
1 This is the old changes file for PennMUSH.  Changes are reported in reverse
2 chronological order (more recent first.) Starting with 1.7.4, each minor
3 version 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
18 Version 1.7.3 patchlevel 14                    January 29, 2001
19
20 Major 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]
27 Minor 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]
39 Commands:
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]
48 Attributes:
49       * @forwardlist [2.2,SW]
50 Functions:
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]
54 Fixes:
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
82 Version 1.7.3 patchlevel 13                    January 9, 2001
83
84 Major 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]
91 Commands:
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.
96 Functions:
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]
101 Minor 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]
110 Fixes:
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
129 Version 1.7.3 patchlevel 12                    January 4, 2001
130
131 Locks:
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
135 Commands:
136       * @wcheck/me checks all of a player's objects for them.
137 Functions:
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
144 Minor 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
160 Fixes:
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
187 Version 1.7.3 patchlevel 11                    December 4, 2000
188
189 Minor 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.
192 Fixes:
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
203 Version 1.7.3 patchlevel 10                    November 20, 2000
204
205 Major 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]
209 Flags:
210       * The INHERIT flag has been renamed TRUST, which better describes
211         its function. INHERIT remains as an alias.
212 Commands:
213       * @chan now takes /ungag, /unhide, and /unmute as well as the
214         usual @chan/gag <channel>=no. By David@M*U*S*H.
215 Minor 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]
226 Fixes:
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
242 Version 1.7.3 patchlevel 9                    November 20, 2000
243
244 Major 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]
256 Attributes:
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.
263 Commands:
264       * New /silent switch for @teleport without @[o|a|ox]tport msgs.
265 Minor 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]
271 Fixes:
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
280 Version 1.7.3 patchlevel 8                    November 12, 2000
281
282 Major 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.
289 Minor 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.
305 Fixes:
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        
349 Version 1.7.3 patchlevel 7                    October 12, 2000
350
351 Functions:
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]
359 Commands:
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.
366 Flags:
367       * New attribute flag 'safe' prevents accidental modification.
368         Suggested by Stephen Viscido. [TAP]
369 Minor 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.
386 Fixes:
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
414 Version 1.7.3 patchlevel 6                    September 20, 2000
415
416 Minor 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].
427 Functions:
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]
431 Fixes:
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
454 Version 1.7.3 patchlevel 5                    September 7, 2000
455
456 Minor Changes:
457       * FLOATING_POINT is no longer an option (it's always on). [SW]
458       * EXTENDED_ANSI defaults to enabled. [SW]
459 Attributes:
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.
465 Fixes:
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
474 Version 1.7.3 patchlevel 4                    August 8, 2000
475
476 Major 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]
488 Commands:
489       * @dolist/delim and @map/delim [SW]
490       * @stats/tables [SW]
491       * SESSION command displays session statistics (experimental) [SW]
492 Functions:
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]
505 Minor 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...)
525 Fixes:
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.
539 Languages:
540       * Swedish and Hungarian translations for most strings are
541         included in this patchlevel.
542
543
544 Version 1.7.3 patchlevel 3                    July 12, 2000
545
546 Major 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.
554 Minor 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]
564 Commands:
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]
569 Functions:
570       * The set algebra functions can be given a sort order for output. [SW]
571 Fixes:
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
591 Version 1.7.3 patchlevel 2                    June 3, 2000
592
593 Commands:
594       * New @sitelock options to control access to god, wizards, admin
595         by site. [SW]
596       * @force can now take /noeval [SW]
597
598 Functions:
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
604 Minor 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
611 Fixes:
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
628 Version 1.7.3 patchlevel 1                    May 18, 2000
629
630 Commands:
631       * @oemit now takes a list of players. Adapted from patch by Philip Mak.
632
633 Minor 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
637 Fixes:
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
653 Version 1.7.3 patchlevel 0                    April 20, 2000
654
655 Major 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
700 Functions:
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
737 Commands:
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
761 Flags:
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
769 Minor 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
841 Fixes:
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
871 Version 1.7.2 patchlevel 35                        January 27, 2001
872
873 Fixes:
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
879 Version 1.7.2 patchlevel 34                        October 2, 2000
880
881 Fixes:
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
888 Version 1.7.2 patchlevel 33                        August 17, 2000
889
890 Fixes (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
913 Version 1.7.2 patchlevel 32                        April 17, 2000
914
915 Fixes:
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
920 Version 1.7.2 patchlevel 31                        April 9, 2000
921
922 Minor 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.
926 Fixes:
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
938 Version 1.7.2 patchlevel 30                        March 14, 2000
939
940 Major 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]
947 Minor 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.
960 Fixes:
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
974 Version 1.7.2 patchlevel 29                        January 23, 2000
975
976 Fixes:
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
981 Version 1.7.2 patchlevel 28                        January 14, 2000
982
983 Minor 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 attribut