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 revision Previous revision
Next revision
Previous revision
whats_new_112 [2019/03/15 22:25]
avon updated to 1.12 a43
whats_new_112 [2020/02/19 04:26] (current)
avon mystic 1.12 a45 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 ===== 
 + 
 +<code> 
 + 
 + + 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>  
 +    
 +</code> 
 + 
 +===== 1.12 Alpha 45 ===== 
 + 
 +<code> 
 + 
 + 
 + ! Fixed bug in Python setprompt function. 
 + 
 + ! Rewrote some old DOS compatibility wrappers so that Mystic no longer 
 +   localizes the file times in BinkP sessions. 
 + 
 + ! Similar to BinkP Mystic no longer localizes the system time in the Path 
 +   portion of a TIC file. 
 + 
 + ! Fixed a bug with Lightbar/Grid style menus that was causing them to not 
 +   handle extended key jumps properly. 
 + 
 + ! Fixed a bug in the nodelist browser that could cause some results to show 
 +   the wrong Net number. 
 + 
 + + Menu Command: GE option 17 (Change file list type) can now have an option 
 +   of 0 or 1 (0=standard 1=lightbar) to set the type without prompting 
 + 
 +      Command: GE (Edit user settings) 
 +         Data: 17 1 
 + 
 + + Menu command: GE option 20 (Change message reader type) can now have an 
 +   option of 0 or 1 (0=standard 1=lightbar) to set type without prompting 
 + 
 +      Command: GE (Edit user settings) 
 +         Data: 20 1 
 + 
 + + Revamped the MUTIL startup code so that it provides better details in the 
 +   errors.log should it fail to start up for any reason. 
 + 
 + ! Fixed broken outbound SSH (Menu command IS) 
 + 
 + + When entering Echomail addresses, Mystic will now automatically assign the 
 +   Primary address if one isn't defined.  Primary flag will also be removed if 
 +   an address is set to 0:0/0 with primary flag. 
 + 
 + + Mystic BINKP server now sends an M_ERR frame and aborts the session if it 
 +   receives what looks to be nonsense from the remote client.  Previously it 
 +   would wait until timeout. 
 + 
 + + When Mystic's Firewall has blocked a connection it will now detect if the 
 +   connection was intended to be BINKP and send a "BUSY" flag with a note that 
 +   says the connection is blocked.  FIDOPOLL will now detect this as well. 
 + 
 + ! Fixed a bug where a user's scan settings for a base could get "stuck" in 
 +   Forced mode if a base was forced and then changed. 
 + 
 + + Mystic now has an "Auto Whitelist IP" option in Login/Matrix settings. This 
 +   option can have two values: "User Flag", or "All Users"
 + 
 +   When set to "User Flag" Mystic will check a flag on the user's account 
 +   called "Whitelist IP" and if its set, it will automatically whitelist the 
 +   IP of the user who logged in if it is not already whitelisted. 
 + 
 +   When set to "All Users" Mystic will automatically whitelist the IP 
 +   of all users who successfully log into the BBS. 
 + 
 +   <ALPHA 1.12 A45 RELEASED -- 18 Feb, 2020> 
 +    
 +</code>
        
whats_new_112.1552703107.txt.gz · Last modified: 2019/03/15 22:25 by avon