Changelog for the Beta Releases =============================== Where possible, notes in [brackets] indicate when the error was introduced. Non-specific version numbers indicate the following: - 2.0 (Introduced in TinyMUSH 2.0.10p6 or earlier.) - 2.2 (Introduced in TinyMUSH 2.2.5 or earlier.) - MUX (Introduced in TinyMUX 1.6 or earlier.) - 3.0 (Introduced in TinyMUSH 3.0 at some point in time.) The initial beta release was on 9/27/99. ----------------------------------------------------------------------------- 9/28/99: Beta 2 - Fix: Compilation problem with MEMORY_BASED defined. [3.0] - Fix: XFREE macro missing argument compiler error. [3.0] - Fix: Fatal error in let(). [3.0a8] - Fix: Off-by-one, integer overflow, and bounds-checking issues. Verified with Purify. - Fix: Cannot set/reset ROBOT flag on players. [MUX] ----------------------------------------------------------------------------- 9/29/99: Beta 3 - Fix: Pueblo support works again. [3.0] - Fix: Structure names cannot contain periods. [3.0a8] - Fix: translate() works as documented, and handles backslashes correctly. [MUX] - Fix: pmatch() correctly handles dbrefs. [3.0] - Fix: Command switch issues fixed for @mail, @malias, @wipe. [2.0] - Fix: Side-effect function permissions are checked more thoroughly. [MUX] - Fix: Double-free issue in switchall(). [3.0a8] - Change: mix() can take up to twelve arguments (rather than ten). - Cosmetic: Dealt with a compiler warning in flags.c. - Docs: Updated mailing list subscription info in help. ----------------------------------------------------------------------------- 9/30/99: Beta 4 - Fix: @clone correctly copies all flags. [3.0] - Fix: @open requires the invoker to have contents. [2.0] - Fix: Parent recursion issues have been prevented in various places. [2.0] - Fix: parse() checks function invocations in a manner identical to iter(). [2.0] - Fix: Slaves are reaped with waitpid() so zombies are not created by @restart (may be Linux-specific problem). [MUX] - Fix: Signals are unblocked at startup, allowing SIGUSR1 to be invoked for later instances in restarts. [MUX] - Misc: The unused parentable_control_lock parameter has been removed. - Misc: A variety of compiler warnings related to uninitialized variables, unused variables, implicit function declarations, etc. have been taken care of. ----------------------------------------------------------------------------- 10/2/99: Beta 5 - Feature: lstructures() and linstances() functions added. - Fix: @dbclean has been rewritten, and now works (and is more efficient). [3.0] - Fix: Where pow() is used in conjunction with htonl(), it is cast to unsigned int. This fixes a compilation issue with Linux and gcc -O. [3.0] - Fix: Some structures are no longer allocated as lbufs, but are explicitly malloc'd in a type-specific manner. [2.0] - Fix: Forwardlists are loaded before startups are run. [2.0] - Fix: @mail/fwd now explicitly checks to see if a mail message is in progress. [MUX] - Fix: INFO now works when used by logged-in players. [3.0] - Fix: trunc() truncates rather than rounds. [MUX] - Fix: Dumping and shutdown check to make sure the game is not already dumping. [2.0] - Fix: The display of exit destinations for Transparent rooms now handles "special" exit destinations. [2.2/MUX] - Fix: Some oddities with attribute renaming have been taken care of. [2.0] - Fix: The static buffers for Name and PureName are of the appropriate type. [MUX] - Fix: Instance name lengths are restricted to half an sbuf. [3.0a8] - Fix: Startmush handles checking if the game is running in a better manner. - Misc: The GDBM bucket cache size has been reduced to 1 bucket. ----------------------------------------------------------------------------- 10/4/99: Beta 6 - Fix: Money is no longer deducted twice when creating an object. [3.0] - Fix: Another pow()/htonl() fix. [3.0] - Fix: Various compile-time option #ifdef's cleaned up. - Fix: Removed spurious spaces in columns() when a string is truncated. [3.0b2] - Fix: Cosmetic change to @list textfiles. - Misc: chown_anything also lets you @chown to anyone. - Misc: Doubled the size of the function and user function hash tables. - Misc: Got rid of the SIDE_EFFECT_FUNCTIONS compile-time option, since you can simply function_access the side-effect functions to 'disabled'. ----------------------------------------------------------------------------- 10/5/99: Beta 7 - Feature: New conf parameter stripped_flags determines what flags are stripped when an object is subject to a @chown, @chownall, or @clone. These commands now take a /nostrip switch, which negates stripping. For consistency, @clone/inherit no longer preserves IMMORTAL (only INHERIT). - Fix: Side-effect function prototypes exist again. [3.0b6] - Fix: You can no longer set the cost of non-things in @clone (consistent with other object-creation commands). [MUX] - Fix: The value of @clone'd objects is now correctly set. (Previously, all cloned objects had a value, i.e. Pennies, of zero.) [MUX] - Misc: All @clone switches except /inventory and /location can be combined. - Misc: @clone/preserve can be used by anyone, but you must control the original object's owner. - Misc: ansi() compacts the ANSI codes, and makes a better attempt against avoiding bleeding. ----------------------------------------------------------------------------- 10/7/99: Beta 8 - Feature: @cron implemented, providing Unix-style cron scheduling. @daily has been re-implemented using the @cron facility. - Feature: Functions that take output delimiters can now take a null output delimiter, signified by the token '@@'. - Feature: The examine command has a new switch, /pairs. This shows paren/bracket/braces-matching in ANSI color. (Based on the engine from ChaoticMUX's parenmatch() function.) - Feature: New conf directive raw_helpfile allows the addition of non-evaluated helpfiles. - Feature: Added the MUSH Manual to the distribution in helpfile format. (Thanks to Alierak and sTiLe.) - Feature: delete(), mid(), left() and right() no longer strip ANSI characters. - Fix: SQL queries error out properly when support is not compiled in. [3.0a13] - Fix: @clone/nostrip can be combined with all other @clone switches. [3.0b7] - Fix: The 2.2 database conversion converts the Builder flag to the Builder power, rather than just discarding the flag. [3.0a4] - Fix: Comtitles are terminated with ANSI_NORMAL where appropriate. [MUX] - Fix: sortby() no longer ignores its output delimiter. [2.2] - Fix: translate() can handle compacted ANSI strings generated by ansi(). [3.0b7] - Fix: hastype() can be used on an object, even if you can't examine it, since you can type() anything. [MUX] - Misc: Typecast time_t to int when using it in conjunction with printf(). - Did a diff between ChaoticMUX-S3, and TinyMUX 1.6p0. Derived a suite of bugfixes and some enhancements, as follows: - Feature: @function/noeval defines a user-defined function whose arguments are not pre-evaluated. - Feature: An ANSI underline code, %xu, has been added. - Feature: log() can take an optional second argument, the base. - Fix: elock() obeys the pass_locks power. [MUX] - Fix: Pool headers are 64-bit aligned. [2.0] - Fix: Calls to site_check() check the return value ANDed against the flag. [2.0] - Fix: The overflow buffer for functions is terminated properly. [MUX] - Fix: Missed some places where see_hidden should apply. [3.0a14] - OUTPUTSUFFIX without OUTPUTPREFIX works. [2.0] - Misc: All calls to abort() log a message. - Misc: mail() and mailfrom() check arg ranges in the standard way. - Misc: ANSI defines are used rather than embedding raw codes. - Misc: No spurious extra args to raw_broadcast() calls.