tcl3270 Release Notes

# Caveats and Known Issues for x3270, c3270, wc3270, s3270, ws3270, tcl3270, pr3287 and wpr3287 3.6

## Linux

- Unity's Terminal app will intercept a number of keys (such as F1) that c3270 needs for 3270 operations. The easiest way to prevent this is to create a profile for c3270, with Shortcuts disabled (from the taskbar, select Preferences from the Terminal menu, then go to the Shortcuts tab and un-check Enable shortcuts). You can also disable or remap individual shortcuts if you find the others useful.

## Windows

- Under Windows 10, the console windows that wc3270 runs in will intercept mouse clicks and certain control keys needed by wc3270 for correct operation. To prevent this, you must explicitly disable several console window options for each wc3270 window. Click on the terminal icon in the upper left of the wc3270 window and select Properties. Select the Options tab, and look for the Edit section. Uncheck Quick Edit Mode and Enable Ctrl key Shortcuts.

## MacOS

- When running c3270 in a Terminal window, the Backspace key performs the Delete() action (deleting the character under the cursor) instead of the BackSpace() action (deleting the character to the left of the cursor). This is corrected through Terminal's Preferences dialog. Under the Advanced tab, select Delete sends Control-H.

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

3.6 is the current development line for the x3270 suite.

## Changes in version 3.6ga5, 10. February 2018

- [wc3270] Corrected the Session Wizard's handing of host TLS certificate validation, which switched the default from 'no' to 'yes' in 3.6. To stop host certificate checking for an existing session, you must re-run the Session Wizard and explicitly disable it.
- [all] Corrected some subtle bugs in parsing action arguments. The syntax is now compliant with the original specification, which is X11 Xt translation table syntax.
- [all] Corrected the -minversion command-line option.

## Changes in version 3.6ga4, 29. December 2017

- [all] Rename the tls resource to startTls, which makes its meaning much clearer.
- [wc3270, ws3270] The x3270if command was not flushing its output correctly. (Thanks to Kalman Reti for the fix.)
- [wc3270, ws3270] PrintText() would sometimes include junk in the output, if called more than once. This is now fixed.

## Changes in version 3.6beta2, 3. December 2017

- [wc3270] Added a (hackish) fix for the Windows 10 "Ctrl key shortcuts" feature that interferes with Ctrl-C, Ctrl-V and F11.
- [all] Added support for periodically sending a TELNET NOP to the host, controlled by a new nopSeconds resource.
- [all] Added support for some missing xterm escape sequences.
- [all] Made the NVT-mode F1 through F4 keys compatible with xterm, rather than VT100.
- [c3270, wc3270] Turn off the cursor when scrolled back.
- [all] Fixed TELNET NEW-ENVIRONMENT behavior to be more compatible with IBM iSeries hosts.

## Changes in version 3.6alpha1, 8. March 2017

- [all] Fixed the unlockDelay resource, which was inadvertently ignored (effectively aways on) for several releases. The value is now false for s3270, ws3270 and tcl3270, and true elsewhere.
- [x3270, c3270, wc3270] Display the host certificate when the lock icon (x3270) or lock field in the OIA (c3270/wc3270) is clicked.
- [all] An accept name can now be appended to the hostname using =, e.g., L:myhost.com=myparticularhost.com.
- The -disable-ssl configure option now applies to Windows.
- [all Windows] Windows cross-compilers are now tested by the configure script. If they are not found, they will be excluded from the build.
- [x3270] Fixed pop-up window and keypad placement issues on the Unity desktop, and some crashes related to window movement.
- [all] Re-enabled the A: host modifier to indicate an NVT-mode host (equivalent to the -nvt command-line option or nvtMode resource).
- [x3270, c3270, wc3270] Added host certificate display to the x3270 Connection Status dialog and the c3270/wc3270 Show(Status) action.
- [all Unix] Removed explicit support for self-signed host certificates (the -selfsignedok option and selfSignedOk resource). This is because the implementation assumed that being self-signed was the only verification error, while there could be many. To allow self-signed certificates, disable verification.
- [all] Added support for the Y: host modifier to disable host certificate checking.
- [all Unix] Removed support for the IP: form of accepting a name in a host certificate.
- [all Unix] Changed the configure script option to specify the location of the OpenSSL installation from --with-ssl= to with-openssl=.
- [all Unix] Switched MacOS to use Secure Transport instead of OpenSSL. OpenSSL can still be selected during build with the --disable-stransport option to the configure script.
- [all] Switched to verifying host certficates by default. This can be disabled by using the -noverifycert opton or by setting the verifyHostCert resource to false.
- [all Windows] Removed SSL configurations from the Visual Studio project.
- [all Windows] Switched Windows SSL/TLS from OpenSSL to the native Windows Schannel APIs. This allows secure connections without the need to install a separate set of DLLs.

## Changes in version 3.5ga12, 10. September 2017

- [all Windows] Removed some items from the Windows installer that interfered with installing as SYSTEM.

## Changes in version 3.5ga11, 26. June 2017

- [all] Fixed an issue where the web server would reject requests containing fields with 1-character-long values.
- [all] Improved error reporting for certain cases of SSL/TLS tunnel set-up failure.

## Changes in version 3.5ga10, 16. January 2017

- [all] Upgraded Windows to OpenSSL 1.1 and added OpenSSL 1.1 support for other platforms where available.
- [s3270, ws3270] Restored oerrLock as the default.
- [all] Fixed the CloseScript action.

## Changes in version 3.5ga9, 26. December 2016

- [c3270, wc3270] Fixed display of default attributes in NVT mode.
- [all] Corrected Hebrew and Greek character set defintions.
- [all] Corrected echoing of multi-byte characters in NVT line mode.
- [wc3270] Allow the -utf8 option to force the Windows code page to UTF-8.
- [wc3270] Use the built-in UTF-8 encoder/decoder when in UTF-8 mode to allow NVT-mode UTF-8 output to be displayed correctly.
- [all] Fixed the missing letter 'Z' in the simplified-chinese (cp935) host code page.
- [x3270>] Fixed the configure script to find X11 headers and libraries correctly.
- [all] Allow Wait(n,Second) to work when disconnected.
- [x3270>] Fixed an issue with missed timeouts.

## Changes in version 3.5ga8, 9. May 2016

- [x3270] Fixed the toggle names saved with the File->Save Changed Options menu option and when processing the WM_SAVE_YOURSELF message.
- [x3270] Explicitly test for X11, Xt, Xmu and Xaw header files and libraries in the configure script.
- [x3270] Put the dryrun script in the object directory.
- [wc3270] Allow Windows VKey codes to be specified in wc3270 keymaps in hexadecimal with the syntax VKEY-0xnn. This allows unknown VKeys to be specified. The same syntax is used in traces.
- [x3270] Fixed an issue where parameters beyond the second were ignored in many keymap actions.
- [all] Fixed an issue with the Abort action called from scripts.
- [all Windows] Always find root_certs.txt in the same directory as the executable, if not installed.
- [all] Validate the parameters to the Transfer() action better.
- [pr3287] Fix the configure script so it properly detects missing OpenSSL header files, even if the OpenSSL library is present.
- [all] Limit DFT buffer size to 32767. 32768 causes the host to send 0-byte buffers.

## Changes in version 3.5beta7, 8. March 2016

- [wc3270] Fixed a crash in the Session Wizard.

## Changes in version 3.5beta6, 25. February 2016

- [wc3270, ws3270] Fixed a problem that broke SSL.
- [all] Added swedish and swedish-euro as aliases for host code pages 278 and 1143 respectively.
- [all] Changed the keyboard unlock behavior when a BIND-IMAGE is received from the host. Prior to release 3.3.14, the keyboard would not be unlocked on a new host connection until a Write was received. In 3.3.14, this was changed so that the keyboard would be unlocked as soon as a BIND-IMAGE was received, and in release 3.4, a new host option (B:) was added to revert to the old behavior. In this release, the old behavior (waiting for a Write) is the default again. A new resource, bindUnock is added to enable the new behavior (unlocking as soon as the BIND-IMAGE is received) when set to true. The B: host option is still supported, as a no-op.

## Changes in version 3.5beta5, 15. February 2016

- [wc3270] Added crosshair cursor and cursor type to the Session Wizard.
- [all] Added a -connectimeout option and a connectTimeout resource to specify a shorter timeout for the host connection to complete.
- [all Windows] Simplified the installer, removing the option of doing a per-user install.
- [all Windows] Got rid of the wc3270 Application Data directory. The root certificates file is now in the installation directory. ws3270 and wpr3287 trace files now go into the current directory by default. Session files and keymaps are now stored in the My Documents\wc3270 folder. When wc3270 is installed, an Upgrade Wizard will automatically copy existing session files and keymaps to the new location. (The old files will be preserved, but ignored.)
- [all] Made the EraseEOF, Insert, ToggleInsert, Home, FieldEnd and EraseInput actions clear the insert overflow condition.

## Changes in version 3.5alpha4, 15. January 2016

- [s3270, ws3270] Added a -minversion option and minVersion resource to specify a minimum required version. If the emulator is running an earlier version, it will abort.
- [all] Object files (but not yet documentation) are now built in a separate obj directory with machine-specific subdirectories. Both 32- and 64-bit Windows binaries are always built.
- [all Windows] 64-bit executables are now installed on 64-bit Windows systems. Note that upgrades from 32-bit to 64-bit wc3270 require uninstalling the 32-bit version first. The installer offers to do this automatically. Note also that downgrading from a 64-bit version to an older 32-bit version, without first manually uninstalling the 64-bit version, will cause a mess: duplicate versions of wc3270 will be listed in Add or Remove Programs, and uninstalling one of them will half uninstall the other.
  There are also now 32-bit and 64-bit versions of the no-install ZIP file.
- [all Windows] OpenSSL 64-bit now builds cleanly on Visual Studio.
- [all Windows] Fixed a heap corruption crash when the OpenSSL libraries are found (even if a secure connections is not in use).
- [x3270] Dropped support for xmkmf and imake. x3270 builds and installs only using autoconf paths now.

## Changes in version 3.5alpha3, 11. January 2016

- [wc3270] Added SelectLeft, SelectRight, SelectUp and SelectDown actions to extend the selection area with shifted cursor keys. Remapped NextWord and PreviousWord to Ctrl<Key>RIGHT and Ctrl<Key>LEFT respectively.
- [wc3270] Added a selection indicator to the window title.

## Changes in version 3.5alpha2, 1. January 2016

- [all] Fixed Visual Studio 2013 build issues.

## Changes in version 3.5alpha2, 1. January 2016

- [all] The timeout for Wait can now be specified as a floating-point number to wait for fractions of a second.
- [x3270] Improved resize logic. Window maximize now does something sensible. Added a Snap Window Size menu option.
- [wc3270] Added support for the altCursor toggle, which if set, changes wc3270 to use an underscore cursor instead of a block cursor.
- [s3270] Fixed an x3270if build problem when libiconv is needed, plus a build issue that crept in with Makefile.in rationalization.
- [all] Added the scriptPortOnce resource and the -scriptportoncde command-line option to allow only one scripting connection, after which the emulator will exit.
- [all] Removed arbitrary restrictions on the length of script command lines and on the number of arguments per command.
- [all] Allow scripts to issue multiple commands per line.
- [all] Synchronize the ReadBuffer action with the Wait(Output) action, just like Ascii and Ebcdic.
- [x3270, c3270, wc3270] Added support for a crosshairColor resource to allow the color of the crosshair cursor to be changed. The value is a host color name or index.

## Changes in version 3.5alpha1, 10. July 2015

- [x3270] Changed the crosshair cursor to a thin purple line, instead of a reverse-video bar. Extended it into the alternate screen area (if in primary mode) and into the OIA.
- [c3270, wc3270] Added support for a crosshair cursor, using the crosshair toggle.
- [all] Added missing attributes to the ReadBuffer action's output (background color and input ocntrol) and combined multiple SA orders in the same buffer location into a single SA order.
- [all Windows] Added support for compiling 64-bit Windows executables in Visual Studio. Switched from VS 2010 to VS 2013. Removed the old nmake makefiles (use msbuild now for command-line builds).
- [all Windows] Switched to the mingw-w64 compiler on Linux and Cygwin. Made the necessary changes to allow compiling 64-bit Windows executables on Linux. To build for 64-bit, set the variable WIN64. 32-bit is still the default.

## Changes in version 3.4ga11, Nn. Month 2016

- [all] Limit DFT buffer size to 32767. 32768 causes the host to send 0-byte buffers.
- [all] Allow VS2010 builds with spaces in pathnames.

## Changes in version 3.4ga10, 1. January 2016

- [all] Changed scripts to use /usr/bin/env.
- [all] Suspend the idle command while a file transfer is in progress.

## Changes in version 3.4ga9, 23. October 2015

- [c3270, wc3270] Fixed binary file transfer bug.
- [x3270] Fixed missing 'Not Connected' message when disconnecting from a host.
- [all] Fixed trace display of incoming IPv6 connections and the parsing of the x3270 -scriptport option.
- [tcl3270] Added tcl3270 support for Tcl 8.6.
- [all] Renamed $INSTALL variable in the top-level configure script (bugs:15).

## Changes in version 3.4ga8, 18. September 2015

- [x3270] Fixed a crash in the Configure Idle Command pop-up.
- [x3270] Fixed an issue with overwriting local files in file transfers.
- [s3270] Fixed an x3270if build problem when libiconv is needed.
- [all] Fixed a problem with truncating the list of LUs when connecting to a host.
- [all] Fixed a crash when too many parameters are passed to an action in a macro or script.

## Changes in version 3.4ga7, 28. August 2015

- Fixed a number of warnings found by the MacOS C compiler, which turned out to be real issues.
- [all] Synchronize the ReadBuffer action with the Wait(Output) action, just like Ascii and Ebcdic.

## Changes in version 3.4ga6, 10. August 2015

- [all] Fixed an NVT-mode emulation problem.

## Changes in version 3.4ga5, 10. July 2015

- [all] Fixed a synchronization issue with scripts and file transfers.
- [c3270, wc3270] Fixed a crash when the Transfer action was called from a script.
- [x3270] Fixed a crash when visible control characters are turned on in 3278 mode.
- [pr3287] Changed the pr3287 Makefile to use $INSTALL_DATA (bugs:#13).
- [All Unix] Added -D_DEFAULT_SOURCE wherever a Makefile used -D_BSD_SOURCE, to get rid of compiler warnings with newer versions of glibc (bugs:#12).

## Changes in version 3.4ga4, 16. June 2015

- [x3270, c3270, wc3270] Corrected the OIA display of save-to-printer pages.
- [c3270, wc3270] Made the help for file-transfer reflect the current defaults. Added help for Keymap.
- [wc3270] Fixed the pager at the wc3270> prompt. Now it adapts to the size of the console window correctly.

## Changes in version 3.4beta3, 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.

## Changes in version 3.4alpha2, 15. May 2015

- [c3270, wc3270] Added a Keymap action to add or remove temporary keymaps. The semantics are the same as the x3270 action of the same name.
- [all] Made the parameter to ResumeScript optional, and relaxed the restrictions on when PauseScript can be used, so it can now be used from macros and command files read with the Source action.

## Changes in version 3.4alpha1, 28. April 2015

- [c3270, wc3270] Allow the DFT buffer size to be changed in the c3270/wc3270 file transfer dialog.
- [c3270, wc3270] Allow file transfers to be interrupted with Ctrl-C.
- [x3270] Fixed an issue where the terminal type would not be reported to the host as IBM-DYNAMIC if the screen was put into oversize mode via a menu selection (it was correct if oversize came from a resource). Also made sure that the 'About->Configuration' display of the terminal type is always correct.
- [all] Added resources to define the default values for each of the IND$FILE file transfer parameters. The resources have the same names as the Transfer action keywords, with ft prepended. E.g., the Mode default is controlled by the ftMode resource. For consistency, deprecated dftBufferSize and ftCodePage in favor of ftBufferSize and ftWindowsCodePage (the old resources are still available).
- [all] Added missing functionality to specify the size for avblock TSO file allocations in IND$FILE file transfers.
- [x3270] Added an aplCircledAlpha resource to allow x3270 to properly display APL underscored uppercase letters with the APL385 font, by translating them to the (nonstandard) Unicode circled-alphabetic range U+24B6 to U+25CF.
- [x3270, c3270, wc3270] Overhauled visible control characters so that field attributes are completely decoded. Field attributes are now in underlined yellow in x3270. Added visible control character support to c3270 (also underlined yellow) and wc3270 (reverse-video yellow), with a menu option.
- [all] Overhauled the build structure. Now there are libraries for common functions.
- [wc3270] Mapped Alt-left-click onto a lightpen select operation. Added a lightPenPrimary resource to switch this, so that an unmodified left-click is a lightpen select and Alt-left-click is a cursor move or copy/paste highlight.
- [all] Added a B: prefix option to hostnames to disable the automatic keyboard unlock when a BIND-IMAGE is received.
- [all] Added an -nvt option and an nvtMode resource to force NVT mode as soon as a session is connected. This overrides the usual behavior of locking the keyboard and waiting for the host to send NVT-mode data or negotiate 3270 mode before unlocking. This option also changes the default terminal type to xterm.
- [c3270] Added a mapping from the Escape key to the Escape() action (breaking to the c3270> prompt).
- [x3270] Added a maxRecent resource to control the maximum size of the recent host list in the Connect menu.
- [wc3270] Added right-click and Enter to Copy, and right-click to Paste, and Enter to Copy, like Quick Edit mode.
- [wc3270] Added a nodialog option to PrintText to suppress with Windows print dialog.
- [wc3270] Added font auto-sizing to GDI screen printing.
- [wc3270] Added Paste with Left Margin menu.
- [all] Allow the -scriptport option to specify an address to listen on.
- [all] Added webserver support. The -httpd option starts a webserver listening on the specified port. The webserver supports a REST API and some basic HTML objects.
- [all] Removed configurability of tracing, NVT mode, TN3270E support, scripting, menus file transfer, the x3270 pop-up keypad and printer sessions (they're always enabled now).
- [x3270, wc3270] Added an overlayPaste toggle. When set, pasting over a protected field will simply increment the cursor position instead of locking the keyboard. This allows forms to be copied and pasted with the protected fields included. Setting this toggle also implicitly sets the marginedPaste toggle.
- [x3270] Changed the selection logic so that a rectangular selection (the default for 3270 mode) never ends with a newline character.

## 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 disabled.
- [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 certificate verification 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-negotiation, 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 overriding 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 actually 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-Specific 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 versions 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 accidentally 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 embarrassing 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. February 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 characters ('_') 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 characters ('_') 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 characters ('_') 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 characters ('_') 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 characters ('_') 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 writable.
  - 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 Simplified 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.