s3270 Release Notes

# Changes in x3270, c3270, wc3270, s3270, tcl3270, pr3287 and wpr3287 3.3

3.3 is the current development line for the x3270 suite.

## Changes in version 3.3.15ga9, 28. May 2015

- [pr3287, wpr3287] Fixed a problem with printer session start-up when both a specific printer LU and an SSL tunnel (L:) are specified.
- [x3270, c3270, wc3270] Fixed a crash when the printer session exits prematurely.

## Changes in version 3.3.15ga8, 24. December 2014

- [x3270, wc3270] Improved paste behavior. Patch courtesy of Máximo Castañeda.
- [all] Added append and replace keywords to the PrintText action to control how existing files are handled.
- [all] Made Wait(Output) work in NVT mode.
- [x3270] Fixed security holes in the Print Window Bitmap menu item and the PrintWindow action.
- [wc3270] Fixed multiple GDI printing problems: captions mis-centered, page overflow with multiple screens per page, "save screens to printer" not working at all.

## Changes in version 3.3.15ga7, 14. December 2014

- [wc3270] Fixed some typos in the Session Wizard.
- [wc3270] Fixed several issues with Notepad editing of miscellaneous resources in the Session Wizard.
- [wc3270] Allow the printTextOrientation resource to be specified.
- [x3270] Fixed dialog boxes lost behind the file transfer dialog.
- [all] Fixed a crash in the Query action.

## Changes in version 3.3.15ga6, 28. November 2014

- [wc3270, ws3270] Fixed a bug with the Transfer action ignoring the BufferSize parameter.

## Changes in version 3.3.15ga5, 14. October 2014

- [all] Allow file transfers to be started when the screen is unformatted and includes space characters.
- [all] Corrected the documentation for the menuBar resource.
- [wc3270] Allow the keyword none to be given to the Session Wizard editing menu.

## Changes in version 3.3.15ga4, 3. October 2014

- [all] Fixed a problem with -scriptport connections never being accepted again after a socket error.

## Changes in version 3.3.15beta3, 19. September 2014

- [pr3287] Added an -mpp option to set a non-default Maximum Presentation Position (the maximum line length for unformatted Write commands).
- [all] Corrected the BINARY and NOCRLF options passed to the CICS version of IND$FILE.
- [all] Added a --disable-ipv6 option to the ./configure script to allow IPv6 support to be explicitly disabled.

## Changes in version 3.3.15beta2, 12. August 2014

- [all] Changed the IND$FILE command to all-uppercase, to make certain hosts happier (found by Máximo Castañeda).
- [wc3270] Fixed a Cygwin Makefile problem (found by Máximo Castañeda).
- [all] Fixed some zOS/USS build issues (found by Kevin Morris).

## Changes in version 3.3.15alpha1, 17. July 2014

- [all] Added a newEnviron resource. If set to true (the default), the emulator will respond to the TELNET NEW-ENVIRON option. If set to false, it will not.
- [wc3270] Fixed a problem where editing an all-users session would result in copying the session to the current user's AppData directory, and re-creating the shortcut would point it to the wrong entry.
- [wc3270] Added Session Wizard options to copy a session, rename a session, and create a shortcut for a session.
- [all] Fixed several issues with TN3270E options negotiation (thank you to Máximo Castañeda for pointing these out).
- [wc3270] Changed the default directory for trace files from the wc3270 AppData directory to the current user's desktop. Also fixed a number of documentation issues in this area.
- [all] Added a tls resource. If set to false, TLS negotiations from the host will be rejected.
- [wc3270] Added menu options to start up HTML help and the Session Wizard.
- [c3270] If there is room, added a line (a row of underscored blanks) between the 3270 display and the OIA.
- [wc3270] Changed the menu bar to reverse video.
- [wc3270] Added a Cut action, mapped to Ctrl-x. It is the same as Copy, but it also erases the copied text (in modifiable fields) when it finishes.
- [wc3270, ws3270] Added support for a separate Windows code page for IND$FILE ASCII file translations, via the ftCodePage resource and the WindowsCodePage= parameter to the Transfer action.
- [all] Produce a better error message when the host disconnects because the emulator does not support SSL.
- [wc3270] Added a Session Wizard option to turn on tracing at start-up.
- [wc3270] Extended the Session Wizard to present a menu of existing sessions to choose from, to permit a session to be deleted, and to edit the free-form settings in the session file with Notepad.
- [wc3270] Added automatic resizing of the console window to match the model number and oversize.
- [all] Removed Windows 98 support.
- [wc3270] Added Esc as an alias for ESCAPE in keymaps.
- [all] List out the toggle names when a -set or -clear doesn't find a match.
- [wc3270] Added support for GDI (direct) printers to the PrintText() and ScreenTrace() actions using the new gdi keyword option. Added resources to control GDI printing: printTextOrientation, printTextHorizontalMargin and printTextVerticalMargin.

## Changes in version 3.3.14ga11, 3. May 2014

- [pr3287, wpr3287] Changed the -xtable option so that the translations are considered transparent data (they are not considered when checking for line wrap or when skipping ASA carriage control characters).

## Changes in version 3.3.14ga10, 27. April 2014

- [x3270] Restored the ability to use the special 3270 fonts with code page 1047.
- [pr3287, wpr3287] Backed out the previous change to ignore NULLs (they really are supposed to be considered blanks in unformatted Write commands). Replaced it with a new -skipcc option to ignore ASA carriage control characters at the beginning of each line; it only applies to unformatted Write commands.

## Changes in version 3.3.14ga9, 13. April 2014

- [pr3287, wpr3287] Fixed a problem with misinterpreting NULL (X'00') characters in unformatted mode as spaces, when they should be ignored. This caused printer output to be shifted and sometimes wrapped.
- [wc3270] Corrected the Copy() action so the space after a word selected with a double mouse click is not copied to the clipboard.
- [all 3270] Fixed a crash when disabling tracing after opening the trace file fails.

## Changes in version 3.3.14beta8, 31. March 2014

- [all 3270] Changed the keyboard to unlock when a BIND-IMAGE is received. This matches the behavior of PCOMM and is consistent with some comments found on IBM webpages. The net result is that the keyboard will be unlocked (and scripts may be allowed to proceed) earlier than with previous versions of the emulators. This is good for talking to hosts that don't send an initial Write command (as can happen with CICS); previously this Write was the only trigger for unlocking the keyboard at connect or BIND time. But it is bad if a script implicitly depended on the old behavior. Scripts confused by this change may need to add a Wait(InputField) to cover these cases.
- [all 3270] Got rid of the E status for keyboard lock in the scripting prompt. The status is now L (locked) or U (unlocked).
- [all 3270] Added decoding of UNBIND reasons to traces.
- [all 3270] Increased the number of situations where keyboard input can result in typeahead instead of drops.

## Changes in version 3.3.14ga7, 8. March 2014

- [c3270, wc3270] Corrected a problem where the trace on command at the c3270> prompt resulted in tracing to a file named on.
- [c3270, wc3270] Reversed the order of keymaps. User-specified keymaps appear first, with later-specified ones before earlier-specified ones, so the override relationships are more obvious. On Windows, this also resolves the rules for ambiguous keymaps -- the first match wins, given the new ordering rules.
- [wc3270] Fixed a problem with printable virtual key events being interpreted incorrectly, even though they were traced correctly, for example, Ctrl-Shift-3.
- [wc3270] Fixed a problem with the RightCtrl modifier in a keymap being interpreted as Ctrl.
- [wc3270Fixed some man pages that accidentally ended up as html.

## Changes in version 3.3.14ga6, 23. January 2014

- [all] Fixed a problem with displaying text in NVT mode when the host does no TELNET negotiation.
- [all] Deprecated the dsTrace and eventTrace resources (and associated toggles and x3270 menu options) and replaced them with a new single trace resource and toggle. The old resources and toggles are still available, but are effectively aliases for the new single setting.

## Changes in version 3.3.14alpha5, 30. December 2013

- [c3270, wc3270] Added screen scrolling (saving previous screen contents, to be displayed interactively), controlled by the new Scroll action. Scroll(Backward) (mapped onto PageUp) goes back one screen; Scroll(Forward) (mapped onto PageDown) goes ahead one screen. The Reset action cancels scrolling. The -sl command-line option or scrollLines resource changes the number of lines saved for scrolling from the default of 4096.
- [x3270] Turned the scrollbar on by default. Mapped the PageUp and PageDown keys to the (new) Scroll action, to scroll up or down one screen, respectively. Modified the Reset action to cancel any screen scrolling.
- [all Windows] Got everything to build under MSVC again, using either the command line or MS Visual Studio. A Visual Studio solution file is now included in the source tarball. Windows targets also cross-compile again with the latest Cygwin MinGW.

## Changes in version 3.3.14alpha4, 21. December 2013

- [all] Added a printTextScreensPerPage resource to control how many screens of text are displayed per page when tracing screens to the printer.
- [all] Corrected screen tracing to the printer so it observes the printer.name and printer.command resources.

## Changes in version 3.3.14alpha3, 16. December 2013

- [all, wc3270] Fixed problem with message display during file transfers initiated by scripts.
- [all] Fixed a problem reading files with the Source action, when the file does not end with a CR or NL.

## Changes in version 3.3.14alpha2, 4. November 2013

- [all] Added support for CICS IND$FILE file transfers.

## Changes in version 3.3.14alpha1, 30. October 2013

- [all] Allow file transfers to start when the screen is unformatted.
- [all] Fixed a problem with the initial data stream trace snapshot when the screen is unformatted.
- A wrapper function was put around the Windows snprintf function, to ensure that it always NUL-terminates strings. The lack of such a wrapper could lead to string overflows in some situations.
- [wc3270] Added the ability to install wc3270 for all users or just for the current user (the old behavior was just the current user). Also extended the installer to allow selective installation of various pieces. The Session Wizard can now create and edit session files and desktop shortcuts for either all users or the current user, and keymaps can be located in either the all-users or current user's AppData directory. Trace files are always left in the current user's AppData directory.
- [wc3270] wc3270 Session files are now editable from the Windows context menu (right-clicking from explorer).
- [wc3270] Windows 98 is no longer supported by the wc3270 installer. This is because the installer tool used by wc3270 (Inno Setup) no longer supports Windows 98, not because of any inherent limitation in wc3270. The no-setup .ZIP file can still be used to install wc3270 on Windows 98 by hand. A simple Windows 98-specific installer may be added at some point in the future.
- [wc3270] Added native select/copy to wc3270. Just highlight with the mouse and press Ctrl-C. The Clear action is still available via Alt-C.

## Changes in version 3.3.13ga7, 11. September 2013

- [wc3270] Fixed a hang when the wc3270 window was closed on XP.
- [all] Fixed connect() failures on MacOS.

## Changes in version 3.3.13ga6, 8. September 2013

- [all] Corrected a problem with the display of non-display fields (incorrectly observing the colors and graphic rendition).
- [wpr3287] Added the -tracedir option, just like pr3287.
- [pr3287, wpr3287] Added tracing of the -xtable translation table.
- [pr3287, wpr3287] Added tracing of the data stream sent to the printer.
- [pr3287, wpr3287] Use the same unique trace file name convention as the other emulators.
- [pr3287, wpr3287] Added a -crthru option to pass CR orders through to the printer in unformatted 3270 mode, instead of interpreting them.

## Changes in version 3.3.13beta5, 4. September 2013

- [wc3270] Added logic to the Session Wizard to automatically correct old-format UNC printer names, and also fixed some minor bugs in it.
- [all] Corrected the CGCSGID for code page 1145 (spanish-euro).
- [all] Second try at getting pr3287/wpr3287 shut down and re-launched correctly.

## Changes in version 3.3.13beta4, 23. August 2013

- [all] Corrected the start/stop of pr3287/wpr3287 printer sessions, so that a new one is not started until the previous one has completely exited.

## Changes in version 3.3.13beta3, 6. August 2013

- [pr3287, wpr3287] Made sure trace files get flushed for each entry.

## Changes in version 3.3.13alpha2, 30. July 2013

- [all] Fixed a crash when connecting to certain hosts using an SSL tunnel.
- [all except x3270] Fixed a parsing problem for session files and -xrm options that resulted in doubled backslash characters.
- [all] Fixed a crash in the Wait(n,seconds) action.
- [wc3270] Made sure that the wpr3287 process is stopped when the wc3270 window is closed.
- [wc3270] Fixed new issues created by the previous Windows 8 process creation fix.

## Changes in version 3.3.13alpha1, 11. July 2013

- [wc3270] Fixed some issues with starting Wordpad and wpr3287 on Windows 8.
- [x3270] Combined the various text screen save/print options into a single menu option, which brings up a dialog box that allows snapshots, continuous saving, save to text, HTML or RichText or directly to the printer.
- [c3270, wc3270] Added the ability to save a stream of screens to the printer via a menu option or the new Printer option to the ScreenTrace action.
- [x3270] Added a -secure to simplify invoking secure mode.
- [c3270, wc3270] Allow -noprompt mode without a host specified on the command line.
- [pr3287, wpr3287] Added custom translation tables via the -xtable option.
- [pr3287, wpr3287] Made -emflush the default. Added a -noemflush to specify the old behavior.
- [all] Corrected a problem with interpreting the SuppressMap resource. (Courtesy of Marcin Cieślak.)
- [wc3270] Corrected the working directory for auto-shortcut mode.
- [all] Added the -accepthostname command-line option and acceptHostname resource to allow accepting specific names and IP addresses in host certificates, or any name.
- [all] Turned off variable substitution for all actions under certain circumstances, such as inside macros. It mostly just caused confusion.
- [all] Added two pseudo-variables for filename substitutions: ${TIMESTAMP} becomes a microsecond-resolution timestamp and ${UNIQUE} guarantees that the filename is unique. Changed the default trace file names to use ${UNIQUE}.
- [all] Added a number of keywords to the Query action.
- [all] Made the Open (Connect) and Close (Disconnect) aliases available everywhere.
- [s3270, ws3270] Enabled the idle command (the idleCommand, idleCommandEnabled and idleTimeout resources).
- [all] Added support for code page 803 (hebrew-old).
- [s3270, ws3270] Added a -utf8 command-line option and a utf8 resource to force local I/O to be encoded as UTF-8.
- [all] Added a -loginmacro command-line option, and made the existing loginMacro resource work on x3270.
- [wc3270] Made screen printing via PrintText (Alt-P) asynchronous, so wc3270 can continue processing keyboard events and host output while the screen print is being prepared.
- [s3270, ws3270, tcl3270] Made 3279 (color) mode the default.
- [all] Added output to scripts to the event trace file.
- [wc3270, ws3270] Now there is a single wc3270 .exe file and a single ws3270 .exe file; they each find the OpenSSL DLLs automatically if they are installed.

## Changes in version 3.3.12ga13, 2. May 2013

- [c3270, wc3270] Fixed a start-up crash when the tracing is enabled and the menu bar is disasbled.
- [all] Added support for the LF (X'25') format control order.
- [All] Fixed a number of buffer overflow crashes.

## Changes in version 3.3.12ga12, 1. March 2013

- [All] Added logic to verify the name in the host certificate.
- [All] Pass all SSL-related parameters to the pr3287 session.
- [x3270] On the Connect menu, made the recent host list a pull-right sub-menu, if there is an ibm_hosts file in use.
- [x3270] The -trace option now implies event tracing as well.
- [x3270] Spaces are now allowed in the file transfer dialog local file name.
- [all] Corrected issues when invalid Unicode characters are encountered during a file transfer.
- [x3270, wc3270] Corrected a crash when tracing without a file, when the monitor window was closed.
- [ws3270] Corrected the behavior of stdin processing, so ws3270 is not blocked trying to read stdin most of the time. Also fixed an issue where the scripting prompt would start with E when the keyboard was in inhibit mode.
- [wc3270] Removed a duplicated rule in Msc/Makefile.
- [all] Changed the CGCSGID for cp930 (Japanese) 0x080b012c (2059, 300) to 0x0172012c (370, 300).
- [wc3270, c3270] Corrected the behavior of the Menu option in the Session Wizard and the menuBar resource, neither of which worked correctly.

## Changes in version 3.3.12ga11, 23. July 2012

- [all] Corrected a problem with not sending the TELNET TERMINAL TYPE when the TELNET NEW ENVIRONMENT option had been negotiated.
- [x3270, c3270] Corrected issues with manual page warnings.

## Changes in version 3.3.12ga10, 8. July 2012

- [all] Turned off automatic SSL host cerfication and added a verifyHostCert resource and -verifycert option to enable it.
- [wc3270] Improved behavior when SSL negotiation fails.
- [x3270, c3270, wc3270] Changed the 'secure' icon to green when SSL/TLS is active and the host is verified, and yellow when SSL/TLS is active but the host certificate is unverified.
- [c3270] Added a defaultFgBg resource and -defaultfgbg option to use the terminal's default foreground and background colors in place of the curses colors white and black respectively -- if the ncurses library, terminal and termcap/terminfo entry support default color. It is automatically set for gnome-terminal.

## Changes in version 3.3.12beta9, 13. February 2012

- [all] Added a selfSignedOk resource to allow SSL authentication with hosts that use self-signed certificates.

## Changes in version 3.3.12ga7, 24. August 2011

- [wc3270] Improved the Keymap and Build documentation.
- [wc3270] Added catf.exe to the no-install zip file.
- [wc3270] Added BackSpace as an alias for the BACK key.
- [all] Corrected a buffer overflow problem when starting tracing with large screen sizes.
- [wc3270] Corrected an installation issue with the root certificates file.
- [wc3270] Changed the OpenSSL documentation to refer to the Lite version of the OpenSSL DLL.
- [All but wc3270 and x3270] Made the hostname resource work as-documented: if it is defined, then the emulator will connect to that host at start-up.
- [c3270] Added a key sequence for screen printing (Ctrl-a, p).

## Changes in version 3.3.12beta6, 4. January 2011

- [all] Added support for the TELNET NEW-ENVIRON sub-negotition, used to specify the Workstation ID to iSeries hosts, as specified by RFC 4777.
- [c3270, wc3270] Corrected a problem with mouse clicks on the top two lines on the screen.
- [all] Included SSL documentation.

## Changes in version 3.3.12a4, 8. December 2010

- [wc3270] Restored the SSL option in the Session Wizard.

## Changes in version 3.3.12a3, 2. December 2010

- [All] Completed the options and resources needed for complete OpenSSL support.

## Changes in version 3.3.12a2, 25. November 2010

- [pr3287, wpr3287] Added a -ffeoj option to output a formfeed at the end of each print job.

## Changes in version 3.3.11ga6, 19. September 2010

- [wc3270] Fixed an issue with non-ASCII text in the Info command.
- [wc3270] Removed junk characters from the top line of model 5 screens.
- [pr3287, wpr3287] Corrected an issue with missing newlines at the end of each formatted 3270 stream Write command.
- [pr3287, wpr3287] Modified the -trnpre and -trnpost options to open the files for each print job, so they can be changed between print jobs.

## Changes in version 3.3.11beta5, 30. July 2010

- [all 3270] Improved tracing. Trace entries now include time stamps. Trace file limits operate much more simply. A trace file name can start with ">>" to have the data appended to the file.
- [all 3270] Allow -scriptport TCP ports to be re-used quickly.

## Changes in version 3.3.11beta4, 25. July 2010

- [wc3270] Corrected a problem where mouse input would be ignored after screen printing (Alt-P) or use of the Execute() action.
- [wc3270] Added a bellMode resource to allow precise control of what wc3270 does in response to ALARM WCCs and BELL characters.
- [c3270] Fixed a problem with hangs when a connection fails on recent versions of Cygwin.
- [x3270, c3270, wc3270] Added a new token to the printer.assocCommandLine and printer.luCommandLine resources: %O% will be substituted with the value of the new printer.options resource. This allows extra options such as -emflush to be passed easily to pr3287 and wpr3287 sessions without having to redefine the rather ugly printer.assocCommandLine and printer.luCommandLine resources.
- [pr3287] Fixed a build issue on platforms that use the iconv library, such as Macs.
- [all] Added a bindLimit resource (default true) to control whether the screen dimensions specified by the host in a BIND image will be obeyed.
- [wc3270] Fixed the cursor position toggle to turn off correctly.
- [c3270 and wc3270] Added a menu option to toggle underscore mode.
- [c3270] Fixed underscore mode to only affect underlined fields.

## Changes in version 3.3.11beta3, 7. July 2010

- [pr3287 and wpr3287] Added the -emflush option, to flush pending printer output when an EM order is received in unformatted 3270 mode. This helps preserve multi-page output from hosts that to not clear the 3270 buffer between pages.

## Changes in version 3.3.11beta2, 6. May 2010

- [c3270, wc3270] Added a menu bar and pop-up keypad, usually controlled by the mouse or by the new Menu and Keypad actions.
- [c3270, wc3270] Implemented the showTiming toggle, to display the time taken for the host to process an AID in the OIA.
- [wc3270] Overhauled auto-shortcut mode, so that no shortcut is needed to run a wc3270 session file.

## Changes in version 3.3.10ga5, 6. May 2010

- [c3270] Corrected a screen refresh problem when first connected.
- [wc3270] Include the font size and oversize dimensions in the automatically-generated shortcuts.
- [c3270] Allow the 'c3270.printer.command' resource.
- [x3270] Fixed a problem with temporary keymaps being cleared when connecting to or disconnecting from a host.
- [x3270, c3270] Corrected some APL characters that were not displayed correctly with Unicode fonts.
- [all] Corrected operation on EBCDIC-based hosts.
- [all] Corrected the behavior of hostname prefixes such as L:, which were "sticky", i.e., once set they would be set for all future connections.
- [all] Corrected the reported CGCSGID for code page 1147 (french-euro).
- [all except x3270] Disabled the Query Reply report for background color support, which confused some older versions of GDDM. This report can be explicitly enabled by setting the qrBgColor resource to true.
- [all] In oversize mode, changed the terminal type to IBM-DYNAMIC.

## Changes in version 3.3.10ga4, 2. October 2009

- [all x3270] Improved the File Transfer summary display.
- [all x3270] Removed the keyboard lock when processing an Enter AID in SSCP-LU mode.
- [x3270] Fixed a build problem when DBCS support is disabled.
- [c3270] Made the special keymap key names (e.g., PRINT) case-insensitive.
- [c3270] Fixed a problem with keyboard input in ISO 8859 locales.
- [x3270] Increased the maximum number of fonts scanned to 50000.

## Changes in version 3.3.10ga3, 15. September 2009

- [x3270] Fixed some bugs in the xmkmf-free build.

## Changes in version 3.3.10alpha2, 10. September 2009

- [c3270] Added the ability to move the 3270 cursor with the mouse, if the terminal supports it. Add a Mouse resource, which can be set to False to disable it.
- [all 3270] Added a Translate keyword to the Transfer action's parameters and an additional question to the interactive c3270/wc3270 Transfer dialog, to allow the automatic remapping of text (usually done to get the most accurate translation) to be disabled.
- Restored the pop-up window that displays trace files.

## Changes in version 3.3.10alpha1, 3. September 2009

- [3270] Allow the program to be built without xmkmf.
- [all 3270] Fixed the mapping of EBCDIC X'FF' to U+009F in ASCII-mode file transfers.
- [all 3270] Fixed a crash in CUT-mode binary file sends, and corrected the local fopen() flags when receiving a binary file.
- [x3270] Added the APL up- and down-arrow characters (↑ and ↓) to the 12-point fonts (thanks to Paul Scott for the fix).
- [all 3270] Script comments are now allowed (any input line beginning with # or !).
- [wc3270] Added support for the Enhanced keymap modifier (EnhancedReturn is the keypad Enter key. Also added Enter, PageUp and PageDown as aliases for the Windows keys RETURN, PRIOR and NEXT.
- [wc3270] Added oversize, font size and background color support to the Session Wizard.
- [x3270] Fixed a problem with ignored -set and -clear options.
- [c3270 and wc3270] Added support for the -oversize auto option, which allows the emulator to use the entire area of the terminal or console window it is running in.
- [x3270] Removed the huge delay at start-up.
- [x3270, c3270, s3270 and wc3270] Added support for TCP-socket-based scripting via the -scriptport option. For wc3270, this is the first time that scripting has been available.
- [all 3270 except x3270] Added support for the screenTraceFile resource.
- [all 3270] Fixed a file descriptor leak with the -socket option.
- [all 3270] Fixed a crash with the Toggle action and undefined toggles.
- [wc3270] Implemented no-install mode (allowing wc3270 to run without installing the software) and auto-shortcut mode (where wc3270 automatically creates a temporary shortcut file to match a session file and runs it).
- [all 3270] When a hostname resolves to multiple addresses, try each until one works.
- [all 3270] Corrected an issue where the keyboard would lock on the first screen when connecting to hosts like Hercules.
- [wc3270] Added mappings of the Page Up and Page Down keys to PF(7) and PF(8) respectively.
- [wc3270, ws3270] Removed the .dll files from the distribution.
- [c3270] Corrected an issue with cursor and function keys not being recognized if they are the first key pressed.
- [all 3270] BIND image screen sizing is now observed.
- [pr3287 and wpr3287] Corrected the -charset documentation on the manual page.
- [all 3270] Resurrected flipped-screen mode via the Flip and ToggleReverse actions.
- [all 3270] Added a Seconds form to the Wait action, allowing a script or macro to delay itself an arbitrary length of time.
- [wc3270] Modified the PrintText action so that Wordpad is started minimized.

## Changes in version 3.3.9ga11, 25. March 2009

- [x3270 and c3270] Re-enable the ibm_hosts file (it was accidentally being ignored).
- [all but wc3270] Don't crash when there is no iconv translation for the locale codeset.
- [all but x3270] Fixed a build failure in glue.c when DBCS was disabled.
- [wc3270] Corrected the default keymap so that the uppercase versions of the Alt mapping also work.
- [wc3270] Corrected the documentation of the printTextFont and printTextSize resources.
- [c3270] Corrected a number of errors in parsing CursesColorForxxx resources.
- [c3270] Added support for -rv, which puts c3270 into black-on-white mode.
- [c3270] Added support for 16-color terminals, with the -color8 option overriding this and forcing 8-color support only. On a 16-color terminal, -allbold is no longer the default.
- [c3270, wc3270, s3270 and tcl3270] Ensured that command-line parameters override session files.
- [c3270] Made session files replace profiles, rather than just overridding any common definitions. This is more intuitive and consistent with x3270.

## Changes in version 3.3.9ga11, 27. February 2009

### Common Changes

- Improved hostname parsing. Now backslashes can be used to quote any character, and square brackets can be used to quote any element (LU name, host name, or port).
- Fixed a number of compiler warnings from newer versions of gcc and a number of small memory leaks.
- Overhauled the host code pages and CGCSGIDs for DBCS. Added sbcsCgcsgid and dbcsCgcsgid resources to override the compiled-in values.
- Added a caption text option to the PrintText action, which will place the specified caption above the screen image. Within the text, the string `%T%` is interpolated to a timestamp.
- Improved the state dump when tracing starts to include NVT and SSCP-LU state and the SNA BIND image.
- Updated the copyright and licensing notices (now a standard BSD license).
- Added support for carriage-return (0x0d) characters in the String action, which imply the Newline action.
- Changed the Attn action so that it sends an IAC BREAK in TN3270 mode, and locks the keyboard in TN3270E mode when the session is not SNA bound.
- Added Traditional Chinese (host code page 937) support.
- Extended the String action's \e and \x sequences to accept 4-digit hex values, thus allowing EBCDIC DBCS input and arbitrary Unicode input. Also added \u as an alias for \x.

### Changes to x3270

- Fixed a crash when pasting an empty selection.
- Made the Query Reply response for x3270 identical to the other tools.
- Included fonts for Traditional Chinese.

### Changes to x3270 and c3270

- Removed the nested copy of pr3287. from the source. pr3287 must now be built separately from its own package.

### Changes to wc3270

- Corrected a problem with color mapping in the OIA.
- Changed the New Session Wizard to the Session Wizard and gave it the ability to edit existing session files and re-create missing session files. Note that this ability is limited to session files created with 3.3.9beta10 or later.
- Added a wc3270.printer.codepage resource to set the Windows code page for the associated pr3287 printer session.
- Simplified the operation of the New Session Wizard, so it asks fewer questions.
- Added a pager to interactive mode.
- Made the PrintText font and point size configurable via the printTextFont and printTextSize resources.
- Changed the default 'blue' color for created shortcuts to a somewhat lighter shade, to make it more readable.
- Changed the Session Wizard to specify the code page and proper font when creating shortcuts for DBCS sessions. This should allow DBCS to work on Windows 2000 and Vista.
- Included ws3270 in the wc3270 release.

### Changes to c3270 and wc3270

- Added feedback for the progress of file transfers.
- Implemented the Info action, which writes a message to the OIA (the line below the display).
- Added a no-prompt mode, via the -noprompt command-line option and the noPrompt resource .
- Added automatic reconnect, via the -reconnect command-line option and the reconnect resource.

### Changes to ws3270 (formerly available as a pre-release)

- Fixed a bug which resulted in all command timings being displayed as '-'.
- Added the -localcp option and localCP resource to change the Windows code page used for local workstation I/O.
- Added DBCS support and support for building using Microsoft tools.

### Changes to pr3287 and wpr3287

- Fixed a serious character-mapping bug.
- Added DBCS support.

### Changes to specific versions

- [c3270, s3270, s3270, ws3270 and x3270] Added support for session files.
- [All except wc3270 and ws3270] Extended the rtf option of the PrintText to non-Windows platforms.
- [All except x3270] Fixed a number of issues with -xrm option processing and keymap display when backslash sequences were used.

## Changes in version 3.3.8p2, 13 December 2008

- [wc3270] Corrected the handling of 8-bit and DBCS characters in the PrintText action.
- [tcl3270] Extended `configure` to find the Tcl library version automatically.
- [wc3270] Corrected a problem which caused mouse clicks not to be recognized (not moving the cursor) if NumLock was set.
- [all] Corrected the `configure` script to recognize a separately-installed iconv library even if the iconv() function is defined in libc.
- [wc3270] Restored the bell sound, and added a visualBell resource to disable it.

## Changes in version 3.3.8p1, 20 October 2008

- [wc3270] Restored the Ctrl-] mapping for the Escape action, which had been inadvertently removed.
- [wc3270] wc3270 now starts successfully on Windows Vista.
- [c3270] On platforms that require the iconv library, c3270 once again recognizes ncurses names in keymaps.
- [x3270] The module `keysym2ucs.c` now builds on FreeBSD.
- [x3270] Selections now work properly on platforms that do not support `XA_UTF8_STRING`.

## Changes in version 3.3.8, 11 October 2008

Version 3.3.8 includes a significant internal change, using Unicode for all translations between the host and the local workstation. This change should be transparent, but users who depended on certain behaviors of the old implementation may see unexpected differences.

### Common Changes

- Many more EBCDIC characters, such as Graphics Escape line-drawing and APL characters, are now properly displayed (even without special 3270 fonts), traced, cut/pasted with other applications, and returned by scripting actions like Ascii.
- With two exceptions, the locale's encoding is now observed consistently when reading keymaps, generating trace files, etc. The exceptions are:
  - tcl3270 always uses UTF-8, per the internal Tcl convention.
  - Because Cygwin doesn't really support locales, the Windows ANSI code page is used as the local encoding instead.
  - Stateful encodings such as ISO 2022 are untested and very likely do not work.
- The ICU library is no longer used, and ICU .cnv files are no longer included with the code.
- Translation to/from the local encoding requires one of two facilities: Either libc must support `__STDC_ISO_10646__` (wchar_ts are defined to be unicode values, as on Linux and Windows), or there must be an iconv library that can translate between UTF-8 and all local encodings.
- DBCS support is enabled by default, except on Windows. It can be explicitly disabled in the configure script to reduce the size of the executable (removing several large translation tables).
- The -v/--verbose option has been added to display build and copyright information.
- The Thai host code page has changed from 838 to 1160.

### Changes Common to the 3270 Terminal Emulators

- The Key action now accepts Unicode arguments in the form U+nnnn, removing possible ambiguity from translating from the
- Added a Source action to read script commands from a file.
- Added a 10 second timeout to the start of the Transfer action.
- Added an unlockDelayMs resource to change the number of milliseconds of delay before atually unlocking the keyboard after the host requests it. The default is 350; use 0 to disable the delay altogether.
- IND$FILE file transfer now transfers DBCS text files properly.

### Changes Common to 3287 Printer Emulators

- Added direct support for all x3270 host character sets via the -charset option.
- Added -trnpre and -trnpost options to specify files containing transparent data to send to the printer before and after each print job, respectively.

### Product-Speific Changes

- [x3270] Commands entered into the Print Screen Text dialog are now saved by the Save Changed Options in File option.
- [x3270] Fixed some bad interactions between the pop-up keypad and the GNOME window manager.
- [x3270] The Euro fonts have been folded into the standard fonts.
- [x3270] The font menu is now arranged hierarchically by foundry and family.
- [c3270] Added an underscore toggle to allow underlined fields to be displayed even on consoles with no native underlining support, by substituting underscore '_' characters for blanks and nulls in underlined fields.
- [c3270] Overhauled Meta and Alt key support. Removed support for the archaic Meta modifier in keymaps (it was an alias for setting bit 0x80 in each key). Replaced it with an Alt modifier, which matches the ESC sequence sent for the Alt key by many terminals, and which can be combined with full 8-bit input characters.
- [c3270] Changed the interpretation of keymaps so that keys and symbols are matched in Unicode. That is, keymap text is converted from the current locale's encoding to Unicode before matching, and input character codes are converted to Unicode before matching. This eliminates the difficulty in creating keymaps and interpreting traces in non-Latin-1 locales -- needing to translate from the accidental interpretation of 8-bit values as Latin-1 when they are not -- but with the side-effect of rendering some carefully-crafted existing keymaps invalid. Keymaps can also be written using Unicode U+nnnn notation.
- [c3270] Changed the metaEscape resource so that auto means on, instead of using the terminfo km resource.
- [c3270] Added an acs resource to control the use of curses ACS codes. If c3270.acs is set to true (the default), c3270 will use curses ACS codes for line-drawing characters. If set to false, it will display line-drawing characters with Unicode.
- [wc3270] Added an underscore toggle to control how underlined and blinking fields are displayed. If it is set (the default), underlined fields are displayed by substituting underscore (_) characters for blanks and nulls, and blinking fields actually blink. If it is clear, underlined and blinking fields are displayed with highlighted backgrounds, which is compatible with previous verions of wc3270.
- [wc3270] Left-clicking with the mouse will now move the cursor to that location.
- [wc3270] The PrintText action now works, and is mapped by default to the sequence Alt <Key>p. The printer.name resource defines the default printer to use.
- [wc3270] The PrintText action can now be used to produce a RichText snapshot of the screen contents, via the rtf keyword.
- [wc3270] The program longer attempts to set the console code page, which was error-prone and unnecessary.
- [wc3270] The idle command feature now works, controlled by the idleCommand, idleCommandEnabled and idleTimeout resources.
- [wc3270] The program no longer attempts to set the console code page, which could lead to hangs on Vista.
- [wc3270] The installation now creates a program group item to explore the wc3270 Application Data directory.
- [wc3270] Corrected a problem with console color overrides, which prevented reverse-video mode (white background) from working properly. For now, the recommended method for enabling reverse video mode is to add these lines to your session file:

            wc3270.consoleColorForHostColor0: 15
            wc3270.consoleColorForHostColor7: 0

- [wc3270] wc3270 now builds with the Microsoft tools. The file `Msc/Makefile` is a makefile for nmake.
- [tcl3270] Added a commandTimeout resource to force any Tcl3270 command to time out after the specified number of seconds. (Thanks to Mark Young.)
- [tcl3270] Fixed a per-command memory leak. (Thanks to Mark Young.)
- [wpr3287] Added a -printercp option to specify a particular code page for printer output.
- [wpr3287] wpr3287 now builds with the Microsoft tools. The file `Msc/Makefile` is a makefile for nmake.

## Changes in x3270 3.3.7p8, 28. August 2008

- Bug Fixes:
  - Corrected the buffer addressing mode logic for oversize screens.

## Changes in x3270 3.3.7p7, 4. July 2008

- Bug Fixes:
  - Corrected input of 8-bit characters when x3270 is run in a UTF-8 locale.
  - Corrected a bug which sometimes left the local file open after a failed file transfer.
- New Features:
  - Added \eXX support to the String() action, which allows an EBCDIC code to be entered.

## Changes in x3270 3.3.7p3, 22. February 2008

- Bug Fixes:
  - Fixed an issue with Idle commands, which would cause x3270 to exit with a Not Found error as soon as the idle command fired.

## Changes in x3270 3.3.7, 25. December 2007

- Bug Fixes:
  - Fixed the annoying delay when x3270 starts with an error pop-up.
  - Shortened the manpage so that it displays on non-groff platforms. The full text is still available in the HTML version.
  - Plugged a number of memory leaks.
  - x3270 will now compile on platforms that do not support IPv6, such as Cygwin.
  - x3270 will no longer crash or spin when the -script option is used.
  - Shifted function keys should work again (they map to PF13-PF24).
  - The screen can now be resized larger, as well as smaller.
  - Removed the dependency on `<bitmaps/gray>`, which required installing an obscure X11 development package on some platforms.
- New Features:
  - Added UTF-8 support. If the current locale specifies UTF-8 encoding, then all text output (trace data, script interactions, screen snapshots, etc.) will be UTF-8 encoded, and all text input (arguments to the Key and String actions, etc.) must be UTF-8 encoded. In addition, the NVT-mode xterm/VT100 emulator will expect UTF-8.
  - Added a SelectAll action, mapped to Ctrl-A.

## Changes in c3270 3.3.7p8, 28. August 2008

- Bug Fixes:
  - Corrected the buffer addressing mode logic for oversize screens.
  - Allowed c3270 to build under SLES 10's unusual ncurses configuration.

## Changes in c3270 3.3.7p7, 4. July 2008

- New Features:
  - Added \eXX support to the String() action, which allows an EBCDIC code to be entered.
- Bug Fixes:
  - Corrected a bug which sometimes left the local file open after a failed file transfer.

## Changes in c3270 3.3.7p4, 29. February 2008

- Bug Fixes:
  - Fixed c3270's configure script again, so it will build on systems without the ncurses library.
  - Enabled idle command functionality, which had been accidentally disabled.

## Changes in c3270 3.3.7p1, 28. December 2007

- Bug Fixes:
  - c3270's configure script would not detect missing ncurses header files, and c3270 would not build if ncursesw was not installed.

## Changes in c3270 3.3.7, 25. December 2007

- Bug Fixes:
  - c3270 will now display characters such as the notsign ¬ properly in terminal windows in UTF-8 locales. Note that this display support requires an ncurses or curses library that supports wide characters.
- New Features:
  - Added UTF-8 support. If the current locale specifies UTF-8 encoding, then all text output (trace data, script interactions, screen snapshots, etc.) will be UTF-8 encoded, and all text input (arguments to the Key and String actions, etc.) must be UTF-8 encoded. In addition, the NVT-mode xterm/VT100 emulator will expect UTF-8.
  - Added display of the host code page and locale codeset to the show status command.
  - Added support for changing the color mappings. The curses color for a given host color can be specified with the resource c3270.cursesColorForHostColorn, where n is a host color number (0 through 15), and the value of the resource is a curses color number (0 through 7).
    In addition, the field-attribute-based colors used when the host does not specify a particular color can be changed via the following resources:

        c3270.cursesColorForDefault
        c3270.cursesColorForIntensified
        c3270.cursesColorForProtected
        c3270.cursesColorForProtectedIntensified

    The value for each of these is a curses color number (0 through 7).

## Changes in wc3270 3.3.7p8, 28. August 2008

- Bug Fixes:
  - Fixed idle command support.

## Changes in wc3270 3.3.7p7, 4. July 2008

- New Features:
  - Added \eXX support to the String() action, which allows an EBCDIC code to be entered.
- Bug Fixes:
  - Fixed a problem with transferring binary files, where 0x0d characters might be acidentally added to or removed from the data.
  - Corrected a bug which sometimes left the local file open after a failed file transfer.

## Changes in wc3270 3.3.7p5, 11. April 2008

- Bug Fixes:
  - After installation is complete, get rid of mkshort.exe, which shares its name (but not its functionality) with a computer surveillance application.
  - Corrected several issues with key event processing and the default keymap.

## Changes in wc3270 3.3.7p3, 22. February 2008

- Bug Fixes:
  - Changed the New Session Wizard to create the Application Data directory, so wc3270 can be run by any user, not just the one that installed it.
  - Changed the default window title from the pathname of the session to just the session name.

## Changes in wc3270 3.3.7p2, 15. January 2008

- Bug Fixes:
  - Fixed an embarassing problem that kept wpr3287 from starting.

## Changes in wc3270 3.3.7, 25. December 2007

- Bug Fixes:
  - Fixed line-drawing characters.
  - Enabled IPv6 support for Windows XP and later.
  - Set the input code page correctly, so that keyboard input works correctly when there is a mismatch between the default Windows code page and the code page implied by the wc3270 character set option.
- New Features:
  - Added limited support for Windows 98. wc3270 will install and run on Windows 98, but internationalization support is limited -- the only supported host code page is 37, and the only supported Windows code page is 437. This is expected to improve in the future.
  - Added a wc3270.highlightUnderline resource to control highlighting of underlined and blinking text. (Set to false to disable background highlighting.)
  - Moved session files, keymaps and trace files to the Application Data directory. (wc3270 will still look in its installation directory for session files and keymaps, after first searching the Application Data directory.) This makes wc3270 a better Windows citizen in general, and a better Vista citizen in particular.
  - Added support for changing the color mappings. The console color for a given host color can be specified with the resource wc3270.consoleColorForHostColorn, where n is a host color number (0 through 15), and the value of the resource is a console color number (0 through 15).
    In addition, the field-attribute-based colors used when the host does not specify a particular color can be changed via the following resources:

        wc3270.hostColorForDefault
        wc3270.hostColorForIntensified
        wc3270.hostColorForProtected
        wc3270.hostColorForProtectedIntensified

    The value for each of these is a host color number; the actual color displayed is defined by the corresponding wc3270.consoleColorForHostColorn resource.
  - Added a new cp1153 character set. It implements host code page 1153 and uses Windows code page 1250, used primarily in Central Europe.
  - Added display of the Windows code page to the character set screen in the New Session Wizard.
  - Added display of the host and Windows code pages to the show status command.

## Changes in s3270 3.3.7p8, 28. August 2008

- Bug Fixes:
  - Corrected the buffer addressing mode logic for oversize screens.

## Changes in s3270 3.3.7p7, 4. July 2008

- New Features:
  - Added \eXX support to the String() action, which allows an EBCDIC code to be entered.
- Bug Fixes:
  - Corrected a bug which sometimes left the local file open after a failed file transfer.

## Changes in s3270 3.3.7, 25. December 2007

- Bug Fixes:
  - (none)
- New Features:
  - Added UTF-8 support. If the current locale specifies UTF-8 encoding, then all text output (trace data, screen snapshots, the Ascii and ReadBuffer(Ascii) actions, etc.) will be UTF-8 encoded, and all text input (arguments to the Key and String actions, etc.) must be UTF-8 encoded. In addition, the NVT-mode xterm/VT100 emulator will expect UTF-8.

    NOTE: If you were were previously running s3270 in a UTF-8 locale, this is an incompatible change. To ensure the previous behavior, set your locale to C before starting s3270.

## Changes in tcl3270 3.3.7p8, 28. August 2008

- Bug Fixes:
  - Corrected the buffer addressing mode logic for oversize screens.

## Changes in tcl3270 3.3.7p7, 4. July 2008

- New Features:
  - Added \eXX support to the String() action, which allows an EBCDIC code to be entered.
- Bug Fixes:
  - Corrected a bug which sometimes left the local file open after a failed file transfer.

## Changes in tcl3270 3.3.7p3, 22. Febuary 2008

- Bug Fixes:
  - Fixed a problem with non-ASCII characters returned by the Ascii command.
  - Fixed a problem with the Connect command, which resulted in subsequent actions not blocking properly.

## Changes in tcl3270 3.3.7, 25. December 2007

- Bug Fixes:
  - (none)
- New Features:
  - Added UTF-8 support. If the current locale specifies UTF-8 encoding, then all text output (trace data, screen snapshots, the Ascii and ReadBuffer actions, etc.) will be UTF-8 encoded, and all text input (arguments to the Key and String actions, etc.) must be UTF-8 encoded. In addition, the NVT-mode xterm/VT100 emulator will expect UTF-8.

## Changes in pr3287 3.3.7p8, 28. August 2008

- Bug Fixes:
  - Fixed the interpretation of SCS CR characters.<\li>

## Changes in pr3287 3.3.7, 25. December 2007

- Enhancements:
  - Added proxy support via the -proxy option.

## Changes in wpr3287 3.3.7p8, 28. August 2008

- Bug Fixes:
  - Fixed the interpretation of SCS CR characters.<\li>

## Changes in wpr3287 3.3.7, 25. December 2007

(none)

## Changes in x3270 3.3.6, 23. June 2007

- Bug Fixes:

- Fixed the highlighted attribute for individual regions of the screen (versus the highlighted field attribute); it had been accidentally disabled.

- New Features:
  - Added support for IBM Code Page 1047 (-charset cp1047).
  - Added proxy support via the -proxy option or the proxy resource.
  - Modified Blank Fill mode to treat trailing underscore chararacters ('_') like blanks when checking for input overflow.
  - Pseudo-Color mode is no more. This was the mode that x3270 used when a 3278 model was specified, or if the m3279 resource were set to False. Pseudo-Color assigned colors to regions of the screen based on intensity and light-pen selectability, and did not support 3279 colors. Now turning off color or selecting a 3278 results in something that looks like a 3278 (i.e., it's green). To resurrect Pseudo-Color mode, set the following resources:
    x3270.inputColor: orange
    x3270.boldColor: cyan

## Changes in c3270 3.3.6, 23. June 2007

- Bug Fixes:
  - The code now builds with ICU 3.6.
  - Got local process (-e) support to work again.
  - Fixed -mono -allbold mode.
  - c3270 now paints the entire screen, not just the areas it intends to use, so there are no uninitialized regions.
- New Features:
  - Added support for IBM Code Page 1047 (-charset cp1047).
  - Added proxy support via the -proxy option or the proxy resource.
  - Added support for the 3270 background color attribute.
  - Added more mappings to the 3270 default keymap (IC -> ToggleInsert, Ctrl<Key>U -> DeleteField, etc.).
  - Modified Blank Fill mode to treat trailing underscore chararacters ('_') like blanks when checking for input overflow.
  - Like x3270 and wc3270, -model 3278 now specifies a green-screen 3278 (if the terminal supports color), and like x3270, -mono specifies that any color capabilities reported by the terminal should be ignored.

## Changes in wc3270 3.3.6, 23. June 2007

- Bug Fixes:
  - Restored line-drawing character support.
  - Restored background color support in NVT mode.
  - Corrected some screen rendering issues.
  - Fixed screen trace (-set screenTrace).
  - Removed the -mono option and mono resource.
- New Features:
  - Added the Spanish character set, CP 284.
  - Added proxy support via the -proxy option or the proxy resource.
  - Added support for setting the window title, either automatically, or via the -title option or wc3270.title resource.
  - Added gray background highlighting of underlined and blinking text. Windows consoles don't support these attributes, but at least they can be distinguished from other text now.
  - Added background color support in 3270 mode.
  - Added a window to monitor trace output.
  - Greatly improved key event tracing.
  - Modified Blank Fill mode to treat trailing underscore chararacters ('_') like blanks when checking for input overflow.

## Changes in s3270 3.3.6, 23. June 2007

- Bug Fixes:
  - The code now builds with ICU 3.6.
  - Removed the -mono option and mono resource.
- New Features:
  - Added proxy support via the -proxy option or the proxy resource.
  - Modified Blank Fill mode to treat trailing underscore chararacters ('_') like blanks when checking for input overflow.

## Changes in tcl3270 3.3.6, 23. June 2007

- Bug Fixes:
  - The code now builds with ICU 3.6.
  - Removed the -mono option and mono resource.
- New Features:
  - Added proxy support via the -proxy option or the proxy resource.
  - Modified Blank Fill mode to treat trailing underscore chararacters ('_') like blanks when checking for input overflow.

## Changes in wc3270 3.3.5p9, 10. June 2007

- Bug Fixes:
  - The shortcut cursor size property is now obeyed.
  - The -model 3278 option now works correctly.
- New Features:
  - Added secure connection status to the status line and the show status command.
  - Reverse video is now supported.
  - Added support for IBM Code Page 1047 (-charset cp1047).
  - Added a keymap tutorial to the documentation.

## Changes in wc3270 3.3.5p8, 29. April 2007

- Bug Fixes:
  - Fixed a hang when wpr3287 exits unexpectedly.
  - Improved behavior when input comes from multiple sources, such as when pasting text.
  - Greatly improved screen update speed.
- New Features:
  - Added wpr3287 support back to the wizard. It was in the GUI version, but was never in the text version.
  - Integrated new back-end printer support in wpr3287, including a new wc3270.printer.name resource.
  - Added a Paste() action, mapped to Ctrl-V, to do multi-line paste properly.
  - Added a .wc3270km suffix to keymap files.
  - Added keymap support to the wizard.
  - Added interactive prompting to the Transfer() action.

## Changes in wpr3287 3.3.5p8, 29. April 2007

- New Features:
  - Added direct support for Windows printers, instead of relying on the DOS PRINT command. This included changing the -command option to a -printer option, to specify the Windows printer to use as a back end.

## Changes in x3270 3.3.5p6, 7. April 2007

- Bug Fixes:
  - x3270 will now build with ICU 3.6.
  - A long-standing screen update bug is finally fixed.
  - The unused x3270hist.pl script is no longer installed.

## Changes in c3270 3.3.5p4, 7. April 2007

- Bug Fixes:

- c3270 can now be built without File Transfer support.
- The unused x3270hist.pl script is no longer installed.

## Changes in wc3270 3.3.5p3, 2. March 2007

- Bug Fixes:
  - Reverted the wc3270 New Session Wizard to the non-GUI version, because the GUI version, built with Microsoft Visual C++ 2005 Express Edition, had too many dependencies (latest service pack, .NET framework) on the target machine.

## Changes in wc3270 3.3.5p2, 16. February 2007

- Bug Fixes:
  - Ensured that the desktop shortcuts specify Lucida Console, so non-ASCII-7 characters are displayed properly.
- New Features:
  - Added a file association for the .wc3270 suffix.
  - Replaced the console version of the New Session Wizard with a proper GUI version.

## Changes in wc3270 3.3.5p1, 6. February 2007

- Bug Fixes:
  - Added the working directory to the desktop links created by the setup program.
- New Features:
  - Added printer session (wpr3287) support.

## Changes in x3270 3.3.5, 1. February 2007

- Bug Fixes:
  - Fixed a crash when the user's home directory or the ~/.x3270connect file wasn't writeable.
  - Fixed some endcases when pasting text that wraps lines and a field skip is encountered.
  - Fixed the handling of SI characters in cut/pasted text.
  - Allow the use of ICU version 3.0 or greater.
  - Fixed a scripting hang when the host disconnects during Wait(output)).
  - Turned the unlockDelay option back on by default.
  - Fixed a problem where unlockDelay could result in the keyboard never unlocking, if the host unlocked the keyboard often enough.
  - Added a workaround for very old snprintf() implementations.
  - Fixed a problem with DBCS input corrupting existing DBCS subfields.
  - Fixed a problem with the Wait action in the expect glue. (Thanks to Jason Howk for the fix.)
  - Enlarged the input buffer in x3270if. (Thanks to Igor Klingen for the fix.)
  - Fixed a SIGCHLD handler issue on AIX.
  - Fixed a problem with CR/LF translation on ASCII file transfers.
- New Features:
  - Added a -socket option to x3270, s3270 and c3270 to allow a script to connect to a Unix-domain socket to control the emulator, and added a -p option to x3270if to connect to the socket.
  - Added optional support for plugins, with a first plugin to implement command history on VM/CMS and TSO hosts.
  - Allow arbitrary color names (#rrggbb) to be used in color schemes.
  - Added support for hierarchical macro menus.
  - Added an XkSelector resource to allow transparent support of non-English keyboards.
  - Added preliminary support the 16-bit display fonts and the Persian character set.
  - Added Title and WindowState actions to allow the x3270 window title and icon state to bw changed respectively.

## Changes in x3270 3.3.4, 10. April 2005

- Bug Fixes:
  - The code once again builds on Cygwin and other systems not supporting IPv6.
  - The -xrm option works again in x3270.
  - The -name X Toolkit option works with x3270, though not yet with app-defaults files.
  - Removed spurious 'no child' error messages from pr3287 on some systems.
  - Removed unintended blank-line suppression from the output of PrintText html string.
  - Restored some missing keymap definitions (rlx, ow) and some missing lines from other keymap definitions (apl).
  - Restored the automatic keyboard unlock delay when processing a macro or string. This allows macros and strings with embedded AID sequences to work with hosts that unlock the keyboard before they finish processing a command. Scripts are presumed to be able to figure out when the host is finished, or can set the unlockDelay resource to true get the delay all the time.
  - Fixed an apparent hang (actually just extreme slowness) when the host sends a message larger than 4 Kbytes on an SSL tunnel.
  - Removed spurious 'Wait timed out' errors in the Wait action.
- New Features:
  - Added a newer, more flexible version of Don Russell's RPQNAMES support.
  - Added support for IPv6.
  - Added an oldclick keymap to restore the pre-3.3 mouse click behavior.

## Changes in x3270, c3270, s3270 and tcl3270 3.3.3beta2, 1. February 2005

- Bug Fixes:
  - Reduced the Resident Set Size (RSS) of x3270 from about 40 MBytes to less than 4 MBytes. This was a bug in how compiled-in app-defaults files were generated.
  - Got separate app-defaults files (configure --enable-app-defaults) to work again.
  - Fixed a crash when a login macro is used in NVT mode or when the host un-negotiates TN3270E mode.
  - Fixed the titles of the Copyright and Configuration pop-ups.
  - Temporarily disabled the RPQNAMES Query Reply. It was causing IBM QMF to crash. It can be re-enabled by adding #define X3270_RPQNAMES 1 to conf.h. Hopefully a proper fix can be found shortly.
- New Features:

## Changes in x3270, c3270, s3270 and tcl3270 3.3.3beta1, 31. December 2004

- Bug Fixes:
  - The Transfer() action did not work at all -- it generated (null) as the name of the IND$FILE command. Also improved its behavior when invoked from a script or macro in x3270 and c3270.
  - Corrected the definition of the hebrew (code page 424) character set, removing undefined characters.
  - Corrected the display character set for the brazilian (code page 275) character set.
  - Corrected the character set definition logic so that undefined ASCII codes are truly undefined in NVT mode.
  - Corrected the ibm_hosts file (the hostsFile resource or the -hostsfile option). Variable and tilde substitution are now performed on the value, and if a non-default value is specified and the file does not exist, an error pop-up is generated.
  - Added a pause to make sure that c3270 start-up error messages will be seen.
  - Got the c3270 default field colors right, and made all-bold mode actually make all the fields bold.
  - Fixed the default primary/alternate screen size (it was alternate, it's supposed to be primary).
  - Fixed c3270 color support with ncurses and 80/132 screen-size switching. Sometimes only one of the screen sizes had color.
  - Fixed a memory leak in pr3287 when the -reconnect option is used. (Thanks to Marcelo Lemos for the fix.)
  - Fixed the output of NVT-mode ANSI line-drawing characters in the Ascii() scripting action. These were formerly all output as blanks; now they are output in the same was as x3270 3.2.
  - Fixed the display of NVT-mode ANSI line-drawing characters when x3270 is using a 3270 font.
  - Fixed the display of DBCS blanks, which sometimes displayed as 'undefined' characters.
  - Fixed DBCS character display with fonts whose maximum bounds are larger than their reported line-spacing bounds.
  - Fixed make depend.
  - Fixed x3270_glue.expect, which got confused when there was a whitespace-delimited double-quote in the emulator output.
  - Fixed crashes when the entire File or Options menus were suppressed.
  - Fixed a scripting hang when an UNBIND command arrived while an AID was pending.
  - Fixed a problem with the incomplete processing of a NULLing Program Tab order, which could leave formatting artifacts on the screen.
  - Removed <subchar1> clauses in two of the .ucm files that prevents later versions of ICU's makeconv from accepting them, and removed DOS carriage-return characters from the CP837 .ucm file.
  - Corrected some DFT-mode file upload problems: corrected the data length, and corrected an empty-buffer problem when the file size was an even multiple of the buffer size.
  - Corrected a DBCS conversion problem with ICU 3.0.
  - Added variable buffer-size support to DFT file transfers.
  - Corrected a line-drawing character bug in c3270.
  - Fixed a buffer overflow problem in the ReadBuffer action.
  - Fixed garbage characters generated for APL data by the Ascii and ReadBuffer actions.
  - Allow 0 timeouts in Wait actions.
- New Features:
  - Added command-line options to the pr3287 trace file.
  - Added support for dead keys (acute, grave, circumflex, tilde, diaeresis) to the x3270 default keymap, and improved the Latin-1 compose map. (Thanks to Marcelo Lemos for the change.)
  - Added new actions for improved mouse interactions, and made them the default. Button 1 now moves the cursor, without the Shift key.
  - Added support for DBCS in pr3287, but only when started from an x3270 or c3270 session.
  - Added Don Russell's RPQNAMES support.
  - Removed Minolta-copyrighted 5250 code, because of licensing problems.
  - Added an aidWait toggle to allow AID script actions (Clear, Enter, PA and PF) to complete immediately without waiting for the host to unlock the keyboard, and a Wait(Unlock) action action to block a script until the keyboard is unlocked, regardless of the state of the new toggle.
  - Removed the old scripting hack that delayed actually unlocking the keyboard for 50ms after the host indicates that it should be unlocked. Added an unlockDelay resource, which can be set to true to turn the delay hack back on.
  - Added a dftBufferSize resource to set the default DFT buffer size.
  - Added an x3270 Save Screen Text menu option to save the screen image in a file, optionally in HTML.
  - Added options to the PrintText action to save to a file, to save HTML, and to return the text as script data.

## Changes in x3270, c3270, s3270 and tcl3270 3.3.2, 1. December 2003

- Bug Fixes:
  - Corrected an x3270 screen-redraw crash when using fixedSize and xim.
  - Corrected a problem in x3270_glue.expect, which caused Tcl syntax errors if a string began with a dash. Thanks to David Taylor for the fix.
  - Fixed a problem with x3270 DBCS input when using a single DBCS/SBCS character set.
  - Made DBCS encoding recognition automatic wherever possible, leaving the -km option for cases when x3270 can't figure it out from the locale.
  - Made c3270's configure more robust when it can't find one or the other of libncurses or ncurses.h.
  - Got automatic pr3287 start-up (-printerlu) working again in c3270.
  - Fixed an s3270 crash which made s3270 3.3.1alpha10 pretty much useless.
- New Features:
  - Added support for Cyrillic keysyms to the x3270 Default() action.
  - Added an 'unlocked' icon for unencrypted connections, if x3270 is built with SSL/TLS support.
  - Error messages are now written to the trace file.
  - The response to the TELNET TIMING MARK option has been changed to make it compatible with the majority of TELNET clients. The response to DO TIMING MARK is now WONT TIMING MARK. To restore the previous behavior (responding with WILL TIMING MARK, originally derived from the BSD TELNET client), set the resource x3270.bsdTm to true.

## Changes in x3270, c3270, s3270 and tcl3270 3.3.1alpha10, 29. August 2003

- Bug Fixes:
  - Made nondisplay fields invisible to the Ascii() action.
  - Corrected start-field values at the beginning of data stream traces and in the 3270 Read Buffer response.
  - Corrected a tight loop in the macro error cancellation logic.
  - Corrected a crash when connecting to a host and there is no menu bar visible.
  - Corrected x3270 crashes in monochrome mode (-mono) and pseudo-color mode (-model 3278).
- New Features:
  - Added a ReadBuffer() action to dump the entire contents of the 3270 buffer, including field attributes and extended attributes.
  - Added support for suppress resources for each menu item. If set to True, that menu item will not appear.
  - Added a suppressActions resource, a list of the names of actions to disable. This is primarily for controlled environments where the user does not have access to the x3270 command line, but can edit keymap definitions.
  - Added a Setverbose function to `x3270_glue.expect` to allow verbosity to be changed on the fly. (Courtesy of David Taylor.)
  - Added the ability to define resources in an environment variable, $X3270RDB. The environment variable overrides values set in the profile file, but is overridden by command-line options.
  - Added a fixedSize resource to force the x3270 main window to a particular size. fixedSize has the form widthxheight, in pixels. The 3270 display will float in the center of the window, if need be.
  - Added a new x3270 keypad position (x3270.keypad): insideRight. This positions the keypad on top of the upper right-hand corner of the x3270 window, just under the keypad button on the menu bar.

## Changes in pr3287 3.3.1alpha10, 10. August 2003

- Enhancements:
  - Added support for the -tracedir option, to specify a directory to store trace files in.
  - Added support the the -eojtimeout option, to automatically flush any pending print job after a specified period of inactivity.

## Changes in x3270, c3270, s3270 and tcl3270 3.3.1alpha9, 24. July 2003

- Bug Fixes:
  - DBCS character set names are displayed in the x3270 Options->Font menu only when DBCS support is built into x3270.
  - Removed the concept of 'per-host' resources. Use profiles for this.
  - Fixed idle commands. They were pretty much hopeless in 3.3.1alpha8 and 3.2.20.
  - Fixed a Unicode conversion crash.
  - Fixed a bug in processing the Modify Field order, which would cause the character set attribute for the field to be accidentally reset to the default.
- New Features:
  - x3270 user-specified lists (character sets, hosts, fonts, color schemes) can now be organized into sub-lists. The name Bob>Fred>Tony specifies that there is a sub-list called Bob, which contains a sub-list Fred, which contains the item Tony.
  - The TELNET START-TLS option is now supported.

## Changes in pr3287 3.3.1alpha9, 30. July 2003

- Bug Fixes:
  - Ignore SIGINT in the print job process, so that killing an interactive pr3287 with ^C won't cause buffered data to be lost.
  - Fixed a problem with losing a byte of data after an SHF order.
  - Fixed the SCS HT order, which was completely broken.
- Enhancements:
  - Added support for SIGUSR1 to flush the print job.
  - Added support for the TELNET START-TLS option.

## Changes in x3270, c3270, s3270 and tcl3270 3.3.1alpha8, 15. April 2003

- Bug Fixes:
  - Builds cleanly on Linux with `-Wall -ansi -pedantic`.
  - Builds without OpenSSL libraries being present.
  - Correctly records Field Attributes in the initial screen snapshot in a Data Stream Trace file.
  - Auto-Skip fields work properly.
  - "Dead" positions in DBCS fields are handled correctly.
  - Invalid host DBCS characters are handled better and are displayed in the Data Stream Trace file.
  - The Erase action now works properly with DBCS characters.
  - The x3270 Visible Control Characters toggle now works properly.
  - The EBCDIC notsign '¬' can now be entered in c3270 with `Ctrl-A, ^` (it formerly caused an error message).

- New Features:
  - The Erase action is now the default for the BackSpace key in x3270.
  - `Ctrl-A, a` is now mapped onto the Attn action in the c3270 default 3270 keymap.
  - Four more Japanese host code pages have been added: 930, 939, 1390 and 1399. This uses new support for combined SBCS/DBCS code pages.

## Changes in x3270, c3270, s3270 and tcl3270 3.3.1, 14. February 2003

- Bug Fixes:
  - (Same as x3270 3.2.20)
- New Features:
  - DBCS support for Simplfied Chinese and Japanese, including x3270 integration with XIM.
  - Tunneled SSL support added (entire Telnet session inside of an SSL tunnel). Uses the OpenSSL library. Toggled with an 'L:' prefix on the hostname.
  - A Visible Control Characters toggle replaces x3270's 3270d Debug Font.
  - About x3270 pop-up split into three smaller pieces.