This file contains upgrade notes for sysops who are upgrading from earlier
versions of SlyEdit.  Only versions with significant/noteworthy configuration
changes, etc. are listed in this file, with the most recent version on top.

Upgrading to version 2.00
-------------------------
SlyEdit 2.00 has a new user setting (in the user settings menu, opened with
Ctrl-U), to specify which UI style to use (Ice/DCT/Random), and if the user
hasn't chosen, SlyEdit will ask the user when SlyEdit starts. That way, there
only needs to be one SlyEdit entry in the external editors.

SlyEdit will still work as configured previously in Synchronet, but you may wish
to edit their external editors in Synchronet  to have only one SlyEdit entry
(and it can be just called "SlyEdit").
For the SlyEdit entry that is deleted, users who were using that style of
SlyEdit may find that their editor has been defaulted to another editor, so they
may need to change their preferred editor to SlyEdit again.

When removing the 2nd SlyEdit entry from your external editor configuration, you
may want to change the internal code for your remaining SlyEdit entry to match
(i.e., "SLYEDIT").

NOTE: Before changing your Synchronet editor configuration to only have one
SlyEdit, download the following JS script and run it (either on your BBS PC
using jsexec or on the terminal); It will list users who currently appear to be
using SlyEdit.  Note them down:

http://digdist.synchro.net/usersUsingSlyedit.js

After changing your Synchronet external editor configuration to just have one
SlyEdit (and changing its internal code), you should go through and check the
users listed by that script to ensure they have SlyEdit selected as their
external editor.

Upgrading to version 1.63
-------------------------
This version allows using the full width of the terminal for message text.
After upgrading to this version, if you are using a Synchronet build from
April 13th, 2019 or later, ensure that the "Record Terminal Width" setting
in SCFG is enabled for SlyEdit.  This helps ensure that Synchronet re-wraps
message text for readers if the author used a different terminal width than
the reader.

Upgrading to version 1.34
-------------------------
This version includes a new configuration option in SlyEdit.cfg for Ice-style
colors: menuOptClassicColors.  If this option is set to false, then new colors
will be used for Ice-style menu options.  If this is set to false, then the
classic Ice-style menu option colors will be used.

Upgrading to version 1.33
-------------------------
In this version, taglines can now be optionally prefixed with some text and/or
surrounded by double quotes.  Three new configuration settings have been added
in this version:
taglinePrefix                     Some text to be added to the front of
                                  a tagline that is selected from the user.
                                  The intention of this setting is to
                                  differentiate taglines from the rest of the
                                  message.  This defaults to the string "... "
                                  (3 dots and a space).  If desired, this can
                                  be set to a blank string (nothing after the
                                  =) - for instance, if you only want to put
                                  double quotes around text lines, you could
                                  set this to blank and enable the
                                  quoteTagLines setting.

quoteTaglines                     Whether or not to put selected taglines in
                                  double quotes.  This defaults to false.  If
                                  you like taglines to have double quotes and
                                  no prefix, you can set this to true and set
                                  taglinePrefix to a blank string (nothing
                                  after the =).

shuffleTaglines                   Whether or not to shuffle (randomize) the
                                  list of taglines displayed to the user for
                                  selection.

Upgrading to version 1.32
-------------------------
A new color setting has been added, listBoxItemHighlight, which is used for the
currently selected item in a list box.

The color setting txtReplacementList has been changed to listBoxItemText.  This
color applies to items written inside any list box, including the list of text
replacements and the list of tag lines.

Taglines: Users can now (optionally) select a tagline to append to their
message upon saving their message.  Users can configure whether or not they
want to use taglines in their user settings, which is also a new feature in
this version of SlyEdit (see the paragraph below).

New configuration settings have been added in SlyEdit.cfg:
- tagLineFilename: This specifies the name of a text file where tag lines are
stored.  By default, it is SlyEdit_Taglines.txt.
- enableTaglines: This serves as a default for user settings for whether or not
to enable the option to add a tagline to their message upon saving the message.
- allowUserSettings: Whether or not to allow users to configure their user
settings.

User settings: Users can now configure their own user settings in this version.
Settings include whether or not to use tag lines, whether or not to quote
messages using the original author's initials, and whether or not to indent
quoted lines with initials.

The configuration settings useQuoteLineInitials indentQuoteLinesWithInitials
in SlyEdit.cfg now serve as defaults for user settings rather than being
used for everyone.

Upgrading to version 1.29
-------------------------
A new "text replacements" (AKA macros) feature has been added.  This feature
lets you (the sysop) define words to be replaced with other text.  This feature
can be used, for instance, to replace commonly misspelled words with their
correct versions or to replace swear words with less offensive words as the user
types a message.  For more details, see the section regarding text replacements
in the "Read Me.txt" file.


The color settings crossPostBorder and crossPostBorderText have been
renamed to listBoxBorder and listBoxBorderText.  crossPostBorder and
crossPostBorderText will still work, but if listBoxBorder and
listBoxBorderText are used in your theme configuration files, those will be
used instead.

Also, the following color setting has been added (for both the DCT-style and
Ice-style theme files):
txtReplacementList         The color to use for the text replacements in the
                           text replacement list.

Upgrading to version 1.28
-------------------------
New general color settings (for both the DCT-style and Ice-style theme files):
msgWillBePostedHdr         The color to use for the text “Your message will be posted into the following area(s)” text when exiting SlyEdit

msgPostedGrpHdr            The color to use for the group name header when listing the message's posted message areas when exiting SlyEdit

msgPostedSubBoardName      The color to use for the message sub-boards when listing the message's posted message areas when exiting SlyEdit

msgPostedOriginalAreaText  The color to use for the text ”(original message area)” when listing the message's posted message areas when exiting SlyEdit

msgHasBeenSavedText        The color to use for the text “The message has been saved.” when exiting SlyEdit

msgAbortedText             The color to use for the Message Aborted text when exiting SlyEdit

emptyMsgNotSentText        The color to use for the Message Not Sent text when exiting SlyEdit

genMsgErrorText            The color to use for general message error text when exiting SlyEdit

Upgrading to version 1.20
-------------------------
Version 1.20 added a cross-posting feature, and there is a new configuration
setting and some new color settings for cross-posting.  Also, starting with
version 1.20, you can put your customized SlyEdit configuration file
(SlyEdit.cfg) and color theme files in the sbbs/mods directory so that they
won't be accidentally overwritten when updating the Synchronet files from the
Synchronet CVS repository.

New setting for SlyEdit.cfg:
allowCrossPosting                 Whether or not to allow cross-posting
                                  messages into different/multiple message
                                  areas.  Valid values are true and false.

New color settings (for both the DCT and Ice-style theme files):
crossPostBorder                   The color to use for the border of the cross-
                                  post area selection box

crossPostBorderText               The color to use for the top border text of
                                  the cross-post area selection box

crossPostMsgAreaNum               The color to use for the message group/sub-
                                  board numbers in the cross-post area
                                  selection box

crossPostMsgAreaNumHighlight      The color to use for the highlighted
                                  (lightbar) message group/sub-board numbers
                                  in the cross-post area selection box

crossPostMsgAreaDesc              The color to use for the message group/
                                  sub-board descriptions in the cross-post
                                  area selection box

crossPostMsgAreaDescHighlight     The color to use for the highlighted
                                  (lightbar) message group/sub-board
                                  descriptions in the cross-post area selection
                                  box

crossPostChk                      The color to use for the checkmarks for the
                                  enabled message sub-boards in the cross-post
                                  area selection box

crossPostChkHighlight             The color to use for the highlighted
                                  (lightbar) checkmarks for the enabled
                                  message sub-boards in the cross-post area
                                  selection box

crossPostMsgGrpMark               The color to use for the current message
                                  group marker character in the cross-post area
                                  selection box

crossPostMsgGrpMarkHighlight      The color to use for the highlighted
                                  (lightbar) current message group marker
                                  character in the cross-post area selection
                                  box

Upgrading to version 1.18
-------------------------
* Important: If you use Digital Distortion's Message Lister on your BBS, then
you must update Digital Distortion's Message Lister must to at least version
1.31 in order for message quoting with author's initials to work properly when
replying to a message from Digital Distortion's Message Lister.
The latest version of the Digital Distortion BBS doors & add-ons can be
downloaded from the following web page:
http://digdist.bbsindex.com/DigDistBBSStuff/DigDistBBSStuff.html

A feature has been added to allow quoted lines with author's initials to be
indented by a space.  It is disabled by default.  To enable that option,
add the following line in SlyEdit.cfg in the [BEHAVIOR] section:
indentQuoteLinesWithInitials=true
That option can also be set to false to disable it.

Upgrading to version 1.17
-------------------------
Starting with version 1.17, when replying to a message, quoted lines from the
previous message will be prefixed with the last author's initials by default.
If desired, this behavior can be disabled by adding the following line in the
[BEHAVIOR] section of SlyEdit.cfg:
useQuoteLineInitials=false
When disabled, SlyEdit will quote message lines as before, prefixing them with
" > " as was done in IceEdit, DCT Edit, and other editors of the early-mid
1990s.
Since many users participate in public message areas, it is recommended to let
SlyEdit add the last author's initials to quote lines in order to make it
easier for other readers to identify who wrote which parts and make it easier
to follow the conversation.
That option can also be set to true in SlyEdit.cfg to enable it.

Upgrading to version 1.16
-------------------------
As of version 1.16, the configuration files may be placed in the sbbs/ctrl
directory if desired, and the .js files can be placed anywhere else (for
(example, sbbs/exec would work easily).

Also, the following notes apply if upgrading from a version below 1.15:

Upgrading to version 1.15
-------------------------
In version 1.15, the configuration setting "splitLongQuoteLines" was
removed and replaced with the following setting:
reWrapQuoteLines: Whether or not to re-wrap quote lines so that quoted
                  text is complete yet still looks good when quoted.
Also added the following configuration options and capabilities:
add3rdPartyStartupScript:
            Add a 3rd-party JavaScript script to execute
            (via loading) upon startup of SlyEdit.  The
            parameter must specify the full path & filename
            of the JavaScript script.  For example (using
            the excellent Desafortunadamente add-on by Art
            of Fat Cats BBS):
            add3rdPartyStartupScript=D:/BBS/sbbs/xtrn/desafortunadamente/desafortunadamente.js
addJSOnStart:
            Add a JavaScript command to run on startup.  Any
            commands added this way will be executed after
            3rd-party scripts are loaded.
            Example (using the excellent Desafortunadamente
            add-on by Art of Fat Cats BBS):
            addJSOnStart=fortune_load();
add3rdPartyExitScript:
            Add a 3rd-party JavaScript script to execute
            (via loading) upon exit of SlyEdit.  The
            parameter must specify the full path & filename
            of the JavaScript script.
addJSOnExit:
            Add a JavaScript command to run on exit.
            Example (don't actually do this):
            addJSOnStart=console.print("Hello\n\1p");

Upgrading to version 1.08
-------------------------
In version 1.08, two new configuration settings were added to the main
configuration file (SlyEdit.cfg) in the BEHAVIOR section:

userInputTimeout                  Whether or not to use an input timeout
                                  for users.  Valid values are true and
                                  false.  Note: The input timeout is not
                                  used for sysops.

inputTimeoutMS                    The amount of time (in milliseconds) to
                                  use for the input timeout.

Note that the sysop is now always exempt from the input timeout.

In version 1.13, another new setting was added to the main configuration
file (SlyEdit.cfg) in the BEHAVIOR section:

splitLongQuoteLines               Whether or not to split quote lines
                                  that are too long (rather than truncating
                                  them).  Valid values are true and false.
                                  If true, quote lines that are too long will
                                  be wrapped (rather than truncated), with the
                                  last word(s) on their own separate line.
                                  If this option is not specified, this feature
                                  will be disabled by default.

Upgrading to version 1.07
-------------------------
If upgrading version version 1.07 or earlier of SlyEdit, the option
"Expand Line Feeds to CRLF" in SCFG should now be set to Yes.  This
option enables Synchronet to save messages properly, regardless of
whether Synchronet is running in Windows or a *nix system.  Enabling
this option fixes problems with line wrapping that was seen on Linux
Synchronet systems when the messages were sent across some networks
to other BBSs.  Thanks goes to Access Denied, sysop of The Pharcyde,
for helping to test this.

In Synchronet's configuration program, your SlyEdit
configuration should look like this (ICE mode is used here):
+[¦][?]--------------------------------------------------------------+
¦                      SlyEdit (Ice style) Editor                    ¦
¦--------------------------------------------------------------------¦
¦ ¦Name                            SlyEdit  (Ice style)              ¦
¦ ¦Internal Code                   SLYEDICE                          ¦
¦ ¦Remote Command Line             ?SlyEdit.js %f ICE                ¦
¦ ¦Access Requirements             ANSI                              ¦
¦ ¦Intercept Standard I/O          No                                ¦
¦ ¦Native (32-bit) Executable      No                                ¦
¦ ¦Use Shell to Execute            No                                ¦
¦ ¦Quoted Text                     All                               ¦
¦ ¦Editor Information Files        QuickBBS MSGINF/MSGTMP            ¦
¦ ¦Expand Line Feeds to CRLF       Yes                               ¦
¦ ¦Strip FidoNet Kludge Lines      No                                ¦
¦ ¦BBS Drop File Type              None                              ¦
+--------------------------------------------------------------------+
