*******************************************************************
    Fixes and Changes for Vista TN3270 for Windows V1.28
*******************************************************************

-------------------------------------------------------------------
Problem fixes:  
-------------------------------------------------------------------

P00985       Fixed trace data to change non-display fields sent to host to XXXXXXXX
02/24/2023

P00984       Added port number to connection error message.
02/24/2023

P00983       PE #856 Causes zero KeepAliveTime when a new hostname is entered
09/10/2022   Fixed

P0982        Fixed ShutDownMacro INI option to allow long file names
07/21/2022   What year is this?  Long file names were around in 1995 I think.

P0979        TLS Information window displays Valid date wrong.  Fixed.
03/25/2022 

P0978        LUNAME field is truncating to 15 characters.  Should be 17 I believe.
03/14/2021   Fixed.

P0975        When using the NoSessionSave=1 INI option, it's easy to connect to the wrong
02/10/2020   IP address since the last is not saved.  Fixed.

P0974        CheckForMacroRunning=1 INI file option does not allow keypresses when recording
02/10/2020   a macro.  Fixed.

P0973        Added additional INI IgnoreInvalidSBA=1 logic to skip SBA out-of-bounds check 
12/13/2019

P0971        If you enter or paste a Host/IP name that already exists in the list into the
12/13/2019   connection window, with a trailing space, that space is not trimmed before
             attempting to look up the name in the list and we get a failure message.  Fixed.

P0969        Added INI option IgnoreInvalidSBA=1 to ignore an invalid SBA outside the screen
11/10/2019   area, and instead only flag the error if we try to write outside the screen area.
             Also added IgnoreInvalidWrite=1 to skip error message on invalid screen update
             attempts.

P0968        Default KeepAliveTime=240 (4 minutes) causes disconnects if a keepalive is sent 
11/03/2019   during a temporary (short) network outage.  Set to zero (no keepalive) as default.

P0964        ORDER RA within an RA causes loop in Vista.  This may be an error in the 3270 
03/03/2019   stream, but we should probably not die because of it.  Fixed by using the second
             RA address as a target location.

P0963        Setting blinking text to italics causes abend.  Even when this code did not abend,
01/05/2019   the italic text did not appear on the screen correctly.  Removed this option.

P0960        Screen data errors with host program sends a single byte FF in an I/O buffer in a 
10/28/2018   string of multiple I/O buffers for a single screen.  Fixed.

P0958        Stack overlay in input processing causes NewSession function to abend and kill the 
10/04/2018   current window while still starting a new one.  Confusing!  Fixed.
                                                                              
P0956        When running Session(x) to cascade a number of Vista windows so that A is on
08/02/2018   on top and others are underneath (opposite of Cascade function), not all 
             windows are organized correctly.  Fixed.

P0954        On a particular Supersession screen (Send Message), and I assume various other products and
07/19/2018   screens, Vista fails to auto-jump to the next field because there are multiple field bytes
             adjacent to each other, and Vista misses the jump instruction.  Fixed

P0953        After some Win 10 updates around 2016 (according to google), dynamically loaded fonts take 
07/12/2018   long enough to load and delete that it can confuse the user as to whether Vista has really 
             started or stopped.  Fixed with new AddFontResourceEx(FR_PRIVATE) which loads font into each
             Vista session instead of globally.  Problem can also be alleviated by copying *.FON files to
             the c:\windows\fonts directory.

P0951        After installation of Win 10 1803 updates (I believe) Vista window resizing would lock up after
07/12/2018   a few resizes.  This only happens with "Size Window to Font" (which is the default).  Fixed by
             only resizing to font when mouse is lifted, with a 0.2 second delay.

P0949        Older "MS Sans Serif" Font used for dialogs do not allow for smooth drawing, causing difficulty to
10/01/2017   read on my new display.  Fixed by switching to Newer "Microsoft Sans Serif".  This may cause
             trouble on Win XP or other old systems.  I am not testing XP with new Vista versions anymore.

P0947        When switching focus to Vista in an RDP session, multiple WM_KEYUP messages are causing Enter to
09/28/2017   be pressed multiple times.  Fixed with INI option IgnoreKeyUp80=1 (may be the default later).
             My theory is that RDP sends multiple keyup messgages to the shifter keys to make sure they are
             released at task switch, which confuses Vista shifter key processing.

P0946        When running PasteByTyping with tabs in the clipboard, fields are sometimes skipped when
07/02/2017   a tab follows an auto-skip.  Fixed so that tab char is ignored immediately after an auto-skip.

P0945        File transfer fails when \\ is coded at the front of a filename
06/15/2017   Fixed.

P0942        When Keypad is set to appear at startup, main screen does not have the focus.
05/02/2017   Fixed.

P0940        With MS 2015 compiler, bottom window border is not correct.  Needed to increase
03/05/2017   vertical constant from 4 to 8 in SetWindowSize() routine.  Fixed.

P0939        Default /certs directory is not being created for a new user.  Fixed.
03/05/2017   Also eliminated user parm file creation at install time (Inno Setup option).

P0937        Transfer byte count goes negative when transferring over 2G.  Oops.
01/31/2017   Fixed.

P0933        CUT mode download with RA (repeat to address) orders corrupts output file.
01/31/2017   Fixed.

P0936        Abend sometimes when closing many Vista windows at once (Exit All)
01/29/2017   Fixed. 

P0935        File transfer path in upload/download windows is limited to 120 characters.
01/25/2017   Fixed to allow 256 characters, which is the current Windows default limit.

P0934        FIN-2 waits accumulating on VM host after Vista logoff and host disconnect.
01/10/2017   Vista was not closing the IP connection properly in some cases.  Fixed.

P0932        Window won't resize correctly when second monitor is larger than the primary monitor.
01/02/2017   Workaround by skipping the monitor size check when resizing.  For now.

P0930        Abend when copying after visting Copy/Paste options window
01/02/2017   Fixed. 

P0929        MS VS 2015 compiler issues:  Keypad too small, icon selector not showing properly.
12/29/2016   Fixed.

-------------------------------------------------------------------
Changes:  
-------------------------------------------------------------------

C0981        Added the WindowIdList system variable which should contain a list of any
07/21/2022   active window id's.  Useful for causing a macro to run in all open Vista windows.

C0980        Added ability to specify a window id on the Run macro so you can cause a macro
07/21/2022   to run in another Vista window.

C0977        Trying setsockopt options for keepalive again.  Not sure they will help at all.
01/31/2021

C0976        Added CascadeX and CascadeY INI options for position of window at startup
07/24/2020

C0972        Changed the File/Save-Session-As function so an icon is not created by default.
12/13/2019   Do not open the file manager window when creating a taskbar icon.
             Icon to Desktop is now the default.

C0967        Added option to compile with latest SSL encryption libraries (TLS 1.3)
10/27/2019   Fixed.  Note: This is a conditional compile, so the version you
             are running may or may not include the new libraries.

C0966        Added HexDec macro function
06/02/2019

C0962        Added GetOption/SetOption logic for font size.
12/28/2018

C0961        Added UNLOCKED.EXT exit point that calls a macro when the screen goes
11/28/2018   from locked to unlocked.  Like other exit points, this only runs if 
             another macro is not already running or being recorded.

C0959        User reported that their large macro gets error code 52 (Scan table exceeded)
10/05/2018   So let's try increasing that getmain size 10 times and see if that helps.

C0957        Added "Separate" to General options for screen capture and screen saving, which will
09/02/2018   create a dated directory under the screens/ directory and place sequentially numbered
             files there for each screen save.

C0955        Added command line option /G to allow specification of ini filename, such as
07/30/2018   "/g prod.ini" or "/g icc.ini" which can be used for separating hostnames into
             groups.  Note that all ini files must be in Documents\TomBrennanSoftware\VistaTN3270

C0952        Added system variable "InsertMode" so a macro can read the status of the insert key
07/12/2018   (i.e. either "Normal" or "Insert" is returned)

C0950        Added code so that the SendFile and ReceiveFile functions can have the PC and 
06/30/2018   mainframe filename parms swapped either way.  This is so you can do a change-all from
             Send or Receive to more easily switch a macro from upload to download.
             Requires INI option AllowSendReceiveSwap=1

C0948        Added "Host Initiated Printing" and logic to Display options, so that if the WCC
11/12/2017   "print" bit is set by the host, Vista will run through its screen printing logic.
             Also added WCCPrintAccumulate INI option and logic for special label printer.

C0944        Added INI option "AdditionalKeys" to allow a larger number of *.KEY entries when using 
05/13/2017   a non-standard keyboard.  Requires some undocumented changes to country.lst.

C0943        Added INI option "Notepad" for specifying an alternative to notepad.exe for editing in Vista.
05/02/2017   Example:  Notepad=C:\Program Files (x86)\Notepad++\notepad++.exe

C0941        Added PrevScreen and NextScreen retrieval logic and functions for
04/17/2017   scrolling back and forth between previously viewed screens.

C0908        Added support for direct IP6 connections.  Note: This required changes to the way Vista looks up
03/18/2016   the host name, which fixed an unrelated IP4 problem a user reported.

C0928        Convert to MS VS 2015 compiler (does not work on XP)
12/29/2016   I may be able to use this new compiler for XP too, not sure yet.

