Table of Contents

Mystic BBS v1.11 - What's New

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

This page contains notes from the author (g00r00) during the development of Mystic BBS v1.11

It outlines what is a new or changed feature, a bug fix, or something that has been removed.

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

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

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

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

1.11 Alpha 1

 + FIDOPOLL will now check the FTP and BINKP hostnames when attempting to poll
   and if the hostname is blank, it will print a message and skip polling for
   that node.

 + MPL: Records can now be passed to Procedures in both value and *by reference*
   using the VAR keyword as is done in Free Pascal/Delphi.  This is a HUGE 
   quality of life improvement to MPL.  For example (also see TESTREC.MPS):

      Procedure TestProc1 (Var T: TestRec);
      Begin
        T.Field1 := 10;
      End;

      Procedure TestProc2 (T: TestRec);
      Begin
        T.Field1 := 10;
      End;

      In those examples, the TestRec record passed to TestProc1 would maintain
      its Field1 value of 10 because it was called by memory reference using
      the VAR keyword.

 + Aborting an ANSI will now not abort until the current ANSI sequence is
   completed to prevent any ANSI code bleeding on abort (or until 10+ chars
   are processed).

 + Aborting ANSI file display is now based on time (checked every half
   second).  This was in 1.10 A62 but wasn't documented.

 + Reworked file buffering in file listings for a nice performance gain
   particularly when searching file descriptions and on operating systems
   with poor internal I/O caching

 ! Mystic was incorrectly showing the message base editor menu command in
   the menu command list.

 ! Typing "/topic  " in node chat would cause the node to lock up.  Fixed.

 ! Typing "/topic" should now properly reset the topic to blank in all
   circumstances.

 + The F2 and ESC options can now be selected with the arrow keys in the
   installation program.

 + Pressing ENTER on the send node message prompt will now abort the
   process.

 + Mystic now supports embedded ANSI in message base reading.  Any properly
   posted message containing ANSI codes will now be resolved and displayed
   appropriately in all readers.

 + Mystic's full screen editor now allows full uploading of ANSI and Pipe
   files into the editor, which can be edited just as it would be in an ANSI
   editor.

 + If a message is created with ANSI art and the message base is flagged to
   allow ANSI, Mystic will now convert the art into 79-character line length
   BBS-friendly ANSI and save it.  This means ANSI art can be created, edited,
   and uploaded in the full screen editor where it can be posted and read in
   the message bases just like any other message!

 + FTP server now responds with 502 error instead of 202 for unknown commands
   because Filezilla cannot handle 202 during a TLS AUTH request.

   <ALPHA 1.11 A1 RELEASED -- OCT 16, 2015>

1.11 Alpha 2

 + Mystic now applies TZUTC kludges to echomail messages

 ! Message quoting was broken when quoting ANSI embedded messages.  For now
   quoting is fixed but color will be stripped from ANSI when quoted.

 ! Fixed other quirkiness with the editor and kludges brought on by A1 changes

   <ALPHA 1.11 A2 RELEASED -- OCT 17, 2015>
   

1.11 Alpha 3

 + MUTIL mass upload now has better logs during .diz import (log 2+3)

 ! MUTIL mass upload now purges the temp directory entirely after each mass
   upload to prevent .DIZ residue in case sensitive operating systems.

 ! Fixed TZUTC bug from A2 (hopefully)

 + MPL functions can now have records as result types, for example:

      Type
        TestRec = Record
          Name  : String[30];
          Score : LongInt;
        End;

      Function GetDefaultTestRecord : TestRec;
      Var
        T : TestRec;
      Begin
        T.Name  := 'None';
        T.Score := 0;

        GetDefaultTestRecord := T;
      End;

      Var
        MyTest : TestRec;
      Begin
        MyTest := GetDefaultTestRecord;

        WriteLn (MyTest.Name);  // output will be "None"
      End;

 + New MPL function TimerMS : LongInt.  This may or may not stay but it
   provides a way to do millsecond timing of things.

 + New MCI code: <pipe> -Y : Forces the next Yes/No prompt to default to Yes

 + New MCI code: <pipe> -N : Forces the next Yes/No prompt to default to No

 ! Mystic now resets the inactivity timeout after an internal Zmodem transfer
   to prevent getting logged out for inactivity if you transfer a file for
   longer than the inactivity period.

 ! Fixed auto signature weirdness created by new ANSI messages.

 + Revamped the Searchlight-style prompt menus to be more compatible with
   different screen sizes.  They should work reliably in all situations.

 + New MPL function: formatDate(dosDate, mask) : string allows you to convert
   a DOS format date to a string using the mask:

      YYYY - 4 digit year
        YY - 2 digit year
        MM - 2 digit month
       DDD - 3 char weekday (ie Mon Tue)
        DD - 2 digit day
        HH - 2 digit hour
        II - 2 digit minute
        SS - 2 digit second
       NNN - 3 char month (ie Jan, Feb, Mar)

 + MPL dateDos2Str and dateJulian2Str now accept date format paramters 4,5,6
   to return 4 digit year instead of two.

      4 = MM/DD/YYYY
      5 = DD/MM/YYYY
      6 = YYYY/MM/DD

 ! Fixed file description editing that was disabled in last alpha

 ! Fixed MsgEditor MPL function that was disabled in last alpha

   <ALPHA 1.11 A3 RELEASED -- OCT 24, 2015>
   

1.11 Alpha 4

 + MUTIL echomail export now tracks the last message it exported, and resumes
   where it left off on subsequent tosses.  This should speed up export functions.

 ! Fixed a problem where Mystic could detect a "false" duplicate while
   doing a TIC file toss with a "REPLACES" keyword.

 + Mystic no longer shows the tear/origin lines or kludge lines inside of
   the message editor when editing a message.  Instead, it strips them and
   regenerates the echomail data for that message.

 ! Quoting a message bigger than 10,000 lines could crash the node,
   disconnecting the user.  This should be fixed now.

   <ALPHA 1.11 A4 RELEASED -- Nov 5, 2015>
   

1.11 Alpha 5

 + When forwarding a message to another message base, Mystic will now strip
   all network information from the message and recalculate everything using
   the configuration for the destination base.  This allows messages to
   easily be forwarded/crossposted across different networks without issues.

 ! Fixed a bug with using multi-dim arrays within records in MPL that could
   cause the wrong value to be returned when addressing the variable.

   <ALPHA 1.11 A5 RELEASED -- Nov 5, 2015>
   

1.11 Alpha 6

 + Cleaned up the ANSI draw mode within the full screen editor.  Now ESCAPE
   brings up a new menu which can be used to quickly change color attribute
   glyph mode, glyph set, or to exit back to the standard message editor.

 ! Mystic's parser was preventing Amiga font switching in the Linux version,
   while it has always worked in Windows.  Fixed.

   <STABLE VERSION 1.11 RELEASED -- Nov 6, 2015>