# Differences from 2.3

There are differences between Tera Term(Tera Term 4.58) and Tera Term Pro 2.3 in the following table:

## Feature Differences

Content | Tera Term Pro 2.3 | Tera Term
--- | --- | ---
Source code | Opened | Opened
Development tool | Visual C++ 5.0 / Watcom C/C++ 11.0 | Visual Studio 2005[*1]
License | Proprietary[*2] | Modified BSD license[*3]
Icon | [*4] | [*4]
TTSSH icon |  | [*4]
Maximum COM port | 16 | 256
Serial speed | from 110 to 115200 | from 110 to 921600
Plugin module | Need to setup "TERATERM_EXTENSIONS" environmental variable | No need
Linked library | SSLeay, zlib | OpenSSL(used as the encryption library, but not used as TLS) zlib Oniguruma PuTTY(used for cooperation with Pageant, but not used for communication and terminal emulation)
TTSSH | SSH 1.5 | SSH 1.5 and 2
support SSH protocol | shell, port-forwarding, X11 forwarding | shell, port-forwarding, X11 forwarding, SCP
nonsupport SSH protocol | SFTP, SCP | SFTP
SSH Symmetric key cipher algorithm | 3DES, DES, Blowfish | 3DES-CBC, Blowfish, AES128, AES192, AES256
SSH packet compression | Yes | Yes, and also supports SSH2 delayed compression.
Pageant[*5] collaboration | No | Yes
Japanese character code | EUC-JP/Shift_JIS/JIS | EUC-JP/Shift_JIS/JIS/UTF-8/UTF-8 MAC
Unicode | Not supported | Support single language[*6]
IPv6 | No | Yes
Transparency window | No | Yes
Heart beat[*7] | No | telnet, SSH1 and 2
Maximize window | No | Yes
Scroll Lock key | No | Yes
Prohibit right-clicking | No | Yes
Online help document | WinHelp | HtmlHelp
Clickable URL | No | Yes
Wheel mouse | No | Yes
I18N | No | Yes[*8]
Proxy | No | Yes[*9](HTTP, TELNET, SOCKS4, SOCKS5)
xterm 256 color mode | No | Yes

- [*1] You can not use Visual Studio 2005 Express Edition because the partial code of source code is MFC(C++).
- [*2] Without written permission by the author (Takashi Teranishi), you may not distribute modified versions of this package, and may not distribute this package for profit.
- [*3] Tera Term is distributed under Modified BSD License.
- [*4] Icon designer is Tatsuhiko Sakamoto.
- [*5] An SSH authentication agent for PuTTY and WinSCP.
- [*6] Tera Term can not simultaneously display multi languages because it has not completely implemented as Unicode API. Now Tera Term mutually converts between Unicode(UCS-2) and MBCS. Also, Chinese version Windows can display Chinese characters when you configure the locale for Unicode.
- [*7] If there is no communication for a long time in NAT network, SSH session may disconnect because the router will clear NAT table.
- [*8] You can switch the message language by using the language file(lang\*.lng). You need to re-startup Tera Term to active new message language.
- [*9] Using TTProxy.

Other new features are shown below.

- ANSI color change and continued-line copy.
- Changing mouse cursor type.
- Adding a comment to logging file.
- Broadcast command feature.
- Selecting all buffer.
- Extend the maximum length of the host name.
- TeraTerm Menu and LogMeTT included.
- Duplicate session.
- Extend the maximum byte of Tera Term scroll buffer.
- Support for a drag-and-drop operation moving the folder from explorer.
- The second later Tera Term instance can read teraterm.ini file from not the shared memory but disk file system.
- Support for VisualStyle(WindowsXP).
- Add new title format.
- Add new type of log collection.
- Support for a default log file name(You can use strftime format).
- Add the wizard generating SSH authentication key.
- Add CygTerm configuration dialog.
- Support for having tabs by using Collector.
- Add scroll through the screen buffer to the back page when <ESC>[J escape sequence is done.
- Add log reply menu.
- Add New-line to `LF' type.
- Add support for selecting a current screen buffer.
- Add support bash style shortcut key(C-u, C-d, C-k, C-p, C-n, C-b, C-f, C-a, C-a) in "Host" drop-down on "New connection" dialog.

## Bug fixes: Tera Term Pro 2.3

- Tera Term window size could not be changed after the window width is smaller than 84 dot(94 dot on XP LUNA style).
- BOF(Buffer Over Flow) problem in ttpmacro.exe program, which 256 byte longer command line parameter is specified.
- BOF(Buffer Over Flow) problem in ttpmacro.exe program when a line of macro is longer than 256 byte.
- The program of ttermpro.exe can not send the server data to ttpmacro.exe program with DDE transaction.
- The 'pause' macro command had a time-lag about 1 sec.
- The macro script might stall with logging mode.
- The cpu scheduling of Tera Term process could occupy while macro script running.
- The division operator of macro language does not work.
- Tera Term would crash when the sending file size exceeded 20MB with ZMODEM protocol.

## New keyboard shortcut

Key | Function
--- | ---
ScrollLock | Tera Term window scroll locked or unlocked(toggle)
Alt + Enter | Switch to Tera Term next/prev window
Alt + D | Duplicate session (SSH, telnet only)
Alt + G | Cygwin connection
Left click, Shift + Left click | Select several pages of output from Tera Term window. Or expand ans contract of text area that has been selected.
Shift + Mouse drag | Deleted to support for above key shortcut
Alt + MouseDrag | Select rectangular block of text

## New macro command

Command | Feature
--- | ---
connect | has SSH auto login parameters
waitregex | is waitln regular expression version.
ifdefined | can retrieve the type of the variable value.
mpause | can sleep per millisecond.
sprintf | can generate the format string as like printf function of C language.
str2int | can convert a hexadecimal string to a number.
fileread | can read specified byte data from file.
clipb2var | can copy data from the Clipboard.
var2clipb | can copy data to the Clipboard.
random | can generate the random number.
tolower | can translate characters to lowercase.
toupper | can translate characters to uppercase.
break | can exit from within a for or while loop.
inputbox | can specify a default string which the text box contains as default text.
rotateleft | can rotate the 32bit value toward the left per bit.
rotateright | can rotate the 32bit value toward the right per bit.
setenv | can change an environment variable on Tera Term process.
filenamebox | Displays a dialog box prompting user to input a string.
do - loop | Loop control
until - enduntil | Loop control
callmenu | can call Tera Term window menu.
cygconnect | Connects to Cygwin.
scpsend | Sends a file from the host with the SCP protocol.
scprecv | Receives a file from the remote host with the SCP protocol.
getver | Get the version of Tera Term.
setbaud | Causes Tera Term to change speed of COM port.

## New teraterm.ini entry

"Tera Term" sections are shown below.

Entry | Feature
--- | ---
UILanguageFile | can specify the I18N language file. The default language is English.
ConnectingTimeout | is disconnection timeout value per second while TCP connecting. Also, this value can be specified at /timeout command line option.
DisablePasteMouseRButton | can disable pasting by right-click.
ConfirmPasteMouseRButton | can require the user to confirm an action before pasting by right-click is carried out.
DisableAcceleratorSendBreak | can disable sending break signal by Alt+B key shortcut.
ANSIColor | can configure ANSI color table.
EnableContinuedLineCopy | can enable concatenating the next line.
MouseCursor | can change the kind of the mouse pointer.
AlphaBlend | can setup the transparency value of Tera Term window.
CygwinDirectory | can specify a folder of Cygwin installation.
ViewlogEditor | can specify an editor program which open a log file.
Locale | can specify a locale for Unicode.
CodePage | can specify code page for Unicode.
UseNormalBGColor | can enable matching a character with a screen for a background color.
KanjiReceive | added "UTF-8" and "UTF-8m" option for Unicode.
KanjiSend | added "UTF-8" option for Unicode. Besides, "UTF-8m" is not necessary because sending procedure is NFC at UTF-8-MAC.
URLColor | can specify the emphasis color of Clickable URL. Actually, it does not work.
EnableClickableUrl | can enable Clickable URL.
LogTypePlainText | can not include control codes in logging file.
LogTimestamp | can insert OS timestamp in the head of the line while log collection doing.
LogDefaultName | can specify the default file name when log collection starts. You can use strftime format.
LogDefaultPath | can specify the default path name when log collection starts.
LogAutoStart | can automatically start log collection when Tera Term connect to remote server.
BroadcastCommandHistory | can record command history of Broadcast Command to teraterm.ini file.
AcceptBroadcast | does not send the command the user input to own window when this option is off.
TitleFormat | added "13", "29", "45" and "61" as format ID.
FileSendFilter | can configure filters of file name on sending dialog.
VTCompatTab | can enable that the tab display at the end of line is VT compatible terminal.
MaxBroadcatHistory | Number for the history of broadcast command
DisableAppKeypad, DisableAppCursor | can disable application keypad/cursor mode.
ClearComBuffOnOpen | Don't clear COM buffer when serial port opening.
Send8BitCtrl | Send C1 (ASCII $80-$9F) control characters.
SelectOnlyByLButton | enables only mouse left-click to select the text by dragging.
TelAutoDetect | controls telnet command detection.
ZmodemRcvCommand | Receive command for ZMODEM
XmodemRcvCommand | Receive command for XMODEM
ConfirmFileDragAndDrop | Confirmation of File Transfer by Drag & Drop
TranslateWheelToCursor | Mouse wheel action in application cursor mode
HostDialogOnStartup | Showing "New Connection" dialog on startup
MouseEventTracking | Mouse tracking mode
KillFocusCursor | Display the cursor even if the window comes out of focus
ConfirmChangePaste | Show the confirmation dialog when the Clipboard includes CR/LF by pasting
MaximizedBugTweak | How to scroll the screen when the window size is maximized

"TTSSH" sections are shown below.

Entry | Feature
--- | ---
CipherOrder | added "7" as 3DES-CBC, "8" as AES128, "9" as AES192, ":" as AES256, ";" as BlowfishBlowfish(SSH2).
ProtocolVersion | can be SSH protocol version.
HeartBeat | can be keep-alive(heart-beat) interval per second.
RememberPassword | can configure whether the password string which the user input will preserve on memory.
CheckAuthListFirst | disables SSH2 unsupported authentication method before trying user authentication.