<li>Switched from Win32 Mutex to xpdev pthread_mutex_t (which is implemented
using Win32 critical sections) - faster, lighter weight
<li>Doubled the size of the Telnet/RLogin I/O ring buffers from 10000 to 20000 bytes. This allows
for up to 10000 byte blocks from external programs with plenty of room for
telnet IAC, CRLF, or color-code expansion. Win32 named pipes, for example,
will send up to 8096 byte blocks (before CR to CRLF expansion).
Size of Win32 named pipes now specified (override 4K default).
Using WaitForSingle/MultipleObject now to detect terminated processes
(rather than looping on GetExitCodeProcess with sleep/yield).
Using WaitForMultipleObjects to immediately continue loop on remote input
(terminate 100ms wait) - experiments with local output_event (set by
sbbsexec.dll on writes) yielded no perceived performance improvement
(and named pipes, for example, would not benefit from such a mechanism).
</ul>
<h2><aname=unix>UNIX-specific Changes</a></h2>
<ul>
<li>New sysop monitor/control application for UNIX (src/sbbs3/umonitor)
<li>Several filename case-insensitivity fixes for Unix file systems
<li>Changed default DOSemu path on Linux to /usr/bin/dosemu.bin (per runderwo)
<li>Signals should work correctly in Linux (Finally!)
<li>Fix stack overflow in JS on FreeBSD - s3 shell now runs
<li>Installer: -f option now enables FTP-verbose (debug) mode (-v is already in use)<br>
-n option now disables FTP-download of distribution list
</ul>
<h2><aname=sbbsctrl>Synchronet Control Panel (Win32 GUI) Specific Changes</a></h2>
<ul>
<li>Configurable maximum log length (auto-truncation point)
<li>Client window: Now prompts operator before filtering IPs
<li>Client window: Changed popup menu option from "Close" to "Close Socket"
<li>MailServer configuration dialog:
Added AuthViaIpCheckBox which allows authentication (for relay) via POP3
or other protocol within the last 60 minutes (this was previously always
enabled if authenticated-relay was allowed, but now that we have real SMTP
AUTH support, this less-secure method is optional)
<li>Node window timer tick event now (again) locks node record before reading
(but using a non-blocking locking call) - does not report lock or read errors.
This is necessary due to the use of advisory locks on Unix nodes
<li>Configuration Wizard can now accurately query the primary DNS server
replaces old method (kludge) of shelling out and running "ipconfig /all"
<li>Configuration Wizard now automatically converts Windows timezone to SMB format on new install.
Supports non-standard timezones (as configured in SCFG
<li>Use single left click to restore from tray icon, double-click has some weird
problem where a click is sent to adjacent icons
<li>Spy form window now clears the terminal when it detects a form-feed character
(Ctrl-L)
<li>Spy terminal window now auto-wraps
<li>Added support for OutbufHighwaterMark and OutbufDrainTimeout "tweaking"
registry keys
<li>Created BBS->Preview menu item (to preview ANSI files)
<li>Lots of new "File->Edit and BBS->Edit" file menu items to easily edit, preview,
and compile various text files
<li>Sysop chat: Added use of utime() to insure NFS/smbfs compatibility with node/chat.dab
(shared-write) files.
New look (green on black, System font) simulates Telnet interface.
Ctrl-V (paste) and other unexpected control keys are now filtered
</ul>
<h2><aname=servers>All Servers</a></h2>
<ul>
<li>Silently-filtered IP address (using ip-silent.can) are truely silent now
(no sounds or log entries)
<li>New SemFileCheckFrequency value in .ini file (both global and per-server) (previously hard-coded to 2 seconds in most cases), defaults to 5 seconds
<li>New table-driven 16-bit CRC calcution function (much faster)
<li>Added support for new global TempDirectory key (used by BBS events thread
and FTP server)
<li>Added support for TCP_NODELAY socket option in ctrl/sockopts.cfg
<li>Backup functions now renames/copies filename.ext to filename.#.ext rather than
filename.ext.# (making the backup files easier to sort, copy, etc)