User Tools

Site Tools


whats_new_112

Mystic BBS v1.12 - What's New

Every Mystic BBS archive contains a WHATSNEW.TXT file that tracks the development of Mystic BBS for the version related to that archive.

This page contains notes from the author (g00r00) during the development of Mystic BBS v1.12. It outlines what is a new or changed feature, a bug fix, or something that has been removed.

In order to interpret each entry below, the following key explains the nature of each change that has been noted in the WHATSNEW.TXT for this version of Mystic BBS.

! = Bug fix
+ = New or changed feature
- = Removed

Use the Table of Contents on the right hand side of this page to quickly jump between the notes that relate to each Alpha version of Mystic BBS during this development cycle.

If you spot something you think looks amiss with these notes please contact us using the contact info found on this Wiki.





1.12 Alpha 1

 ! Mystic now clears the temporary directory after each mass uploaded file,
   just in case a second .DIZ is in an archive.

 + The FS editor DRAW mode now has an Upload ANSI option added to the menu.

 ! Fixed a small bug when ANSI was posted into a NON-ANSI base that could
   cause the converted ASCII to get distorted.

 + When generating quote data, Mystic will no longer wrap the first line into
   the second line if the line is a KLUDGE line.

 + New MUTIL option for [ExportEchomail] entitled "skip_online". If this value
   is set to true, Mystic will not toss new messages posted by them if they
   are currently logged into the BBS.  Combined with "create semaphores at
   logout", this should give users their entire time logged in to edit their
   messages before they'll be sent, even if other users create semaphores.

 ! I accidentally compiled Mystic with a 1000 line message limit.  It has been
   changed to 10,000 lines per message now.

 + Mystic now fully supports unlimited reply tracking, using reply first,
   reply next, and reply to for each message.  This carries over to the
   echomail linking and message base purging/packing as well.

 ! Fixed a bug which could cause NodeSpy's snooping sessions to abruptly end
   in Windows.

 + The CL mci code (clear screen) and any other function based clear screens
   done by Mystic will now send ESC[H to home the cursor before the 2J for
   better compatibility with non ANSI-BBS terminals.

 + Mystic now has internal Xmodem (1K/CRC), Ymodem, Ymodem-G to go along with
   the existing Zmodem protocol.  Similarly to Zmodem, they are configured
   in the protocol editor with the following send/receive commands:

      @xmodem
      @ymodem
      @ymodemg

   A new protocol.dat has been included with the default installation that
   has these new protocols added, so it can be copied over the old
   protocol.dat if you haven't made changes specific to your system.

 + Increased the speed of statistic calculation in Nodespy significantly.

 + Character input within the configuration editors now allows characters
   to be input by the ASCII number or the key itself.

 + Revamped the Login/Matrix settings in the configuration, moving some
   options that were in General that probably made more sense in Login
   options.

 + Mystic can now send client terminals either CP437 or UTF8 data output,
   converting relevant outbound data to UTF8 when selected.  For compatibility
   reasons, data still has to be stored in CP437 encoding within Mystic itself

 + Mystic now has two new options in the Login configuration which go along
   with the UTF8 encoding:

   Default CodePage
   Ask CodePage

   ** READ THIS:
   If you do not understand what these are, set Default to CP437 and
   Ask CodePage to "Detect".  What this basically does is allows users to use
   things like Putty to connect to your BBS, and everything should look and
   work as expected.

   When Mystic starts up, by default a user will have the configured "Default"
   code page.  Then depending on the setting of "Ask CodePage", Mystic will do
   one of the following:

      Detect : Mystic only changes codepage from default if it is able
               to detect a terminal that is likely NOT the default, but the
               user is never prompted.
      Ask    : Mystic will ask the user which Codepage they would like
               to use after detecting ANSI.
      CP437  : Codepage will always be set to MS-DOS (CP437)
      UTF8   : Codepage will always be set to UTF8

   In Linux, the Default code page will actually be what Mystic runs in
   when you run mystic from the command line, too.  In Windows, the Sysop
   side will always execute in CP437, even when a user is logged in that
   has UTF8 enabled (the user of course will still get sent UTF8).

   One other consideration, is that many terminals that use UTF8 are using
   VT102 instead of ANSI-BBS, which means a few things are different - most
   noticably are ANSI clear screen codes.  In ANSI-BBS, the clear screen also
   moves the cursor to 1,1, while in VT102 it does not.  This means its best
   to edit your ANSIs and add a |CL at the very top so Mystic clears the
   screen in a compatible way.

 + When a user selects UTF8 encoding, Mystic will now assume their terminal
   sends VT102 DELETE/BACKSPACE keys rather than the MS-DOS terminal behavior.

 + MUTIL now has a function called to pack and check integrity of file bases,
   and a new header in MUTIL called [PackFileBases] has been added.  Please
   see the default MUTIL.INI in the new installation for more information.

   The old broken filepack in MBBSUTIL is gone now.

 + Mystic now prompts for confirmation when using the (U)pdate DIZ command
   from the file directory listing, to lessen the change that a SysOp injects
   a new .DIZ into an archive without meaning to.

 + New options for the GD "Display a file" menu command.  The old optional
   data where just the filename is supplied continues to work, but now if
   the first character is @ it will expect a few options in the following
   format:

      Format #1: filename
      Format #2: @baudrate@true/false/end@filename

   The @baudrate field specifies the baud rate to display the file.

   The second field defines how file pauses should work.  If set to TRUE
   the file will pause.  If set to false it will not pause.  If set to END
   then it will only pause after displaying the file.

   The final @filename is just the same as the format #1

   For example:
     @38400@end@bogacid1.ans

   The above would display JEDs 250kb ANSImation at 38400 baud, with no
   pauses except for one at the end.

 + New option in Login/Matrix settings: "Login after Apply".  If set to Yes
   Mystic will automatically send the user to the login after they apply for
   a new account through the Matrix.

 + PYTHON is here!  New menu command 'GY' will execute a Python 2.7 syntax
   script.  By default Mystic looks in the script directory for .MPY files,
   using the same logic as MPX.  If you supply a file with no extention,
   Mystic will add .mpy onto it.  If you do not supply a path, then Mystic
   will look in the current theme's script directory, and then the default
   script directory if fallback is enabled.

      Example:

         Command: GY
            Data: testpython

      The above executes testpython.mpy from the Scripts directory

      Example:

         Command: GY
            Data: c:\mystic\derp\herpderp

      The above executes herderp.mpy from the c:\mystic\derp directory, or
      if it is not found and fallback is enabled for the current theme, Mystic
      will look in the default scripts directory.

 + MUTIL now doesn't completely crap out if it does not have access to the
   files it needs on startup in Linux.

 + Mystic is now compiled with FPC 3.0.0 in Windows and Linux!

 ! The /TO: option when posting a new message in a public base was still
   presenting the TO field.

   <ALPHA 1.12 A1 RELEASED -- Feb 9, 2016>

1.12 Alpha 2

 ! Mystic will not crash when skip_online is set to false during echomail
   tossing.

 ! Added the forgotten prompt 315 to the default prompts

 + Moved the Python intialization code to only execute the first time a
   script is ran, so that if Python is incorrectly installed it will not
   prevent Mystic from loading with an error.

   If you get a "Import error: no module named site" when you DO try to
   execute a Python script, its because you have Python on your system but
   it is not completely installed.  You'll need to set your environment
   variables.  For example if you have Python installed in C:\Python27:

     SET PYTHONHOME=C:\PYTHON27
     SET PYTHONPATH=C:\PYTHON27\LIB
     SET PATH=%PYTHONHOME%;%PATH%

 - Removed the -FCHECK command from MBBSUTIL since MUTIL's file pack
   function now covers the same stuff while it packs bases.

 - Squish message bases have now been removed.  They were never used and
   supporting two aging standards was a waste of time, and annoying.  Now
   that its gone, expect additional polish on the JAM side.

 + MUTIL now has a new function [LinkMessages].  This scours your echomail
   bases and creates reply links between messages.  See MUTIL.INI for more
   details and options (I may be rewriting the msgbase packer too)

 + Message header prompts and display files now have a &A display code
   which returns the "Reply Next" field.

 + A2 will be compiled with increased compiler optimizations to see if
   there are any negative effects.

 + Prompts beginning with a # will now execute a Python script similar to
   MPL and display files:

      @myansi     <- Shows myansi from your theme's text dir
      !mympl      <- Execute mympl.mpx from theme's script dir
      #mypython   <- Execute mypython.mpy from theme's script dir

   In the small case that you ever need to start a prompt with one of
   these characters, you can prefix it with the "dummy" MCI code <pipe>XX

 + DOCS section now has a fully updated mci_display_codes.txt with all
   current codes documented!

 + Mystic now shows a "there are no files in this base" message when a user
   lists files in a base which HAS files, but none that are accessible to
   them.

   <ALPHA 1.12 A2 RELEASED -- Feb 11, 2016>

1.12 Alpha 3

 + Mystic's menus now generate unique IDs for each menu item, rather than
   referencing by the record order.  This makes using Grid menus MUCH more
   feasible.  When they are loaded and saved for the first time in the menu
   editor they will automatically "upgrade" themselves, so there is no need
   for conversion.

 + Mystic's message reader and FS editor can now handle WWIV, Synchronet,
   PCBoard, Wildcat color codes in addition to the already supported pipe
   and full blown ANSI.

 + Increased max menu items to 99 per menu with 25 commands per item.

 + The Theme editor now has an option to edit menus within the theme. This
   is just an alternative place to find the menu editor.

 + Changed /F Flags inside the menu editor to less confusing /S Settings

 + File base configurations now have a Hatch ACS value to determine who has
   the ability to hatch files from that file base.

 + Message base editor now warns you if you set a QWK network for a message
   base, but then do not set the conference ID.

 + Significantly increased JAM lastread performance on systems with more
   than 100 users.

 + MUTIL msgpack now handles JAM's ReplyNext field when packing.

 + Last read pointers are now stored by the user's permanent index.

 + acs_comment field in MUTIL FILEBONE and FILETOSS have changed to acs_hatch
   so update your .INI files if you use these and want to set hatch ACS in
   those situations.

 + When receiving a node message you can now request to chat with the person
   who sent the message.  Updated prompt 145.  Note the first two characters
   are the characters used in the prompt followed by a space and then the
   text:

      ; Message from another node footer. First word contains input keys, followed by prompt
      145 RC |CR|09Node Message: |01[|10R|01]|09eply, |01[|10C|01]|09hat, or |01[|10ENTER|01/|10Continue|01]|09: |15

 + When editing message text, Mystic will now not resolve color codes so they
   are not lost when converting from ANSI to ASCII stripping colors.  This
   should fix up losing the colors in your signautures if you edit messages

 + Reworked Protocol configuration.  There no longer needs to be a Protocol
   entry for both a Batch and non-batch version of a protocol.  Instead the
   Batch flag specifies if it is a batch protocol or not.  New PROTOCOL.DAT

 + Uploading a message to the FS editor no longer annoyingly asks for a
   filename, unless a Protocol is selected that would require it, or you are
   uploading a file from the local disk.

 + Reworked the file upload function so that it never asks for filenames
   unless it absolutely has to.  The transfer protocol is now the first
   question if a default is not set, followed by the filenames if needed.
   Gone is the display file BLINDUL. Gone is "Blind Upload?" prompt #375

 + Mystic now prompts for ENTER just before a transfer begins, and allows
   an option to abort here.  This was done to give users an option to abort
   if they have a default protocol set.  Replace the old prompt with the
   new one:

      ; Press ENTER to start file transfer  &1=selected protocol
      ; First word is input chars, followed by display text
      065 SQ |CR|09Press |01[|15ENTER|01/|15S|01]|09tart or |01[|15ESCAPE|01/|15Q|01]|09uit your |15|&1 |09transfer: |XX

 + The Upload Base settings in the File Base Settings now uses the File
   base permanent index instead of the record position.  If you use this
   setting you should double check that yours is correct after upgrading.

 + Message and File groups now have unique identifiers associated to them.

 + Mystic's lightbar menus now automatically work with mouse input when
   using a compatible terminal

 + All configuration editors now list everything by unique ID instead of
   record position

 + Cleaned up the remote mouse support in the system configuration so it
   should work much better now in the main pulldown menu.

 + Added a new record-size aware and automatically buffered file I/O class to
   MPL with the following functions:

     FileOpen
     FileEOF
     FileRead
     FileSeek
     FilePos
     FileSize
     FileWrite
     FileWriteBlock
     FileRead
     FileReadBlock
     FileClose

 + Compiled MPL programs greater than 16KB should now run faster, while
   smaller MPL programs should use less memory.

 + When passing -X to execute MPL from command line, Mystic will now longer
   replace _ with spaces in the filenames.  Instead it is expected that you
   use quotations around the arguement if it has spaces.

 + MPL now allows embedded records!!!  For example:

     Type
       Record1 = Record
         A : Byte;
       End;

     Type
       Record2 = Record
         A : Record1;
       End;

     Var
       Test : Record2;
     Begin
       Test.A.A := 10;
     End.

 ! Fixed a small memory leak in the echomail tosser

 + MUTIL now logs the time each process takes to complete which is logged and
   displayed on the screen.

 + Rewrote the message reply linking now that Squish is gone, and it should be
   up to 50% faster now.  Removed the "quick_link" option which at least for
   now (it is now always on).

 ! Fixed a bug with the message base packer that was preventing it from
   properly adjusting the reply linking when renumbering message bases

 + Mystic now uses JAM's third reply field (ReplyTo, ReplyFirst, ReplyNext)
   in all areas of the BBS and its utilities.

 + File base file listings now generate CRC64 signatures that are used for
   increased speed during file duplication scans.  These are stored in .DFX
   files, one for each entry in the file listing.

 + MUTIL mass upload now supports @TEXTDIZ during mass uploads, which is a
   feature of Mystic that can extract embedded @BEGIN_FILE_ID_DIZ tags from
   text files and use them as the file description.  Previously this only
   worked from user uploads to the BBS or the online mass upload.

 + Mystic's online .DIZ processor during uploads and mass upload can now
   parse PCBoard, Wildcat, and WWIV color codes in .DIZ files in addition to
   the already supported PIPE and ANSI.

 + MUTIL's mass upload can now handle .DIZ files with embedded ANSI, PIPE,
   PCBoard, WildCat, and WWIV color codes.  Mystic will translate them into
   ASCII and then apply colors to it using pipe codes, then save it so that
   it shows as intended, but can easily be stripped of color when needed.

 + Rewrote MUTILS mass upload logic so that it is literally thousands of
   times faster than it used to be while doing even more than it was.  Check
   out these differences in speed, its pretty crazy:

      BEFORE: Mass Upload Files    Uploaded 10000 file(s)    DONE 364.29s
       AFTER: Mass Upload Files    Uploaded 10729 file(s)    DONE 0.45s
       AFTER: Mass Upload Files    Uploaded 10729 file(s)    DONE 11.73s

   The first "AFTER" was with .DIZ importing turned off the second was with
   full DIZ importing.  729 files most of which had .DIZ files and then
   10,000 small text files that were scanned for @BEGIN_FILE_ID.DIZ tags and
   the total was 11.73 seconds, an improvement of 352.56 seconds!  Adding one
   file into a database of 10s of thousands took 8/100th of a second!

 + Files uploaded by FTP will now import DIZ descriptions into the BBS using
   ANSI, Pipe, Wildcat, PCBoard, or WWIV colors, like other areas of the BBS

 + Significantly increased the speed of duplicate file searches in Mystic,
   MUTIL (mass upload, TIC processing), and the FTP server.

 + TIC importing can now handle .DIZ files with ANSI, pipe, etc and even
   embedded @BEGIN_FILE_ID.DIZ tags like everything else can now.

 ! Fixed a bug that could make the cursor go a little weird when pressing
   the HOME key at the end of the lightbar file lists.

   <ALPHA 1.12 A3 RELEASED -- Feb 18, 2016>

1.12 Alpha 4

 ! Fixed a small memory leak that could occur when an invalid echomail link
   sneaks into the datafiles.

 + More general performance increases centered around file I/O.

 + Pressing enter on the OTHER tab in CFG would cause a crash in A3.

 + MUTIL now properly merges and regenerates SEEN-BY and PATH kludges with
   proper sorting of SEEN-BY when Mystic is hubbing echomail to downlinks.

 ! Fixed a bug with MUTIL netmail routing when Mystic is hubbing a network

 ! Adding new groups was not correctly assigning an incremented group ID.
   If you have groups created in A3 you'll have to recreate them if it
   have the same ID as another group.

 ! Fixed missing From/To/Subj info in the message reader that I broke in A3

   <ALPHA 1.12 A4 RELEASED -- Feb 20, 2016>

1.12 Alpha 5

 + MUTIL now removes duplicate SEEN-BY information when tossing messages

 + The GD (display a file) command can now have a " /NEW" appended on the
   end of the command data, which if found, will only display the file if
   its file date is more recent than the user's last login.

 ! Fixed .DIZ importing during online upload and online mass upload that I
   broke when redoing the batch uploads.

 ! Deleting HISTORY.DAT will now also reset the system callers number when
   Mystic attempts to update the history for the first time.

 + You can now move between prompts using up/down keys while simulating
   prompts in the theme editor.

 ! Fixed a bug which could cause the node to lock up in Linux when using
   DI baud emulation codes.

 ! Fixed weirdness in ignore functions from MUTIL mass upload introduced
   in the last alpha.

 + Added a ton of debug logging to MUTIL mass upload since its a rewrite
   so turn loglevel 3 on if you have any problems and send me the results

 + Selecting the hotkey in the menu editor from the list (CTRL+L) now gives
   a brief description of some of the preset hotkey values

 + Minor visual clean ups in the System Configuration that no one will notice
   except for my OCD.

 + The System Configuration now has a General Settings > Config Theme option
   which switches between the Default configuration theme we're all used to or
   a Custom theme.  For now the colors of the custom theme are not
   configurable but some reasonable defaults are in place in the meantime.

 ! Added a "never delete" flag into the User editor which prevents users from
   ever being deleted by a user packer/purger.  This has always been a feature
   but it was mistakenly missing from the user editor.

 + New user flag option "Force password change" will force the user to change
   their password on their next login to the BBS.

   <ALPHA 1.12 A5 RELEASED -- Feb 24, 2016>

1.12 Alpha 6

 + Mystic's NNTP server now properly auto reformats free flowing lines when
   long messages are posted.

 ! When uploading a message that doesn't contain any content, Mystic was
   sometimes confusing the current line being edited in the FS editor

 + NNTP server no longer logs passwords even with the highest log setting

 + NNTP server now adds TZUTC kludges to echomail posted via newsgroup
   readers.

 ! Fixed lots of issues with FTP upload introduced recently.  FTP uploads
   were not using the base ID to find the file base, and the .DIZ importing
   was broken.  Everything should be back to normal now (hopefully) but I
   will be doing more testing in the future.

 + If the SIZE field is missing from a TIC file, Mystic will now calculate
   the file size by looking at the actual file received.

 + Enabled verbose FTP server logging, similar to NNTP server.  These will
   both be loglevel 3 logs when I switch over to the log rollers soon.

 ! Users marked for deletion that were not yet physically removed were still
   showing up in the user listing.

 + The FTP server now allows files to be deleted via FTP from Mystic's file
   bases, if the logged in user meets the Sysop ACS requirements for that
   base.

 ! Fixed a small memory leak in MIS's server status window.

 + Mystic will now add a DUPE kludge to messages when moving to the bad
   message base using the following format:

     @DUPE <Areatag> <PKT origin> <PKT dest>

 + Added a new Archive viewing system.  This will create a virtual disk space
   of an archive, and allow you to nagivate the archived files, directories
   and even any number of archives within the archive itself.

   You can download and view files from anywhere, even when in an archive
   inside of an archive inside of an archive, etc.  The usual cursor movement
   functions are available, along with remote mouse support and on the fly
   text searching by simply typing.

   Two new files go along with this using the new(er) template format:

     archive_view.ans - Contains the ANSI of the browser UI
     archive_view.ini - Contains all of the prompts and configuration options

   For the moment ZIP, RAR, LZH, and LHA are supported but I am looking into
   additional formats.  For now I think I've covered the most common/needed.

 + Message base global editor now allows you to specify the ANSI flag

 + Minor cosmetic things to MUTIL to expand the status field and add commas

 + Mystic's MUTIL will now refuse to save duplicate messages when tossing
   echomail if the configured dupe message base is not a local type base.

   <ALPHA 1.12 A6 RELEASED -- Mar 1, 2016>
   

1.12 Alpha 7

 + The Echomail Nodes editor now has functions to /Copy /Paste and /Move
   entries.

 + When using the /Exports editor in the Echomail node configuration, you
   can now add new exports in bulk, by tagging any number of message bases.

 + Mystic now strips leading and trailing spaces from PKT AREA tags just in
   case a poorly formatted message is received with AutoCreate enabled.

 + When simulating prompts in the Prompt editor, Mystic will now show the
   PromptInfo codes in their formatted place

 + Added some new permanent debug logging to Message Purging function

 + Mystic's message packer no longer recalculates the "date arrived" field
   when packing bases.  Some 3rd party stat tools use this and not the date
   the message was written for stat generation, and this could throw off its
   reporting from date ranges.

 ! Fixed ANSI gallery crash in Linux 64-bit version

 ! Fixed broken ANSI display baud emulation in 64-bit Linux version

 ! Fixed quirkiness causing Pi version to sometimes crash on login.

   <ALPHA 1.12 A7 RELEASED -- Mar 11, 2016>
   

1.12 Alpha 8

 ! Fixed Pi crashing in A7 on login from MIS

 + Cleaned up the BINKP server authentication logging to be a little more
   clear when describing what its doing.  It should be much easier to
   understand even with full debug logging on.

 ! (Hopefully) fixed issues with Shell, BBS events not honoring the day of
   the week during execution. Reduced the resources used by the event system

 ! User editor was not properly saving the "Never delete" flag

 + Added "getuser" and "onekey" functions into Python and updated the
   testpython.mpy in the default install.  This will continue to be updated
   as new functions and features are added and I need to test them.

 + New menu command *T opens the theme editor

 - Removed all door menu commands except for DD and D3.  The old ones will
   continue to work for now, but there are only 2 commands (DD and D3) to
   execute a DOS or Door32 door.  Mystic creates all drop files now for any
   door execution.

 + %0 now gives the socket handle on door command lines in Linux (like it does
   already in Windows)

 ! Deleting file bases using the file base editor was not properly deleting
   the data files when selected to do so.

 + File Base editor now has a /Reset command similar to the Message Base
   editor that will reset the file listings in the base, while maintaining
   all of the other important details (user scan settings, echo exports).

 ! Fixed a problem with duplicate file searching in Linux, but *everyone*
   should make sure they run the MUTIL file base packer so Mystic can
   regenerate indexes for their file listings.

 + Lots of UTF8 cleanups.  Mystic now has a Local CodePage option which is
   used as the default when the -L command is used (local login).  This
   allows separate defaults local console vs an incoming caller.

 + UTF8 was not working in -CFG mode. It now uses the local codepage.

 + INSTALL program for OSX now defaults to using UTF8 and no longer bleeds
   screen data after viewing update/whatsnew.

 + ReWrote the group changing code.  Calculation of the number of bases per
   group should be much faster now.

 + MUTIL will now honor the local codepage and run in UTF8 in Linux/OSX

 + MIS will now honor the local codepage and run in UTF8 in Linux/OSX

 + NODESPY will now honor the local codepage and run in UTF8 in Linux/OSX

 ! Fixed kludge lines bleeding into ANSI in some ANSI message posts

 ! Fixed a bug sometimes causing OSX to error with "Cannot find MYSTIC.DAT"

 + FILES.BBS importer now has a few new options to help speed things up as
   well as support more variations in formats.  See Wiki or MUTIL.ini for more

 ! The uploader name would show the date in listings when a file had zero
   lines of description (a situation Mystic itself cannot create)

 ! After tossing nearly 3 million echomail messages, I think I finally found
   a bad memory reference which I hope could be the cause of some strangeness
   seen by one or two systems over the past year or so.  Fixed either way.

 + Local Codepage now defaults to UTF8 in OSX (OSX defaults to UTF8)

 + INSTALL will now exit if the any of the directories already exist instead
   of letting you reinstall over.  Sorry for those who like this option I
   will probably as a Yes/No at a later date.

 + Local Codepage now defaults to UTF8 for Pi (Jessie defaults to UTF8)

 + NodeSpy terminal now also supports CTRL+I and CTRL+D to delete after I
   realized that Apple keyboard have no INSERT key.  Apple is so weird...

 ! Some fixes for screen artifacts in OSX and Pi, things look very pretty
   and although no one uses it, the OSX version is really coming along!

   <ALPHA 1.12 A8 RELEASED -- Mar 25, 2016>
   

1.12 Alpha 9

 + Rewrote the online Mass Upload which should have some minor speed
   improvements when adding a large amount of files but its still no where
   near as fast as MUTIL (at the cost of using WAY less memory).

 ! Fixed another bug in the MUTIL massupload in Linux which was causing it
   to generate file indexes for Windows system (case insensitive) and would
   result in creating duplicate file list entries.

 ! Fixed a bug with placing Netmail messages in the wrong Netmail base that
   was introduced in A8.  This did not break netmail just made things weird.

 + Mystic Windows now disables the "X" close button in the Window so you can't
   force close Mystic and create ghost users.  Should have done this years ago!

 + MUTIL now has a second type of log rolling.  While the existing type rolls
   by file size, logs can now also roll by day.  Daily logs will have a date
   stamp appended to them, for example "mutil.20160329.log" and after a certain
   number of days, the oldest file will be erased.

 ! Fixed a bug in the new ZIP viewer code which would cause crashes while
   viewing certain ZIP files or during uploads when importing FILE_ID.DIZ

 + An "id" option can be set in NodeSpy's general stanza which will append
   onto the Window title when running.  For example, if:

     [General]
       id = My BBS

   Then the Window titles will have the ID appended, such as:

      "NodeSpy/Main (My BBS)"

 ! Fixed a NNTP lockup bug that I introduced in an earlier alpha

 + NNTP server now will trim blank lines off of the beginning of the message
   instead of just the end.

 ! (Hopefully) fixed file searching crashes in Windows XP.

 <ALPHA 1.12 A9 RELEASED -- Mar 30, 2016>

1.12 Alpha 10

 + Added three new menu commands for creating and evaluating semaphores
   from within the menu system.  @NODE can be replaced with the node number if
   desired.  See Wiki for more info:

      !C - Creates the semaphore filename in optional data
      !D - Delete the semaphore filename in optional data if it exists
      !E - Check if semaphore filename exists and set result in "OK" ACS.

 + When copying a message from one base to another, Mystic will rebrand the
   message using the real name if the destination has the real name flag.  In
   order words, if a user posts to AGN_BBS on AgoraNet and then copies that
   message to BBS_CARNIVAL on FidoNet, Mystic will strip and regenerate all
   kludges and origins as it were posted to FidoNet.  It already did that, but
   now it will also change the From name to the user's real name when it can.

 ! After uploading a message, Mystic's user action would still be set to
   "Transfering files".  Fixed.

 ! Fixed a potential exploit added in the 1.12 alphas earlier.  TO BE VERY
   CLEAR it is not an exploit that would compromise any data, just one that
   could be used to cause a corruption in data files.  Please upgrade
   immediately if you're using a 1.12 Alpha prior to A10.

 ! Fixed a problem with uploads related to xfer.log

 + New command line option for Mystic -CP<mode> to override the default code page
   for that session.  IE: ./mystic -CPutf8 will force UTF8 default output
   regardless of the default setting.  Any -CP that does not contain UTF will
   cause Mystic to default to CP437

 <ALPHA 1.12 A10 RELEASED -- April 4, 2016>

1.12 Alpha 11

 + Mystic now has an option to add [ANSI] prefix to message subjects of ANSI
   messages, found in the Message Base Settings.  This can be set to off, on,
   or echomail only.

 + Mystic will now strip all [ANSI] tags and RE: prefixes prior to replying
   to a message, and recalculate/re-add them as required when saving the
   reply message.  That means if you reply to a message with an ANSI tag but
   the reply contains no ANSI, the [ANSI] tag will be removed from the subject

 + Mystic now has a new option in Message Base Settings: "Add Re: Prefix"
   when on will add "Re:" to the subjects of replies (as Mystic always has) or
   when off it will strip Re: and not add.

 ! Netmail and private message bases will no longer be listed and readable
   in the NNTP server even if the SysOp configures it show up via NNTP.

 + New command line option for the "mystic" binary: -PATHS.  This will open
   Mystic's "System Directory" configuration so that the root paths can more
   easily be changed when copying Mystic between operating systems such as
   Windows to OSX, etc.

 + QWK Path is is now also listed in the System Directories configuration

 + New message scans should now be much more efficient when updating last
   read pointers.

 <ALPHA 1.12 A11 RELEASED -- April 18, 2016>

1.12 Alpha 12

 ! Fixed an issue that would cause file scans to fail if the data files for
   the first file base were missing.

 ! In Windows, SysOp macros are now executed by pressing CTRL+F1-F8 keys,
   because the F1-F8 keys are now used in the ANSI editor, etc.

 ! Some cleanups to the ANSI message uploaded, when uploading multiple ANSI
   files into the message editor.

 ! Fixed a bug with downloads when trying to download during a file scan or
   search.

 + Extended the amount of time Zmodem receive gives to start uploading from
   30 seconds to 90 seconds.

 + Zmodem no longer retries to send the ZFIN header while waiting for the
   OO marker at the end of a transfer session, for quicker ending of
   transfers for implementations that appear to not send OO (SyncTerm).

 + Adjusted Zmodem timings in certain places to allow for more time for
   users to respond to things like Overwrite prompts before timing out.

 <ALPHA 1.12 A12 RELEASED -- April 28, 2016>

1.12 Alpha 13

 ! Fixed remaining known issues relating to new file listing indexing which
   should in turn fix any strangeness experienced with tagging and
   downloading files.

 <ALPHA 1.12 A13 RELEASED -- May 3, 2016>

1.12 Alpha 14

 ! Fixed problem in socket functions when output buffers were filled that
   could cause loss of data during Zmodem, FTP, and BINKP transfers.

 + Improved reliability of ANSI detection in Windows

 + Added a keypressed function to Python engine

 + Added a bit more error logging during echomail exporting in some cases

 ! Found some debug stuff in the display file function which was causing
   Mystic to do a lot more work than it should have been doing.

 ! Fixed an issue in lightbar/grid style menus when doing key jumps with the
   new menu command IDs.

 <ALPHA 1.12 A14 RELEASED -- May 15, 2016>

1.12 Alpha 15

 + Pressing backspace as the first key while editing a field in the
   configuration editors will now automatically erase the entire input data.

   Let me know if you do not like this change.

 + Pressing ESCAPE during string input within the configuration editors will
   now restore the default string and exit the input.

 ! Fixed an obscure bug in the menu system that is hard to explain and that
   no one would ever likely find! :)

 + Added a little more debug logging to echomail processing, but this is
   probably temporary.

 + Mystic now prints a message if Python is executed when it is not detected
   on the system.

 + Mystic now prints a message if Python fails to initialize when executing
   Python.

 + Mystic's echomail export function will now check the configured echomail
   domain of the message base, and the domain of the destination address. If
   the domains do not match, Mystic will log and refuse to export the message

 + Mystic will now refuse to let you edit a user in MCFG's user editor if
   the user is currently logged into the BBS.  This capability is on the TODO

 + Mystic now immediately updates the online username as soon as they log in
   as opposed to waiting until the first menu.

 + New menu command -B will break the current menu execution chain, when using
   commands stacked by hotkey.  In other words, if you have 4 commands all
   with the same hotkey, and you call -B on the second one, only the first
   and second command will run, the 3rd and 4th will be skipped because the
   -B menu command breaks the chain of commands.

 + Mystic's PKT reader will now handle the 65535 auxNet format which appears to
   not be in the FSC, and I have no idea where it comes from but Mystic should
   now handle it correctly.

 <ALPHA 1.12 A15 RELEASED -- May 23, 2016>

1.12 Alpha 16

 ! Fixed a problem exiting the prompt editor introduced in last alpha

 ! Mystic now properly populates auxNet for point systems in PKTs.

 ! Fixed a pretty big bug when acting as an echomail hub with multiple
   downlinks that used raw PKT mail instead of compressed bundles.

 <ALPHA 1.12 A16 RELEASED -- May 28, 2016>

1.12 Alpha 17


 ! Fixed an issue with Python get_user that I broke in last alpha.

 + Duplicate file scans are now case insensitive even in Unix environments, due
   to many older DOS systems creating .TIC files that do not match the actual
   case of the filename.  YOU MUST RUN MUTIL FILEBASE PACKER ONCE TO REGENERATE
   NEW FILE BASE INDEXES AFTER UPGRADING TO ALPHA 17 IN LINUX, OSX.

 ! MUTIL will now more graciously handle a configured invalid duplicate
   database size value.

 + Specifying a 0 or negative value for dupe database size in MUTIL will now
   disable dupe tracking entirely.

 + MUTIL will now refuse to run if the semaphore directory does not exist.

 + MUTIL now creates a mutil.bsy file in the semaphore directory.  If this file
   exists, MUTIL will refuse to run - preventing multiple instances of MUTIL to
   be executed at the same time.  If the BSY file has existed for more than a
   day, MUTIL will remove it and run as expected.

 + FIDOPOLL now creates a "fidopoll.bsy" in the Semaphore directory while its
   running.  This works in the same way as MUTIL does to prevent multiple
   instances of itself from running.

 + MIS now creates a "mis.bsy" in the Semaphore directory while its running.
   This works the same way as MUTIL and FIDOPOLL to prevent multiple instances
   of itself from being executed.

 + FIDOPOLL and MIS BINKP now use a .BSY file system.  These files are created
   alongside the .out files when queuing and sending mail for a node.  If the
   .BSY file already exists for that node, Mystic will not queue mail for that
   node.  If the .BSY file is more than a day old, Mystic will assume the .BSY
   file was accidentally left over from a stopped process and will exchange
   mail for that node as requested.

 + MUTIL echo export will now create and check for .BSY flags when exporting
   messages.  It will wait for up to 3 minutes for all downlinks to NOT be
   busy prior to exporting, while flagging any echomail nodes as owned by
   MUTIL as they become freed up by other processes.  This continues until
   MUTIL "owns rights" to every echomail node, so that it can toss mail without
   interfering with any other mail process (BINKP server, client, FTP, etc).

   If the 3 minutes expire, MUTIL will exit because it cannot process mail when
   nodes are exchanging by BINKP/FTP.  MUTIL will not remove semaphores in this
   case, so the cycle can continue until the export is processed successfully.

   Like other areas, if a .BSY flag stays for more than a day, it will
   automatically be removed and assumed to be a result of a stuck process.

   This system works hand in hand with BINKP server and FIDOPOLL (and even
   BINKD) so that no nodes will transfer mail when MUTIL is tossing mail
   to them, and MUTIL will not toss mail while a node is picking up mail.

 + MUTIL tossing to downlinks during importing now works the same as the
   export system described above.

 <ALPHA 1.12 A17 RELEASED -- June 3, 2016>

1.12 Alpha 18

 + MPL programs now load entirely into memory.  As a result, the current
   maximum size of a compiled MPX file is now 128KB instead of being
   unlimited, but this can be easily increased if needed.  This move increases
   execute parsing speed by about 20%, but MPL is still about 60-80% slower
   than Python (in 32-bit.  64-bit MPL is much closer to the same speed).

 + Rewrote the archive viewing functions for a massive speed up.  A ZIP file
   that contained 15,554 files and 1,198 directories was imaged by the viewer
   in *47 MILLISECONDS* in A18 but took 10.5 SECONDS in A17.  HUGE
   DIFFERENCE!

 + FIDOPOLL now has a "killbusy" command which will delete any existing .bsy
   flags for all echomail nodes.  Note that this does not remove the program
   specific bsy files for MUTIL, MIS, FIDOPOLL, etc, just the echomail nodes.

   For now you can also run "killbusy all" and it will kill even the .BSY
   flags for the various tools such as MIS MUTIL and FIDOPOLL.  But this is
   undocumented and HIGHLY NOT RECOMMENDED to use.  In no circumstance should
   a .BSY file ever be removed when MUTIL MIS or FIDOPOLL is running.  This is
   a convience feature because the BSY system is new and may have quirks.

 + MPLC now properly syntax errors when attempting to assign a default value
   to a record variable.  This mistakenly compiled in 1.11 but did not work.

 + Added a "mis.log" in the logs directory which gives some very basic status
   during startup and shutdown of MIS when its running in DAEMON mode in Unix

 ! This is part bugfix and part new MPL feature.  You can now do this with
   records and arrays and records within records.  Another huge win for MPL:

   Type
     TestRec = Record
       Key  : Integer;
       ATest: Array [1..25] of Integer
     End
   Var
     Test : TestRec
     B    : Integer;
   Begin
     Test.Key             := 10;
     Test.ATest[Test.Key] := 5;

     B := Test.ATest[Test.Key];

     WriteLn ('B=' + Int2Str(B));
   End.

 + The prompt editor will no longer erase the entire prompt if the first key
   pressed is the backspace key.  The other configuration editors will retain
   this functionality though.

 + Added a "Waiting for BUSY nodes" message to MUTIL import and export, so
   people do not kill MUTIL process thinking it locked up while its waiting.

 + MPLC now has many new compiling options.  -ALL now compiles all files in
   the current directory AND ALL SUBDIRECTORIES.  New options are:

     MPLC [path/file] Compile one script [path/file]
     MPLC -ALL        Compile all scripts in current directory and subdirs
     MPLC -C          Compile all scripts in current directory
     MPLC -P [path]   Compile all scripts in [path]
     MPLC -R [path]   Compile all scripts in [path] and its subdirectories

 ! Fixed a bug that could cause MIDE to lock up when including files.

 + MIDE and MPLC now only update the screen status every 10% when compiling
   a while, instead of every 1%.  The scaled back update makes compilation
   more than twice as fast on my system.  Big win!

 + MPLC will now track all encountered errors during compilation, and will
   print an error summary to the screen after all files have been processed.

 + If the first word in a MPL source file is "library", MIDE and MPLC will not
   compile the source file and instead will report an immediate "success". This
   can be used so that if you create an include library, it will only be
   compiled when its included by a program, and not as a stand-alone MPS file
   when encountered by MPLC.
   
    <ALPHA 1.12 A18 RELEASED -- June 8, 2016>
   

1.12 Alpha 19

 + New formatting MCI code |$Txx will cut off a value if it is longer than
   XX characters so that its length is XX.  If the value is less than XX
   characters it does not do any formatting to the value.

 + Added a -VER option to mystic.exe that will print the version and exit.

 ! Fixed a bug I created in A18 that would cause QWK networking importing to
   incorrectly read the message contents.

 + MPLC will now try to search search for include files in the same directory
   as the source file, if no directory is found in the include file name.

 ! Fixed an issue with MPL parsing of files by reverting some of the parsing
   optimizations back to the old stuff.  MPLC will still be faster but not
   quite as fast as A18.

 ! Fixed a potential issue where MIS could drop root before binding the ports
   of all of the servers in the Unix versions.  This could cause a situation
   where one or more servers fail to bind, while others bind find during
   startup.

 + MIS now waits until all ports are bound and privileged access has been
   dropped before creating the .BSY file.  This may or may not change again!

 + Themes now have 4 Box styles, up from just one.  In addition, each box
   style now has some additional options available to it.

 + New MCI code performs a popup Yes/No box and the result will be used as
   the following YES/NO answer.  Mostly to be used in the "prompt" of a yes/no
   question.  The format is:

      Syntax:  |#Y#<style #>#<Y position>#<header>#<text>#
      Example: |#Y#2#10#Confirm#Do you want to do this?#

      The above example will pop up a Y/N box using style 2 with a header
      of "Confirm" and a message box text of "Do you want to do this?".

   After the YES/NO box, Mystic will restore the screen to the original state
   before the box was shown.  This function only works with ANSI graphics.

 + New MCI performs a pop up vertical selection box, with the selected item
   hotkey being pushed into the input buffer, and the screen restored to its
   original state after selection.  This only works with ANSI graphics. The
   format is:

     Syntax: |#V#<style#>#<X position>#<Y pos>#<header>#<commands>#

     <Commands> is a comma separated list of commands in the format of
     <hotkey>-<text>.  If <text> is blank, the hotkey will be allowed by not
     shown in the list.  If the entire entry is blank a blank line will be
     inserted into the list.

     Example:

     |#V#2#30#10# Header #A-Selection A,B-Selection B,C-Selection C#

     Creates a pop up lightbar box in style 2, starting at X30 Y10 that has
     three options:

        .----- Header ----.
        |  A Selection A  |
        |  B Selection B  |
        |  C Selection C  |
        `-----------------'

 + New MCI code draws a box using a specific theme style.  It does not take
   input or erase itself at all.

     Format  : |#X#<style>#<header>#<x1>#<y1>#<x2>#<y2>#
     Example : |#X#2# My Header #20#10#60#16#
     Result  : Opens a box at X20 Y10 to X60 Y16 using style 2 and
               header " My Header "

 + Python scripts can now be executed from the command line, just like MPL
   scripts.  The format is the same except -Y is used, so for example:

     mystic -uSysop -ppassword -ytestpython

 + Mystic's full screen message editor has been converted to a .ini file
   format instead of the old ANSI style template.  The following files are now
   part of the message editor template:

      msg_editor.ini
      msg_editor.ans
      msg_editor_quote.ans
      msg_editor_help.ans

   New defaults are included with a redesigned look that uses some of the new
   box MCI codes to pretty things up a bit and to give a functional example of
   them.

   If you used a customized full screen editor, you will of course have to
   remodify the new defaults to your liking.

   Also in this new message editor is the spell checking and word suggestion
   engine, which required a bunch of code changes to the screen updating and
   wrapping.  Because of this, the spell checking itself is not going to be
   documented just yet until the new editor gets a little testing.  Spell
   checking will be enabled very soon, assuming I do not have troubles porting
   it to 64-bit.

 - As a result of the new message editor template, prompts #354, 355, and 356
   are no longer used as they are now in the .ini file.  In addition, ANSI
   display files "ansiquot.*"  "ansiedit.*"  and  "fshelp.*" are no longer
   used and can be deleted from your text directories if you'd like.

 ! Fixed a bug in my string list class that I created in A18 I believe.  No
   telling what problems it caused but it could have been many.  I know at a
   minimum it was breaking the FTP client (qwkpoll/fidonet FTP mailer).

 + Renamed UPDATE.EXE to UPGRADE.EXE because Windows 10 acts weird when a
   file named update.exe is executed.

 + I am sorry to do this, but I think few people use them.  The format of the
   |#B and |#I MCI codes has changed to the following:

     OLD: |#B<header>#<text>#
     NEW: |#B#<style>#<Y position>#<header>#<text>#

   This adds the new style system into the mix, and also now allows you to
   specify the Y line where the msgbox stands.  If you use either of these
   MCI codes you'll have to update those places.

 ! No longer shows an error message when executing a MPL file that doesn't
   exist.
   
   <ALPHA 1.12 A19 RELEASED -- June 13, 2016>
   

1.12 Alpha 20


 ! Fixed a bug introduced in A17 when using CTRL+U in the user editor to
   upgrade security levels.

 ! Fixed the description editor in file base editor.  For now its just going
   to load the message editor until I decide how I want to redo this part.

 ! Reverted my A17 changes in the string library, because while its a
   performance increase, its too risky to wait and find/fix all of the things
   that break because of the change.  This will fix a lot of the new quirks
   that have shown up out of nowhere since A17.

 + Added some additional logging into the population and updating of FLO
   files when exporting echomail via MUTIL.

 + Mystic's networked QWK packets should now honor the actual date and time of
   the message.

 ! Mystic's menu editor was not regenerating a new UID when pasting a menu
   command.  This really only causes a problem if someone is using a grid
   style menu.

 + Added new menu action "IT" which opens an outbound telnet session.  The
   optional menu data must contain the address to connect to via the
   following:

      /addr=<address>[:port]

   If no port is specified it will default to 23 for Telnet. For example:

   /addr=mybbs.strangled.net
   /addr=mybbs.strangled.net:2323

   The CTRL+] key is the escape hotkey which will allow the user to
   immediately disconnect from the remote system at any time.

 + Added new menu action "IR" which opens an outbound RLOGIN session. The
   optional data should contain a minimum of an address, username and password
   using the same format for the address as the telnet command, with these
   additional RLOGIN specific commands:

   /user=<username>
   /pass=<password>
   /swap

   Swap tells Mystic to send the username first then password as this is
   typically password then username in the BBS scene, but others require the
   username to be sent first.

   If no port is specified, Mystic will default to port 513 which is the
   default RLOGIN port.  The escape key is ^] just like in Telnet.

   Example:

     /addr=twgs.mybbs.com:513 /user=g00r00 /pass=mypassword /swap

 + The following prompts have replaced some UNUSED prompts in the prompts
   file of each theme, these are used by the TELNET and RLOGIN functions:

     ; TELNET/RLOGIN: Connecting prompt &1 = address &2 = port
     354 |CR|08> |07Escape sequence is |08|15CTRL+|15]|08.|CR|08> |07Connecting to |15|&1 |07port |15|&2|08.|CR

     ; TELNET/RLOGIN: Connected successfully
     355 |08> |07Connected.

     ; TELNET/RLOGIN: Unable to connect
     356 |08> |12Unable to connect: Press a key|PN

 ! Possibly fixed a bug in the message base packer that could cause corrupted
   message bases in certain circumstances.

 <ALPHA 1.12 A20 RELEASED -- June 15, 2016>

1.12 Alpha 21

 + The RLOGIN menu action will now translate @USER@ to the user's handle when
   used in the "/user=" or "/pass=" part of the command data.

 + MUTIL now prints the version in the logging on startup.

 ! Fixed broken telnet/rlogin commands.

 ! The library "revert" from the last alpha didn't actually happen, so this
   time its really happened.  Should fix up a bunch of little quirks
   introduced in A17.

 <ALPHA 1.12 A21 RELEASED -- June 17, 2016>

1.12 Alpha 22

 ! Fixed some bugs with the upload process, created by the upload rewrite a
   couple alphas ago.

 + Changed the processing of "trashcan.dat" user names to check for the user
   name before offering to create a new user account.  If a name is entered
   from trashcan.dat at login prompt, Mystic will send them a new prompt:

     ; Login prompt: User enters a username found in trashcan.dat
     375 |CR|12That user name is unacceptible.

 + Added new default MPL script menucmd.mps

 ! Fixed a problem with MIDE executing MPL scripts from within the editor
   when passing program params.

 + Added some exception trapping into MIS in a few places which may or may
   not improve stability when running in UI mode.  Just a band aid until the
   new MIS is ready.

 <ALPHA 1.12 A22 RELEASED -- June 23, 2016>

1.12 Alpha 23

 ! Fixed a bug which could cause a crash when exiting the message editor,
   rarely seen except when editing auto signatures.

 + Mystic has a new MSGID generation algorythm.  This can generate ~ millions
   of MSGIDs per second across up to 1000 concurrent processes without creating
   a collision for 100 years, and it can fit it into a 32-bit integer.  I say
   up to because my hardware is not powerful enough to push it to its limit.

 ! Messages posted by user uploaded REP packets were not adding MSGID to
   posts made in echomail bases.  Should be fixed.

 + Messages posted by REP packets will now replace "--- " with "___ " which   are assumed to be lines containing a QWK reader tear line.
   are assumed to be lines containing a QWK reader tear line.

 + When uploading a .REP packet in Unix based systems Mystic should no longer
   require proper filename casing.  MYSTIC.rep mystic.REP MyStiC.REP should
   all be recognized.

 + QWK performance improvements when creating QWK packets for download.

 + Significant performance improvements to processing of user .REP packets

 + Mystic QWKE will now flag netmail bases as PRIVATE even if the base itself
   isn't configured as Private.

 + Mystic's QWK/QWKE will now set the private read/unread and public
   read/unread flags where applicable.

 + Netmail message bases will no longer be included in QWK packets due to
   limitations in the very outdated standard.  Netmail bases WILL be included
   in QWKE packets.

 + Mystic's QWKE system now supports Netmail via QWKE, and will change the
   To and From field to contain the user name and the origin/destination
   address.  Simply replying to the message and keeping the name and address
   in the To field will allow Mystic to route the netmail accordingly when
   it is importede from a .REP packet.

 + Mystic now properly applies a group-independant "Post ACS" check for each
   message within a .REP packet.

 + Mystic now creates an index of all personal messages in QWK packets, used
   by some readers to quickly give a reference to all personal messages.

 + Mystic now changes all "personal" message "TO:" fields to the user's alias
   when creating a QWK packet.  Some readers apparently will not show messages
   marked as private/personal if the TO field does not match the name found in
   the QWK information file. (ie, Bluewave).

 + When using legacy QWK and a QWK base name isn't set, Mystic will use the
   first 13 characters of the configured message base name.

 + The "MysticQWK" control name for QWK control messages (adding dropping
   bases and other things from the reader) is now case insensitive.

 ! Fixed a QWK bug that could cause the wrong origin line to get added to
   a message.

 ! Uploading ANSI into the FSE or ANSI editor no longer strips ICE/blinking
   colors.

 + Added some additional exception handling to BINKP server which could
   possibly prevent MIS from stopping on a crash during BINKP.

 + The FTP server now has a "PASV hostname" option which if set to your
   hostname, will be resolved into an IP on server startup and used for PASV
   data connections.

 <ALPHA 1.12 A23 RELEASED -- June 28, 2016>

1.12 Alpha 24

 ! Fixed a bug created in A23 QWKPOLL that could cause it to crash.

 + Slight optimizations to the FTP client used in QWKPOLL when using PORT
   based transfers.

 ! Fixed a bug created in A23 that caused the wrong origin to be used on
   Netmail messages posted by QWK and uploaded while a logged in user to the
   BBS (This didn't happen when uploading via FTP).

 + On the fly Spell checking and word suggestions are finally enabled and
   working on all platforms of Mystic.  The msg_editor.ini has been updated
   to include some new options, and those with custom templates will need to
   update theirs in order to use spell checking, if they desire.  See the
   upgrade instructions for more information.

   Mystic uses a well known dictionary format, and therefore has access to
   just about every language and dialect you can think of, and can support
   using multiple dictionaries simultaneously.

   There is also a mystic_spellcheck_v1.zip floating around on the website
   and various places which contains documentation and all of the files you
   need to get spell checking going on all versions of Mystic.

 + Mystic OS X is now compiled using El Capitan and FPC 3.0, and comes in
   both 32-bit and 64-bit Intel flavors.  In the past only 32-bit versions
   were available, so those who switch to 64-bit on their 64-bit OS should
   see upwards of a 30% performance increase in certain areas.
  
   <ALPHA 1.12 A24 RELEASED -- July 1, 2016>

1.12 Alpha 25

 ! Fixed a bug in the Message Index Reader when sorting groups

 + The post text file menu command now uses the new Message base IDs, so if
   you use this function make sure the number matches the message base ID.

 + Mystic now saves the last msg/file groups and bases between sessions by
   the ID.  This should make it less likely to end up in a "None" group
   when logging in.  Note the first login after updating may result in None.

 + Performance increases when resetting file new scan date.

 + Toggling file new scan settings now shares the [A]dd all and [R]emove all
   options that the message base new scan has.  I never realized they were
   not equal in features.  Updated default prompt #202 to include the new
   A/D options.

     ; Select scanned file bases prompt
     202 Toggle: |09[|11#-#,#|09], Select [|11A|09]dd All, [|11R|09]emove All, [|11?|09/|11List|09]: |XX

 ! Fixed a bug in the spell checker auto suggestion that would cause it to
   not properly detect the word under the cursor in longer messages.

 + FIDOPOLL now has a "search" option which will allow you to do a quick
   search of the nodelist.  The search data can be an address or text, and
   wildcards are valid for addressing.  IE:

     fidppoll search 21:*/*
     fidopoll search 1:129/*
     fidopoll search james

 + FIDOPOLL [address] will now search the nodelist and attempt to connect
   via unsecured BINKP if [address] is not defined in echomail nodes.

 ! Fixed a bug in the nodelist browser where the Internet address was not
   always properly parsed.

 + Added some more exception handling to the various MIS servers.

 + Mystic now has a File Index lister, which is the file area equal to the
   message reader index.  This has taken the original message version and
   expanded on it.  New menu command FI with an optional data of the template
   name, if you wish to use something else (otherwise file_index.ini is the
   default).  Copy file_index* into your theme's text directories

 + MUTIL now properly detects and moves circular path echomail to the
   duplicate message base if one is defined.

 + Reverted MIS to use my own custom thread library.  I don't know why I
   stopped using it, but there might have been a reason lol

 <ALPHA 1.12 A25 RELEASED -- July 6, 2016>

1.12 Alpha 26

 ! Hopefully fixed a bug introduced in MUTIL A25 causing it to write the
   wrong message header when tossing messages.

 + Mystic no longer regenerates a new MSGID when re-editing message text,
   instead it will continue to use the original.

 ! Mystic should now properly handle circular checks if the system sending
   the PKT is a point system.

 <ALPHA 1.12 A26 RELEASED -- July 7, 2016>

1.12 Alpha 27

 ! Fixed a bug in the new QWK system that on some occasions could cause some
   but not all QWK readers to have problems with the packet.

 + When selecting a message from the message list and then returning to the
   list afterward, Mystic will now start with the last message read at the
   top of the list.

 + Significantly increased the performance of the HOME key in the message
   listings in areas with a lot of messages.  Should be mostly instant even
   with hundreds of thousands of messages.

 + Significantly increased the performance of the END key in the message
   listings. Should be nearly instant even with hundreds of thousands of msgs

 ! Fixed a bug with (I)mport DIZ in the File Listing Editor

 + Updated automessage.mps for new message editor.

   <ALPHA 1.12 A27 RELEASED -- July 9, 2016>

1.12 Alpha 28

 ! Fixed what should be the final bug in the new dupe system which affected
   point systems.

 ! Fixed the FA + menu action that I broke in the file_index alpha.

 + Mystic 1.12 now uses the socket engine from Mystic 2.0.  This library
   supports IPV6 and SSH/various SSL protocols.  More to come.

 + Windows versions of Mystic now comes with Info-Zip zip.exe and unzip.exe
   which will be found in the root installation directory.

 + Added FBaseIndex variable into MPL.

 + Added new MIS2 server binary, which is the eventual replacement for MIS.
   This version currently only supports the TELNET, RLOGIN, and SSH servers
   but also includes IPV6 support as well.  The existing servers will be
   rebuilt one by one and added into MIS2.

   To avoid conflicts, the event system remains only in MIS for now.  If you
   want to use TELNET, RLOGIN, and SSH along with the existing servers,
   you will simply run both MIS and MIS2 for the time being while MIS2 is
   developed.

   Servers are defined using the Server Editor found in the Configuration
   under Servers -> Edit MIS2 Servers.  This will change a bit when the
   original MIS is removed.

   You can create any number of servers, and all settings are completely
   independant of each other.  You can even create multiple servers of the
   same type!  You can have IPV4 on one adapter while IPV6 runs on another
   NIC, for example.  One telnet server on port 2323 and one on port 23, etc.

   Blacklist DNS and country blocking is not in the new server yet, but
   auto banning is.  New ban files are whitelist.txt and blacklist.txt in
   the DATA directory, so they do not interfere with the existing MIS files.

   Entries in these lists can contain a mixture of both IPV4 and IPV6
   addresses and can contain a single wildcard, using an asterisk to mask an
   IP range.  For example "127.*" would block any IPV4 address that begins
   with "127.".  IPV6 works in the same way, expand the IPV6 address up to the
   point where you want to wildcard it, such as "014f:*"

   In order to use SSH and SSL variations of servers, you will need to
   install Cryptlib.  This is pretty basic in Linux and even easier to do in
   Windows because it requires simply dropping a file into the library path
   or root Mystic directory.
   
   <ALPHA 1.12 A28 RELEASED -- July 14, 2016>

1.12 Alpha 29

 ! Mystic should no longer track inactivity while a user is connected to an
   outbound telnet or rlogin system using IR or IT commands.

 ! Fixed newletter, sysletter, hackwarn automated e-mails broken in A27/A28

 + New menu action: "IS" works just like the TELNET and RLOGIN commands
   but does outbound SSH.

 + Outbound TELNET, RLOGIN, and SSH are completely rewritten.  No longer does
   codepage translations based on the users terminal type, and the ^[ key no
   longer will escape a terminal session.  As a result, it should be feasible
   for transfers to work now but this may require a bit more work and testing
   with various terminals.

 - Removed the /SWAP option to IS, IR, IT menu actions.  If you need to
   swap them, just swap them by assigning /user= to the password and vice
   versa.

 - Added new options to IS IR IT menu actions: /port=<port>.  Due to IPV6
   support being added soon to these functions, the ":" will no longer be
   used to separate address from port, for clarity.  You must update any
   existing IS IR IT commands that do not use the standard port to use a
   /port= instead of a semicolon.

 ! Fixed a few stability problems with the new MIS2 server.

 ! Fixed an error in my compilation that caused errors because I forgot to
   compile in support for threads.  This could be seen in Nodespy, and in
   outbound sessions and maybe a couple other places?

 + All passwords in the echomail node editor are now not forced to uppercase
   during input.  This SHOULD be a cosmetic change because those passwords
   are all supposed to be case insensitive (except for session passwords).

 ! Fixed the broken next and previous file group change.

   <ALPHA 1.12 A29 RELEASED -- July 16, 2016>

1.12 Alpha 30

 ! Lots of changes/fixes to SSH server on the Linux side.

 + Mystic's logging now allows more for than 255 characters per log line.
   This required a bunch of library changes, so there may or may not be some
   other things affected by this in a bad way.

 ! BINKP should no longer choke when the address string is more than 255
   characters.

 + Changed the /ALLGROUP option for the FF menu command to /GLOBAL

 + Added /NOASK option to AT menu command.

 + The stale .BSY file check has been decreased to 2 hours down from 1 day.
   This applies to echomail node locks, mutil, and fidopoll but not MIS of
   course because its very common for that to run for many hours.

 + MIS2 now has a BINKP server type.

 ! Fixed a problem with viewing archive contents of LHA Level 1 files with
   embedded directories.

   <ALPHA 1.12 A30 RELEASED -- July 21, 2016>
   

1.12 Alpha 31

 + Changed MIS2 to use Free Pascal thread library instead of my own to see if
   it is more stable.

 + The MX command should now default to the message base address when posting
   echomail, so if no address is specified it should not default to 0:0/0

 + MIS2 will never recreate ssl.cert now, it will only be created when it does
   not exist.

 ! Fixed datestamp in MIS2 logs


   <ALPHA 1.12 A31 RELEASED -- August 2, 2016>
   
whats_new_112.txt · Last modified: 2016/10/08 04:42 by avon