PennMUSH Community

root/1.8.3/trunk/CHANGES.181

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

PennMUSH 1.8.2p0 release candidate.

Line 
1 This is the changes file for PennMUSH 1.8.1. Please look it over; each
2 version contains new things which might significantly affect the
3 function of your server.  Changes are reported in reverse
4 chronological 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
16 Version 1.8.1 patchlevel 10                     September 13, 2006
17 Fixes:
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
35 Functions:
36   * link() now takes an optional third argument to make it act like
37     @link/preserve. Suggested by qatoq@ST:Foundations.
38
39 Minor 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
49 Version 1.8.1 patchlevel 9                      July 9, 2006
50
51 Fixes:
52   * Fixes from 1.8.0p13.
53
54
55 Version 1.8.1 patchlevel 8                      June 3, 2006
56
57 Attributes:
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.
69 Functions:
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.
75 Minor 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.
93 Fixes:
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
116 Version 1.8.1 patchlevel 7                      March 21, 2006
117
118 Major 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.
124 Locks:
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.
130 Commands:
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.
134 Functions:
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.
149 Flags:
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.
154 Minor 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.
170 Fixes:
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
176 Version 1.8.1 patchlevel 6                      February 25, 2006
177
178 Major 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.
184 Flags:
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.
189 Locks:
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.
194 Powers:
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.
197 Functions:
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.
209 Minor 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]
217 Fixes:
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
235 Version 1.8.1 patchlevel 5                      January 29, 2006
236
237 Major 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.
241 Commands:
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.
247 Functions:
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.
251 Minor 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.
268 Fixes:
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
276 Version 1.8.1 patchlevel 4                      December 6, 2005
277
278 Major 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.
283 Mail:
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.
287 Commands:
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.
295 Functions:
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.
303 Minor 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]
310 Fixes:
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
317 Version 1.8.1 patchlevel 3                      September 15, 2005
318
319 Fixes
320   * Bugfixes from 1.8.0p8 applied.
321
322
323 Version 1.8.1 patchlevel 2                      September 5, 2005
324
325 Commands:
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.
328 Functions:
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.
331 Minor 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.
349 Fixes:
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
362 Version 1.8.1 patchlevel 1                      June 27, 2005
363
364 Fixes:
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
371 Version 1.8.1 patchlevel 0                      June 25, 2005
372
373 Major 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).
383 Flags:
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.
387 Mail:
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.
393 Functions:
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.
414 Channels:
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.
423 Minor 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.
449 Fixes:
450   * Fixes include from versions up to 1.8.0p6.
Note: See TracBrowser for help on using the browser.