***************************************************
* What's New in Synchronet Version 3.00 for Win32 *
***************************************************

General
~~~~~~~
o All "nodes" run in a single multi-threaded process
  - Minimal resource requirements and improved performance
  - DOS Windows are automatically opened/closed for external DOS programs/doors
  - It's never been easier to run a 10+ node system (with DOS door support) on
    one computer

o Professional GUI Control Panel to monitor all clients and servers 
  simultaneously
  - Replaces old "Waiting for call" screen
  - Launch configuration and editor dialogs directly

o Optionally plays sysop's choice of .WAV file on user connect/disconnect


Internet
~~~~~~~~
o Supports Telnet logins only (no more direct-dial user support)
  - No third-party FOSSIL/Telnet driver (SIO/VMODEM, NetModem, COM/IP) required
  - Full FOSSIL/DOS/WWIV/XSDK program/door support (easy setup!)
  - Outbound Telnet module included for external MUDs/BBSs
  - Automatically detects and logs client IP and hostname
  - Optional auto-logon via IP address (requires V exemption)

o Includes integrated FTP server
  - Supports Anonymous (Guest) logins
  - Virtual directory structure mimics BBS filebase hierarchy
  - User security settings enforced
  - Supports long/mixed-case filenames
  - Dynamically generates index (description) files
  - Supports blind upload and sysop directories
  - QWK/QWKnet packet uploads and downloads
  - Upload description support
  - Transfers included in BBS and user upload/download statistics
  - Time/Credit system enforced
  - Custom login/hello/goodbye messages
  - Optional connect/disconnect sounds (.WAV files)

o Includes integrated Mail (POP3/SMTP) server
  - Check BBS mailbox using standard Internet mail clients (Eudora, Outlook)
  - SPAM Filters supported: RBL, RSS, DUL
  - Configurable alias list
  - Optionally receive mail by user number (1@yourbbs.com)
  - Optional inbound/outbound sounds (.WAV files)
  - Optional DNS/MX record lookup (no SMTP Relay Server required)

o IP/hostname filter/trashcan file (IP.CAN) for all Internet servers/services


Configuration
~~~~~~~~~~~~~
o New @-codes:
	REV             :Synchronet revision
        CONN            :current connection type
        LOCATION        :system location
        TNODES          :total nodes on system
        HOST            :user's hostname
        CID and IP      :user's IP address
        QWKID           :System QWK-ID
        INETADDR        :System's Internet Address
        FIDOADDR        :System's primary FidoNet address

o The following environment variables are now initialized for DOS externals
  (specifically for event batch file convenience):
	YEAR		:Current year (2000)
	MONTH		:Month (1-12)
	DAY		:Day of Month (1-31)
	WEEKDAY		:Three letter weekday abbreviation (Mon, Tue, etc.)
  - Example: if %DAY%==1 call maintain.bat /reroll
  - Example: if %WEEKDAY%==Tue chksmb /q %sbbs%\data\mail.shd


Message Base
~~~~~~~~~~~~
o New SMB REPLIED attribute to indicate a message has been replied-to
  - Requires TEXT.DAT update (additional %s in MsgAttr line)


External Programs/Doors
~~~~~~~~~~~~~~~~~~~~~~~
o Most popular DOS doors fully supported
  - Includes native 32-bit FOSSIL driver that requires NO configuration/setup
  - Users can be ;INTERrupted while running ANY external program
  - Non-exclusive events do not take any nodes off-line
  - No more hassling with baud rates and initialization strings
  - DCDWATCH no longer necessary to support WWIV/DOS extrernals

o New TELNET_GATE Baja function/module to run external MUDs and BBSs
  - Includes any-time ^] menu to see who is on the BBS, send messages, etc.
  - See TELGATE.DOC for details


***********************************************************************
* What's New in Synchronet Version 3.00 Revision B (official release) *
***********************************************************************

General
~~~~~~~
o Windows Version Information display:
  - Windows NT/2000 indicated by "NT"
  - Windows 95/98 build number corrected in version information
  - Service pack information now displayed along with version info

o Block FOSSIL transfers (from DOS externals) now correctly escape Telent IAC
  character (255) - fixed SBBSEXEC.VXD - does not effect FDSZ

o Windows NT/2000 FOSSIL/DOS Interrupt driver (DOSXTRN.EXE) created and VDD
  (SBBSEXEC.DLL) created to complete Windows NT/2000 support

o Changed insert text command from Ctrl-<minus> to Ctrl-V

o Changed center text command from Ctrl-V to Ctrl-L

o Filename searches are no longer case sensitive

o Fixed problem viewing extended file description if longer than screen length

o Ability to easily switch A and R commands on the reading mail/msgs prompts
  for some or all command shells (see RA_EMU.BIN)
  - New @-codes to represent correct command keys in menus 
    (MSGREPLY and MSGREREAD)

o New @-codes: 
	LOCAL-IP 	displays current local IP address
	CRLF		carriage return/line-feed pair
	UP		Move cursor up one row			(ANSI)
	UP:n		Move cursor up n rows			(ANSI)
	DOWN		Move cursor down one row		(ANSI)
	DOWN:n		Move cursor down n rows			(ANSI)
	RIGHT		Move cursor right one column		(ANSI)
	RIGHT:n		Move cursor right n columns		(ANSI)	
	LEFT		Move cursor left one column 		(ANSI)
	LEFT:n		Move cursor left n columns		(ANSI)
	GOTOXY:x,y	Move cursor to x/y (1-based)		(ANSI)
	PUSHXY		Save current cursor position		(ANSI)
	POPXY		Restore saved cursor position		(ANSI)
	STATS.LOGONS	Total logons during history of system
	STATS.LTODAY	Total logons today
	STATS.TIMEON	Total time used during history of system (in minutes)
	STATS.TTODAY	Total time used today (in minutes)
	STATS.ULS	Total uploads today				
	STATS.ULB	Total bytes uploaded today
	STATS.DLS	Total download today
	STATS.DLB	Total bytes downloaded today
	STATS.PTODAY	Total posts today
	STATS.ETODAY	Total e-mails sent today
	STATS.FTODAY	Total feedbacks sent today
	STATS.NUSERS	Total number of new users today
	MSGREPLY	Command key to reply to last message	
	MSGREREAD	Command key used to re-read last message

o Ability to disable hostname lookups for Telnet, FTP, and Mail servers

o Ability to disable the spinning cursor for one or all nodes via Baja:
	OR _node_misc NM_NOPAUSESPIN


Control Panel
~~~~~~~~~~~~~
o New Clients window shows all connected client details (username, IP address,
  hostname, time connected, etc.)
  - Allows sysop to disconnect any client by right clicking socket number and 
    selecting "Close"

o New GUI User Editor (USEREDIT.EXE)
  - Launched from SBBSCTRL->User->Editor
  - Create new user records
  - Edit all user fields, statistics, and settings

o New Sysop Availability toggle button (replaces v2.3 Scroll-Lock function)


FTP Server
~~~~~~~~~~
o FTP server now times out and closes data connection if user runs out of time
  - Helps eliminate stranded transfer threads/sockets

o File aliases supported
  - Put links in your FTP root directory to often access files
  - Link to files on your local hard disk or your BBS filebase
  - Use general alias names to point to often-changing versioned filenames

o Credits now checked before allowing file download

o QWK packet creation time-out bug fix (wasn't timing-out ever)

o Special logon sequence to receive sysop access (users with level >= 90)

o Complete access to local file systems for remote sysops

o Ability to disable QWK packet transfers


Mail Server
~~~~~~~~~~~
o Attempts delivery a configurable number of times before bouncing message
  - Uses new SMB message field: delivery_attempts

o Automatically re-scans mail database every configurable number of seconds

o Fixed rare Access Violation in MAILSRVR.DLL during shutdown


Online Programs
~~~~~~~~~~~~~~~
o 32-bit door support
  - Duplicate socket handle passed in DOOR32.SYS drop file (new standard)
  - Duplicate socket handle passed on command line via %H specifier
  - Support for external programs written with 32-bit XSDK (v3.0)


************************************************************************
* What's New in Synchronet Version 3.00 Revision C (official release) *
************************************************************************

General
~~~~~~~
o Sysop ;SPY command to remotely spy/control other nodes via Telnet

o Support for Windows 95 (pre-OSR2) and Windows NT 3.x

o New filter/trashcan (.CAN) file syntax:
  - Ignores leading white-space
  - Beginning a line with a semicolon (;) indicates a comment (line ignored)
  - Beginning a string with an exclamation mark (!) reverses the match logic

o Win32 DLLs built with Visual C++ 6.0 (Previous 3.0 DLLs built with 5.0)

o "user_alias" is synonymous with "user alias" and "user.alias"
  - For logins, duplicate name checking, receiving e-mail, etc


Control Panel
~~~~~~~~~~~~~
o New Local Sysop Split-screen Chat module

o New Local Node Spy module (with ANSI terminal emulation)
  - View multiple nodes simultaneous
  - View consecutive logins
  - Customize font and window size

o New User Listing form with sortable columns

o New BBS Login menu option (launches telnet://localhost)
  (REGEDIT->HKEY_CURRENT_USER\Software\Swindell\Synchronet Control Panel\LoginCommand)

o Version information for each module is now retrieved and displayed in the 
  Help->About dialog box

o Reorganization of the Edit Filters sub-menu

o Configurable SCFG command line 
  (REGEDIT->HKEY_CURRENT_USER\Software\Swindell\Synchronet Control Panel\ConfigCommand)

o Documentation Index (docs/index.htm) can now be launched with SBBSCTRL->Help->Index


Internet
~~~~~~~~
o RLogin server for immediate logins from trusted hosts
  - Similar to Trade Wars Game Server (TWGS) operation

o Separate IP address and hostname filter/trashcan files 
	(IP.CAN and HOST.CAN)

o Added new telnet_gate mode: TG_PASSTHRU (defined in SBBSDEFS.INC)
  - Allows passthrough of Telnet commandsto gated system
  - Included UNIXGATE.SRC/BIN to gate to Unix telnet servers

o Added new telnet_gate mode: TG_RLOGIN (defined in SBBSDEFS.INC)
  - Allows outbound logins using BSD RLogin protocol
  - Included RLOGIN.SRC/BIN to gate to RLogin servers (e.g. TWGS)


FTP Server
~~~~~~~~~~
o Sysops and dir-ops can now remove files from the filebase with the DELE 
  command

o Directory aliases (in FTPALIAS.CFG) now supported. 
  Example: incoming  bbs://main/uploads/    Blind uploads

o Optional "Directory File Access" allows users to view and download files
  in the local directory that are not in the BBS file database
  - Useful for FidoNet packets and other dynamically generated files

o Filename filter/trashcan file (FILE.CAN) is now checked before allowing uploads

o QWK packet option no longer forced on (whoops)

o Total user credits are now displayed during login (for non-exempt users)

o Credits are no longer checked (before download) for D-exempted users

o Credits are only checked for downloads now (not getdate/size commands)

o Now deletes QWK packet semaphore file if failed to create packet 
  (BBS event thread not running?)

o New sets user modem/connection description in database to "FTP"

o Fixed socket leaks under certain circumstances

o Fixed Access Violation in FTPSRVR.DLL if shutdown during transfer


Mail Server
~~~~~~~~~~~
o SMTP relay support (supported relay clients must be listed in RELAY.CAN)

o SMTP server now supports multiple recipients (locally, relayed, or forwarded)

o SendMail thread immediately bounces fatally errored messages

o New SMTP state machine guards against invalid sequences of commands
  - Some messages could cause corruption (SMB error -7, missing header fields)

o Configurable SMTP Relay Server port number (defaults to 25)

o DNS MX-record lookups using TCP (optionally instead of UDP)

o Mail message base is no longer left locked for extended periods of time

o Supports SMB v2.13 extended error information


Baja
~~~~
o New /Q (quiet/no banner) command-line option

o Included shell/module Makefiles for Borland and GNU make

New Functions:

	- GETCHAR		Case-insensitive version of GETKEY
	- CMDCHAR		Case-insensitive version of CMDKEY
	- COMPARE_CHAR		Case-insensitive version of COMPARE_KEY
	- COPY_FIRST_CHAR	Copies first char of str var to int var
	- COMPARE_FIRST_CHAR	Compares first char of str var to constant


Source Code
~~~~~~~~~~~
o Now available as Open Source, see http://www.synchro.net/source.html for details

o Main modules may be built with 
	- Microsoft Visual C++
	- Borland C++ Builder (required for SBBSCTRL)
	- Borland C++ Builder Compiler 5.5 (free)
	- GNU C/MinGW support in the works

o User Editor may be built with Borland Delphi


Documentation
~~~~~~~~~~~~~
o Updated for version 3 (version-specific features are noted)

o Converted to HTML format (see docs\index.htm)


************************************************************
* What's New in Synchronet Version 3.00 Revision D (alpha) *
************************************************************

Control Panel
~~~~~~~~~~~~~
o New MinimizeToSysTray option
  - Minimizes SBBSCTRL to an icon in the system tray
  - Icon animates when there are active clients
  - Icon tool tip reports number of active clients
  - Double-click icon to restore SBBSCTRL window

o New Control Panel Properties Dialog (File->Properties)
  - Allows configuration of LoginCommand, ConfigCommand, etc.

o Closing no longer interferes with Windows shut-down procedure

o Sorting by first/last on dates in User List now works correctly


Telnet Server
~~~~~~~~~~~~~
o Quicker response to Ctrl-C (abort) command

o Binary receive mode is automaticaly disabled when returning 
  from external programs
  - Some Telnet clents (e.g. HyperTerminal) enable Binary mode when
    transferring files, but do not disable Binary mode when done.
    This causes transmitted CR/LF pairs to be interpretted as two
    separate characters (instead of one).

Baja v2.30
~~~~~~~~~~
New Control Flow Functions:

	- LOOP			Begins an execution loop (nesting supported)
	- CONTINUE		Continues an execution loop
	- BREAK			Breaks an executuion loop
	- END_LOOP		Ends an execution loop

New TCP/IP Functions:

	- SOCKET_OPEN		Create/open a TCP/IP socket
	- SOCKET_CLOSE		Close a socket
	- SOCKET_CONNECT	Initiate outbound connection
	- SOCKET_ACCEPT		Accept an inbound connection
	- SOCKET_NREAD		Get number of bytes ready to read
	- SOCKET_PEEK		Peek at receive buffer
	- SOCKET_READ		Read from socket
	- SOCKET_WRITE		Write to socket
	- SOCKET_CHECK		Check socket connection status

	- FTP_LOGIN		Login to a remote FTP server
	- FTP_LOGOUT		Logout from a remote FTP server
	- FTP_PWD		Print current working directory
	- FTP_CWD		Change current working directory
	- FTP_DIR		Display current directory listing
	- FTP_PUT		Send (upload) a file to server
	- FTP_GET		Receive (download) file from server
	- FTP_RENAME		Rename file on server
	- FTP_DELETE		Delete file from server

Miscellaneous New Functions:

	- INCHAR		Case-insensitive version of INKEY
	- COPY_CHAR		Copy current cmdkey to int var or str var
	- COMPARE_ANY_BITS	Compares bits in any two integers
	- COMPARE_ALL_BITS	Compares bits in any two integers
	- SHIFT_TO_FIRST_CHAR	Shifts string to first occurance of char
	- SHIFT_TO_LAST_CHAR	Shifts string to last occurance of char
	- FILE_RECEIVE		Like FILE_PUT, but doesn't require sys pass
	- LPRINTF		Local printf (to local console)

New System Variables (defined in exec/sbbsdefs.inc):

	- _FTP_MODE		FTP operating modes (see FTP_* constants)
	- _CLIENT_SOCKET	Current telnet client's socket handle
	- _SOCKET_ERROR		Last socket error
	- _STARTUP_OPTIONS	BBS startup options (See BBS_OPT_* constants)


************************************************************
* What's New in Synchronet Version 3.00 Revision E (beta)  *
************************************************************

BBS
~~~
o Fixed Guru Chat GPF/segfault bug (finally)


Control Panel
~~~~~~~~~~~~~
o New "Events" window for event-thread log messages and status
	- No longer clutters Telnet Server log

o New tray-minimized icon (globe)

o Updated closure method
	- Hopefully resolves problem with shutting down after net event
	- 30 second time-out waiting for servers to stop (just incase)


FTP Server v1.05
~~~~~~~~~~~~~~~~
o Failure to create uploaded file (e.g. directory not created) bugs fixed:
	- Error message cause gpf/segfault
	- No 450 error response to client

o Resumed downloads (using FTP "REST" command) fixed (wrong response code)

o Now uses control port-1 (normally 20) as TCP port for all active data sessions

o Added active/passive mode indication to upload/download log output

o Detected hack/intrusion attempts are now logged to data/hack.log

o Directory listing are now sorted alphabetically (ala Unix)


Mail Server v1.11
~~~~~~~~~~~~~~~~~
o SMTP Sending to a forwarded address (251 response) fixed

o POP3 port, address, hostname activity logged

o Now supports destination address hostnames starting with a digit


/* End of V300_NEW.TXT */
