| 1 | |
|---|
| 2 | This is the most current changes file for PennMUSH. Please look it |
|---|
| 3 | over; each version contains new things which might significantly affect |
|---|
| 4 | the function of your server. Changes are reported in reverse |
|---|
| 5 | chronological order (most recent first) |
|---|
| 6 | |
|---|
| 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 | Version 1.8.2 patchlevel 9 ??? ??, 2008 |
|---|
| 16 | |
|---|
| 17 | Fixes: |
|---|
| 18 | * Hard-to-trigger double free() in help file reindexing fixed. |
|---|
| 19 | |
|---|
| 20 | Functions: |
|---|
| 21 | * The undocumented (And unusable) orpowers() and andpowers() functions |
|---|
| 22 | were removed. |
|---|
| 23 | |
|---|
| 24 | Documentation: |
|---|
| 25 | * Various help file fixes: Grammar, missing entries, etc. Reported |
|---|
| 26 | by Parusso, Adam. |
|---|
| 27 | |
|---|
| 28 | Version 1.8.2 patchlevel 8 Jan 01, 2008 |
|---|
| 29 | |
|---|
| 30 | Minor changes: |
|---|
| 31 | * 'make versions' now provides some feedback. |
|---|
| 32 | |
|---|
| 33 | Fixes: |
|---|
| 34 | * width() and height() do not return 0 when set to invalid input. |
|---|
| 35 | By Talvo. |
|---|
| 36 | * Array underflow bug found by running under Valgrind. |
|---|
| 37 | * Crash bug when too many objects are nested. Reported by Paige, fixed |
|---|
| 38 | by Javelin and Intervis. |
|---|
| 39 | |
|---|
| 40 | Version 1.8.2 patchlevel 7 October 6, 2007 |
|---|
| 41 | |
|---|
| 42 | Minor changes: |
|---|
| 43 | * nwho() now takes an optional viewer argument like lwho(). By Sketch. |
|---|
| 44 | |
|---|
| 45 | Fixes: |
|---|
| 46 | * Clarified the behavior of eval() and get_eval() in help. Suggested by |
|---|
| 47 | Talvo and Javelin. |
|---|
| 48 | * A failed db save no longer broadcasts a success message in addition to a |
|---|
| 49 | failure one. Reported by Cooee. |
|---|
| 50 | * The open database file wasn't getting closed on a failed save. |
|---|
| 51 | * Crash bug in sortkey(). Fix by Nathan Baum. |
|---|
| 52 | * Crash bug in pathological container cases reported by Paige@M*U*S*H |
|---|
| 53 | fixed by Javelin. |
|---|
| 54 | * 'help @desc' brings up @describe instead of @descformat. |
|---|
| 55 | Suggested by Nymeria. |
|---|
| 56 | * Removed mention of Win32 requiring a particular attribute |
|---|
| 57 | compression algorithm. Any will work, and always have. |
|---|
| 58 | Reported by Andrew Klein. |
|---|
| 59 | * Crash bug in @purge. Javelin. |
|---|
| 60 | |
|---|
| 61 | Version 1.8.2 patchlevel 6 July 9, 2007 |
|---|
| 62 | |
|---|
| 63 | Development team changes: |
|---|
| 64 | * After many years of valuable work, Talek has retired from |
|---|
| 65 | development. |
|---|
| 66 | |
|---|
| 67 | Minor changes: |
|---|
| 68 | * Removed the gmalloc malloc option. [SW] |
|---|
| 69 | * KEEPALIVE flag makes the server send a telnet NOP after |
|---|
| 70 | a short period of inactivity; helps prevent timeouts from |
|---|
| 71 | NAT/router devices with a short timeout. [MUX] |
|---|
| 72 | |
|---|
| 73 | Fixes: |
|---|
| 74 | * Fixed assorted small memory leaks. [SW] |
|---|
| 75 | * Fix to fraction() when dealing with numbers that can't |
|---|
| 76 | be fractioned. Discovered by Ashen-Shugar. [GM] |
|---|
| 77 | * Fixed handling of telnet NOPs sent by clients. [SW] |
|---|
| 78 | * The OpenSSL random number pool wasn't getting adequately |
|---|
| 79 | initialized on systems without /dev/urandom [SW] |
|---|
| 80 | * Infinite loop in math code. Reported by Ashen-Sugar. [GM] |
|---|
| 81 | * mkvershlp.pl skips over emacs backup files. |
|---|
| 82 | |
|---|
| 83 | Version 1.8.2 patchlevel 5 June 13, 2007 |
|---|
| 84 | |
|---|
| 85 | Minor changes: |
|---|
| 86 | * Assorted gcc warning fixes. [SW] |
|---|
| 87 | |
|---|
| 88 | Fixes: |
|---|
| 89 | * Cleaned up some unsafe signal handler functions. [SW] |
|---|
| 90 | |
|---|
| 91 | Help files: |
|---|
| 92 | * Mention examine lock in help lattr(). Talvo. |
|---|
| 93 | |
|---|
| 94 | Version 1.8.2 patchlevel 4 May 16, 2007 |
|---|
| 95 | |
|---|
| 96 | Minor changes: |
|---|
| 97 | * speak() uses accented names. Sketch. |
|---|
| 98 | * config() no longer lists options that can't be set |
|---|
| 99 | with @config/set. Suggested by Trispis. [SW] |
|---|
| 100 | * 'page foo\=bar' pages the last person you paged. Fix by Nathan |
|---|
| 101 | Baum. |
|---|
| 102 | * Receipt of a SIGUSR1 (Causing a shutdown/reboot) is explictly |
|---|
| 103 | logged. Suggested by Interloper. [SW] |
|---|
| 104 | * @wipe reports the number of attributes deleted. [183] |
|---|
| 105 | |
|---|
| 106 | Fixes: |
|---|
| 107 | * You can no longer save objects slated to be destroyed |
|---|
| 108 | by using @set foo=!GOING (The help file for GOING now tells |
|---|
| 109 | the truth) Reported by Cooee. [SW] |
|---|
| 110 | * Useless variable in real_unparse() removed. Reported by |
|---|
| 111 | Taladan. [SW] |
|---|
| 112 | * 'make portmsg' works, and portmsg.c rewritten to current |
|---|
| 113 | Penn standards. [SW] |
|---|
| 114 | * case() would replace #$ in the default argument, contrary |
|---|
| 115 | to the help file. Reported by Talvo. [SW] |
|---|
| 116 | * Memory leak in grep(). [SW] |
|---|
| 117 | * Quotes can be around the player name on the login screen |
|---|
| 118 | always, instead of just when player_name_spaces was |
|---|
| 119 | on. Suggested by Dan Widdis. [SW] |
|---|
| 120 | * '{think foo} bar' exhibited odd behavior. [GM] |
|---|
| 121 | * 'make test' wouldn't work right unless '.' was in you path. |
|---|
| 122 | Fix by Nathan Baum. |
|---|
| 123 | * stdin and stdout weren't getting closed, potentially causing |
|---|
| 124 | problems when trying to log out of a shell after starting |
|---|
| 125 | a mush. Reported by K Moon. [SW] |
|---|
| 126 | * NetBSD compile and general warning fixes. [SW] |
|---|
| 127 | * Favor difftime(3) over subtraction of time_t variables. [SW] |
|---|
| 128 | * Clarification of attribute trees in HELP @WIPE. Suggested by |
|---|
| 129 | Talvo. |
|---|
| 130 | * Loading a db with empty attributes used as the roots of |
|---|
| 131 | attribute trees didn't work if empty_attrs is set to no. |
|---|
| 132 | Reported by Kevin. [SW] |
|---|
| 133 | * Bugs in wiping attribute trees with attributes the wiper |
|---|
| 134 | doesn't have permission to delete fixed. [SW] |
|---|
| 135 | |
|---|
| 136 | Version 1.8.2 patchlevel 3 March 11, 2007 |
|---|
| 137 | |
|---|
| 138 | Fixes: |
|---|
| 139 | * Unterminated buffer in sortkey() fixed. Reported by Balerion. |
|---|
| 140 | Patch by Javelin. |
|---|
| 141 | * Memory leaks in setunion() and revwords() fixed by Javelin. |
|---|
| 142 | * Crash bug in speak() fixed. Reported by Trinsec. Patch by Javelin. |
|---|
| 143 | * Crash bug in buy fixed. Reported by Amy. Patch by Javelin. |
|---|
| 144 | * If we should fail to clear a semaphore attribute for some |
|---|
| 145 | reason (e.g., it's the branch of an attribute tree), reset |
|---|
| 146 | the semaphore count on the attribute to 0. Patch by Javelin. |
|---|
| 147 | * iter() dealt badly with freeing buffers when CPU_LIMIT or |
|---|
| 148 | function_invocation_limit was hit. Found by Ashen-Shugar. [GM] |
|---|
| 149 | * @ps/all displayed the wrong queue entry count for mortals. |
|---|
| 150 | Reported by Cheetah. [SW] |
|---|
| 151 | * @hook/override of say would get an extra leading " if that was |
|---|
| 152 | used instead of the literal say command. Reported by Tuxedo Ian. |
|---|
| 153 | [SW] |
|---|
| 154 | * Fixed a bug where speech seemed to come from the wrong |
|---|
| 155 | object for nospoof information. Reported by Jules. [SW] |
|---|
| 156 | * The help entry for @poll failed to mention @poll/clear. |
|---|
| 157 | Reported by Cooee. [SW] |
|---|
| 158 | |
|---|
| 159 | Version 1.8.2 patchlevel 2 January 27, 2007 |
|---|
| 160 | |
|---|
| 161 | Fixes: |
|---|
| 162 | * Vector functions with an empty vector didn't return anything. |
|---|
| 163 | Reported by Talvo. [SW] |
|---|
| 164 | * Several typos in server messages. Fixed by Sketch, Stoko. |
|---|
| 165 | * Help fixes by Malix, [GM], Talvo, Sketch, and others. |
|---|
| 166 | * Crash bug in lmath() fixed. [GM] |
|---|
| 167 | * Crash bug in list functions fixed. [GM] |
|---|
| 168 | * list2arr in C now removes markup. list2arr_ansi() was added. [GM] |
|---|
| 169 | * Compilation problems on IRIX and similar OSes. [SW] |
|---|
| 170 | * Matcher bug with multiple wildcards fixed. Reported by Ian. [SW] |
|---|
| 171 | * Garbled output of locks from examine. Reported by Intrevis. [SW]. |
|---|
| 172 | * regraballi() couldn't use its output seperator argument. Reported |
|---|
| 173 | by Jules. [SW] |
|---|
| 174 | * Looking at an object used the looker, not the lookee, as the origin |
|---|
| 175 | of the name for @ahear/@aahear/@amhear. [SW] |
|---|
| 176 | * Fixed the distribution of random numbers with a huge range. Reported |
|---|
| 177 | by Luke. |
|---|
| 178 | |
|---|
| 179 | Version 1.8.2 patchlevel 1 November 26, 2006 |
|---|
| 180 | |
|---|
| 181 | Fixes: |
|---|
| 182 | * Corrected inadvertent breakage of null comparisons. Patched by |
|---|
| 183 | Javelin. |
|---|
| 184 | * Added overview since 1.8.0 to help 1.8.2p0. [EEH] |
|---|
| 185 | |
|---|
| 186 | |
|---|
| 187 | Version 1.8.2 patchlevel 0 November 26, 2006 |
|---|
| 188 | |
|---|
| 189 | Major Changes (since 1.8.0): |
|---|
| 190 | * Players may have multiple aliases. |
|---|
| 191 | * 'home' is now a standard command. |
|---|
| 192 | * Errors in matching switches to commands are ignored when the command |
|---|
| 193 | is hook/ignored or hook/overriden. |
|---|
| 194 | * @attrib/access no longer treats one-word flag lists that don't match |
|---|
| 195 | a single flag as a set of flag characters. |
|---|
| 196 | * pcre updated to 6.4. |
|---|
| 197 | * NT_TCP code has been removed from the server. |
|---|
| 198 | * The FIXED flag's restriction on 'home' has been moved to restrict.cnf. |
|---|
| 199 | * New commands: @edit/check, @function/preserve, @hook/list, @prompt, |
|---|
| 200 | @nsprompt, @list/locks, UNIMPLEMENTED_COMMAND, PROMPT_NEWLINES, |
|---|
| 201 | @poll/clear. |
|---|
| 202 | * New functions: alias, fullalias, attrib_set, sortkey, namegrab/all, |
|---|
| 203 | ns/prompt, textentries, cdesc, cusers, cmsgs, cbuffer, cstatus, |
|---|
| 204 | clflags, numversion, nl/nsearch, nchildren, decompose, mapsql, |
|---|
| 205 | wildgrep/i, ordinal, ulambda, speak, unique, nextdbref, namelist, |
|---|
| 206 | crecall, l/m/x/xmwhoid, stringsecs |
|---|
| 207 | * New attributes: invformat, mailforwardlist, mailfilter |
|---|
| 208 | * New substitutions: %+, % (percent-space), %i0-%i9, %u |
|---|
| 209 | * New locks: mailforward, take |
|---|
| 210 | * New behaviors: @flag/alias, @attribute/access, flip(), reverse(), |
|---|
| 211 | lsearch(), extract(), center(), setq(), setr(), page, align(), |
|---|
| 212 | regedit(), delete(), @search, @pemit/list, @poll, width(), height(), |
|---|
| 213 | locate(), @chan/recall, insert(), default(), @conformat, link(). |
|---|
| 214 | * New flags: loud, track_money. |
|---|
| 215 | * New powers: pueblo_send, many_attribs. |
|---|
| 216 | * New attribute flags: aahear, amhear. |
|---|
| 217 | * New config directives: channel_flags. |
|---|
| 218 | * New function restriction "localize" causes q-registers to be |
|---|
| 219 | saved and restored around the function as if localize() or |
|---|
| 220 | ulocal() were used; handy for @functions. |
|---|
| 221 | * New DBREFLIST^<attrib> lock key checks to see if the enactor |
|---|
| 222 | appears in a list of dbrefs/objids stored on an attribute of |
|---|
| 223 | the object. |
|---|
| 224 | * The LIGHT flag now overrides the DARK flag consistently. |
|---|
| 225 | |
|---|
| 226 | Minor Changes (since 1.8.1): |
|---|
| 227 | * decompose() now properly handles all manner of spaces, as well as |
|---|
| 228 | replacing 5 or more spaces with [space(<count>)]. Report by Malix. [GM] |
|---|
| 229 | |
|---|
| 230 | Fixes (since 1.8.1): |
|---|
| 231 | * Fix crash bug in decompose(). Report by Malix. |
|---|
| 232 | * The mush can listen to ports above 32000. Suggested by Nathan Baum. |
|---|
| 233 | * Fix the mix() bug that prepends the separator to the list. [GM] |
|---|
| 234 | * Win32 experienced erratic time behavior when compiled with MSVC++ 8 |
|---|
| 235 | or higher. Reported by Intrevis@M*U*S*H. |
|---|
| 236 | * Win32 project and readme files for MSVC++ 6 and .Net updated. [EEH] |
|---|
| 237 | * Help fixes by Kevin@M*U*S*H. |
|---|