root/1.8.2/tags/p4/CHANGES.181

Revision 557, 21.2 KB (checked in by pennmush, 2 years ago)

PennMUSH 1.8.2p0 release candidate.

Line 
1This is the changes file for PennMUSH 1.8.1. Please look it over; each
2version contains new things which might significantly affect the
3function of your server.  Changes are reported in reverse
4chronological order (most recent first)
5
6[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
7[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
8[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar)
9[GM] is Greg Millam, a PennMUSH developer (aka Walker)
10[3] refers to code by (or inspired by) TinyMUSH 3.0
11[MUX] refers to code by (or inspired by) TinyMUX 2.x
12[Rhost] refers to code by (or inspired by) RhostMUSH
13
14==========================================================================
15
16Version 1.8.1 patchlevel 10                     September 13, 2006
17Fixes:
18  * Cleaned up some compiler warnings. [SW]
19  * The AAHEAR and AMHEAR attribute flags work on listening parents.
20    Report by PAD@M*U*S*H. [GM]
21  * Flags without a letter would truncate the list of set flag letters.
22    Reported by Intrevis@M*U*S*H and Nathan Baum. Patched by latter.
23  * Win32 lacks the LC_MESSAGES setlocale() category. Reported by Intrevis.
24  * Trying to ignore signals could crash on Win32. Reported by Intrevis.
25  * Fixed parse errors in non-C99 compilers. Reported by Intrevis.
26  * Help fixes by Talvo, Sketch
27  * Fixes for 64-bit platforms [SW]
28  * @dump/paranoid produced corrupt databases.
29    Reported by Marvin@M*U*S*H. [SW]
30  * Better support for dealing with databases with a different number of
31    attributes on an object than expected. Marvin and Luke. [SW]
32  * Fixed the example in cmdlocal.c. Reported by Tokeli [SW]
33  * Fix in CHAT_TOKEN_ALIAS. [GM]
34
35Functions:
36  * link() now takes an optional third argument to make it act like
37    @link/preserve. Suggested by qatoq@ST:Foundations.
38
39Minor Changes:
40  * The hash table code now calls a cleanup function on data when deleting
41    an entry. [SW]
42  * The above is used in db.c, function.c and plyrlist.c [SW]
43  * @config compile reports if MySQL support is present. (This does not
44    mean the game is configured to use it.) [SW]
45  * restart copies log files from the last time the mush was running to
46    game/save/ instead of deleting them. [SW]
47
48
49Version 1.8.1 patchlevel 9                      July 9, 2006
50
51Fixes:
52  * Fixes from 1.8.0p13.
53
54
55Version 1.8.1 patchlevel 8                      June 3, 2006
56
57Attributes:
58  * New 'AAHEAR' and 'AMHEAR' attribute flags, when set on an
59    ^listen attribute, cause it to behave like @aahear or
60    @amhear respectively, instead of like @ahear. Suggested by
61    Jules@M*U*S*H. Patch by Talvo@M*U*S*H.
62  * New UNIMPLEMENTED_COMMAND command handles commands that
63    are known but not implemented (currently just @SQL). By default,
64    produces a standard message, but can now be @hooked, etc.
65    Suggested by Talvo@M*U*S*H. [TAP].
66  * @conformat and @invformat are now passed a |-delimited list
67    of object names, unparsed in the default fashion, as %1. Patch
68    by Talvo@M*U*S*H.
69Functions:
70  * default() can now take any number of obj/attr cases. Suggested
71    by Nathan Baum, patch by Talvo@M*U*S*H.
72  * lwhoid(), mwhoid(), xwhoid(), xmwhoid() work like lwho(), etc.
73    but return objids instead of dbrefs. Patch by Talvo@M*U*S*H.
74  * stringsecs() converts timestrings to seconds. Patch by Talvo@M*U*S*H.
75Minor changes:
76  * %u is now set to the evaluated typed $command (when a $command
77    is matched) and is available to locks. Suggested
78    by Jules@M*U*S*H, patch by Talvo@M*U*S*H.
79  * Rooms reachable from FLOATING rooms are now considered topologically
80    connected, just like rooms reachable from the base room.
81    Patch by Nathan Baum.
82  * %i0-%i9 evaluates to itext(0)-itext(9) for convenience in iter().
83    Suggested by Nathan Baum. Patch by Talvo@M*U*S*H.
84  * When safer_ufun is on, you must control an object to @function
85    an attribute on it. This prevents, e.g., mortals with @function power
86    from making attributes on wizard objects into @functions.
87    Suggested by Talvo@M*U*S*H.
88  * Internal eval_lock_with function added to support passing special
89    %0/%1 values to lock evaluations. Suggested by Malix@8bit.
90  * Improved @uptime display by Ambrosia@M*U*S*H.
91  * Players may @search a ZMP if they pass the zone lock. Patch by
92    Talvo@M*U*S*H.
93Fixes:
94  * cbuffer() crash fixed. Report by qa'toq@ST:Foundations. [GM]
95  * regex crash bug fixed. [GM]
96  * insert() added an extra delimiter when inserting at end of list.
97    Report by Sangman. [SW]
98  * make distclean is more thorough. Patch by Ranmir@M*U*S*H.
99  * EQSPLIT commands with no equal sign that were hooked were passed to the
100    hook attribute with an equal sign (and nothing to the right).
101    Fixed. Suggested by Talvo@M*U*S*H.
102  * zwho/zmwho can now be used by see_all players on any zone.
103    Suggested by Talvo@M*U*S*H.
104  * crecall() now accepts 1 or 2 arguments, as promised. Report by
105    Sketch@M*U*S*H.
106  * attrib_set(obj/attr,) sets the attribute to a single space
107    when EMPTY_ATTRS is off. Patch by Talvo@M*U*S*H.
108  * Portability fix in fun_speak. [EEH]
109  * Fix to TZ parsing in src/funtime.c by Jules@M*U*S*H.
110  * Fix to speak() for fragments of speech by Talvo@M*U*S*H based on
111    report by Trelane@M*U*S*H.
112  * Typo fixes in game/aliascnf.dst by Talvo@M*U*S*H.
113  * Help fixes by Talvo@M*U*S*H, Sketch@M*U*S*H.
114
115
116Version 1.8.1 patchlevel 7                      March 21, 2006
117
118Major changes: ** PLEASE READ **
119  * The FIXED flag's restriction on 'home' is no longer applied in
120    the hardcode but through restrict.cnf. A new entry has been
121    added to restrictcnf.dst for this -- people running existing
122    MUSHes that use the FIXED flag will want to copy this to their
123    restrict.cnf.
124Locks:
125  * @lock/take controls who may 'get' something from a container
126    or location; note that @lock/enter no longer controls this on
127    containers but only controls who may 'enter'. The container's
128    TAKE_LOCK`*FAILURE attributes provide messages on a failed get.
129    Suggested by BladedThoth@M*U*S*H. Patch by Talvo@M*U*S*H.
130Commands:
131  * @chan/recall can take an extra argument to specify the line to
132    start the recall from. Suggested by Sholevi@M*U*S*H. Patch by
133    Talvo@M*U*S*H.
134Functions:
135  * ulambda() is a version of u() that can take #lambdas. [GM]
136  * speak() for language processing. Suggested by Nymeria@M*U*S*H.
137    Patch by Talvo@M*U*S*H. [3]
138  * width() and height() take an optional second argument to set the
139    default values. Patch by Nathan Baum.
140  * unique() function removes contiguous duplicates in lists. [SW]
141  * nextdbref() returns the next dbref on the free list.
142    Suggested by Jules@M*U*S*H. Patch by Talvo@M*U*S*H.
143  * Specifying more than one type to locate() now makes each of them
144    preferred (not just the last one). Suggested by Anyasha@ST:Foundations.
145  * namelist() parses a list of dbrefs and possibly-quoted names a la page
146    and returns the corresponding dbrefs. Patch by Talvo@M*U*S*H.
147  * crecall() is a functional form of @chan/recall. Suggestd by
148    Cheetah and Trinsec@M*U*S*H. Patch by Talvo@M*U*S*H.
149Flags:
150  * The LIGHT flag now overrides the DARK flag consistently. DARK
151    objects will show up in LIGHT rooms and anything set both
152    LIGHT and DARK is effectively LIGHT. Suggested by Renee@ShoreSide.
153    Patch by Talvo@M*U*S*H.
154Minor changes:
155  * @poll by itself now displays the  current poll instead of clearing it.
156    @poll/clear does that. [SW]
157  * Added aliases for @atrlock/@atrchown/atrlock to 'attr' versions
158    in aliascnf.dst. Suggested by Talvo@M*U*S*H.
159  * Players who already have a forbidden name (as their name or alias)
160    may change to that name. Patch by Talvo@M*U*S*H.
161  * New alias_flag() and alias_power() hardcode functions for hackers.
162    Patch by Talvo@M*U*S*H.
163  * Mortals can use @power/list and @power <power> commands.
164    Patch by Talvo@M*U*S*H.
165  * Restriction-checking by power fixed in cases where no flag
166    restrictions were applied. Patch by Talvo@M*U*S*H.
167  * New type GARBAGE for @search/lsearch type class.
168  * @pemit/list now accepts player names as well as dbrefs, a la page.
169    Patch by Talvo@M*U*S*H.
170Fixes:
171  * pcre.c includes config.h again. [EEH].
172  * Help fixes by Talvo@M*U*S*H.
173  * Fixes from 1.8.0p12
174
175
176Version 1.8.1 patchlevel 6                      February 25, 2006
177
178Major Changes:
179  * pcre updated to 6.4. This includes such nifty features and
180    named captures. [SW]
181  * NT_TCP code has been removed from the server. It was deemed
182    less useful than keeping the networking code unitary and
183    the ability to @shutdown/reboot. Patch by Nathan Baum.
184Flags:
185  * New LOUD flag (admin-settable) causes an object to bypass
186    speech (including chat) and interaction locks. Admin and others
187    with Pemit_All no longer pass interaction locks automatically
188    unless they are also LOUD. Patch by Cheetah@M*U*S*H.
189Locks:
190  * New DBREFLIST^<attrib> lock key checks to see if the enactor
191    appears in a list of dbrefs/objids stored on an attribute of
192    the object, simplifying a very common need. Suggested by
193    NightDaemon@M*U*S*H, patch by Cheetah@M*U*S*H.
194Powers:
195  * Many_Attribs power allows an object to have more attributes
196    than the max_attrs_per_obj parameter. Suggested by Nymeria@M*U*S*H.
197Functions:
198  * decompose() now decomposes ansi codes into ansi() calls.
199    Patch by Sketch@M*U*S*H.
200  * mapsql() efficiently feeds sql query results to an attribute. [GM]
201  * wildgrep()/wildgrepi() are versions of grep()/grepi() that now take
202    wildcard patterns instead of substrings. [SW]
203  * regmatch()/regedit() now has a more flexible syntax for assigning
204    subpatterns to %q-registers. [SW]
205  * decompose() no longer inserts an initial backslash all the time.
206    Suggested by Trinsec@M*U*S*H.
207  * ordinal() returns the spelled-out ordinal form of an integer.
208    Suggested by Malone@HavenMUSH.
209Minor Changes:
210  * Font size tags (for pueblo) are not quite so huge for room names.
211  * The /noeval switch for @command is now called /noparse.
212    Patch by Nathan Baum.
213  * hints/cygwin.sh has been removed, as no hints were needed to
214    build on cygwin when tested with 1.5.19-4. win32/README.cygwin
215    has been added to document the cygwin build process.
216  * Added hints/darwin-fink.sh and README.OSX. [SW]
217Fixes:
218  * Track_Money objects with No_Pay still reported coins lost to
219    queue costs, even though they didn't pay them. Report by
220    Cheetah@M*U*S*H. [GM]
221  * Help fixes by Trinsec@M*U*S*H, Cheetah@M*U*S*H.
222  * Various %c weirdnesses fixed by Cheetah@M*U*S*H.
223  * Better message in restart when mush.cnf not found by Talvo@M*U*S*H.
224  * @alias provides more specific error messages for invalid aliases
225    of various sorts. Suggested by Intrevis@M*U*S*H.
226  * Function restriction localize now appears in @function info output.
227    Better error messages when attempting to use invalid function
228    restrictions.  Reported by Trinsec@M*U*S*H.
229  * Linting of warnings. [SW]
230  * Command and function names may now really start with punctuation
231    characters.  Reported by Talvo@M*U*S*H.
232  * Fixes from 1.8.0p11.
233
234
235Version 1.8.1 patchlevel 5                      January 29, 2006
236
237Major Changes:
238  * @attrib/access no longer treats one-word flag lists that don't
239    match a single flag as a set of flag characters. You must now always
240    specify a space-separated list of full flag names.
241Commands:
242  * @list/locks and list(locks) lists all defined locktypes.
243    Suggested by Jules@M*U*S*H, patch by Walker@M*U*S*H.
244  * New @search classes 'start' (nth element of return list to start
245    with) and 'count' (how many elements to show, from <start>).
246    Useful for getting results a page at a time. Patch by Walker@M*U*S*H.
247Functions:
248  * nsearch()/nlsearch()/nchildren() return the number of objects that
249    would be returned by the equivalent search/lsearch/children call.
250    Patch by Walker@M*U*S*H.
251Minor Changes:
252  * delete() can use a negative length argument to delete characters
253    leftward, a la MUX. [MUX, SW].
254  * In @mail commands, <n>: is now recognized as meaning 'all messages
255    in folder n'. Notably, @mail 3: now lists all messages in folder 3,
256    rather than reading all messages in folder 3. Patch by Sketch@M*U*S*H.
257  * When one alias in a list of aliases being set is invalid, we
258    now report it with specificity. Suggested by Talvo@M*U*S*H.
259  * You no longer need to escape commas in decompose(). Suggested by
260    Trinsec@M*U*S*H.
261  * @sitelock rules for Guest access can now be specified per-guest
262    character. Suggested by Talvo@M*U*S*H.
263  * process_expression now parses for regex pattern captures by default,
264    so lots of things will work better under regedit(). Use of a ufun
265    clears the captured registers so dollar signs in ufuns don't
266    need escaping. Patch by Walker@M*U*S*H.
267  * Refactoring of ufun code by Walker@M*U*S*H.
268Fixes:
269  * Help fixes by Trinsec@M*U*S*H and Talvo@M*U*S*H and qa'toq@M*U*S*H.
270  * Crash bug in page fixed. Reported by the fine folks at ST:Foundation.
271    Patch by Walker@M*U*S*H.
272  * Win32 portability fixes. [EEH]
273  * Fixes from 1.8.0p10.
274
275
276Version 1.8.1 patchlevel 4                      December 6, 2005
277
278Major Changes:
279  * Errors in matching switches to commands are ignored when the
280    command is hook/ignored or hook/overriden, so you can override
281    a built-in command and provide your own switches. Suggested by
282    Trinsec@M*U*S*H.
283Mail:
284  * @mailfilter attribute causes incoming mail to be be automatically
285    filed to a folder if it evaluates to a folder name/number.
286    Patch by Sketch@M*U*S*H.
287Commands:
288  * @prompt/@nsprompt work like @pemit/list, but add a telnet GOAHEAD
289    at the end of the message when emitting to players; players whose
290    clients handle GOAHEAD (e.g. tf) will get the message displayed
291    as a prompt in the input window. Suggested by Trinsec@M*U*S*H.
292  * The PROMPT_NEWLINES socket command can be used to add a newline
293    after the GOAHEAD in a prompt, for clients that mix up prompt
294    lines with other output.
295Functions:
296  * namegrab() and namegraball(). Patch by Walker@M*U*S*H.
297  * prompt() and nsprompt() (the function equivalents of @prompt/@nsprompt).
298  * textentries(). Suggested by Trinsec@M*U*S*H.
299  * cdesc(), cusers(), cmsgs(), cbuffer(), cstatus(), clflags()
300    functions. Suggested by d'Ark@M*U*S*H.
301  * numversion() returns Penn version as an integer (1008001004)
302    for softcode use.
303Minor changes:
304  * @chan/list works better for people who increase CHAN_NAME_LEN.
305    Suggested by Trinsec@M*U*S*H.
306  * Help fixes by Trinsec@M*U*S*H, Chili@M*U*S*H.
307  * Several powers (tport_anything, tport_anywhere, no_money, no_quota,
308    debit, sql_ok) are now aliased to TinyMUSH/TinyMUX equivalents
309    as well, for better code portability. [3,MUX]
310Fixes:
311  * center() behaves better when given a fourth argument but
312    not a third one. Also fixes to cases where the right fill
313    string is one longer than the left. Report by Ian@M*U*S*H
314  * Fixes from 1.8.0p9.
315
316
317Version 1.8.1 patchlevel 3                      September 15, 2005
318
319Fixes
320  * Bugfixes from 1.8.0p8 applied.
321
322
323Version 1.8.1 patchlevel 2                      September 5, 2005
324
325Commands:
326  * @edit/check shows the results of an @edit without actually doing
327    it, to avoid inadvertent overediting. Patch by Walker@M*U*S*H.
328Functions:
329  * sortkey() sorts a list by mapping each list element through a
330    function and applying a standard sort type. Patch by Walker@M*U*S*H.
331Minor changes:
332  * "% " (percent-space) is now parsed to a literal percent-space,
333    making it easier to type things like "I'm 50% happy". And
334    % at end of line is parsed to a literal %.  Patch by Sketch@M*U*S*H.
335  * @nameformat now receives the default-formatted name as %1
336    so you can edit from that if you prefer. Suggested by Talvo@M*U*S*H.
337  * Added netbsd hints. Suggested by Tyr@M*U*S*H.
338  * hastype() can take a list of types to check for, not just one. [SW]
339  * Add @function/preserve, which does the same thing as the localize
340    restriction. [MUX] [SW]
341  * Leaving out the <filler> argument to align() defaults it to a
342    space. Suggested by Tyr@M*U*S*H, patch by Walker@M*U*S*H.
343  * Improved error message for setq() with odd arguments.
344    Report by Malix@8bit.
345  * When variable exits fail due to invalid/not permitted destination,
346    the enactor is told what the attempted destination was.
347    Suggested by Nathan Baum.
348  * Rooms may now @search/search() their owners. Suggested by Kali@M*U*S*H.
349Fixes:
350  * @function/restrict mentioned in help. [SW]
351  * Clearer help on parallel setq. Suggested by Trinsec@M*U*S*H. [TAP]
352  * lsearch() didn't refund pennies when it failed because of lack of
353    permissions or invalid search criteria. Reported by Nathan Baum. [SW]
354  * lsearch() could return garbage objects. Report by Nathan Baum. [SW]
355  * %+ now only records argument count from last ufun, not from other
356    (builtin) functions. Report by Cheetah@M*U*S*H.
357  * Some linting of float comparisons. Report by Cheetah@M*U*S*H.
358  * page <player>= now pages the player with a blank line instead of
359    repaging the last paged player with "<player>". Report by Cheetah@M*U*S*H.
360
361
362Version 1.8.1 patchlevel 1                      June 27, 2005
363
364Fixes:
365  * Players could set the 'internal' attribute flag, which causes
366    confusion. Report by Cooee@PDX.
367  * Setting attribute flags by character alias did not work
368    properly.
369
370
371Version 1.8.1 patchlevel 0                      June 25, 2005
372
373Major Changes:
374  * Players may have multiple aliases, by specifying a semicolon-separated
375    list to @alias. Players may list their usual @name as one of their
376    aliases, and the @name command may be used to switch to any alias.
377    The maximum number of aliases per non-Wizard player may be limited by the
378    max_aliases config directive. Suggested by Nymeria@M*U*S*H. [3]
379  * 'home' is now a standard command, with no special precedence.
380    It can be @command/disabled and/or @hook'd. Suggested by
381    several people. If 'home' is disabled, 'goto home' will no longer
382    work (but @tel to home is still allowed).
383Flags:
384  * A player with the TRACK_MONEY flag set gets a message any time
385    their objects spend or lose money. Patch by Walker@M*U*S*H.
386  * New Pueblo_Send power allows use of xch_cmd and send tags.
387Mail:
388  * The @MAILFORWARDLIST attribute can be set to a list of dbrefs or
389    objids to which any @mail received should be forwarded. Your own
390    dbref may be listed if you wish to retain a copy
391    of the message as well. You must pass the @lock/mailforward of
392    any player listed in your @MAILFORWARDLIST. Suggested by T'orA@M*U*S*H.
393Functions:
394  * setq()/setr() can set multiple registers in parallel. Suggested by
395    Nathan Baum. [SW]
396  * center() can now take multi-character fills, and can have different
397    left and right fills. Suggested by Boris@M*U*S*H.
398  * attrib_set() is a version of set() for setting attributes that
399    has a more comfortable syntax and that can clear attributes
400    without wiping whole attribute trees like wipe(). Suggested by
401    Kevin@M*U*S*H. [TAP]
402  * extract()'s second and third arguments are now optional, and default
403    to 1. Suggested by Philip Mak.
404  * lsearch() can now take more than one class/restriction pair, and
405    will require them all to be met. New "mindb" and "maxdb" classes
406    specify low and high dbrefs, and replace the old <low>,<high>
407    parameters, which are now deprecated. Suggested by qa'toq@bDv.
408  * alias() and fullalias() functions. [EEH]
409  * New function restriction "localize" causes q-registers to be
410    saved and restored around the function as if localize() or
411    ulocal() were used; handy for @functions. Patch by grapenut.
412  * flip() and reverse() no longer require escaping of commas.
413    Suggested by Yar Kramer.
414Channels:
415  * Channels, by default, now ignore interaction rules defined in
416    local.c, so they can be used as "OOC" communication between
417    players who wouldn't be able to interact "IC"ly. A new per-channel
418    permission, "interact", changes this behavior back to enforcing
419    interaction rules on the channel. @lock/interact always applies,
420    however. Suggested by Shamash.
421  * New channel_flags config directive sets default permissions
422    for newly-created channels.
423Minor changes:
424  * The %+ substitution returns the number of arguments passed to
425    a function and is useful in ufuns and @functions.
426    Suggested by Nathan Baum.
427  * The rules for valid command and functions names (e.g. for @command/add)
428    have been relaxed to allow @foo, +blah, and others with punctuation.
429    Suggested by Mike Griffiths.
430  * @hook/list <command> lists hooks on a command. Suggested by Nathan Baum.
431  * @INVFORMAT works like @CONFORMAT for the inventory command.
432  * Help for mail and chat functions moves to pennmail.hlp and
433    pennchat.hlp, respectively. Suggested by Kevin@M*U*S*H.
434  * Settings and resetting multiple attribute flags at once is now
435    supported more flexibly. Suggested by Sholevi@M*U*S*H.
436  * The restart script handles mush.cnf files with Windows-style
437    line endings more gracefully. Reported by CBeilby@M*U*S*H.
438  * @attribute/access now understands the privilege 'none' to mean
439    'no associated attribute flags'. Report by Tyson Cochrane.
440  * @flag/alias flag=!alias removes a flag alias. Suggested by
441    Relay@MatrixMUSH.
442  * @search now refers to things as things instead of objects.
443    Suggested by Zebranky@M*U*S*H.
444  * Suggested restrictions to disable hardcoded chat and mail
445    are in restrictcnf.dst for those who want to do that.
446    Patch by Kevin@M*U*S*H.
447  * TZ attribute is now visual by default, since time() gets it anyway.
448    Suggested by Mike Griffiths.
449Fixes:
450  * Fixes include from versions up to 1.8.0p6.
Note: See TracBrowser for help on using the browser.