Changes in 0.10.g1
==================

Enhancements
------------
        * Increased the limit of files able to add in one count for EleMGR.
        * EleBBS now supports Squish mesagebases. The recommended messagebase
          format is still JAM.
        * Menu-items can now share a hotkey, where all items are executed
          upon pressing of that hotkey. You can enable or disable this
          behaviour in the menu editor.
        * EleBBS will now log the originating IP address of a telnet call in
          the log. If you write an telnet server replacement, you can use
          -XI to pass the IP address of the caller.
        * EleBBS now has an FreeBSD native version.
        * The interpretation of a menu file should now be faster on large and
          complex menus.
        * EleServ is a new application, replacing both NEWSSRV, IDENTSRV as
          well as TELSRV. This greatly simplifies maintenance on the code,
          and uses less resources.
          EleSERV currently knows 3 operational modes:
            -TELNET                     - Activates the telnetserver
            -NEWS                       - Activates the newsserver
            -IDENT                      - Activates the ident server
          You can combine those switches to provide for a complete set of
          functions.
        * The colour samples available in ELCONFIG are a lot faster, now.
        * When any of the programs that modify configuration files are run,
          a sempahore file is created. This should help prevent corruption
          of some configuration files where two programs would try to update
          the file at the same time.
        * When telnetting outbound, the Escape key is no longer the
          termination key. Instead, upon pressing of CTRL-[ an EleXer script
          is run (see TELNMNU) offering you a few options.
        * You can now run automatically spawned EleBBS nodes fully hidden,
          not interfering with your regular use of the desktop. A special
          option has been added in ELCONFIG.
        * You can now run, remotely controlled using EleMON, the programs
          ELCONFIG and EleMGR. You need to pass the *) parameter on the command
          line. To avoid any problems of running this command while not
          connected using EleMON, EleBBS will not run any command with the
          the *) in it, when there is no EleMON session connected. When the
          EleMON connection is lost, ELCONFIG and EleMGR will exit immediatly
          without saving changes.
        * For systems where the ALT-keys might not work, i added a workaround.
          If you press CTRL+Z and then the key you want to have "altted",
          the program will treat this as an alt-key. So to press ALT-M on an
          system where the ALT is not supported, just type "<CTRL+Z> <M>"


EleXer changes
--------------
        * FileReadStr (EleXer command) could sometimes cause unpredictable
          results.
        * RunMenuCmd (EleXer command) did not function as advertised
        * Added HistoryDate() function
        * It's now possible to start an EleXer script from another EleXer
          script without causing problems in the first EleXer script.
        * Tab characters (ascii-9) was not understood by EleXer and reported
          as an invalid character
        * TCP/IP Socket routines have been added to EleXer, see upddyn.pas
          and srvtest.pas for an example.
        * Added a routine named MakeDir()


Bug Fixes
---------
        * ELCONFIG/386 could crash without a real cause.
        * Deleting a message would be impossible.
        * Deleting message threads, would not clean up the reply thread,
          causing problems (most obvious) in EleWEB.
        * Some small debug-information was left in concerning running
          EleXer scripts, confusing some Sysops
        * EleXer would hang when it would not find a terminating end.
          statement.
        * Redid large parts of the base TCP/IP client class to optimize it
          for more performance, and to prevent issues with large streams
          of data without pause.
        * When a user would be disconnected, before EleBBS could open the
          socket, EleBBS could end up in a dead lock. This behaviour was
          most commonly seen with noisy port scanners or gateway detectors.
        * Internode message viewing was horribly broken, silently deleting
          messages and not displaying them.
        * Writing messages would add an extra whitespace line between each
          line.
        * Uploading of pre-defined message text was not functional.
        * Using the "`" key (also used for EleBBS control codes), was not
          ignored in binary mode.
        * A lot of textfiles are dumped to disk to enhance performance, those
          files would have a padded null terminator.
        * The compiled used for EleBBS/386 and EleBBS/Linux, had some bugs
          in it's set handling, causing issues in the input routines. This
          would be most visible by the fact that you could not enter a
          capital "L" in the username prompt.
        * Default colours of EleIRC were unreadable, the defaults have been
          changed. You should update the default colours (if you havent
          changed them already) in your language file to enhance the
          usability of EleIRC.
        * Sometimes an EleMON disconnect was not properly recognized, and
          thus made subsequent connections with EleMON not possible.
        * EleUSER could sometimes generate an access violation when creating
          the USERSELE.BBS file.
        * If a NWSFILT.ELM didn't exist, EleNEWS would slow down considerably.



Developer information (Long FileName Support)
---------------------------------------------
Starting from EleBBS v0.04.g1 there is support for filenames longer than the
standard 8.3 (DOS) format. Because the original RA structures does not allow
this, there had to be made an extension to these structures.
There has been added an 4-byte field and the "FreeSpace" field has
been reduced to remain compatible with earlier versions of EleBBS and
other BBS programs/utilties. The added field is called LfnPtr and is
basically the same as the LongDescPtr field but gives an file-offset to
the longfilename field as stored in the same file as the descriptions are.
Where possible (Windows95/98/NT) the short version of the filename is also
stored in the normal name to make sure that EleBBS/DOS can handle the file.
For more information look at LFNEXAM.ZIP which includes Pascal example code.


