WinMOO 0.1.0beta1, 4 April 1996 (First External Version) -- Based on LambdaMOO version 1.8.0p2 -- crypt() is compatible with LambdaCore (the first two characters of the returned string are a salt which should be passed as the second argument to crypt() to produce a string.) HOWEVER, the strings produced by crypt() are NOT compatible with most other systems. (Most systems use a DES-based crypt() that comes with the OS; WinMOO uses an MD5 based crypt that is, among other things, exportable.) -- open_network_connection() is unsupported. -- ConsoleMOO may crash in high-network situations when another WinSock application is running. (I'm unsure if this is really true. I can't reproduce the problem, and I think it may actually be Netscape that caused it. Let me know if you can reproduce the problem.) -- ConsoleMOO needs the TZ environment variable to be set to properly produce ctime() strings. Do this in a DOS box by typing: SET TZ=EST or whatever is appropriate. If this variable is not set, the time will be reported correctly (according to the timezone set in the Time/Date Control Panel) but the timezone will simply be missing from the string returned by ctime(). (You could also include this setting in AUTOEXEC.BAT.) -- Checkpointing is unforked. -- The server does not look up host names corresponding to IP addresses. connection_name() will always have an IP address and not a hostname. -- Task timeouts don't work correctly. They happen fine in the debugger but the timer doesn't go off when the server is busy. -- The server has to be started in a DOS box, because that's the only way to get it command-line arguments. -- Once the checkpoint timer has gone off, checkpointing doesn't actually occur until something happens in the server (until some task is executed, or someone types something.) -- The maximum random number that can be generated is 32767 (including any calls to random() and task IDs.) -- WinMOO puts carriage-return-linefeed sequences in checkpoint files instead of just linefeeds. This makes database files somewhat larger, and may cause problems loading the databases on other servers. -- WinMOO isn't a DOS program, so output can't be redirected from a DOS box. This means there's no way to save the log file. WinMOO 0.1.0beta2, 22 May 1996 -- Patched to LambdaMOO 1.8.0p5 (from p2). Be sure to read the LambdaMOO ChangeLog.txt entries for 1.8.0p3, p4 and p5 as important information about these releases is there. (I applied these patches by hand; let's all hope I didn't make any mistakes.) -- The syntax for the TZ environment variable is a bit more complicated than the beta 1 entry would lead one to believe. The real format is: Where TZN is the three letter timezone name, HRS is the difference between UTC and local time, and DZN is the daylight-savings-timezone name. For example: SET TZ=EST5EDT SET TZ=PST8PDT are two very common TZ variable settings. -- Added a random-number generating module to replace the one supplied by the Visual C++ runtime libraries, which could only supply values below 32767. The new generator can generate numbers up to around 2 billion (not quite $maxint). -- Added a more reliable mechanism for tasks to time out. They will now run out of seconds properly. -- The -l option will cause WinMOO to log to both the file specified and the console window. -- The built-in function memory_usage() will now return some potentially useful, if not perfectly accurate statistics. The value it returns is of the form: { { 1, BYTES-ALLOCATED, PEAK-BYTES-ALLOCATED - BYTES-ALLOCATED } } The actual amount of memory used by the server will be somewhat larger than indicated -- something like the peak bytes allocated plus some overhead, plus the size of the executable itself (around 300k). The third element of the inside list is an attempt to guess at the free memory inside the server process by keeping track of the maximum allocated memory and the curently allocated memory. WinMOO 0.1.0beta3, 8 July 1996 -- Fixed situation where emergency-wizard-mode commands failed because the timer from the previous task was still running, causing the compiler to abort compilation. -- Fixed doubling of log-file messages to console when -l command-line option is not specified. -- Added support for outbound network connections BY IP NUMBER ONLY. For this support to be enabled, you must specify the -o command line option; if you don't, open_network_connection() will return E_PERM. WinMOO 0.1.0beta4, 27 August 1996 -- Fixed bug where random(x) would (on average) return 1 only 1 time in 2*x, and would return x+1 (out of range) 1 time in 2*x. -- Fixed patching error to bf_pass() that could produce server panics. WinMOO 0.1.0beta5, 17 November 1996 -- Fixed bug where checkpoint timer would never go off. -- "Fixed" situation where passing ctime() a negative time panicked the server. ctime() will now raise E_INVARG if the value passed to it is less than 0. I will look for an underlying implementation that is more flexible for a future version. -- Applied patches posted to moo-cows by Erik Ostrom, fixing server panic when resume() is called to return a value E_NONE. WinMOO 0.1.0beta6, 16 January 1997 -- Added long-awaited support for hostname-lookups. open_network_connection() will now accept full hostnames and not just IP addresses. Also, connection_name will report hostnames instead of IP addresses when possible. WinMOO 0.1.0beta7, 23 January 1997 -- Fixed server-crashing bug in ip-to-hostname lookups. WinMOO 0.1.0beta8, 30 January 2000 -- Patched to LambdaMOO 1.8.0p6 (really). -- Altered the error-logging facilities to report better error information related to network I/O. Users who were seing many "Waiting for network I/O: No error" messages in the log should get an actual error message. -- Fixed a couple minor patching errors. -- Added support for running as an NT service. -- Added plug-in extension module support; use the -p command-line option to load a plug-in module. Include the .dll extension. You may specify multiple extension modules. -- First public source release. The following improvments are things I sometimes think about, but don't have firm plans for yet: -- Nonblocking open_network_connection(). -- Threaded checkpoints. -- A single-user mode.