User Tools

Site Tools



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

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
whats_new_112 [2019/03/15 22:25]
avon updated to 1.12 a43
whats_new_112 [2020/02/05 03:17]
avon mystic 1.12 a44 released
Line 3620: Line 3620:
     <ALPHA 1.12 A43 RELEASED -- March 2019>     <ALPHA 1.12 A43 RELEASED -- March 2019>
-</code>   +</code> 
 +===== 1.12 Alpha 44 ===== 
 + + New MPL variable: CfgDefTheme returns the configured default theme 
 + + New MPL variable: CfgTextFB returns the theme's text fallback theme 
 + + New MPL variable: CfgScriptFB returns the theme's script fallback theme 
 + + New MPL variable: CfgFallback returns true or false if default theme 
 +   fallback is enabled for current theme 
 + + New Python CFG variable: deftheme returns the configured default theme 
 + + New Python CFG variable: textfb returns the theme's text fallback theme 
 + + New Python CFG variable: scriptfb returns the theme's script fallback 
 + + New Python CFG variable: fallback returns the themes' fallback setting 
 + + Updated default BULLETIN.MPS file to support scanning for bulletins in 
 +   all theme fallback directories. 
 + ! MPLC was not properly scanning all directories recursively when -ALL was 
 +   supplied.  Additionally, MPLC will now not attempt to compile a .mps file 
 +   that is 0 bytes in size. 
 + + New Theme system has been implemented.  The default text, menu, and 
 +   scripts directories in the System Configuration have been removed and 
 +   replaced by a single Themes directory.  This directory specifies the root 
 +   directory where all Mystic BBS themes are found Ex: c:\mystic\themes\ 
 +   THEME.DAT has been depreciated and is no longer used by Mystic BBS 
 +   Theme prompts are no longer restricted to being 255 characters or less, 
 +   they now have an unlimited length. 
 +   UPGRADE utility will convert your existing BBS to the new themes structure 
 +   for you so you do not have to do anything. 
 +   Each theme itself now has a root directory that can be up to 20 characters 
 +   in length, and consists of three subdirectories.  Each theme has a 
 +   theme.ini in the root directory that contains various configuration options 
 +   that can be configured by text editor or the Themes Editor. 
 +   Each them can also have a prompts.txt which contains one or more Mystic BBS 
 +   prompts.  Any prompts not in prompts.txt are loaded from the theme'
 +   fallback if one is specified, and ultimately the "default" prompt found in 
 +   prompts.dat (new to Mystic BBS). 
 +   Themes can now contain only the prompts that are actually customized instead 
 +   of requiring ALL prompts to be in a theme's prompt file, and then it can 
 +   fallback and pull inherited prompts or defaults.  This means that you will 
 +   no longer have to update your prompts for every theme when new prompts are 
 +   added or existing prompts that you haven't customized are changed 
 +   Scripts and menus work the same as prompts do with the capability to fall 
 +   back to another theme and/or ultimately the configured default theme if 
 +   that feature is enabled. 
 +   The directory structure looks like this: 
 +      \mystic\themes                                - Root Theme directory 
 +      \mystic\themes\default                        - Default theme directory 
 +      \mystic\themes\default\theme.ini              - Theme settings 
 +      \mystic\themes\default\prompts.txt            - Prompts (optional) 
 +      \mystic\themes\default\text                   - Text/template files 
 +      \mystic\themes\default\menus                  - Menus 
 +      \mystic\themes\default\scripts                - Scripts 
 +   There is no installation process for a theme as Mystic will detect them 
 +   dynamically.  If you have a Theme and you wish to share it, all you have to 
 +   do is ZIP up the theme directory (default as shown above) and give it to 
 +   whoever you want to share it with.  They just paste the directory into their 
 +   root theme directory and it will instantly appear in Mystic BBS without any 
 +   other work required.  This makes it very easy to create, update, and share 
 +   custom themes. 
 + + Themes now have an input barrier option, where a character can be defined 
 +   to be displayed on the left and right side of string-based input prompts. 
 +   LeftChar/LeftAttr RightChar/RightAttr can all be defined in theme.ini and 
 +   one or both character can be enabled. 
 + + New MCI code |IB disables the input barrier for the next string input 
 +   prompt. 
 + + New Python function "setpinfo(byte, string)" text the prompt info value 
 +   for byte to the text in string. Ex: setpinfo(1, "Hello world!"
 + + New Python has many new functions for accessing the file listings.  A new 
 +   demo filelist.mpy has been added to the default installation to demonstrate 
 +   these functions.  The following new functions have been created: 
 +   function "fl_open(basefn)" opens a filelist where basefn is the filename 
 +   for the file base, returning a handle to the filelist  If a filelist does 
 +   not exist one will be created. 
 +   function "fl_close(handle)" closes an opened filelist 
 +   function "fl_seek(handle, filenumber, skip)" seeks to a file number. This 
 +   should always be called before cycling through file listing.  If Skip is 
 +   set to true, then Deleted records will not be returned. 
 +   function "fl_next(handle)" return the next available file 
 +   function "fl_prev(handle)" return the previous available file 
 +   function "fl_found(handle)" returns true if a message from the last seek 
 +   or next or prev function has been found 
 +   function "fileinfo = fl_getfile(handle)" returns a dictionary with 
 +   information about the current file 
 +   function "filedesc = fl_getdesc(handle)" returns a list that contains the 
 +   file description. 
 + + BUSYLOG debug logging has finally been disabled. 
 + + Two new Python functions: 
 +     function dateu2d(date) : date - This converts a unix date to a DOS 
 +     crunched date used in places in Mystic.  This date format is being 
 +     replaced in Mystic but it still exists in some areas. 
 +     function dated2u(date) : date - This converts a DOS crunched date to a 
 +     Unix timestamp 
 + + New Python function: function acsnogroup(access string) : boolean 
 +   Process an access string but returns "true" for all group checks regardless 
 +   of the user's group membership.  Returns true or false is user has access 
 + + New Python function: procedure setprompt(number, text) 
 +   This sets a theme prompt to the value of text for the duration of the user'
 +   session or until they change or reload the theme.  The change is not 
 +   permanent. 
 + + New Python function: function msg_stats(msgbase) 
 +   This function works by passing the handle of an already opened message 
 +   base (msg_open).  It calculates and returns 4 results: Total messages, 
 +   new messages for the current user, number of messages addressed to the 
 +   user, and the unix date of the last post in the message base.   This 
 +   function may cause problems if used within a message reading loop, so 
 +   msg_seek may need to be called afterwards in that case.  Example: 
 +     total, new, yours, lastpost = msg_stats(msg) 
 + + New Python function: function getnetaddr(number) 
 +   This function returns a network address configuration passed as number to 
 +   the function.  The result is a dictionary with the following elements: 
 +      zone, net, node, point, desc, domain, primary, addr 
 +   Primary is a 0 or 1 value, 1 being true.  Addr is a string representation 
 +   of zone, net, node, point. 
 + + File Base Editor now shows Network address on the list window, and also 
 +   allows sorting by Base Name, File Name, and Network. 
 + + Expanded node messages from 79 characters to 245 characters. 
 + + Template prompts no longer have a length limit of 255 characters, they now 
 +   have no maximum length. 
 + + File Base Index lister (file_index.ini) now has a sort option which allows 
 +   bases to appear in alphabetical order or by order of appearance in the 
 +   group editor.  See the default file_index.ini for example. 
 + + Some minor changes to the menu editor, mostly cosmetic and some text 
 +   changes to help clarify what options are when editing a commmand.  You can 
 +   now also use Page Up/Down to move between menu commands without having to 
 +   exit back out to the list of all menu commands.  You can now use CTRL+V to 
 +   simulate a menu while editing an actual menu command. 
 + + New MCI code for prompt #2: &1=User handle &2=Location 
 + ! Fixed year 2020 bug that caused some wrong day calculations in a couple 
 +   of places.  The next bug should be 2038, so we have a few more years to get 
 +   that addressed before it becomes an issue. 
 + + MPLC now has a -T option which will attempt to read MYSTIC.DAT either in 
 +   the current directory or using the mysticbbs environment variable to get 
 +   the Theme path, and then it will recursively compile any scripts found in 
 +   the Theme directory tree.  You can optionally supply the path to Mystic 
 +   BBS root directory if you have multiple installations.  Example: 
 +      mplc -t         - Attempts to read mystic.dat from current directory or 
 +                        mysticbbs environment variable, and then uses Themes 
 +                        path to compile. 
 +      mplc -t /mybbs  - Attempts to read mystic.dat from the supplied root 
 +                        directory, and then uses Themes path to compile 
 + + MPLC now has a -F option which will attempt to read the Theme path and then 
 +   compile any files matching the supplied mask contained in any directories 
 +   under the Theme directory. Example: mplc -f bulletin* 
 + + Improved detection of time expiration and connection loss during message 
 +   and file scans. 
 + ! SEEN-BY lines should now include the net number at the start of new lines 
 + ! Mystic SMTP client now resends "EHLO" after upgrading connection to SSL. 
 +   Some servers work without this step so it slipped through testing. 
 + + MIS and FIDOPOLL now save the last dates they interacted with an echomail 
 +   node.  This value is now displayed in the Echomail node editor when 
 +   highlighting a node (Last Inbound=MIS, Last Outbound=FIDOPOLL). /R can be 
 +   used inside the node editor to reset stats. 
 + ! Mystic was not using a 0-based month in PKT file headers.  Fixed. 
 + + New prompt editor!  There is now a Reset function which will reset a prompt 
 +   back to the system default prompt.  The Undo function has been enhanced to 
 +   save the last 100 changes and will allow you to undo prompt changes 
 +   starting from the newest change of a prompt to the oldest if you have made 
 +   many changes.  The source of a prompt in the editor is now shown with the 
 +   following values: 
 +     Current Theme  - Prompt is customized by the current theme 
 +     System Default - Prompt is not part of any theme, using system default 
 +     <Theme Name>   - Prompt was inherited from <Theme Name> 
 +   Only current theme prompts are saved in the theme's prompts.txt. 
 + + All theme prompts have had their maximum length in expanded from 250 
 +   characters to 8192 characters per prompt. 
 + + Themes now have an ACS string that can be used to hide themes from the 
 +   listing.  Keep in mind when configuring your BBS to allow theme selection 
 +   on connect: There will not be a user known at that time so any security 
 +   will cause the theme not to show. 
 +   The ACS is for the listing only.  The purpose is mostly to hide themes 
 +   while they are in development.  Themes can still be selected regardless 
 +   of ACS using using a menu command: 
 +      Command: GE (Edit User Settings) 
 +         Data: 14 mytheme 
 + + The GE suboption 14 menu command (select theme) now has a /RELOAD option 
 +   which causes the current theme prompts to refresh: 
 +      Command: GE (Edit User Settings) 
 +         Data: 14 /reload 
 + + Themes now have an "Order" property which determines which themes are 
 +   listed first.  Values can be between 1-65000 with the lowest numbers 
 +   being listed first.  Themes will also be listed in the Themes editor using 
 +   this value. 
 + ! Fixed a bug that could cause protocol downloads to get stuck on a 
 +   connection drop 
 + + MUTIL's MsgPurge now validates that messages are from or addressed to valid users 
 +   if the base type is Private or the base allows for Private replies within 
 +   the base. 
 + + By request, Mystic no longer shows the OS and Node number when initially 
 +   connecting to the BBS.  If you wish to add this back you can use MCI codes 
 +   or tell me why you think it needs to be reverted! 
 + ! Fixed a bug where MSGID could result in 0:0/0 when zone matching a Netmail 
 +   base with no address assigned to it. 
 + + Mystic no longer logs the actual bad password text.  This should have 
 +   been removed a long time ago but I always liked seeing what the scripted 
 +   bots tried to log in with when they found my BBS. 
 + + Rewrote all of the FLO add/remove functions with improved file locking to 
 +   address potential race conditions. 
 + ! Fixed an issue with a file resume race condition in BinkP client/server 
 + ! Fixed an memory leak introduced in A43 that could cause a rescan to give 
 +   corrupt message(s) in a packet. 
 + + Msg/File base global editors now ask you if you want to abort when pressing 
 +   escape to exit. 
 + + Echonode editor now warns you if you edit a node and save it with a 0:0/0 
 +   address or a missing domain. 
 +   <ALPHA 1.12 A44 RELEASED -- 4 Feb, 2020>  
whats_new_112.txt · Last modified: 2020/09/06 22:08 by g00r00