User Tools

Site Tools


whats_new_112

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
whats_new_112 [2020/02/19 03:26] – mystic 1.12 a45 released avonwhats_new_112 [2023/01/18 01:15] (current) – 1.12 A48 released avon
Line 15: Line 15:
 If you spot something you think looks amiss with these notes please contact us using the contact info found on this Wiki. If you spot something you think looks amiss with these notes please contact us using the contact info found on this Wiki.
  
 +\\
 +\\
 +\\
 +\\
 +\\
 +\\
 \\ \\
 \\ \\
Line 3973: Line 3979:
        
 </code> </code>
 +
 +===== 1.12 Alpha 46 =====
 +
 +<code>
 + + Mystic Linux version no longer uses command line options for password
 +   during RLOGIN and SSH sessions.  It now privately passes using a 512
 +   bit hash.
 +
 + - The old MI Message Index Reader has been removed and replaced with the
 +   newer Index reader.  This "new" index reader has been in Mystic to be
 +   tested under the M! menu command for more than a year so it is time to
 +   get rid of the old.  The default template is msg_index so you should
 +   copy msg_index.ans and msg_index.ini during upgrade if you haven't yet.
 +
 + + Mystic's BINKP server now has an "SSL Port" option which when set to a
 +   non-zero value will also run the BINKP server in direct SSL mode.
 +
 + - Removed the Opportunistic BINKP SSL/TLS extension support as Mystic was
 +   the only known software to support it and it was unlikely other software
 +   would adopt it.  Maybe I'll bring it back someday as I do prefer this
 +   method of BINKP server.
 +
 + + Mystic's BINKP server now allows the "Port" option to be set to 0 to
 +   disable non-SSL connections when used in combination with the SSL Port
 +   option, so that Mystic will only accept SSL BINKP connections.
 +
 + + FIDOPOLL and EchoMail node entries now have a "Use SSL" option which flags
 +   whether or not the node being configured for BINKP is an SSL BINKP node or
 +   not.  Note: The default port for BINKP SSL is 24553.
 +
 + ! Fixed a bug where stale .BSY files were not getting deleted properly.
 +
 + ! Fixed a potential incompatiblity issue with some versions of Cryptlib.
 +
 + ! Fixed an issue where a file that contains "file_id.diz" in its filename but
 +   is not an exact match could get left in the temp directory when uploading
 +   files.
 +
 + + MIS now has a replacement for FIDOPOLL built into it and is accessible by
 +   the "POLL" command line.  This still supports BINKP, BINKPSSL, FTP and
 +   Directory connections and has the "send "force" and poll by address lookup
 +   options contained in the original.
 +
 +   The benefits here besides having one less binary as part of the Mystic
 +   package is that it has a better user interface, better logging, and can
 +   have an unlimited number of concurrent outbound connections (defaulting
 +   to 5, configurable under Servers > General Options).
 +
 +   For example if you have 2 FTP uplinks and 5 BINKP nodes that all have mail
 +   you can run the "mis poll send" command line it will attempt to send to all
 +   7 nodes at the simultaneously instead of one after the other.
 +
 +   Eventually FIDOPOLL will be replaced so it may be a good idea to switch
 +   over to using this sometime soon.
 +
 + + When attempting to connect to an outbound mail server, MIS will now wait
 +   only 6 seconds, down from 10 before assuming the connection is unavailable
 +
 + + MUTIL MsgLink no longer spams every single message base into the logging
 +   regardless of loglevel.  Only the base name will be shown if there were
 +   messages actually linked within that base (level 2) and a list of the
 +   actual links (level 3)
 +
 + + MIS POLL now tracks send and receive file statistics (number of files and
 +   size) for FTP-based FTN transmission.
 +
 + + MIS POLL now tracks connection errors for outbound connections for both
 +   FTP and BINKP style connections.
 +
 + + New MUTIL function [EchoNodeTracker] can be used for various HUB-related
 +   utilities to automate downlink management.  Features include:
 +
 +      - Suspending echomail nodes based on days of inactivity
 +          - Optionally unlinking message/file base subscriptions
 +          - Optionally deleting their entire outbound mail queue
 +      - Changing mail and filebox crash nodes to hold-only after a set
 +        number of failed outbound connection attempts
 +      - Automated resetting of echomail tracking statistics after X days
 +
 +   See default MUTIL.INI [EchoNodeTracker] stanza for more information.
 +
 + + When changing a node from "Inactive" to "Active" in the Echomail node
 +   editor, Mystic will now ask if you'd like to reset the node's statistics.
 +
 + + EchoNode editor now shows a "Crash Errors" statistic which is the number
 +   of failed outbound connect attempts since last reset.
 +
 + + CHATx.DAT files now include the Process ID of the current process running
 +   the node and the updated field now uses a Unix timestamp.
 +
 + + Users now have a new flag that when set to Yes will always log them in as
 +   invisible, bypassing the login as invisisble prompt when set to Yes.
 +
 + ! Fixed a bug with BINKP where Mystic could send a 0 byte length data frame
 +   if a file size was exactly evenly divisible by the buffer size.
 +
 + + Mystic now allows the -Nx command line to be supplied to force a specific
 +   node number if you want to log into it.  You should still not use this and
 +   let Mystic manage the number numbers itself, but I've added this for those
 +   that seem to be trying to do this for some reason.
 +
 + ! Fixed a bug with SSL and BINKP where the data frame size could be
 +   improperly calculated under severely throttled/poor latency connections.
 +
 + + Two new Python functions: msg_getlr and msg_setlr to get and set the
 +   lastread pointer for the currently opened message base.
 +
 +     Syntax: msg_getlr (msgbase, userID) returns last read message
 +         Ex: lastread = msg_getlr(msgbase, user["id"])
 +
 +     msgbase is the open message base pointer returned by msg_open
 +     userID is the user's unique ID found in the "id" field of a user
 +     lastread is a signed 32-bit integer of the last read message which can
 +     be passed to msg_seek, for example.
 +
 +     Syntax: msg_setlr (msgbase, userID, userHandle, lastread)
 +         Ex: msg_setlr (msgbase, user["id"], user["handle"], lastread)
 +
 +     The user handle should always be passed (not the real name) as this value
 +     will be hashed as required when a new last read record needs to be added
 +     for the user.
 +
 + ! When deleting an Echomail node, Mystic was not delinking the nodes from
 +   file bases causing an "Unknown node" message to appear in file bases.
 +
 + + Revamped group configuration.  Group names have been expanded to 80
 +   characters.  Groups now have new ShortName field (40 characters).  Groups
 +   now have a InfoFile field (40 characters), and each group's Hidden boolean
 +   has been changed to a flags field.
 +
 + + New MCI code: <pipe>FS returns the current file group short name
 +
 + + New MCI code: <pipe>MS returns the current message group short name
 +
 + + MPL groups now have "groupshort" and "groupinfo" and "groupflags" variables
 +
 + + Python groups now have "shortname" "infofile" and "flags" entries in the
 +   group dictionary.
 +
 + + MIS.LOG now has configurable log rolling in the System Configuration >
 +   Servers > Logging section.
 +
 + + POLL.LOG now has configurable log rolling in the System Configuration >
 +   Servers > Logging section.
 +
 + + When using GOSUB/RETURN with Lightbar menus, Mystic will now remember your
 +   last selected item and return the cursor position to it when returning.
 +   If you want to reset the cursor, use /CURSOR on the data field of your GR
 +   menu command.
 +
 + ! MIS was not refusing to run if the Mystic BBS data files did not match the
 +   version of MIS.
 +
 + ! When in the text editor in view only mode, the backspace key was still
 +   working in edit mode.
 +
 + ! Mystic was being way too aggressive with SSL read/write timeout values
 +   which may have caused some errors in SSL BINKP.
 +
 + + New option: "Ask Message Post" in message settings, when set to yes or no
 +   determines if Mystic will ask users if they'd like to post after reading
 +   a message base.
 +
 + + Mystic's message readers will now print all the maximum column width per
 +   line instead of columns - 1.  This means that your message reading
 +   template will need to not use the bottom line of the user's terminal for
 +   message text or it will cause the user's terminal to scroll.  This may be
 +   reverted back, but we'll see how it goes and how it effects people.
 +
 + ! When toggling show kludges (V) in the standard message reader, Mystic was
 +   not automatically displaying the message.
 +
 + + Max number of simultaneous poll connections is now configurable in the
 +   Servers > General Options section of System Configuration
 +
 + + When tossing TIC files, the dir_prefix can now be defined by source address
 +   as with other settings.
 +
 + + New command line option -AUTH <user> <password> checks the supplied user
 +   and password and prints TRUE if the user exists and password matches or
 +   FALSE otherwise and then immediately exits.
 +
 + ! Fixed a bug in Linux versions where Mystic would couldn't find files in the
 +   file base when hatching a file, despite it actually existing.
 +
 + ! Fixed a bug that could cause some long lines in echomail packets to get
 +   truncated at 255 characters when tossing messages.
 +
 + ! Fixed a bug in the FTP server that would confuse some FTP clients when
 +   closing a data connection (sending two 226 responses after successful
 +   transfer).
 +
 + + Mystic now allows a single message base to be assigned to a QWK network
 +   when operating as a hub, and a FidoNet style network.  Gating will be
 +   automatic when configured for both.
 +
 + ! Fixed a bug when copying an event in the event editor that would cause it
 +   to have the same unique ID as the original event.  This could cause some
 +   events to save incorrectly.  When editing an event, all IDs should be
 +   unique (the ID is shown at the top of the edit window). Review your events
 +   and if you have any that have a duplicate ID you should either make a copy
 +   and then delete the original or just delete the original and remake it so
 +   all events have a unique ID.
 +
 + + MUTIL ImportEchomail now has a bad_packet setting which defines a directory
 +   where bad packets are moved to when an error occurs during import.
 +
 + + New Python function: flush().  This forces any data currently in Mystic's
 +   outbound buffer to be sent to the remote client.  In almost all
 +   circumstances Mystic handles this for you so this will not be needed.
 +
 + + New Python function: purgeinput().  This clears out any input currently in
 +   Mystic's input buffer.  In most cases when doing any IO with the user Mystic
 +   will handle this on its own.
 +
 + ! Mouse support was not working in Lightbar menus.  Not sure when this was
 +   broken but it was probably when I changed how NetRunner mouse support
 +   worked in Beta 19.
 +
 + + Msg listing and file listing was not working properly with mouse support
 +   but I also changed it to allow clicking an already selected message or
 +   file to read the message or flag the file respectively.
 +
 + + New MCI codes for setting high intensity background colors ON or OFF for
 +   compatible terminals like NetRunner and SyncTerm:
 +
 +      CY - Turns iCE colors ON
 +      CN - Turns iCE colors OFF
 +
 + + New Menu Command: XV.  This option allows the user to validate their
 +   e-mail address from the Matrix login menu.
 +
 + + Users can now be created in the User Editor by using the CTRL+A hotkey
 +
 + + Updated the defaults for Matrix login so it no longer uses a Matrix
 +   password by default.
 +
 + ! Fixed a bug in the QWKPOLL FTP client and the FTN FTP client that was
 +   causing non-passive mode to fail.
 +
 + ! Fixed a display bug in the From field of routed Netmail messages.
 +
 + ! MIS was not resolving the "Country" of the connection when the IP address
 +   was whitelisted.
 +
 + + Area/Filefix both now accept %QUERY which works the same as %LINKED
 +
 + ! Fixed a bug with the MPL compiler and the DateValid fuction
 +
 + + New users can now be created from the command line using the -NEWUSER
 +   option followed by a series of attributes in any order:
 +
 +     mystic -newuser handle=myhandle "name=real name" pass=mypass
 +     email=mysticbbs@gmail.com level=10
 +
 +   Mystic will print TRUE or FALSE to STDIO depending on if the user was
 +   successfully created or not.  The command line MUST have a handle, name,
 +   and password attribute at a minimum for the create to succeed.
 +
 +   The level value will accept anything less than 250.  Any new user created
 +   with a level of 250 or higher will be rejected.
 +
 + + The "hackwarn.txt", "newletter.txt" and "sysletter.txt" automatic messages
 +   will now be sent from/to the "Feedback To" setting instead of using the
 +   SysOp name setting.
 +
 + + When searching for a user name, typing "SYSOP" will now translate to the
 +   "Feedback To" user setting instead of the SysOp Name.
 +
 + ! MUTIL PostTextFile was not using the default Origin line when the base's
 +   origin line was blank.
 +
 + + When executing an archive, MIS and MUTIL will now automatically append
 +   2>nul redirect to prevent leaking error messages.
 +
 + ! Did a review of the FTP server code which resulted in a bug fix and a fix
 +   of a memory leak when using passive and extended passive modes.  Server
 +   stability has also been (hopefully) increased.
 +
 + ! Fixed a bug with QWK packet generation when message text lines are longer
 +   than 255 characters.  This bug existed both in the BBS and the QWK
 +   Networking engines.
 +
 + + Mystic-DOS "EDIT" command now also accepts "nano" and "notepad" for those
 +   of you who have that stuck in your head.
 +
 + + Two new MCI codes to show message status of E-mail base:
 +
 +      MW : Shows the number of messages in your e-mail box
 +      MU : Shows the number of unread messages in your mailbox
 +
 +   Note that these values are set to 0 until the MC (Check E-mail) menu
 +   command is executed.  The values are calculated at that time.
 +
 + + New optional data option for menu command MC (Check E-mail): /SCAN
 +   If /SCAN is supplied the MC command will only calculate the current
 +   mailbox stats (total messages and unread messages) without having any
 +   display or interaction with the user.  These values will be stored in
 +   the MU and MW MCI codes.
 +</code>
 +
 +===== 1.12 Alpha 47 =====
 +
 +<code>
 + + The MW menu (write email) command now uses the "Feedback To" configuration
 +   setting as the person to send e-mail to if the user enters "SYSOP".
 +
 + + Enabled the DX menu command to execute DOS FOSSIL doors in Windows 32-bit
 +   using DOSXTRN.  This can be used as an alternative to NetFossil and will
 +   work over all connection types for DOS doors (ie, SSH).  DOSXTRN+DLL must
 +   be in root Mystic directory and are not distributed with Mystic BBS.
 +
 + + Prompt #132 (More Yes No Continuous) has been changed.  The first word
 +   of the prompt now defines the hotkeys used for the prompt.  If you have
 +   a theme that customizes this prompt, the theme prompt will have to be
 +   updated to include this change.
 +
 +     OLD: More: (Y)es, (N)o, (C)ontinuous?
 +     NEW: YNC More: (Y)es, (N)o, (C)ontinuous?
 +
 + + Prompt #522 (Yes/No text) has been changed.  The first word now defines
 +   the hotkeys used for the prompt.  If you have a theme that customizes
 +   this prompt, the theme's prompt will need to be updated or reset to
 +   default.
 +
 +     OLD: No Yes
 +     NEW: NY No Yes
 +
 + + Mystic now displays the default Yes/No text when prompting non-lightbar
 +   questions.  This is more inline with how Renegade Y/N prompts worked.
 +
 + + Updated default LHA/LHZ archive configuration for Linux systems.
 +
 + + When executing archives, MUTIL in Unix will now automatically append
 +   " > /dev/null 2>&1" to the end of each archive execution command in order
 +   to hide standard output and error messages.  It was already adding "2>nul"
 +   in Windows.
 +
 + + Increased the data timeout from 10 to 30 seconds when waiting for a data
 +   connection in QWKPOLL to give a little more time for hub systems to
 +   generate QWK packets (non-passive connections).
 +
 + ! Fixed a bug where the last line of quoted text could occasionally be
 +   missing from the quote selection.
 +
 + ! Fixed the broken escape sequence during outbound telnet, rlogin, and SSH
 +   connections.  CTRL+] should now properly forcefully exit the outbound
 +   connection.
 +
 + + Because allowing a CTRL+] escape character may interfere with transfers
 +   during a bridged connection (ie, a file may have the escape character in
 +   it which could end the session when it attempts to send over the bridge),
 +   all outbound telnet, rlogin, and SSH connections will require the /ESC
 +   option in the command data for the escape sequence to be active.
 +
 + + Mystic will now execute connect.mps which will be ran before any terminal
 +   detection or codepage questions (startup.mps is executed after those
 +   things).
 +
 + + Added autocreate.mps to the default install scripts directory to give an
 +   example system for automatically creating users during RLOGIN.
 +
 + + When executing a door, Mystic now has a helper function to change
 +   directories from the command line.  If you have CD<directory> in your
 +   command line, Mystic will remove it and change to that directory prior
 +   to executing the command line.
 +
 +   For example:
 +
 +     cd<c:\doors\stackem> stackem stackem.cfg %Pdoor.sys
 +
 + ! Fixed a bug where editing a long user note would corrupt itself and the
 +   theme field as well.
 +
 + + Added new MUTIL function [Export_AREAS.BBS] to create an export of all
 +   Echomail message bases in the AREAS.BBS file format.  See the default
 +   MUTIL.INI for example.
 +
 + ! Mystic was not adding the FTN address to the Origin line of NetMail bases
 +   if no address was set in the base configuration.
 +
 + + The -newuser option now has the ability to update existing users if the
 +   optional "update" command is provided on the command line.  In other words
 +   it will create a new user if they do not exist, or update them if they do
 +   provided the user to be updated is not currently logged into the BBS or
 +   being edited in the user editor.  Examples:
 +
 +     mystic -newuser update handle=g00r00 pass=mypassword
 +
 +   This command would create the user g00r00 if they did not exist, or update
 +   the password of the existing g00r00 account if they account did exist.
 +
 +     mystic -newuser update handle=g00r00 email=new@email.com
 +
 +   This command would update the user g00r00 but if the user g00r00 did not
 +   exist it would fail to create them because no password was provided and
 +   by minimum a username and password must be provided to create a new user.
 +
 +   These commands would also fail if the update was requested when the user
 +   g00r00 was logged into the BBS.
 +
 + + The -newuser command line option now has the ability to specify the user's
 +   start menu by using the menu=menuname key/value pair.
 +
 + + Expanded the number of maximum screen lines by 10, and the columns by a
 +   bit too so now Mystic supports terminal sizes up to 160x60 (and 40x24 for
 +   the smallest size <untested>).
 +
 +   Note that if you have enabled creation of "node windows" when running the
 +   Windows version of Mystic, you will want to right click your command
 +   prompt window, select "Defaults", and set the window/buffer size to
 +   default to 160x60.  Mystic creates node windows using the default settings
 +   so if you don't select the largest window a user can use then the screen
 +   will not look correct when a user is in a terminal mode larger than the
 +   node window.
 +
 + + User terminal size is no longer stored in the user record, and Mystic
 +   always uses the detected terminal size (or the default terminal size
 +   defined in System Configuration if no graphics detected on connection).
 +
 + + New MPL variables "TermSizeX" and "TermSizeY" tell you the size of the
 +   user's terminal.
 +
 + + New MPY function termsize() returns the x and y size of the user's terminal
 +
 +   For example:
 +     x, y = termsize();
 +
 + + When logging in locally in Windows, Mystic will now fully draw the status
 +   line at the bottom of the screen.
 +
 + ! Fixed a bug in the FTP server that was causing directory listings to show
 +   an incorrect date.
 +
 + + MPL InputOptions now takes a extra parameter at the end which is a Char
 +   variable to signfify the echo character to use when doing password input.
 +   Testinput.mps example has been updated with an example.
 +
 + + MPL Input class now has a new mode, mode 4 which is a masked string input
 +   that can be used for password entry.  Recompile MPL programs (mplc -t).
 +   The testinput.mps demo has been updated with a password example.
 +
 + + The GE menu command option 10 for changing terminal size now has prompts
 +   #553 and #554 for terminal columns.  No need to do anything but copy over
 +   the new prompts.dat into your data folder as per upgrade instructions.
 +
 + - The old random display file system is gone so if you have the .ana, .anb
 +   type files you will need to update them to use the "new" system that is
 +   being brought over from the Mystic 2 build.
 +
 + + New display file random system.  If for example the base filename of the
 +   display file is "test" then you can make any additional files with a .#
 +   after the base filename and one of them will be selected randomly.  The
 +   old system had a limit of 36 random ANSIs per display file but this
 +   system has no limits.  For example:
 +
 +      test.ans
 +      test.1.ans
 +      test.2.ans
 +      test.10.ans
 +
 +   Mystic will randomly select and display one of the above files.
 +
 + + New display file system for custom terminal sizes that allow specific
 +   files to be displayed based on the user's terminal size.  For example if
 +   the base display filename is "test" then you can add either the columns
 +   or both the columns and lines:
 +
 +      test.ans              < Displays to users with less than 120 columns
 +      test.c120.ans         < Displays to users with 120-159 columns
 +      test.c160.ans         < Displays to users with 160+ columns
 +
 +   You can also include the number of lines as well:
 +
 +      test.c132x37.ans      < Displays to users who have 132x37 or larger
 +                              terminal size.
 +
 + + New display file system can combine the random ANSIs along with the
 +   terminal sizes.  When combined the random number comes first followed
 +   by the terminal size.  So if you have three 160 column scrollers you want
 +   to randomly display and three 80 column, you could name them like this:
 +
 +       scroller.1.ans
 +       scroller.2.ans
 +       scroller.3.ans
 +       scroller.1.c160.ans
 +       scroller.2.c160.ans
 +       scroller.3.c160.ans
 +
 +   Now if you executed a GD menu command with the data of "scroller" Mystic
 +   will randomly display scroller.#.ans if the user's terminal size is less
 +   than 160 columns.  If the terminal size is 160 columns or higher Mystic
 +   will randomly display scroller.#.c160.ans.
 +
 +   All of Mystic's automated display files like logonX and so on all use this
 +   system as well, and so does the dispfile MPL and showfile MPY functions. The
 +   c#x# format is case sensitive.
 +
 +   It is important to note when doing 40 column themes that the column-defined
 +   files always take priority over the base file. This means test.c40.ans will
 +   always be selected over test.ans.  If you are creating a theme that supports
 +   both 80 and 40 columns then you'll want to create c80 files along with your
 +   c40 files.
 +
 + + Template files now allow both random and terminal sized-based file naming
 +   similar to display files.  For example:
 +
 +     msg_editor.ini
 +     msg_editor.c132x36.ini
 +     msg_editor.c160x50.ini
 +
 + + Mystic's Text Editor will now use the full size of the terminal up to
 +   160x60.
 +
 + + The [X## MCI code to move to an X position on the screen has been updated
 +   to allow a third character for X coordinates between 100-160.  The way
 +   this works may have to change in the future.
 +
 + + MUTIL: Added the option to export Golded message base definitions into a
 +   nicely formatted text file.  See the default mutil.ini for an example of
 +   the new [Export_Golded] stanza.
 +
 + + Added new default FS editor template for 132x36 screen resolution.
 +
 + + Rewrote the logic for reformatting text when using the delete key in the
 +   FS editor.
 +
 + + Rewrote the logic for reformating when using backspace in FS editor.
 +
 + + Fidopoll has been removed, you can delete it.  MIS POLL completely replaces
 +   it now, all of the FidoPoll commands there type MIS POLL to get a list.
 +
 + ! A46 build was accidentally shipping with default group configuration in the
 +   old A45 format which would cause some problems unless they were deleted.
 +
 + + New MCI code |[0 sends a terminal sequence to hide the cursor (support for
 +   this will depend on the terminal).
 +
 + + New MCI code |[1 sends a terminal sequence to show the cursor (support for
 +   this will depend on the terminal).
 +
 + + Menus in Mystic now have a "Marquee" option in the Menu Settings.  This
 +   allows each menu to have an optional scrolling field of text of up to
 +   255 characters (but could in theory be expanded).  The Marque settings
 +   have the following option per menu:
 +
 +          Active | Yes
 +               X | 1
 +               Y | 1
 +      Field Size | 60
 +          Offset | 1
 +     Scroll Type | Scroll Left
 +           Speed | 200
 +            Text | |04Hey, |12|UH|04!  How are you?
 +
 +
 +    The active field determines whether or not this will be active on the
 +    menu.  This must be Yes and the user must have ANSI graphics for this
 +    to work.
 +
 +    The X/Y field define the location of the start of the scrolling field
 +
 +    The Field Size defines the number of characters the scrolling field
 +    will show at once.  If the field size is larger than the text supplied
 +    then Mystic will wrap the text to fit the field.
 +
 +    The Offset allows the starting character to be defined when the scrolling
 +    beings.  So the first character at the start X/Y position will be character
 +    at # "Offset" of the text.
 +
 +    The Scroll Type defines the method of scrolling, either scrolling to the
 +    left or the right.
 +
 +    The Speed option defines the number of milliseconds to delay between
 +    scrolling of the text.  Valid options are 100 to 1000ms.
 +
 +    The Text field defines the actual text that will be scrolling.  This text
 +    can have pipe color codes and MCI codes that returns information about the
 +    user such as UH for their user handle and so on.
 +
 + + The default "testlightbar" menu has been updated to show an example of a
 +   scrolling Menu Marquee.
 +
 + + New Menu Command: -M This command sets the current menu's Marquee text
 +   with the text contained in the data field.  If the first 5 characters
 +   are "/ADD " in the command data, Mystic will append the text onto the
 +   existing scrolling field instead of replacing it.  If the data field is
 +   /RESET it will reset the Marquee to the configured Marquee text value.
 +   Otherwise, it will replace the Marquee with the text in the data field.
 +
 + + The theme editor no longer allows the theme being edited to be selected as
 +   an inherited theme.
 +
 + ! Fixed a bug when forwarding a message from a local message base to an echo
 +   base that caused the network address to be missing from the origin line.
 +
 + + Renamed the "Echo/Qwk" message base type setting to "Networked"
 +
 + ! May have fixed a bug created in A46 with file base indexing.  Everyone that
 +   may experience problems with duplicate file detection should probably run
 +   file base packer so it can regenerate the index files.
 +
 + + New MCI code |CHx.  This MCI code just prints out the character after the
 +   CH.  So for example |CH| would send out a pipe character |CHa would print
 +   the letter a.
 +
 + + New MCI code |PD. This MCI code instructs Mystic to space pad the next MCI
 +   code value result. So for example |PD|MB would return " General Messages "
 +   whereas |MB would return "General Messages".
 +
 + + Menu file names can now use the dynamic column and lines filenaming and the
 +   random file names, just the same as templates and display files.  For
 +   example:
 +
 +     main.mnu
 +     main.1.c132.mnu
 +     main.2.c132.mnu
 +     main.c160.mnu
 +
 + ! Fixed a bug where if an extended key is defined in a standard menu, that key
 +   would be available for input.
 +
 + + MUTIL will now honor the "eacs_list" tag when configuring defaults for auto
 +   created message bases.
 +
 + + New ACS command X# where # is the number of columns of the user's terminal
 +   size.  For example: x132 would be true if the user has 132 or higher
 +   columns
 +
 + + New menu command option: /THEME for the *# menu command.  When supplying
 +   this option, Mystic will not ask to select the theme to edit and instead
 +   will load the current theme for editing.
 +
 + + New option when selecting a menu to edit in the menu editor: /T which can
 +   be used to change the theme.
 +
 + + Rewrote the setting of message pointers by date (Menu command MD) so that
 +   it should be significantly faster.
 +
 + + New users now have their default message pointers set based on one of
 +   several different options found in New User Settings 1:
 +
 +   Start Msg Pointers can be set to any of the following:
 +
 +     First message         : Start at the first message in each base
 +     Last message          : Start at last/end of messages in each base
 +     Last (Value) messages : Start at the last X messages of each base
 +     (Value) days ago      : Start at messages that are X days old.
 +
 +   The second Value field sets the number of messages or the days old that
 +   the pointers will be set to depending on the Start Msg Pointers option.
 +
 +   For example, if Start Msg Pointers is set to "Last (value) messages" and
 +   value is set to 10, then the user will start at 10 messages back from the
 +   last message in the base.
 +
 +   If Start Msg Pointers is set to "(Value) days ago" and value is set to 7
 +   then the user will start reading messages in each base that are 7 days old
 +   or newer from the date of their user creation.
 +
 + ! Fixed a bug where Areafix would not properly respond when it receives a
 +   message from software that ends PKT lines with the CR+LF combination.
 +
 + ! Fixed a bug in MUTIL echomail import where the Bad packet directory being
 +   left blank could cause bad packets to get moved to the root directory of
 +   your disk drive when instead it should have disabled the bad packet move.
 +
 + + New Python function isuser(name) returns true or false if the user name
 +   passed to the function is a valid user:
 +
 +     if isuser("g00r00"):
 +       writeln("g00r00 is a user!")
 +     else:
 +       writeln("g00r00 is NOT a user!")
 +
 + + Theme configuration will now allow iCE/blinking color attributes to be
 +   selected when setting input fields and theme colors, etc.
 +
 + + Message base colors in the editor will now allow iCE/blink color attributes
 +   for message text.
 +
 + + In Windows local mode, the status line can now be configured to use iCE
 +   colors.
 +
 + + Mystic echomail tosser will now move whole echomail bundles to the bad
 +   packet directory if it cannot determine archive type or if it cannot find
 +   any packets in the bundle when trying to extract it.  Unknown files will
 +   continue to be left in the incoming folder.
 +
 + ! Fixed a bug where the user could be logged out for inactivity immediately
 +   after a SysOp chat using NodeSpy.
 +
 + ! Text editor was not searching the very last line of the text file when
 +   doing searches or searching Again.
 +
 + + MUTIL: Changed the error message to be more descriptive when importing
 +   unsecure FTN packets with a password assigned to it.
 +
 + + Updated Mystic's BINKP protocol to work around a bug in BINKD where
 +   the way BINKD escapes filenames does not follow BINKP specifications.
 +
 + ! Fixed a bug where Mystic's online help system could end up looping
 +   endlessly if a connection was lost while browsing a help file.
 +
 + ! Fixed some bugs in the Message Index Reader when there are no subscribed
 +   message bases that could cause a crash.
 +
 + + MIDE now properly defaults to UTF8 output in Linux and also includes a
 +   codepage setting mide.ini to force CP437 or UTF8.
 +
 + + MIDE: Removed the 80x50 column mode left over from DOS MIDE.  MIDE now
 +   uses the current screen size in its entirety.
 +
 + + New Python Engine has replaced the old one.  This engine supports Python
 +   2 and Python 3.  Two new fields are now in System Configuration > General
 +   Configuration and those allow you to set the location/name of the Python
 +   library that Mystic will try to load.
 +
 +   If you are upgrading from an old version you should check to make sure that
 +   those values are blank and if they have old left over configuration data
 +   you should set them to blank values.  If blank values do not work then you
 +   must set the value to your installed Python location/library.
 +
 +   For example in Linux you could search for the library like this:
 +     "sudo find /usr -name 'libpython2.7*.so*'
 +
 +   This should give you the location of your Python 2.7 library.  If you do
 +   not have Python 2.7 installed then you can usually install it via a
 +   package manager.  For Ubuntu 20.04 for example you can do:
 +
 +     sudo apt install libpython2.7
 +
 +   Repeat the same process for the Python 3 as well.  In Windows the DLL
 +   files are usually python27.dll and python3x.dll where x is the version
 +   and the installation typically puts them in your C:\WINDOWS folder tree
 +   somewhere.
 +
 +   As always the installed bit version of Python must match the installed
 +   version of Mystic.  For example 64-bit Windows needs 64-bit Python.
 +
 + + New Menu command "GZ" is added to execute a Python 3 script.
 +
 + + New command line option for Mystic -Z will execute a Python 3 script from
 +   the command line (similar to the -Y and -X for Python 2 and MPL
 +   respectively)
 +
 + + Mystic-DOS command PYTHON is now changed to PYTHON2
 +
 + + New Mystic-DOS command PYTHON3 executes a Python3 script.
 +
 + + Theme prompts with the first character of ~ will now attempt to execute
 +   a Python 3 script.  For example:
 +
 +     001 ~mypy3script
 +
 + + Added a new horizontal menu MCI code similar to the pop up vertical
 +   menu, which can be used to quickly make a horizontal lightbar menu and
 +   optionally have a description line below it.  The format is as follows:
 +
 +     <pipe>#H#<color>#<high_color>#<desc_color>#<selected>#<options>
 +
 +   The <color> represents the text color attribute for the standard text
 +   of the selection.  The <high_color> represents the highlighted color when
 +   the item is selected.  <desc_color> is used only when a description is
 +   assigned to a selection and represents the color of the description text.
 +
 +   As with other places where an attribute number is defined the value can
 +   be calcuated be the following formulate FG + (BG * 16) so FG color of white
 +   (16) or a blue (1) background would be 15 + (1 * 16) which is 31.
 +
 +   <options> consists of a comma-separated list of key/text pairs defined as
 +   key-text where key is the hotkey and text is what is lightbar selectable.
 +
 +   So for a horizontal lightbar menu with two light bar options it would look
 +   like this:
 +
 +     <pipe>#H#7#31#14#2A-Option A,B-Option B#
 +
 +   The above would create a horizontal lightbar menu with two options called
 +   "Option A" and "Option B" with the first having a hotkey of A and the second
 +   a hotkey of B.  The text would be attribute 7 (grey) and the highlighted
 +   text would be white on blue background (attr 31).  The third field would
 +   not be used because there is no description defined for any of the options
 +   and the fourth option is says to default to the second option (Option B)
 +   when opening the menu.
 +
 +   Descriptions can be applied to each option by putting those values in
 +   backets in the item name.  The description will be displayed on the line
 +   under the lightbar menu in the same way Searchlight BBS would.  For
 +   example:
 +
 +     <pipe>#H#7#31#14#2A-Option A[Option A description here],B-Option B#
 +
 +   Pipe color codes can be used in the option names and will be rendered as
 +   expected when the item is not highlighted.
 +
 + + Made some enhancements to the FS editor to how reformatting works when
 +   pressing enter in the middle of a sentence or backspace to a previous line
 +
 + ! Mystic's text editor was not detecting a "changed" text file if the only
 +   command done was to cut a line of text.
 +
 + + Mystic's ANSI editor now supports editing ANSI files based on your current
 +   screen size.  If you are greater than 80 columns Mystic will ask when
 +   loading an ANSI how many columns the ANSI is with options up to 160 columns
 +   if your current screen size supports it.
 +
 + ! Fixed a bug with MIDE Run command and also added a screen pause after
 +   executing the script.
 +
 + + Added Menu Margins to the Menu Settings for each menu.  This is used for
 +   standard type menus and allows a number of characters to be defined as
 +   margins on the left and right side of the screen before calculating the
 +   columns and drawing the menu commands.  Setting these to 0 will disable
 +   the margins which will generate menus as they have always been generated.
 +
 +   There are two sets of margins, one defined for terminals 132 columns or
 +   higher and the other set used for those that are less than 132 columns.
 +
 + + When displaying internally generated menu commands, Mystic will now draw
 +   the commands in a non-destructive mode when ANSI is enabled.  This means
 +   the location of menu commands will always be the same and if you display
 +   an ANSI menu (displayed using the header) you can leave a space for the
 +   commands and Mystic will automatically populate them without overwriting
 +   the ANSI.
 +
 + + The E-mail autovalidation function (when using the security level upgrade
 +   option) will now only change your security level if its higher than your
 +   current security level.
 +
 + ! When viewing a text file from within an archive in ASCII mode, Mystic was
 +   not properly displaying the text file.
 +
 + + New MPL Function fWriteStr which will write a string to a text file without
 +   adding line ending characters.  IE:
 +
 +     S := 'Hello world';
 +     fWriteStr(F, S);
 +
 + ! Fixed a bug when using the CD<dir> function in the data field of a door
 +   menu command.  The DX menu command was also not logging the command line
 +   when executing.
 +
 + + When changing a message or file group, the OK ACS flag will be set to true
 +   if a user's group was changed successfully (false otherwise).
 +
 + ! Fixed a bug where Mystic would reset the user's time per day on each login
 +   instead of once per day.
 +
 + + MUTIL will now try to log a result code returned by the operating system
 +   when executing an archive (if debug log level is enabled).
 +
 + ! When resolving the MN MCI code, Mystic will now show the QWK network name
 +   where previously it would show the local network name.
 +
 + + Mystic Configuration now has a "reset caller data" option in the Other
 +   drop down menu.  This will give you the option to reset your last caller
 +   information and/or your total system callers.
 +
 + ! Mystic was not allowing a theme's input field colors to be set to
 +   attribute 0.
 +
 + ! Boolean searches were not working properly in file descriptions but message
 +   searches appear to be working fine.  Fixed.
 +
 + + Mystic-DOS now has a new "MASSUL" command which will kick off a mass upload
 +   directly from the Mystic-DOS prompt.
 +
 + + New ACS command: "OC" will return true if its the user's first call to the
 +   BBS.
 +
 + + New MPL variable: "AcsOKFlag" reads and allows you to set the current
 +   state of the "OK" ACS flag when evaluating ACS.
 +
 + + New MPL CFG variable: CfgSemaPath returns the path to the Semaphore
 +   directory.  I don't think this would require a MPL recompile but I am
 +   forcing one just in case.  Recompile your MPL with the new build.
 +
 + + New MPY user dictionary variables firston, laston (unix stamps) and calls
 +
 + + Mystic will now store the last 99 callers and the GL menu command can now
 +   optionally be called with the number of last callers to show in the optional
 +   data field.  If no value is supplied it defaults to 10.
 +
 + + MIS POLL KILLBUSY now accepts "app" to delete only Mystic application
 +   busy files, or "echo" to delete only Echomail busy files, or all to delete
 +   all.  When nothing is supplied it continues to default to Echomail.
 +
 + + Mystic is now compiled with FreePascal 3.2.2 (except macOS) and whole
 +   program optimization has been disabled as it seems to sometimes cause
 +   some problems.  Binaries will be a bit larger because of it.
 +
 + + You can now flag files by typing the number in the scrolling file list.
 +   This was already working for the standard file list type but it was not
 +   working in the scrolling list.
 +
 + + MUTIL can now execute specific headers from the command line, overriding
 +   what is enabled to automatically run in the INI file.  This is done by
 +   using the -RUN or -EXEC or -EXECUTE option (they all do the same thing)
 +   followed by a comma separated list of the headers that should be executed.
 +
 +   If you are using a non-default .ini filename then you must specify the
 +   execute command before the ini filename.  Some examples:
 +
 +   mutil -run ImportEchoMail            (Run [ImportEchoMail] from mutil.ini)
 +   mutil -run ImportEchoMail import.ini (Run [ImportEchoMail] from import.ini)
 +
 +   An example of calling multiple headers:
 +
 +   mutil -exec ImportEchoMail,LinkMessages
 +
 + + When importing echomail MUTIL will now create an echomail.out or netmail.out
 +   if it has tossed echomail or has routed netmail through the system.  This
 +   change may be reverted back or reworked at some point.
 +
 + + Updated Mystic's default Message Bases for a fresh installation to include
 +   a pre-configured FTN Netmail base as well as updated the default events
 +   for processing inbound and outbound echomail.  The process to set up a FTN
 +   network out of the box is now as simple as:
 +
 +     1. Apply to your network and get your address and BINKP settings
 +     2. Configure your Echomail address in Echomail Addresses
 +     3. Configure your BINKP or FTP connection settings to your uplink
 +     4. Enable the import and export events in the Event editor
 +
 + + Changed Mystic's Netmail routing logic to simplify routing for most people
 +   while still allowing full control for power users:
 +
 +     - Netmail will now first always try to route using the Route strings
 +       defined for each node.  Previously it would look for a direct address
 +       match first before doing this.
 +
 +     - If no route is found from the Route string then Mystic will now attempt
 +       to automatically route Netmail based on some basic address logic:
 +
 +       First it will look for a direct address match in Echomail Nodes and if
 +       one is found it will route directly to the node.
 +
 +       If there is no direct match then Mystic will perform some logic to
 +       select the best node that it can find.  If your system gets a Netmail
 +       for 1:123/123.1 and there is no direct match, Mystic will look for a
 +       1:123/123 node.  If there isn't one, then it will look for a 1:123 node
 +       with priority given to the 1:123/1 if exists.  If a node is still not
 +       found then Mystic will look for a zone match, and finally if no zone
 +       match is found then the Netmail will fail to route.
 +
 +       This new system allows for Netmail to work automatically without any
 +       knowlege of routing being required for most people while still allowing
 +       full control for power users.
 +
 + + MUTIL was not logging Netmail routing errors when Netmail was exported by
 +   ExportEchoMail function (it was logged only during import) additionally,
 +   the From and To field of the Netmail will now be logged.
 +
 + + MIS POLL ROUTE now optionally accepts an address and when supplied Mystic
 +   will tell you where a Netmail addressed to that address would be routed to
 +   based on the current configuration. For example:
 +
 +     mis poll route 1:1/1
 +     Netmail addressed to 1:1/1 would route to 1:268/1 (Node Description)
 +
 + ! Fixed a bug when parsing incoming INTL kludge lines
 +
 + + MUTIL mail processor now supports Netmail PING and pass-through tracing. If
 +   a netmail addressed to PING is sent to the system or passes through the
 +   system, Mystic will generate a notification to the origin system. Example:
 +
 +     Your PING request reached its final destination:
 +
 +      Address: 215:1/3.1
 +     BBS Name: Test BBS 4
 +        SysOp: Sysop Name Here
 +
 +     No additional route was found for this request.
 +
 +     Routing VIA Trace:
 +
 +       Via 215:1/2 @20210619.041119.UTC Mystic 1.12 A47
 +       Via 215:1/3 @20210619.041126.UTC Mystic 1.12 A47
 +       Via 215:1/3.1 @20210619.041132.UTC Mystic 1.12 A47
 +
 + + Taglines are now built into the full screen editor.  Mystic allows for
 +   both a global Tagline database available to all users, but also for users
 +   to create their own personal Tagline database by copying Taglines from the
 +   Global database or by manually adding/deleting them.  SysOps (s255) can
 +   also add and delete Taglines in the Global database directly in the UI as
 +   well but normal users can only add/delete into their Personal database.
 +
 +   A new template goes along with this system and needs to be copied into your
 +   theme from the default installation: taglines.ini and taglines.ans.
 +
 +   A small default Tagline database is now included as taglines.dat in the DATA
 +   directory and should be copied into your DATA folder when upgrading.
 +
 +   The global and per-user Tagline databases can each hold 5,000 taglines up to
 +   75 characters in length.  If a user drops connection while selecting a
 +   Tagline Mystic will still save their message without a Tagline.
 +
 +   New setting in New User Settings 2 to set the default Tagline mode for new
 +   users.  You should go set this to what you'd like new users to receive when
 +   their accouts are created.  Valid options are:
 +
 +     On       - Prompt user to select Tagline when saving a message
 +     Off      - Do not use Tagline system
 +     Global   - Auto apply a Tagline from the Global tagline database
 +     Personal - Auto apply a Tagline for the user's Personal tagline database
 +
 +   New setting in the User Editor for each user has the same options as above
 +
 +   The FS editor template has had some changes to allow for the Tagline mode to
 +   be set from directly in the editor.  Changes specifically are made to str7
 +   in the msg_editor template to add a new prompt for tagline mode.  Refer to
 +   the default for an example.  Prompt str19-str23 we also added to ask the
 +   user to select a Tagline mode and to display the current mode.  Refer to the
 +   default for example.  You'll want to add these in if you use custom
 +   templates so users can set their Tagline mode but if you use defaults you
 +   can just replace the default msg_editor.ini file with the new one.
 +
 +   Mystic will allow up to 5000 taglines per database.
 +
 + + Mystic will now automatically save a draft message if for some reason it
 +   cannot access the message base data files when attempting to save.
 +
 + + Mystic now allows a "bademail.txt" which contains a list of e-mail addresses
 +   that will be refused when a user tries to set their e-mail address.
 +
 + + The bad user name and bad e-mail searches now allow wildcards to be used
 +   in their respective file. So for example you can put *whitehouse.gov into
 +   your bademail.txt to refuse anything that matches that wildcarded text.
 +
 + + Mystic's install program now has an automated install option which can
 +   be initiated as by running "install auto <root directory>" If the root
 +   directory already exists, the installation will abort.  There are some
 +   addtional options that can be specified for paths:
 +
 +     data=<data file path>
 +     theme=<root theme path>
 +     msgs=<msg base path>
 +
 +   If you want to force it to overwrite an existing install you can use the
 +   optional overwrite command.
 +
 +   For example:
 +
 +     install auto c:\mystic
 +     install auto c:\mystic theme=c:\mysticthemes overwrite
 +
 + + New MCI code PE pauses and waits for the ENTER key (no pause prompt)
 +
 + + Optional data fields now has an Numbers option for input type.
 +
 + + MIS will now shutdown if a "mis.shutdown" Semaphore file exists in the
 +   semaphore directory.  MIS may take up to 10 seconds before it notices the
 +   semaphore and begins to shutdown.
 +
 + + The "mis shutdown" command now uses this shutdown Semaphore file instead of
 +   OS-level functions.  This means that the shutdown command will now work in
 +   Windows.
 +
 + + New ANSI viewer has now replaced the old one.  The new one has a few new
 +   features most notably is that is uses the newer template system and also
 +   can load varible sized ANSIs in a virtual canvas space.  What does that
 +   mean?  It means for example you can load a 160 column ANSI while you're
 +   only in 80 columns and then use the left/right arrows, the new TAB view,
 +   or new page left/right functions to scroll around the file.  A new second
 +   percentage/graph bar is provided for X axis bars in addition to the
 +   existing Y axis in the old viewer.
 +
 +   Other new features include prompting for the baud rate when pressing SPACE
 +   to show file as a traditional scroller.  The defaults for columns and baud
 +   can be set by template or overridden by menu command options.
 +
 +   The format for the GV menu command has changed very slightly to also conform
 +   to newer standards used within Mystic BBS:
 +
 +      Command: GV ANSI File Viewer
 +         Data: <viewer template>;<filename> [options]
 +
 +   The following options can be used to set/override defaults:
 +
 +      /END     : Causes file to begin displaying at the end of the ANSI
 +      /COLS=x  : Override default columns to render the file (ie /cols=160)
 +      /BAUD=x  : Set default baud rate when scroller viewing (ie /baud=19200)
 +
 +   Example:
 +
 +     Command: GV
 +        Data: ansiview;my160columnansifile /cols=160 /end
 +
 +   New default templates have been provided and should be copied into your
 +   themes when upgrading: ansiview.ini and ansiview.ans.  These replace the
 +   old ansiviewer.ans in the default installation.
 +
 +   Changed the default ANSI file view on the Demo menu to now use a 132 column
 +   ANSI done by BBS advocate and otherwise sick ass artist Smooth (A rendition
 +   of the Mistigris logo which is also a great group of creative people check
 +   all of them out if you never have)
 +
 + + The ANSI archive viewer template (archive_view.ini) has a new option in
 +   the [Options] stanza called "viewer" which sets the viewer template to use
 +   when calling the ANSI file viewer (defaults to ansiview if undefined)
 +
 + + Input barrier options have been added to Theme editor > Options
 +
 + + Themes now have a Color Mode option which can be set to one of three
 +   options:
 +
 +      None     : Do nothing when theme is loaded
 +      Blinking : Set remote terminal to use blinking colors
 +      iCE      : Set remote terminal to use iCE colors
 +
 +   Whenever a theme is loaded or changed, Mystic will attempt to set the
 +   color mode if one has been selected.  Whether or not these actually work
 +   will depend on the terminal the user is connected with.
 +
 + + New MCI code: CD  This MCI code resets the remote terminal to the default
 +   color mode set in the current theme.
 +
 + + Themes now have a Font Mode option which can be set to one of the following
 +   values/options:
 +
 +     0 - None         > Do nothing when theme is loaded
 +     1 - Default      > Sends the "set default font" sequence
 +     2 - IBM CP437    > Switch to IBM CP437 font
 +     3 - Topaz        > Switch to Amiga Topaz
 +     4 - Topaz+       > Switch to Amiga Topaz Plus
 +     5 - MicroKnight  > Switch to Amiga MicroKnight
 +     6 - MicroKnight+ > Switch to Amiga MicroKnight+
 +     7 - mo'sOul      > Switch to Amiga mo'sOul
 +     8 - p0t NOoDLE   > Switch to Amiga p0t NOoDLE
 +
 +   Whenever a theme is loaded, Mystic will attempt to set the remote terminal
 +   to use this font (or do nothing when set to None).  Whether or not this
 +   actually works depends on the terminal being used.  Some terminals will not
 +   work at all, some will switch to an Amiga font but possibly not the one
 +   selected, and so on.
 +
 + + New MCI code TF resets the terminal font to the theme's default font setting
 +
 + + The fallback setting for a theme has been split into separate fallback
 +   settings for text files, menu files, prompts, and scripts.  When enabled for
 +   each specific category, the theme will fall back to the default theme if it
 +   cannot find a menu, prompt, script or text file.
 +
 +   If you ever changed the fallback setting in a theme from its default then
 +   go into your themes and make sure these settings are set the way you want
 +   them to be set.
 +
 + + Mystic Python and MPL have had their fallback variables prefixed with a
 +   P, T, M, or S for each fallback type.  The default bulletin.mps will need
 +   a minor update in the variable name or you can copy over the new default.
 +
 + + New MCI code SFxx where XX is a font number to switch to in 2-digit format
 +   for example SF07 would set the font to Amiga mo'sOul.  The number
 +   corresponds to the same number used to define default font in the theme
 +   configuration:
 +
 +     1 - Default      > Sends the "set default font" sequence
 +     2 - IBM CP437    > Switch to IBM CP437 font
 +     3 - Topaz        > Switch to Amiga Topaz
 +     4 - Topaz+       > Switch to Amiga Topaz Plus
 +     5 - MicroKnight  > Switch to Amiga MicroKnight
 +     6 - MicroKnight+ > Switch to Amiga MicroKnight+
 +     7 - mo'sOul      > Switch to Amiga mo'sOul
 +     8 - p0t NOoDLE   > Switch to Amiga p0t NOoDLE
 +
 + + Mystic's ANSI viewer will now read column information from a SAUCE v5 record
 +   if one exists, and this will override the default columns set by the viewer
 +   template.
 +
 + + Mystic's ANSI viewer will now attempt to read font information from a
 +   SAUCE v5 record.  If a default font is defined for the current theme then
 +   Mystic will switch fonts to the font type appropriate to view the file and
 +   then reset back to the theme's default font upon exit of the viewer.
 +
 + + Mystic's ANSI viewer will now attempt to load an Amiga specific template
 +   when viewing files that have an Amiga font defined for them in a SAUCE v5
 +   record.  This is done by appending "_amiga" to the template name so if the
 +   template is "ansiview" then Mystic will first try to load the
 +   "ansiview_amiga" template before loading "ansiview" if it does not exist.
 +
 + + Mystic's ANSI viewer will now attempt to read color information from a SAUCE
 +   v5 record.  If a color mode is found and if a default color mode is defined
 +   for the current theme, then Mystic set the color mode of the file upon
 +   loading the viewer and then restore the theme's color mode upon exit.
 +
 + + [ and ] keys now work in the ANSI viewer to do page left/right while viewing
 +   large column ANSI files.
 +
 + + The Index file/msg reader when running in "Area select" action mode (ie
 +   using it as a lightbar base selector) will now set the OK ACS flag to true
 +   if the user selects a msg/file base.
 +
 + + The menu editor now pops up a selectable box of menu commands when setting
 +   a grid jump ID.
 +
 + + When calling the outbound telnet/rlogin/ssh menu command, the /PROMPT option
 +   can be supplied to hide displaying of the connection prompts.
 +
 + + The MYSTIC.DAT format has been expanded and restructured slightly.  This was
 +   to increase then number of FTN Networks from 30 to 50 but also some other
 +   minor changes:
 +
 +      SMTP login expanded to 60 characters
 +      SMTP password expanded to 128 characters
 +      Non-user password fields (matrix, newuser, etc) expanded to 25 chars
 +      Internet Domain expanded to 60 characters
 +      Added BBS Location field
 +
 +   The latest record structures are included in the docs folder (RecConfig is
 +   the record that has changed).
 +
 + + New MCI code BL displays the BBS location as set in configuration
 +
 + + Mystic's BINKP protocol will now send BBS Location if set in configuration
 +
 + + Prompt #150 has been changed to contain the server type text for the
 +   terminal servers (used in whos online and last callers, and the BD code).
 +   Make sure you don't forget to replace your prompts.dat when upgrading.
 +
 + + The POP3 server will now allow login via the full e-mail address instead
 +   of just the user name.  This helps some clients that do automatic setup of
 +   accounts that may attempt to use e-maill address for login.
 +
 + + The POP3 server will now log the actual back and forth of commands between
 +   client and server when Log Level for MIS is set to Max and also will log
 +   to the MIS status window whenever any messages are deleted.
 +
 + + The POP3 server will no longer wrap text at 80 columns and instead will send
 +   the content as is stored.
 +
 + + The POP3 server now supports opportunistic secure TLS.  A new option in
 +   the POP3 server settings to Force SSL only connections has been added.
 +
 + ! Fixed a bug in SMTP server that could cause a memory leak or a crash of the
 +   server when sending a message.
 +
 + + The SMTP server now allows for STARTTLS opportunistic TLS extensions
 +
 + + SMTP server now logs more data when max logging is enabled for MIS and also
 +   now logs when an e-mail is posted into the MIS status window.
 +
 + + The MN menu command now has an option /YOU which causes it to look ONLY at
 +   the To field to see if its addressed to you.  The personal scan option (by
 +   default) returns any message "From you or To you" but if /YOU is supplied it
 +   will return any message "To you" without checking the From portion.
 +
 + ! The G command to go to the next base during a ANSI message reader scan will
 +   no longer be active if the base is flagged as mandatory unless all messages
 +   are read.
 +
 + + MUTIL now has a -L or -LIST command which displays the header names
 +   that are available with the -RUN option.
 +
 + ! Fixed a bug when listing e-mail with the /unread option that could cause the
 +   header prompt to display multiple times.
 +
 + + The IR menu command now accepts /TERM=? to set the terminal type
 +
 + ! Fixed a bug with file list indexing that could cause strange results during
 +   duplicate file scans and mass uploads.  Everyone should run MUTIL's file
 +   pack function to regenerate their indexes:
 +
 +     mutil -run packfilebases
 +
 + ! When using the View archive function Mystic will now require the user to
 +   pass the "Download Unvalidated" and "Download Failed" ACS to be able to use
 +   the Download function from within the viewer if the file is flaggged as
 +   Unvalidated or Failed.
 +
 + ! MUTIL's echomail export was not removing netmail.out semaphore after running
 +
 + + The "install replace" function will now also replace prompts.dat in the DATA
 +   folder which updates the default system prompt data.
 +
 + + New prompt #329 is displayed when entering an illegal filename when
 +   attempting to download a file within the archive viewer (non-ANSI)
 +
 + ! The FV archive viewer command was doing a case sensitive filename search in
 +   Windows version. Fixed.
 +
 + + New ACS command: "OF" returns true if its the user's first call in today
 +   also added in "usertcalls" to MPL and "callstoday" to the Python user
 +   objects.
 +
 + ! This is an A47 specific bug but I am mentioning it because some people have
 +   reported this one: MUTIL should no longer add an extra line at the end of
 +   messages when packing the message bases.
 +
 + + Echomail Nodes now have an "Uplink" flag available to be set to Yes or No
 +   for each node.  A new command "MIS POLL UPLINK" works similarly to the
 +   FORCED command, but will only force a poll of nodes with the Uplink flag
 +   set to Yes.
 +
 + + New MPL function "FindUser (Handle, RealName: String) : LongInt"
 +
 +   This command returns the physical location of a user record in a file if
 +   one exists or a less than 1 value if they do not exist.  For example:
 +
 +   Number := FindUser('g00r00', '');
 +
 +   If Number > 0 Then Begin
 +     GetUser(Number);
 +     WriteLn('Your record has been read into User variables, ', UserHandle);
 +   End Else
 +     WriteLn('Could not find user record');
 +
 + + MUTIL's tosser will now ignore carriage returns when comparing message
 +   content during a duplicate message scan.  The downside of this is that it
 +   will require that the duplicate message database is reset.  To do this you
 +   must delete "echodupes.dat" from the DATA folder when MUTIL is not running
 +   after you have upgraded to the latest MUTIL.
 +
 + ! Mystic in Unix platforms was displaying flag1X and flag2X where X was the
 +   uppercased flag.  It will now display with the lower cased flag to be more
 +   consistant with other display files.  IE: flag1x flag2x
 +
 + ! Fixed an situation where a corrupt message in a PKT could sometimes cause
 +   MUTIL to crash with a 216 corrupted memory error.
 +
 + + Mystic in Windows has a new command line option -NODC when this is combined
 +   with passing a socket handle to Mystic, then it will not attempt to destroy
 +   the socket upon exit.
 +
 + + Mystic now has an option in System Configuration> General Settings to
 +   disable the time per day system for the entire BBS.  Note that when this
 +   feature is enabled, Mystic will not save modifications the user's time
 +   bank if they attempt to deposit or withdraw minutes.
 +
 + + New ANSI gallery (Menu action GA) replaces the old one.  This new version
 +   uses the new template system and is mostly the same as the old one with just
 +   a few quality of life changes:
 +
 +     - Mouse now works inside list box
 +     - Behavior of the ESCAPE key is now configurable
 +     - Uses the newer search system and template system
 +     - Support for showing newer SAUCE data in list
 +     - Menu command syntax has slightly changed:
 +
 +        Menu Command: GA
 +                Data: <path to files> [/TEMPLATE=mygallery] [/NOSAUCE]
 +
 +        The gallery defaults to looking for template 'gallery' but it can be
 +        overridden by using the /template= option.  When upgrading from the
 +        old gallery you might need to change the optional data field slightly
 +
 +   You will need to copy over the new default templates as per the upgrade
 +   instructions to get started.  The old ansigal* files are no longer used
 +
 + ! Fixed a bug where MIS was shutting down nodes after 24 minutes instead of 24
 +   hours when logged into the BBS from an external source (ie, a third party
 +   server or from -L local login).
 +
 + ! MIS ghost node checking for external server types has been revamped so that
 +   it will only shutdown a node spawned from an external process if their node
 +   activity status has not been updated for 24 hours.  Previously it would shut
 +   down any external node after 24 hours of connection even if they were still
 +   active.
 +
 + + The F3 menu command now allows for an /PROT=X option where X is the hotkey
 +   for the protocol.  This can be used to bypass the protocol selection and
 +   override the user's default protocol as well.
 +
 + + The F3 menu command now allows for a /NOPROMPT option which will skip the
 +   "Press <KEY> to begin transfer or <Q>uit" prompt.
 +
 + + Expanded the "data" field for menu commands to 200 characters in the menu
 +   editor.
 +
 + + MUTIL's "PackMessageBase" function will now automatically generate unique
 +   message IDs when packing messages if the message does not already have one.
 +   If you are using the NNTP server in particular you should consider packing
 +   your bases while upgrading so that it can make sure all the messages have
 +   MSGIDs assigned to them.
 +
 + + The NNTP server will now generate unique Article IDs for every message that
 +   works across all newsgroups offered instead of specific to each individual
 +   newsgroup.  This should fix some confusion with some newsreader clients but
 +   keep in mind you may need to clear your local cache in your newsreader as
 +   all message IDs will have changed.
 +
 + + The NNTP server will now automatically generate a MSGID for every message
 +   that it encounters if it does not already have one.
 +
 + + When posting or replying to a message Mystic will now always add a MSGID
 +   and TZUTC kludge line to a message, even if it is a local message or a
 +   non-FTN message.  Same for uploaded REP packets from BBS users.
 +
 + + Using MUTIL MsgPost should now always add a MSGID and TZUTC kludge even
 +   when the base is not a FTN base.
 +
 + + Users who upload REP packets via FTP and QWK networking via QWKPOLL should
 +   now always add MSGID and TZUTC kludges even if the base is not FTN
 +   (FidoNet) type.
 +
 + + NNTP server now supports NNTPS (NNTP via SSL TLS v1.2).  This was tested
 +   with some news readers like GrabIt successfully however there were some
 +   issues with SeaMonkey/Thunderbird connecting and I was not able to find
 +   proper documentation or logs for those readers to investigate.
 +
 + ! QWKPOLL was inappropriately creating a QWKMAIL.OUT semaphore when
 +   importing packets.
 +
 + ! When viewing a file and attempting to download a file from within an
 +   archived file, Mystic was not honoring the file bases's download ACS.
 +
 + + MUTIL EchoImport now has the ability to disable or enable circular dupe
 +   checking.  You can do this by setting "dupe_circular" to true or false
 +   in the ImportEchoMail stanza.  By default this will be enabled.
        
 +  <ALPHA 1.12 A47 RELEASED -- December 25, 2021>   
 +   
 +</code>
 +
 +===== 1.12 Alpha 48 =====
 +
 +<code>
 +
 +  + The MUTIL FileToss TIC import now has an "ignore_case" option on operating
 +    systems that use a case sensitive file system.  This option defaults to
 +    true and when set to true, Mystic will accept case variations of the
 +    filename.
 +  
 +    For example: If the filename defined inside the TIC file is "MyFile.ZIP"
 +    but the file on disk is "myfile.zip", it will still be tossed as if they
 +    are the same file even though they are not on a case sensitive OS.
 +  
 +    Mystic will also dynamically update the "File" field within the TIC file
 +    to match the filename case of the file on disk when tossing to any
 +    downlinks.
 +  
 +  + Mystic will now execute an "after_login.mpx" if it exists after the user
 +    has logged in.  This is ran directly after the user enters their password
 +    and passes through all login checks and stat resets.
 +  
 +  + Mystic will now execute a "before_menus.mpx" if it exists after the user
 +    has logged in and went through the entire login process, just before it
 +    sends them to their start menu.
 +  
 +    Here is an outline of the login events:
 +  
 +      BEFORE USER IS LOGGED IN:
 +  
 +      - Connection received, ask for system password if enabled
 +          - Display closed.xxx if password check is failed
 +      - Display Mystic Version
 +      - Execute connect.mpx
 +      - Detect/ask for terminal settings
 +      - Ask for theme selection if ask theme on startup is enabled
 +      - Execute startup.mpx
 +          - If startup newuser then start newuser application
 +          - If startup userlogin then log in user and skip matrix/login
 +      - Execute matrix menu if enabled until user login
 +          - If no matrix menu then display prelogin.xxx
 +          - If no matrix menu then show login prompt until user login
 +  
 +      AFTER USER IS LOGGED IN (includes after new user app):
 +  
 +      - Load/reset stats, user stats, ask for new password if expired
 +      - The following login steps are skipped for QWK network accounts
 +        but are otherwise executed for normal user logins:
 +          - Set or ask for invisible login if configured
 +          - Update whos online data, add call to lastcaller data
 +          - Execute after_login.mpx
 +          - Display login1-9.xxx
 +          - Display sl#.xxx
 +          - Display flag1#.xxx
 +          - Display flag2#.xxx
 +          - Display birthday.xxx
 +          - Check for forced voting questions
 +          - Execute before_menus.mpx
 +      - If QWK network user goto QWK network menu
 +      - If standard user goto user's start menu or default start menu if user
 +        does not have a start menu assigned to them
 +  
 +  + Menus now have a "Reset Activity" flag in the Menu Settings.  When this is
 +    set to Yes, any user activity will reset the TIMER counter for all menu
 +    types.
 +  
 +  + Internally generated Standard menus now have a left and right margin indent
 +    settings for 160+ columns (was only 80 and 132 previously).
 +  
 +  + The "Start Menu" field in the Security Profile editor no longer copies onto
 +    the user's record when upgrading user access.  Also when creating an new
 +    user the Start Menu field on the user editor no longer auto populates with
 +    the Default start menu from System Configuration.
 +  
 +    Instead, Mystic checks the start menu for the user's security profile on
 +    login.  The start menu logic works as follows:
 +  
 +      IF: User's record has a custom start menu defined, use it as start menu
 +      ELSE: If User's security level profile has a start menu defined, use it
 +      ELSE: Use default start menu from System Configuration> General Options
 +  
 +    Mystic will also now log which start menu is being loaded when a user logs
 +    in. "Setting start menu: prelogin (Default start menu)" for example.
 +  
 +    It might be a good idea if upgrading to check your security profiles to make
 +    sure the start menu field is set to a blank or a value that you want for
 +    users with those settings otherwise users could get an error loading menu
 +    error when logging in.
 +  
 +  ! Fixed a few message editor display quirks that found their way into A47
 +    final release.
 +  
 +  + New Python function for assistance in locating display and configuration
 +    files:
 +  
 +      function find_display (<base filename>) : string
 +  
 +      This function takes a base filename and returns the full path and
 +      filename of a display file that would be displayed after applying
 +      the user's emulation settings, screen size, and random selection
 +      system to it.  If no file is found a blank value is returned.
 +  
 +      If no path is included then Mystic will use the current theme's
 +      display path and if nothing is found, it will search through the
 +      theme's configured inheritance settings to try to locate a
 +      matching file.
 +  
 +      If a path is included in the base name, Mystic will search only
 +      within that path and base filename.
 +  
 +      For example:
 +        filename = find_display("myfile");
 +  
 +        (In this case filename may have a value of these examples):
 +        c:\mystic\themes\default\text\myfile.c132x37.ans
 +        c:\mystic\themes\default\text\myfile.ans
 +  
 +        Because no path was used it will also search for inherited themes
 +        based on the theme's configuration.  Include a path to only search
 +        in that path:
 +  
 +        filename = find_display("c:\mystic\mydoors\myfile")
 +        Result then might be: "c:\mystic\mydoors\myfile.ans" etc
 +  
 +  + New Python function for assistance in locating configuration files or
 +    other file types using Mystic's inheritance/dynamic terminal size systems
 +  
 +      function find_config (<base filename>, <file extension>) : string
 +  
 +      This function searches for the base filename and file extension and
 +      returns a valid file (if found) after applying the user's terminal
 +      size and random selection system.  This works under the same rules
 +      as the find_display function but does not apply the terminal
 +      emulation file extensions and instead uses the extension you supply.
 +  
 +      If no path is included in the base filename then Mystic will use the
 +      theme's text path and perform inheritance through the theme's
 +      configuration.
 +  
 +      filename = find_config("myconfig", "ini")
 +  
 +      The result of this might be values such as:
 +      c:\mystic\themes\default\text\myconfig.ini
 +      c:\mystic\themes\default\text\myconfig.c132x36.ini
 +  
 +      If you want Mystic to search only in one path and not perform theme
 +      inheritance when it cannot find something, then include a path with
 +      the base filename:
 +  
 +      filename = find_config("c:\mystic\mydoor\myconfig", "ini")
 +  
 +  ! Mystic when creating a downloadable file list Mystic was leaving the user
 +    in the last file base that was processed instead of keeping them in the base
 +    they were in when the download started.
 +  
 +  + New Python function setlogininfo (username, password, new)
 +  
 +    This function works as part of startup.mps script execution to set the login
 +    details for automated logins via script.  It is equivalent to setting
 +    "UserLoginName" "UserLoginPW" and "UserLoginNew" variables in MPL.
 +  
 +  + New Python function isvalidpw (password) : boolean
 +  
 +    This function returns true if the passed password is valid when compared to
 +    the password policy configured in System Configuration.
 +  
 +  + Two new MCI codes to display current time in 24-hour time format:
 +  
 +      TM - Displays current time in HH:MM 24-hour format
 +      TS - Displays current time in HH:MM:SS 24-hour format
 +  
 +  + New Prompt #328 for the standard archive viewer command prompt, when the
 +    user does not have access to download files.
 +  
 +    If you have never modified prompt #328 in your themes then this prompt
 +    will update on its own.  If you have customized prompt #328 previously
 +    then you will need to reset it to the default value in the prompt editor
 +    for your themes that have customized it.
 +  
 +  + Mystic's BINKP server now has a default "Escape mode" option which will
 +    apply to any unknown connections that do not have a configuration in the
 +    Echomail nodes.  Echomail nodes have their own individual setting for this
 +    in the node editor.
 +  
 +    This setting determines how Mystic will escape special characters in
 +    filenames and defaults to the Auto setting.
 +  
 +    When set to Auto, Mystic will automatically try to determine the escape
 +    mode by using the VERSION frame sent by the mailer.  If no version frame
 +    is found, Mystic will use FTS standard modern \x## escape mode.
 +  
 +    When set to Legacy, Mystic will use the \## format of file escaping which
 +    is used in some legacy mailers such as Argus, Internet Rex, and older
 +    versions of Mystic.
 +  
 +    When set to Modern, Mystic will use the \x## format which is preferred or
 +    even required by some newer mailers such as BinkD, Radius, and BinkIT.
 +  
 +    It is highly recommended to always keep these set to AUTO unless there is
 +    a very specific reason not to.  The escape mode will be logged after
 +    authentication if the loglevel is set to Verbose or higher.
 +  
 +  + New Python function isuserpw (user_password_data, password) : boolean
 +  
 +    This function tests the password against data from a user dictionary and
 +    returns true or false if the password supplied matches the user's password
 +  
 +    For example:
 +  
 +      user = getuser(0);
 +  
 +      if (isuserpw(user['pwdata'], 'MyPassword') == True):
 +            writeln("Your password is MyPassword!")
 +      else:
 +            writeln("Your password is NOT MyPassword");
 +  
 +  ! When a bad name was found in trashcan.dat, Mystic was telling the
 +    applicant that the user name is unacceptable while still continuing along
 +    in the new user process.  It will now refuse to continue as intended.
 +  
 +  + New MCI code "NT" returns the maximum number of allowed nodes/terminal
 +    connections.
 +  
 +  + New MCI code "NA" returns the number of active users currently logged into
 +    the BBS system.  Note that this value is only updated once per 30 seconds
 +    and if a user on another node is invisible to the current user, then
 +    they will be excluded from this number.
 +  
 +  + New option for the "NW" menu command to list who's online.  If the /SCAN
 +    optional data is supplied, Mystic will not display the whos online list but
 +    instead force recalculation of active users (returned by the NA MCI code).
 +  
 +    Mystic will automatically update the NA MCI code value on its own so for
 +    almost everyone this will never be needed.
 +  
 +  + Fixed a bug where termtype could be chopped off or blank if longer than
 +    10 characters.  Also increase reliability of TERMTYPE detection in Linux
 +    version.  Also, apparently TermType was accidentally left out of the A47
 +    whatsnew:
 +  
 +    MPL and MPY both have a termtype which returns the terminal type as sent
 +    via TELNET and RLOGIN sessions.  This was in A47 alphas and final but was
 +    left out and apparently wasn't working well anyway. :)
 +  
 +  + Mystic now has a -TT command line option which will override any detected
 +    TerminalType from TELNET/RLOGIN. ./mystic -ttANSI
 +  
 +  + Mystic's whitelist/blacklist for IP has been renamed to allowlist and
 +    denylist which better describes what it actually does.  If you are
 +    upgrading you should rename blacklist.txt to denylist.txt and
 +    whitelist.txt to allowlist.txt in your DATA folder.
 +  
 +  + TRASHCAN.DAT has been renamed to "badusers.txt" in the DATA folder which
 +    better describes what it actually does.  If you are upgrading you should
 +    rename your TRASHCAN.DAT file to badusers.txt in your DATA folder.
 +  
 +  ! MUTIL FileToss was not properly handling the REPLACE keyword when tossing
 +    a TIC replacing a file with a space in the filename.
 +  
 +  ! MUTIL FilePack was not properly setting the OFFLINE flag when check_files
 +    was enabled, remove_missing was disabled, and a file was physically removed
 +  
 +  + When running MUTIL without supplying an INI file on the command line, it
 +    will first search for mutil.ini in the current directory but if not found
 +    it will now also check to see if 'mysticbbs' environment variable is set
 +    and then search for the path defined there for mutil.ini.
 +  
 +  + Mystic will now automatically reset the base type to Local and remove other
 +    network settings if you try to change them for the local mailbox base (the
 +    first base) using the Message Base editor.
 +  
 +  ! Fixed a bug in the internally generated menus when using a higher column
 +    size count.
 +  
 +  + MUTIL now has an "EchoUnlink" option which scans Networked message bases
 +    and sends the SysOp a report of dormant message bases.  It can also be
 +    configured to automatically delete the message base, generate an Areafix
 +    unsubscribe Netmail to your uplink, remove downlinks, and free up all
 +    disk space used by the dormant message echo.
 +  
 +    Because it relies heavily on a complex configuration, this feature is only
 +    available when you are using Mystic for your echomail tossing solution.
 +  
 +    See the [EchoUnlink] stanza in the default MUTIL.INI that ships with
 +    Mystic for configuration options.  Here you need to define the parameters
 +    that define what a dormant echo is, what actions should be taken if any,
 +    and what echotags should be excluded (if any).
 +  
 +  ! Fixed a bug where the /Unsubscribe option for message bases was not using
 +    the newer routing logic from A47.
 +  
 +  ! Fixed a bug where the /Unsubscribe option for file bases was not using the
 +    newer routing logic from A47.
 +  
 +  + When searching for messages, Mystic will now allow you to search for a
 +    MSGID.  To do so, start searching for a message as you normally would and
 +    enter the message ID ie "a3c8d21c" (without the quotes of course).
 +  
 +  + Mystic's last callers file will now hold the user's personal number of
 +    calls into the BBS.  Prompt #141 will how use &D to show this number
 +  
 +  ! When autocreating a message echo during echomail import, Mystic would
 +    consider inactive echomail nodes as potential uplinks when calculating
 +    the uplink.
 +  
 +  ! Mystic will no longer allow PKT passwords to come from inactive nodes.
 +    This was originally allowed so that Fix messages could be processed from
 +    inactive nodes.  This may change again in the future.
 +  
 +  + Message Bases now have an "Anonymous" flag and when set to Yes, all From
 +    fields will be changed to "Anonymous" instead of the User's name.  Auto
 +    signatures will not be used in an Anonymous base even if the signature is
 +    enabled.
 +  
 +  + To further expand on the automatic Netmail routing logic, Mystic will now
 +    perform a FidoNet fuzzy zone match when auto routing Netmail.  If a zone
 +    is between 1 and 6 they will find a match to a hub which is also part of
 +    a zone 1 through 6 if no other (better) routing match could be found.
 +  
 +    To reiterate: For almost everyone, there is never a need touch the Route
 +    field in your Echomail node editor.  If you ever want to test where a
 +    Netmail will route you can type "mis poll route <address>" and it will
 +    tell you where Mystic will route a message to that address based on your
 +    current configuration.
 +  
 +  + Mystic's BinkP both server and client now supports Opportunistic TLS.  This
 +    allows for connections on a stadard BinkP port to automatically "upgrade"
 +    to a secure TLS connection if both the client and server support it.
 +  
 +    Two new options have been added, one in Server Configuration and one for
 +    EchoMail Node Configuration:
 +  
 +    EchoMail Nodes now have an expanded "Server Type" setting under the BINKP
 +    configuration page.  Four possible options:
 +  
 +      Normal                  : Do not use SSL at all
 +      Direct SSL              : Connect with a direct SSL connection
 +      StartTLS (If Available) : Use TLS when available
 +      StartTLS (Required)     : Always require SSL connection to remote
 +  
 +    The StartTLS Required option will refuse to authenticate with any server
 +    that does not offer the opportunistic TLS upgrading.
 +  
 +    BINKP Server Configuration now has a new "Allow StartTLS" option which
 +    determines how your server will operate.  Possible options are:
 +  
 +      No     : Never allow opportunistic TLS connections
 +      Yes    : Offer to use TLS connection with clients when available
 +      Forced : Require a secure SSL/TLS connection with client always
 +  
 +    The Forced option will cause the BINKP server to refuse any connection that
 +    is not TLS.  The client must connect via Direct SSL or on the standard port
 +    and then upgrade to TLS.  All non-secure clients will be refused.
 +  
 +    As usual these features will require that CryptLib is present and detected
 +    by Mystic.
 +  
 +  + New door command line MCI codes: %X and %Y return the user's terminal size
 +    (X and Y) and %E returns the user's terminal type (if known)
 +  
 +  ! CHAIN.TXT was always writing column 80 even when the user's terminal size
 +    was larger.  It should now write the proper column size.
 +  
 +  ! PING responses were not including the PKT password when sending to a node
 +    with PKT passwords enabled.
 +  
 +  ! Fixed a bug in file indexing that was causing duplicate file searching and
 +    mass uploads to behave strangely within Mystic BBS (MUTIL was ok).  As a
 +    result everyone should run "mutil -run packfilebases" to regenerate the
 +    indexes properly.
 +  
 +  + Mystic event editor now has a /Move option similar to what is found in the
 +    message and file base editors.
 +  
 +  + Mystic events now have an option to automatically prefix command line calls
 +    in Linux with "./" which can be configured on a per-event basis.
 +  
 +  ! Mystic's online mass upload will now rename files longer than the current
 +    maximum filename length if a file is found to be longer than whatever the
 +    current maximum allowed length is.  This was intended but was only working
 +    for traditional uploads and blind uploads.
 +  
 +  + MUTIL's Mass Upload now has a "length_rename" option which defaults to
 +    TRUE.  When set to true, Mass Upload will automatically rename filenames
 +    that are longer than the maximum allowed filename.
 +  
 +  + MUTIL's Import FILES.BBS now has the option to support description wrapping
 +    when importing single line file definitions where the first word is the
 +    filename (this format cannot support spaces) followed by a long line of
 +    text that is the file description.
 +  
 +  + When importing TIC files, Mystic will now wrap the DESC tag when using it
 +    for a file description.  The DESC tag is only used when a file has no
 +    FILE_ID.ANS/DIZ, and there is also no LDESC tag in the TIC file.
 +  
 +  + By request: Added a "botcheck.mps" which is a small MPL script to force the
 +    user to press escape twice immediately after connecting.  Rename to
 +    connect.mps and compile in your scripts directory (assuming you are not
 +    already using a connect script) if you wish to use it.
 +  
 +  + The !C menu command to create a semaphore now adds three lines of text to
 +    the semaphore file:
 +  
 +      Line 1: User ID
 +      Line 2: User Handle
 +      Line 3: Node number
 +  
 +    If no user was logged in when this was created the ID will be -1 and the
 +    handle blank.
 +  
 +  ! Fixed a bug in Message Base packer that could cause LR pointer to be set
 +    incorrectly when packing/purging a huge amount of messages.
 +  
 +  + BINKP will now show periodic updates during file transfer, updating roughly
 +    every 10 seconds during the transfer.  BINKP will also log a confirmation
 +    line when a file is confirmed to be sent or received instead of only at the
 +    start.
 +  
 +  + BINKP now has the ability to limit the bandwidth used when sending or
 +    receiving files.  Setting any of these values to 0 disables the limit
 +    and causes them to operate at full speed.  Any non-zero value sets the
 +    maximum rate in Kilobytes (KB) to use for the connection.
 +  
 +    Two new options have been added to the BINKP Server configuration as well
 +    as in Server > General Settings for MIS POLL and in EchoMail nodes for
 +    specific nodes to override those other settings:
 +  
 +    BINKP Server setting: (Server > Servers > BINKP)
 +  
 +  Download speed limit (for your server when you receive files)
 +  Upload speed limit (for your server, when you send files)
 +  
 +    MIS POLL setting (Server > General Options):
 +  
 +  Download speed limit (for your client, when you receive files)
 +  Upload speed limit (for your client, when you send files)
 +  
 +    EchoMail Node setting (Overrides MIS POLL/BINKP settings if enabled):
 +  
 +  Download speed limit: (Used when you receive files from this node)
 +  Upload speed limit: (Used when you send files to this node)
 +  
 +  + BINKP clients will now respond to a LIMIT frame sent from the remote
 +    connection which allows the receiving server to tell the sender the rate
 +    that it would like files to be sent.  Mystic will not accept a LIMIT frame
 +    less than 2KB (1024 x 2 bytes) and will set anything lower than that to
 +    2KB.
 +  
 +    This is helpful when using bandwidth limits because it is possible for the
 +    sending system to send all of the data for a file at full speed into the
 +    Internet void and then timeout while waiting for a response. (This happens
 +    if the server is using a limited bandwidth and hasn't actually received the
 +    file within the sender's timeout period).
 +  
 +  + EchoNode editor now has a Global editor for editing some values across many
 +    tagged Echomail nodes, including the new node-specific bandwidth limiters.
 +  
 +  + BINKP received/sent messages will now show how long a file transfer took up
 +    to the hundredth of a second in its log messages.
 +  
 +  + The AREAS.BBS export in MUTIL now has a "net_only" option which when set
 +    to false will cause MUTIL to export all bases in AREAS.BBS not just the
 +    Networked bases.
 +  
 +  + The default value for the "To:" field when posting a message is now
 +    configurable on a per-theme basis.  The value of prompt #104 will now be
 +    used as the default for the To field.  If you've never modified this then
 +    you don't have to do anything but you may need to reset it to default in
 +    the prompt editor otherwise.
 +  
 +  + MUTIL ImportEchoMail now has a "dos_filename" option that can be used to
 +    create JAM filenames in the DOS 8.3 file format.  Valid options are:
 +  
 +      0 = Do not use 8.3 filename (uses echotag for filename)
 +      1 = Use shortened 8.3 filename (trimmed based on the echotag name)
 +      2 = Use random hex 8.3 filename
 +  
 +  + MUTIL GoldEd export now has an option to set the group value which can be
 +    up to 6 characters/numbers.  This value will be used in the Group column
 +    when exporting data.
 +  
 +  + MUTIL GoldEd export now has the option to define a zone and if set to a non
 +    zero value will only export bases where the base's network address matches
 +    the configured zone (use if you only want to export FidoNet for example).
 +  
 +  + MUTIL TopList will now allow @RN to be used in the template to show the
 +    user's real name instead of @NA which uses the user handle.
 +  
 +  + The Message Base editor now has a /B option to Select By Network.
 +  
 +  + The File Base editor now has a /B option to Select By Network.
 +  
 +  ! Mystic default install was accidentally installing a startup.mps and
 +    startup.mpx file.  If you are not already using a custom startup script
 +    then you should make sure to delete them from your theme's scripts
 +    directory as they are not intended to be included or installed.
 +  
 +  + FTP server now has an option to test uploads in server options.  Use @FN
 +    to replace with the path and filename of the upload for tests.  Failed
 +    tests will end up in the file listings flagged as "Failed"
 +  
 +  + The FTP server will now send robots.txt from the DATA folder if any FTP
 +    client requests it at the root directory.  The default install will now
 +    include a robots.txt that denies all crawling.
 +  
 +  ! FTP server was failing when changing directories to any FTP directory name
 +    that had a period in the name.
 +  
 +  + New MCI code: DN returns the configured BBS domain name
 +  
 +  + New .INI file can be placed in a Theme's text directory or in the DATA
 +    folder to allow customization of the validate e-mail address e-mail
 +    contents.
 +  
 +    The default installation now comes with a emailval.ini file in the DATA
 +    folder which can be used to learn more.
 +  
 +  + New .INI file can be placed in a Theme's text directory or in the DATA
 +    folder to allow customization of the password reset e-mail contents.
 +  
 +    The default installation now comes with a resetpw.ini file in the DATA
 +    folder which can be used to learn more.
 +  
 +  + The Coord1 in the message editor template (msg_editor.ini by default) now
 +    defines the text attrbute used when doing things such as line clears.  This
 +    option inheritantly allows for editors with non-black backgrounds to
 +    function as expected.
 +  
 +  ! Creating a user in the user editor was not properly setting their tagline
 +    default setting.
 +  
 +  ! Mystic will no longer show "user is marked unavailable" message when sending
 +    a system broadcast to a node with message availability disabled.
 +  
 +  ! When paging another user for user to user chat, Mystic will no longer show
 +    that the node is unavilable if enter is pressed on the node number prompt.
 +  
 +  ! Mystic will no longer display "This base is marked mandatory" when toggling
 +    all bases on or off in the scan settings for message/file/qwk bases.
 +  
 +  ! MIS was not properly returning the "OV" ACS command result when evaluating
 +    ACS strings.
 +  
 +  ! The badusers.txt check was case sensitive when it should have been
 +    insensitive
 +  
 +  + FTP server now logs if an upload test passes or fails and the result code
 +    when it does fail.
 +  
 +  ! Mystic user to user split and line chats were not exiting properly if the
 +    remote user dropped connection.
 +  
 +  ! Netmail PING responses were not properly setting the message date field
 +  
 +  ! Fixed a bug where MUTIL could add a 0:0/0 address in the VIA kludge when
 +    routing Netmail between FidoNet zones.
 +  
 +  ! MIS FTP server was allowing logins when the user was flagged locked out
 +  
 +  ! MIS SMTP server will now refuse to allow e-mail sent from any user who
 +    is locked out.
 +  
 +  ! MIS NNTP server will now refuse to allow logins from locked out users
 +  
 +  ! MIS POP3 server will now refuse to allow logins from locked out users
 +  
 +  ! Fixed a number of bugs when toggling QWK network scan settings for a QWK
 +    network user.
 +  
 +  ! Fixed a number of bugs when toggling new scan settings with compression
 +    turned off.
 +  
 +  + Mystic now tracks the number of doors opened by a user when using a DOOR
 +    menu command.  Door command lines can have a /NOSTAT at the end of the
 +    command line in optional data to tell Mystic not to increment the users
 +    door count.
 +  
 +  + New ACS commands:
 +  
 +      O1 : True if user posted during this call
 +      O2 : True if user sent local e-mail during this call
 +      O3 : True if user uploaded during this call
 +      O4 : True if user downloaded during this call
 +      O5 : True if user opened a door during this call
 +  
 +  + Mystic now updates callers.dat (Last caller information) when exiting the
 +    BBS to include some additional statistics:
 +  
 +      Time spent online (Stored in seconds. 0=Still online)
 +      Number of posts made during call
 +      Number of emails sent during call
 +      Number of files uploaded
 +      Number of file data uploaded in kilobytes
 +      Number of files downloaded
 +      Number of files downloaded in kilobytes
 +      Number of doors opened
 +      Current state at logoff of all access flags (set 1)
 +      Current state at logoff of all access flags (set 2)
 +  
 +      The 10 optional user data fields are also saved when the user logs out.
 +      Along with flags, these can be used to track custom data throughout a
 +      session.
 +  
 +  + Menu editor will now pop up a notification if you reach the max number of
 +    action items per menu command and try to paste or insert a new command.
 +  
 +  + User access flags and Echomail node security flags now have a new editor
 +    which allows for more ways to toggle flags and also allows for a
 +    description to be assigned to each flag.
 +  
 +  ! The NA imports in MUTIL were accidentally dupe checking against the
 +    filename not the EchoTag, causing the import to not catch duplicates in
 +    some situations (where filename was not equal to the echo tag).
 +  
 +  + New MCI code FLxx retuns the ON/OFF prompt depending on the user flag
 +    state.  The xx defines the set and the flag, for example: FL1A would
 +    return on/off state of the user's A flag in flag set 1.
 +  
 +  + New MCI code FDxx returns the flag description where xx defines the set
 +    and the flag.  For example FD1A would return the description for flag
 +    set 1, flag A.
 +  
 +  + New MCI code HXxx sends a hex byte. For example ASCII 254 is FE in
 +    hex so HXFE would send out ASCII 254.
 +  
 +  + Built a new Python loader which will do better at trying to find your
 +    Python information when the Python2 and Python3 library paths are not
 +    set in System Configuration > General Settings.  Leaving those two blank
 +    should now be more likely to work.
 +  
 +  ! Fixed a bug in user to user split screen chat where backspace was not
 +    updating in the terminal.
 +  
 +  ! Fixed a bug in user to user split screen chat where the screen could get
 +    corrupted and go crazy if the user was doing something that used the newer
 +    template format (such as posting a message in the editor, ANSI viewer, etc)
 +  
 +  + Optimized MUTIL's LinkMessages function to increase speed
 +  
 +  + The "MIS POLL SEARCH" (replacement for the same function in FidoPoll) was
 +    accidentally missing.  Its there now.
 +  
 +  + I noticed that pipedoor.ini is not mentioned in the whats new.  I don't
 +    remember when it was added, but Mystic creates an ini-like door drop file
 +    called pipedoor.ini.  The idea behind this is that it can easily be expanded
 +    on with additional fields since it uses a key=value pair on each line.
 +  
 +    There is a doorkit I was working on with the same name that may be released
 +    at some point.
 +  
 +  + New MCI code: LF loads the last font.  Reminder: Font MCI codes only
 +    work when a theme's font is not set to Disabled.
 +  
 +  + New MCI code LC loads the last color mode (ICE/Blinking).  Reminder: Color
 +    system MCI codes only work when a theme's color mode is not set to Disabled
 +  
 +  + Mystic now reads column information from SAUCE when importing FILE_ID.ANS
 +    files and uses them to render if found.  This fixes some "broken" ANSI
 +    file descriptions found in some art packs that were saved in an odd column
 +    size like 44 characters.
 +  
 +    If you see an ANSI description that isn't showing properly, edit it while
 +    listing files and press I to reimport the DIZ to possibly fix it.
 +  
 +  + Mystic will now switch fonts and color modes if a theme has font and/or
 +    color modes set and an ANSI .DIZ file description has SAUCE with font
 +    or color information.
 +  
 +    This means listing files in an Amiga font with blinking text, Mystic will
 +    switch to CP437 and ICE colors just for the ANSI description and then
 +    revert back to the previous font/color mode.  The result is ANSI
 +    descriptions showing properly in Amiga themes and Amiga descriptions showing
 +    properly in ANSI themes.
 +  
 +    Here is a screen capture to demonstrate: https://postimg.cc/TptgGzn6
 +  
 +    In the screenshot, the theme is Amiga font yet Mystic enables ICE and
 +    CP437 just to display the description because the FILE_ID.ANS has SAUCE
 +    information that explains it should be CP437 with ICE colors.  Note the
 +    prompt and filename in Amiga font while description is ANSI
 +  
 +    Note: Existing ANSI file descriptions need to be reimported before they
 +    will work.  Files that were imported to the BBS before Mystic was SAUCE
 +    aware will not have these new features and fixes.
 +  
 +  ! Fixed a bug that was causing IPV6+IPV4 (Default IPV6) to not properly
 +    fallback to IPV4 if the IPV6 connection failed.
 +  
 +  + New MCI code |SI returns the "ID" of the server that the user connected
 +    through (as defined in the Server Configuration) or blank if the connection
 +    did not source through MIS.
 +  
 +  + New command line -SID<name> allows an 8 character ID to be passed to Mystic
 +    which will become the value of the |SI MCI code (for use with a 3rd party
 +    server).
 +  
 +    <ALPHA 1.12 A48 RELEASED -- January 15, 2023>
 +  
 +</code>  
whats_new_112.1582104404.txt.gz · Last modified: 2020/02/19 03:26 by avon

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki