x3270 3.3 New Features
Author: Paul Mattes

# New Features in x3270 3.3

x3270 3.3 is the current development line for x3270. It is functionally equivalent to x3270 3.2.20, with the addition of SSL (Secure Sockets Layer) support and DBCS (Double Byte Character Set) support for East Asian languages -- Chinese, Japanese and Korean.

The DBCS work required a significant change in the internal workings of x3270. For those familiar with the source code, the change was to store EBCDIC codes internally, and to dispense with the confusing CG-code representation of the 3270 display. This required changing all of the logic that manipulates field attributes, as well as the logic that translates the host output, keyboard input, and X11 display output.

## Changes in x3270 3.3.2, 1. December 2003

- Bug Fixes:
  - Corrected a 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 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.
- New Features:
  - Added support for Cyrillic keysyms to the 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 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 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 to a particular size. fixedSize has the value widthxheight, in pixels. The 3270 display will float in the center of the window, if need be.
  - Added a new 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 x3270 3.3.1alpha9, 24. July 2003

- Bug Fixes:
  - DBCS character set names are displayed 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:
  - 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 x3270 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 Visible Control Characters toggle now works properly.

- New Features:

- The Erase action is now the default for the BackSpace key.
- 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 3.3.1, 14. February 2003

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