| 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 | [TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) |
|---|
| 8 | [SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) |
|---|
| 9 | [EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar) |
|---|
| 10 | [GM] is Greg Millam, a PennMUSH developer (aka Walker) |
|---|
| 11 | [3] refers to code by (or inspired by) TinyMUSH 3.0 |
|---|
| 12 | [MUX] refers to code by (or inspired by) TinyMUX 2.x |
|---|
| 13 | [Rhost] refers to code by (or inspired by) RhostMUSH |
|---|
| 14 | |
|---|
| 15 | ========================================================================== |
|---|
| 16 | |
|---|
| 17 | Version 1.8.3 patchlevel 4 ???? ??, 2007 |
|---|
| 18 | |
|---|
| 19 | Major changes: |
|---|
| 20 | * Parts of the build process that used a shell script to regenerate |
|---|
| 21 | certain headers now use perl scripts instead, making them much |
|---|
| 22 | faster. [SW] |
|---|
| 23 | |
|---|
| 24 | Minor changes: |
|---|
| 25 | * The hash tables used by lmath() and html functions now |
|---|
| 26 | use perfect hashing to speed up lookups. [SW] |
|---|
| 27 | * The various slab allocators used by attributes and locks |
|---|
| 28 | and other areas have been replaced with a generic |
|---|
| 29 | slab allocator. Also, many more allocations are handled |
|---|
| 30 | by the new code. |
|---|
| 31 | * Use the writev() system call to send data to unencrypted |
|---|
| 32 | connections in bigger chunks instead of using multiple send()s of |
|---|
| 33 | smaller chunks. |
|---|
| 34 | * New lock types can be added via src/local.c instead of having to |
|---|
| 35 | alter the table in src/locks.c. Based on patch by Talvo. |
|---|
| 36 | * Builtin lock names and default flags are stored in a hash table |
|---|
| 37 | instead of a list. [SW] |
|---|
| 38 | |
|---|
| 39 | Attributes: |
|---|
| 40 | * @chatformat allows you to customize Channel chat messages |
|---|
| 41 | that you see. [GM] |
|---|
| 42 | |
|---|
| 43 | Commands: |
|---|
| 44 | * '@list allocations' displays allocation information. |
|---|
| 45 | * @stats/tables no longer dumps mem_check information. |
|---|
| 46 | * @search (and by relation search()) now has an 'elock' |
|---|
| 47 | search class, permitting boolean expression searches. [GM] |
|---|
| 48 | * @channel/recall extended to support recalling by time. Example: |
|---|
| 49 | '@chan/recall Foo=1h' will recall lines only from the past |
|---|
| 50 | hour. Patch by Talvo. |
|---|
| 51 | |
|---|
| 52 | Functions: |
|---|
| 53 | * cond() works like an if, else if, else if ... ncond(), |
|---|
| 54 | condall(), ncondall() also added. [GM] |
|---|
| 55 | * speak() accepts a 1st argument beginning with '&' to use |
|---|
| 56 | an arbitrary speaker name. [GM] |
|---|
| 57 | * New speakpenn() function handles : <pose> in Penn style. |
|---|
| 58 | Suggested by Sketch, patch by Javeln. |
|---|
| 59 | * lmath() accepts dist2d and dist3d. Suggested by Jess. |
|---|
| 60 | * functions(local) returns just local @functions. [SW] |
|---|
| 61 | * New encode64() and decode64() functions convert between |
|---|
| 62 | normal text and base64 encoded text on games that have |
|---|
| 63 | SSL support compiled in. [SW] |
|---|
| 64 | * encrypt() and decrypt() now take an optional 3rd argument |
|---|
| 65 | to control using base 64 encoding. Suggested by Noltar. |
|---|
| 66 | |
|---|
| 67 | Fixes: |
|---|
| 68 | * Compile fixes for some linux (And other?) systems that expect |
|---|
| 69 | all libraries to be after source files on the command line |
|---|
| 70 | when linking. Reported by Balerion. |
|---|
| 71 | * Compile fix for some Postgresql installations. Reported by |
|---|
| 72 | Nymeria. |
|---|
| 73 | * Fix to fraction() when dealing with numbers that can't |
|---|
| 74 | be fractioned. Discovered by Ashen-Shugar. |
|---|
| 75 | * Fixes to align() and coalescing by Javelin. Bugs reported by |
|---|
| 76 | Sketch and tramp. |
|---|
| 77 | * Fixes to speak() to bring it closer to Tiny's behavior in |
|---|
| 78 | common cases by Sketch and Javelin. |
|---|
| 79 | * Fixes to ANSI output where extra ^[[m were being sent. |
|---|
| 80 | * Fixes from 1.8.2p6 |
|---|
| 81 | |
|---|
| 82 | Version 1.8.3 patchlevel 3 June 13, 2007 |
|---|
| 83 | |
|---|
| 84 | Minor changes: |
|---|
| 85 | * The sockets used to talk to info_slave changed from streams |
|---|
| 86 | to datagrams, simplifying code. [SW] |
|---|
| 87 | * info_slave deals better with simultaneous connections. [SW] |
|---|
| 88 | * info_slave requires the presence of the socketpair(2) function. |
|---|
| 89 | It was already using it anyways. |
|---|
| 90 | * Use of some system calls with portability issues encapsulated in |
|---|
| 91 | wrapper functions. [SW] |
|---|
| 92 | * sql() returns error codes directly instead of notifying %!. [SW] |
|---|
| 93 | |
|---|
| 94 | Functions: |
|---|
| 95 | * lattr() and lattrp() take an optional delimiter argument. Suggested |
|---|
| 96 | by Nathan Baum. [SW] |
|---|
| 97 | * New csecs() and msecs() functions, like ctime() and mtime() but |
|---|
| 98 | returning the time in seconds instead of a formatted string. Based on |
|---|
| 99 | a patch by Talvo. |
|---|
| 100 | * ctime() and mtime() take an optional second argument to control which |
|---|
| 101 | time zone the time is displayed for: UTC or the server's. [SW] |
|---|
| 102 | * fn() by Javelin |
|---|
| 103 | * letq(). Suggested by Nathan Baum. [SW] |
|---|
| 104 | |
|---|
| 105 | Fixes: |
|---|
| 106 | * Assorted compiler warning fixes. [SW] |
|---|
| 107 | * Compile fix on OS X 10.3. Reported by Viila. [SW] |
|---|
| 108 | * @sql wasn't enabled if Sqlite3 was the only database turned on. |
|---|
| 109 | Reported by qa'toq. |
|---|
| 110 | * Problems with sql() using Sqlite3. Reported by qa'toq. [SW] |
|---|
| 111 | * Problems with null queries using MySQL. Reported by duckwa. [SW] |
|---|
| 112 | * Start fixing code that assumes that int and long are the same |
|---|
| 113 | size. [SW] |
|---|
| 114 | * Linting of code that uses strcpy, strncpy() and sprintf() to |
|---|
| 115 | rule out remote possibilities of buffer overflows. [SW] |
|---|
| 116 | * align() off-by-one error in left coalescing fixed. Reported by |
|---|
| 117 | Sketch. [Javelin] |
|---|
| 118 | * User locks were broken in the last patch. Reported by Michael Brazaitis. |
|---|
| 119 | [SW] |
|---|
| 120 | * ./configure --without-ssl works. Reported by Starr. [SW] |
|---|
| 121 | * objid matcher didn't work properly. [SW] |
|---|
| 122 | * Many functions that used parse_dbref updated to use parse_objid, |
|---|
| 123 | to see more objid compliance. [GM] |
|---|
| 124 | * Fixes from 1.8.2p5 |
|---|
| 125 | |
|---|
| 126 | Version 1.8.3 patchlevel 2 May 16, 2007 |
|---|
| 127 | |
|---|
| 128 | Major changes: |
|---|
| 129 | * configuration is now done by autoconf. ./Configure is |
|---|
| 130 | now ./configure and its options have changed. See |
|---|
| 131 | INSTALL and ./configure --help [SW] |
|---|
| 132 | * Support for the postgresql SQL server. Javelin. |
|---|
| 133 | * Support for sqlite3 SQL databases. [SW] |
|---|
| 134 | |
|---|
| 135 | Minor changes: |
|---|
| 136 | * You can no longer run a mush as root. [SW] |
|---|
| 137 | * cemit_noisy config option. Suggested by Kimiko. [SW] |
|---|
| 138 | * @function sorts the list of user-defined functions |
|---|
| 139 | by object and then name. Suggested by Trinsec. [SW] |
|---|
| 140 | * Better logging of the register login screen command |
|---|
| 141 | for systems without a sendmail program. [SW] |
|---|
| 142 | * Assorted refactoring of source code. [SW] |
|---|
| 143 | |
|---|
| 144 | Functions: |
|---|
| 145 | * isobjid(). By Balerion. |
|---|
| 146 | * player() returns the dbref of the player connected to a given |
|---|
| 147 | port. By Nathan Baum. |
|---|
| 148 | * root(X,3) uses the C cbrt() function if available. [SW] |
|---|
| 149 | * New formats for align() that allow flowing text. Javelin. |
|---|
| 150 | * isdbref() understands objids. By Balerion. |
|---|
| 151 | |
|---|
| 152 | Fixes: |
|---|
| 153 | * regmatch() broken with %q-registers. Javelin. |
|---|
| 154 | * Better checking of dbref config options to make sure they're |
|---|
| 155 | valid objects. Suggested by Talvo. [SW] |
|---|
| 156 | * Fixed assorted cases of accidently modifying const objects. |
|---|
| 157 | Thanks to Jake. [SW] |
|---|
| 158 | * Fixed a crash bug in strmatch(). [GM] |
|---|
| 159 | * wrap() of Pueblo tags didn't work very well. Fixed by |
|---|
| 160 | Sketch. |
|---|
| 161 | * @wipe's count is accurate when attribute trees are being |
|---|
| 162 | deleted. Reported by Talvo. |
|---|
| 163 | |
|---|
| 164 | Version 1.8.3 patchlevel 1 March 11, 2007 |
|---|
| 165 | |
|---|
| 166 | Minor changes: |
|---|
| 167 | * page command now processes page output through PAGEFORMAT |
|---|
| 168 | attribute, allowing user-set page messages. [GM] |
|---|
| 169 | * sql_host configuration option now permits alternate tcp port. |
|---|
| 170 | Suggested by Mercutio. Patch by Javelin. |
|---|
| 171 | * Refactoring of fun_stringsecs to help function etime_to_secs. |
|---|
| 172 | Patch by Javelin. |
|---|
| 173 | * %1 in @aconnect works like in @adisconnect. Patch by Javelin. |
|---|
| 174 | |
|---|
| 175 | Fixes: |
|---|
| 176 | * restart script once again includes DATEMSK export for |
|---|
| 177 | extended convtime support. Reported by KimikoMuffin. |
|---|
| 178 | * Memory leak in 1.8.3p0 regedit fixed. |
|---|
| 179 | * Fixes included from 1.8.2p3. |
|---|
| 180 | * Document change in @chan/title behavior with commas. |
|---|
| 181 | |
|---|
| 182 | Version 1.8.3 patchlevel 0 January 27, 2007 |
|---|
| 183 | |
|---|
| 184 | Major changes: |
|---|
| 185 | * Rewrite of color handling. [GM] |
|---|
| 186 | |
|---|
| 187 | Minor changes: |
|---|
| 188 | * Cleaned up the internals of @wipe. [SW] |
|---|
| 189 | * strmatch() now takes a third argument, to store wildcard captures. [GM] |
|---|
| 190 | * Termination of OS/2 support. [SW] |
|---|
| 191 | |
|---|
| 192 | Fixes: |
|---|
| 193 | * Fixes included from versions up to 1.8.2p2. |
|---|