Web Xpander
Firmware Revision History
   Release 2.7d    22-Nov-2008
      - Added SMTP Port to WebX Config web page

   Release 2.7c    20-Nov-2008
      - Made SMTP Port configurable via :smtpport=xxx

   Release 2.6h    15-Feb-2007
      - Added UDP Broadcast on device state change
      - Keep track of up to 10 UDP (HomeRunner) clients to receive status updates
      - Added feature to send message to HomeRunner to execute a command
      - Corrected tracking issues with X-10 Extended Code devices
      - Increased DHCP Timeout from 6 seconds to 30 seconds

   Release 2.5d  14-Mar-2006
      - Improved Status refresh commands so only the devices in use are refreshed

   Release 2.5c  17-Feb-2006
      - Corrected bug in HVAC status tracking

   Release 2.5b   5-Feb-2006
      - Modified HTML on X10 page to use less memory (removed GIFs)
      - Added support for X10 Idle state
      - Added tracking of HVAC current temperature
   Release 2.5a   26-Jan-2006
      - Added support for UPB Devices
   Release 2.5     8-Dec-2005
      - Added support for HomeRunner
   Release 2.4f   23-Feb-2005
      - Corrected problem where I/O Xpander status changes were not
        being tracked properly in Pocket WebX

   Release 2.4e   21-Jun-2004
      - Corrected problem where Relay Xpander status changes were not
        being tracked properly or displayed in History

   Release 2.4d    2-Mar-2004
      - Corrected problem where A-12, B-12, etc. were not appearing
        properly in History

   Release 2.4c    9-Feb-2004
      - Corrected problem with transferring Labels and Status via HTTP
        (for Pocket WebX)
   Release 2.4b   30-Jan-2004
      - Defaulted the ":status=on", ":status=off" operation to OFF unless
        Pocket WebX access is enabled.

   Release 2.4a   27-Jan-2004
      - After receiving ":disable=on" and ":disable=off", the WebX will
        send confirmation ASCII text to WinEVM visible in the Megacontroller.
        (i.e. 'WebX Disabled', 'WebX Enabled')

   Release 2.4    22-Jan-2004
      - Added ASCII command ":status=on" and ":status=off" to enable/disable
        WebX maintaining it's own status of all of the Stargate devices.  Used
        only for Pocket WebX.  Off by default for non-PocketWebX enabled users.
   Release 2.3    20-Jan-2004
      - Corrected startup sequencing so FTP of labels works better immediately
        following a reboot or firmware download
   Release 2.2    14-Jan-2004
      - Made labels and current status files available via HTTP as well as FTP

   Release 2.1     9-Jan-2004
      - Added ASCII command ":disable=on" and "disable=off" to disable/enable
        Web Xpander during Schedule or Stargate Firmware uploads
      - Corrected bug in SMTP Authentication ('EHLO' vs 'HELO')
      - Added Voice Mail status (to WebX internal status array)
   Release 2.0     8-Dec-2003
      - Added function to remotely update individual device status
        (of WebX internal status array)

   Release 1.9e    7-Dec-2003
      - Added ability to refresh internal Flag, Variable and Analog status

   Release 1.9d    5-Dec-2003
      - Corrected error in Digital Input status

   Release 1.9c    4-Dec-2003
      - Reduced timeout for Pocket WebX Commands
      - Updated Pocket WebX Registration process
      - Added additional option "num" (used in place of either 'str'
        or 'time') to sendcommand2.cgi to wait for <num> lines of response
        - Used in cases where the Stargate doesn't respond with ##0

   Release 1.9b   24-Nov-2003
      - Added serial command :debug=on and :debug=off to toggle
        sending debug information to MegaController of WinEVM
        (defaults to debug=off)

   Release 1.9    21-Nov-2003
      - Added FTP timeout to reset FTP server if connection
        is unexpectedly lost
      - Made device status available over HTTP as well as FTP

   Release 1.8g  10-Nov-2003
      - Fixed SMTP bug where LF was used instead of CR,LF
      - Disabled periodic network "bounce" and only reset
        network on failed TimeSync or Email
      - Pocket WebX Support for All Lights On, All Lights Off 

   Release 1.8f   3-Nov-2003
      - Pocket WebX Support (Fixed Relay status)
      - Added Digital and Analog status
   Release 1.8e   24-Oct-2003
      - Adding more cleanup and optimization around timesync and
        general networking
      - Added status messages to Com1 which can be monitored in
        the WinEVM MegaController window

   Release 1.8d  19-Oct-2003
      - Local caching of device status started (X10, Flags, Relays, Variables)
      - "Bounce" network before time sync and periodically to clear
        any hung network sockets
      - New WebX Labeler sends device type (Lamp, Lamp-ExCode, Appliance, etc.)
        so internal status can be set properly after 'All Lights On', 'All Lights Off',
        'All Units Off' commands
      - Track time of last WebX activity and automatically reboot every 24 hours
        but not within 15 minutes of last command

   Release 1.7   9-Sep-2003
      - Added support for Pocket WebX Access and Registration

   Release 1.6g  3-Sep-2003
      - Corrected DHCP issue where Gateway was being misread

   Release 1.6f 21-Aug-2003
      - Adjusted TCP socket handling to prevent "hung" sockets
   Release 1.6e  8-Aug-2003
      - Modified DHCP routines to try to solve remaining issues.

   Release 1.6d  3-Aug-2003
      - Modified DHCP routines.  WebX was correctly reading IP address but
        incorrectly reading and storing Gateway and DNS info.
      - Also read SMTP Mail server via DHCP if provided

   Release 1.6c 30-Jul-2003 
      - Fix in Dynamic HTML "Please Wait..." code to correct bug in Mozilla

   Release 1.6b 28-Jul-2003
      - Changed the way dynamic network settings are applied (gateway and
        name servers sometimes were not being set properly)
      - Added more diagnostics around internet time sync code (and retry on failure)
      - Added 'timesync' command to force internet time sync when issued from
        debug mode (i.e. telnet to WebX, log in, type webxdebug, then type timesync)
      - Removed "Please Wait..." popup windows
   Release 1.6a 24-Jul-2003
      - Added additional option for SendCommand and SendCommand2 to allow
        for a result prefix (i.e. result=xxxx)
          ex: sendcommand2.cgi?var1=%23%23%2507&var2=str&var3=%23%230&var4=webx&var5=webx&var6=result
      - Added additional TCP/IP socket buffer (to correct email or time sync failing due to
          no available sockets)

   Release 1.6  16-Jul-2003
      - Added ability to update firmware via Network!!
      - Added SMTP Authentication

   Release 1.5   7-Jul-2003
      - Switched to new compiler
      - Compressed web pages for storage in internal memory
      - Modified sendcommand.cgi and sendcommand2.cgi to be more efficient
      - Properly save and use updated SMTP server.  Fixes a bug where a new
        SMTP server would not take effect until a reboot

   Release 1.4   26-Jun-2003
      - Corrected HVAC screen to handle latest Stargate firmware

   Release 1.3d  17-Jun-2003
      - Corrected a condition where some X-10 commands were not being shown in the
        history window

   Release 1.3c  11-Jun-2003
      - Remove sending CR to clear buffer

   Release 1.3b  15-May-2003
      - Bug in determining PreSet Dim and Extended Code commands fixed

   Release 1.3     13-May-2003
      - Added option to disable time sync on WebX Settings page (as default)
      - Added additional checking in internet time sync to ensure time is set correctly
      - Added additional web page for custom application interaction
         * sendcommand2.cgi : Sends command to Stargate and returns results
                             This page is not protected through browser security (i.e. username/password popup)
                             but requires the username/password be passed on the URL to make is easier to call
                             from other systems (i.e. custom interfaces)
            sendcommand2.cgi?var1=<command>&var2=<stop condition>&var3=<stop param<&var4=username&var5=password
            ex: sendcommand2.cgi?var1=##%07&var2=str&var3=##0&var4=webx&var5=webx   (wait for string ##0)
            ex: sendcommand2.cgi?var1=##%20&var2=time&var3=1500&var4=webx&var5=webx (wait for 1.5 sec of quiet)
      - A/V Page doesn't disappear and refresh after each command is sent
      - Widths of text areas in Message Log, Telephone Log, and History pages were made wider

   Release 1.2   15-Apr-2003
      - Added web page for custom application interaction
        * sendcommand.cgi : Sends command to Stargate and returns results
            sendcommand.cgi?var1=<command<&var2=<stop condition<&var3=<stop param<
            ex: sendcommand.cgi?var1=##%07&var2=str&var3=##0   (wait for string ##0)
            ex: sendcommand.cgi?var1=##%20&var2=time&var3=1500 (wait for 1.5 sec of quiet)
      - Fixed Internet Time Sync Daylight Savings Bug

   Release 1.1   1-Mar-2003
      - Shrunk HTML pages by removing spaces and tabs
      - Changed SetDirect.cgi from POST to GET
      - Cancel 5 minute window after connection
      - "Cook" Telnet input (strip telnet command codes)
      - Streamlined the Ethernet/Serial PassThru functionality
         (Both Serial to Ethernet and Ethernet to Serial)
      - Remove STDIO redirection to Serial Port A
         (Use telnet for debugging)
      - Send SMTP debugging to Telnet (if in debug mode)
      - Only reboot when new settings require it (i.e. IP Address)
      - Added "Reset Web Xpander" link on Settings page
      - Bypass login prompts if username and password are empty
      - Internet time sync will not occur earlier than scheduled
      - Internet time sync will set Stargate's clock on the minute (i.e. 0 seconds)
        since you can't specify seconds in the Stargate "set time" function
      - Up to 5 :mailto=xxx supported
      - Corrected handling of PreSet DIM Commands (Extended Code vs non-Ext)
      - Added FTP to add files to XMEM RAM
      - Moved mega_x10.shml into XMEM RAM
      - Added ":factory=" to reset to factory settings
      - Fixed DHCP lease expiration problem
      - Added "checksum" command to telnet debug console to calculate and display Flash memory checksum
      - Moved "Last Successful Time Sync" to XMEM (saved during reset)
      - Added Hidden "Last Restart" to Settings page
      - * Reboot each night after time sync
      - Fixed Relay Xpander Control
      - Moved device label storage to a "file" that can be FTPed into the Web Xpander

   Release 1.0   26-Nov-2002   INITIAL RELEASE