Home
Name Modified Size InfoDownloads / Week
Archive 2024-08-09
YAT-2.7.2_x64_(64-bit)_installer.zip 2024-08-09 4.7 MB
YAT-2.7.2_x64_(64-bit)_installer_with_.NET_runtime.zip 2024-08-09 146.8 MB
YAT-2.7.2_x64_(64-bit)_binaries.zip 2024-08-09 3.7 MB
YAT-2.7.2_x86_(32-bit)_installer.zip 2024-08-09 4.4 MB
YAT-2.7.2_x86_(32-bit)_installer_with_.NET_runtime.zip 2024-08-09 146.5 MB
YAT-2.7.2_x86_(32-bit)_binaries.zip 2024-08-09 3.7 MB
YAT Release Notes - ReadMe.txt 2024-08-09 54.0 kB
Totals: 8 Items   309.9 MB 701

****************************************************************************************************
                                         YAT Release Notes.
 --------------------------------------------------------------------------------------------------
                                    YAT - Yet Another Terminal.
     Engineering, testing and debugging of serial communications. Supports RS-232/422/423/485...
   ...as well as TCP/IP Client/Server/AutoSocket, UDP/IP Client/Server/PairSocket and USB Ser/HID.
 --------------------------------------------------------------------------------------------------
                    Visit YAT at https://sourceforge.net/projects/y-a-terminal/.
                     Contact YAT by mailto:y-a-terminal@users.sourceforge.net.
 --------------------------------------------------------------------------------------------------
                    Copyright © 2003-2004 HSR Hochschule für Technik Rapperswil.
                                Copyright © 2003-2024 Matthias Kläy.
                                        All rights reserved.
 --------------------------------------------------------------------------------------------------
                              YAT is licensed under the GNU LGPL-2.1.
           See https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html for license terms.
****************************************************************************************************


Contents
========

0. Download
1. Installation
2. Execution
3. History of changes in YAT
4. History of changes in XTerm232
5. Roadmap
6. Legal


====================================================================================================
0. Download
====================================================================================================

The standard x64 installer package can be downloaded from YAT's SourceForge main page at
https://sourceforge.net/projects/y-a-terminal/. The complete set of packages can be downloaded
from YAT's SourceForge file page at https://sourceforge.net/projects/y-a-terminal/files/:

 > x64 installer
 > x64 installer that includes the .NET runtime
 > x64 binaries
 > x86 installer
 > x86 installer that includes the .NET runtime
 > x86 binaries

How to chose the most appropriate package:

 > For up-to-date systems, use a compact installer package "...(32-bit).zip" or "...(64-bit).zip".
   (Windows Installer and .NET are already installed on up-to-date systems.)
 > For outdated systems or offline installation, use a full installer package "..._with_.NET...zip".
   (Windows Installer and .NET are included for installation.)
 > Alternatively, use a binary distribution, but don't forget to manually install the monospaced
   'DejaVu' font used by YAT as well as assign the .yat/.yaw file extensions to "YAT.exe".


====================================================================================================
1. Installation
====================================================================================================

It is recommended to unzip the package to a temporary location before starting the installation.

YAT uses .NET 4.8. The installer packages ensure that .NET 4.8 is available on the target computer.
The installer packages also ensure that Windows Installer 4.5 is available on the target computer.

For installation, run the ".msi" if Windows Installer is installed, otherwise "setup.exe".
 1. Installer will check the prerequisites mentioned above and install what is missing.
 2. Installer will install YAT. Older versions of YAT are automatically replaced.

You can also download .NET and/or Windows Installer from <https://www.microsoft.com/download>
or by googling for "Download Microsoft .NET Framework 4.8" and/or "Windows Installer 4.5".
Installing .NET and/or Windows Installer requires administrator permissions.

For use of a binary distribution, refer to the respective instructions.


x86 (32-bit) -vs- x64 (64-bit)
----------------------------------------------------------------------------------------------------

YAT can be installed as x86 or x64 application. x86 works on either 32-bit or 64-bit systems, given
a 64-bit system provides 32-bit compatibility. x64 also works on either 32-bit or 64-bit systems, as
YAT x64 is built as 'Any CPU' for providing compatibility with MSIL projects. By default, x86 is
installed to "\Program Files (x86)" whereas x64 is installed to "\Program Files".

It is not possible to install both distributions for the same user. When changing from x86 to x64 of
the same version of YAT, or vice versa, the installed distribution must first be uninstalled before
the other distribution can be installed. If this limitation is not acceptable, create a new feature
request ticket and describe the impacts/rationale/use case as detailed as possible. Or use binary
distributions, which may exist in parallel without restrictions.


====================================================================================================
2. Execution
====================================================================================================

"Start > Programs > YAT > YAT" or
start "C:\<Program Files>\YAT\YAT.exe" for normal execution.
Start "C:\<Program Files>\YAT\YATConsole.exe" for console execution.

In normal execution, infos/warnings/errors are shown on the user interface, whereas in console
execution, notifications are returned via stdout/stderr and there will be no blocking modal dialogs.


====================================================================================================
3. History of Changes in YAT
====================================================================================================

YAT 2.7.2 :: 2024-08-09
----------------------------------------------------------------------------------------------------

Important changes:
- Upgrade to NUnit 3.14.0 and the TestCentric 1.6.4 GUI runner (feature request #293).
- Various cleanup: NUnit (FR #145), .NET 4+ (FRs #128, #229), assembly naming, field naming,...
- Major steps towards availability on Mono/Linux (parts of feature requests #381 and #401).
- Assemblies again prefer 64-bit rather then 32-bit execution (regression of YAT 2.5.0).
- Use of \todo, \fixme,... tags again unified in source code.

Fixed bugs:
- Non-100% screen scale issue with [Terminal > Settings... > Text... > Exclusion] fixed (bug #589).
- Serial COM port: Handling RTS/DTR pin presets in [Terminal > Settings...] fixed (bug #590).
- Serial COM port, USB Ser/HID: Potential Tx delay after XOn eliminated (regression of YAT 2.7.0).

Limitations and known issues:
- Same as previous release, see below.


YAT 2.7.1 :: 2024-03-08
----------------------------------------------------------------------------------------------------

New:
- Additional options to format CRC (add-on to feature request #300).

Important changes:
- [Help > Command Line Help...] added (related to fix of bug #587).

Fixed bugs:
- Non-100% primary screen scale issue with [File > New Terminal...] dialog fixed (bug #583).
- 225% or greater screen scale 'ArgumentOutOfRangeException' for multiple dialogs fixed (bug #586).
- The /tf command line option now supports file path relative to the current directory (bug #587).
- Serial COM port: Legacy settings like 150/7/E/0 or 150/7/E/1.5 not supported by a serial port
  device again result in an error message, rather than trying to reopen the port (bug #585).

Limitations and known issues:
- Same as previous release, see further below. In addition:
- General limitations of .NET Windows.Forms:
   > 150% or greater primary screen scale doesn't properly work with dialogs only resizable in one
     dimension. The [New Terminal], [Terminal Settings], [Predefined Commands], [Log Settings],
     [Command Line Help] and [Release Notes] dialogs are no longer fixed in height or width,
     i.e. can again be resized in both dimensions (bug #583). Issue reported to Microsoft.
   > When text is selected, drop down of recent [Send Text] immediately closes again (bug #584).


YAT 2.7.0 :: 2024-02-16
----------------------------------------------------------------------------------------------------

New:
- Option to append CRC on sending. Behavior and CRC can be configured, e.g. CRC-16/Modbus, and new
  keywords "\!(CRC)" and "\!(NoCRC)" added for sending (feature request #300).
- New [File] menu entries to open folder where workspace or terminal file resides (feat. req. #478).
- [File > Preferences...] now allows selecting how the format is handled on copying monitor content.
  Enables copying plain text even if formatting is enabled (bug #574, related to former feat. #346).
- [View > Format...] now indicates "formatting per element type" and allows setting the font color
  and style when formatting per element type is disabled (bug #573).
- [View > Format...] now provides a few predefined themes (feature request #349) and the means to
  define custom themes. [File > New Terminal...] now applies the most recently used theme and font
  to newly created terminals (related to feature request #349).
- New keywords "\!(Stop)", "\!(Close)" and "\!(Exit)" added (feature request #483).
- Serial COM port: Half duplex modem handshake added (feature request #485).
- Log files can now optionally be placed and/or named by terminal name and/or I/O device, useful
  when simultaneously logging multiple terminals (feature request #487).

Important changes:
- Performance on numeric radices improved (related to feature request #300).
- Performance on copying formatted monitor content improved (related to bugs #573, #574, #575).
- Serial COM port transmission test coverage significantly improved (related to bug #572).
- Serial COM port throughput improved, especially for higher baud rates (related to bug #572).
  The two above stated improvements have revealed that it is no longer necessary to limit serial COM
  port buffering by the [Terminal > Settings... > Advanced... > Buffer...] settings by default, i.e.
  these settings are disabled by default now. Additional settings related to buffers and time-out
  provide additional means to work around limitations of the .NET Framework's implementation of
  serial COM ports and certain COM port devices.
- Serial COM port: Hardware control signal state can now be preset in terminal setting dialog.
- Serial COM port: RS-485 test coverage increased (related to feature request #485).
- Serial COM port and USB Ser/HID: Software flow control handling further improved (feat. #481).
- TCP/IP and UDP/IP: IPNetwork upgraded to 2.6 (feature request #469).
- Source code analysis (FxCop, StyleCop,...) migrated from classic tool based approach to latest
  build integrated analyzers (feature request #231, incl. feature request #267).

Fixed bugs:
- Multi-line [Send Text] now respects a trailing empty line.
- [Send Text] again retains cursor position and selection when moving mouse to main menu, toolbar
  or status bar (bug #566, regression of YAT 2.6.0, related to fix of bug #554).
- [Predefined] panel no longer gets cropped when [Hide Undefined Commands] is active (bug #569).
- [Predefined > Hide Undefined Commands] is no longer reset when changing layout (rel. to bug #569).
- Predefined page navigation is now fully visible also with scaling other than 100 % (bug #568).
- [File > Preferences... > ...ask whether to switch to another port] again includes the serial COM
  port previously active, again enabling use cases where one or multiple devices alternately use the
  same serial COM port number (feature request #473 follow-up related regression of YAT 2.6.1).
- Serial COM port XOff state no longer results in lost data (bug #572, regression of YAT 2.6.0).
- Running for days no longer results in an 'OverflowException' of the byte/line counters (bug #576).
- Attempt to fix potential 'InvalidOperationException' when running a TCP/IP server heavily
  connecting and disconnecting clients for hours (bug #567).
- [Break lines after time-out] no longer results in a 'NotSupportedException' (bug #570, regression
  of YAT 2.6.0 improvements in handling leading hidden data like e.g. an initial <XOn>).
- On copying monitor content, warning messages at the end of a line no longer appear at the
  beginning of a line (bug #575).
- Custom colors in [View > Format...] are instantly stored in user settings (related to feat. #349).

Limitations and known issues:
- General limitations of .NET Framework:
   > Unicode is limited to the basic multilingual plane (U+0000..U+FFFF) (feature request #329).
- General limitations of .NET Windows.Forms:
   > Main window status bar tooltips may flicker in case window is maximized (bug #488).
   > Tool strip combo box slightly flickers when updating item list, e.g. [Find Pattern] (bug #402).
   > Combo box cannot restore some corner-case cursor positions (bug #403).
   > Combo box text is compared case insensitively against item list, e.g. "aa" is changed to "AA"
     if that is contained in the item list, e.g. the recent [Send Text] or [Find] items (bug #347).
   > Combo box of [Send File] does not have the same color as a button (related to fix of bug #308).
   > When filling-in [Alt Gr] modified characters, key shortcut underlines may remain (bug #553).
   > When [Send Text] or [Send File] is hidden, resizing the panel doesn't properly work (bug #412).
   > Automatic completion for e.g. [Send Text] is not feasible to implement (feature request #227).
   > Automatic horizontal scrolling of monitors is not feasible to implement (feature request #163).
   > Vertical scrolling of monitors while a lot of data is being transmitted and while items are
     selected may lead to a severe drop of the overall performance (related to bug #383).
   > Link label text rendering issues after plotting (bug #485).
- MDI limitations of .NET Windows.Forms:
   > Issues with frame (bugs #29 and #30).
   > Issue with window list (bug #31).
   > Issue with layout when closing an MDI child (bug #399).
   > Issue with layout when resizing the main form (bug #513).
- Serial COM port limitations of .NET Framework:
   > Support for ports named other than "COM..." isn't supported by .NET (feature request #101).
   > Use of serial COM ports on disconnect, undock or hibernate without closing the port may result
     in port no longer usable. It happens due to bugs in the .NET 'SerialPort' for which Microsoft
     seems to have no plans fixing. YAT applies several patches to circumvent the issues, some of
     them require [Terminal > Settings... > ...monitor the port...] being active. If the issue still
     is observed, refrain from disconnecting a device or undocking or hibernating while a port is
     open. In case the issue occurs, exiting YAT should be sufficient to force the .NET Runtime to
     terminate the buggy pieces of code. If not, reconnecting the device should fix the issue.
- General serial COM port limitations:
   > Using high baud rates, e.g. 1 MBaud, without flow control likely results in occasional loss of
     data due to buffer overruns (related to fix of bug #572).
- Limitations of Visual Studio Installer Projects 2022:
   > While the YAT SVN repository now preserves the time stamps of 3rd party, resources and
     documentation files, the installer will reset the time stamps to the build time (bug #515).
   > The installer now requires that all file types have a command assigned (bug #582).
- The "\!(PortSettings())" keyword is yet limited to serial COM ports (feature request #71).
- USB Ser/HID only runs on Windows; use of 'LibUsb'/'LibUsbDotNet' and significant migration work of
  implementation and test environment would be needed to run it on unixoids (feature request #119).
- Sending immediately does not yet support special formats and commands (feature request #10).
- Automatic actions [Filter] and [Suppress] as well as automatic actions and responses based on a
  text trigger are constrained to handle complete lines. Thus, individual characters incl. control
  characters like <XOn> as well as incomplete lines will not be displayed until line is complete.
- Switching log off may take several seconds, during which YAT is unresponsive (bug #459).


YAT 2.6.1 :: 2023-06-25
----------------------------------------------------------------------------------------------------

Important changes:
- [File > Preferences... > ...ask whether to switch to another port] now proposes the next available
  COM port, rather than fixed to the first available COM port (follow-up to feature request #473).

Fixed bugs:
- Panel dependent context menu items no longer remain disabled (bug #563, regression of YAT 2.6.0).
- 'InvalidOperationException' on [Terminal > Refresh] (bug #579, regression of YAT 2.6.0).
- Layout related minor issues in [View > Format...] dialog fixed (bug #562).
- Explicit default radix selection in [Predefined > File] fixed.

Limitations and known issues:
- Same as previous release, see below.


YAT 2.6.0 :: 2023-06-09
----------------------------------------------------------------------------------------------------

New:
- Possibility to display a changing value on a single line ("steady line" feature) (bug #546).
   > Additional automatic action [Overwrite Line on subsequent Rx].
   > Text terminals: New option to execute carriage returns when outside EOL, disabled by default.
- Additional keyword "\!(Break)" that breaks sending, same as [Ctrl+B], useful with e.g. predefined
  commands and automatic responses when [concurrent sending] is allowed (feature request #477).
- When a serial COM port gets disconnected, there is a new option to automatically switch to the
  next available COM port; and the "\!(Port())" keyword now supports -1 to automatically select the
  first available COM port (feature request #473).
- UDP/IP terminals now provide a setting to either optimize for speed or retain datagrams. The
  latter is the default setting; each packet requested by the terminal will be sent as an individual
  datagram and each datagram received will be shown on an individual line (feature request #472).

Important changes:
- Terminal view improved; frames removed. View may look unfamiliar at first. Improvement allows more
  area usable for content; especially noticeable with a workspace containing many terminals.
- [Predefined Commands] panel now shows a vertical scroll bar if required (feature request #474).
- [Predefined Commands] panel no longer shows page navigation if only a single page (rel. to #474).
- Option to hide menu and toolbar (related to feature request #474).
- Improved speed on copying monitor content onto clipboard if formatting is disabled; clipboard will
  only contain unformatted text in this case (feature request #346).
- Handling of keyboard input if not keeping [Text] or for sending immediately improved (related to
  fix of bugs #548 and #549).
- [Terminal > All Terminals Open/Start] added.
- TCP/IP server option to limit the number of connections.
- TCP/IP AutoSocket servers are now limited to a single connection by default.
- UDP/IP and TCP/IP terminal I/O status now shows more details on connection end-points.
- Hidden bytes, e.g. initial <XOn>, no longer trigger line begin, e.g. time stamp.
- Serial COM port connection monitor now better covers devices which do not properly handle the
  connection state, e.g. Teensy with Microsoft CDC ACM driver (related to feat. #473 and bug #543).
- Additional measures to prevent deadlocked serial COM ports (related to feat. #473 and bug #543).

Fixed bugs:
- [Send > Text*] now validates and respects modified [Text] (bug #544).
- Activating the toolbar no longer resets modified [Text] (bug #510).
- Sending a predefined command no longer resets modified [Text] (bug #549).
- Predefined command shortcut [Shift+F3] fixed (bug #548, regression of fix of bug #534).
- Change of terminal state no longer resets modified [Text] (related to fix of bugs #548 and #549).
- Text terminals: When software flow control is active, <XOn>/<XOff> no longer have an impact on
  EOL even if EOL is not shown (follow-up of fix of bug #538).
- Serial COM port send rate limitation fixed and improved (bug #557, regression of YAT 2.4.0).
- Double-clicking a file in a dialog no longer triggers the underneath single-click action in the
  main menu, toolbar or status bar (bug #554, related to fix of former bug #210).
- Control char related labels in settings dialogs no longer use terminal back color (bug #547).
- 'NullReferenceException' on switching from TCP/IP to serial COM port fixed (bugs #550 and #555).
- Mouse wheel scrolling of combo boxes fixed (bug #558).

Limitations and known issues:
- General limitations of .NET Framework:
   > Unicode is limited to the basic multilingual plane (U+0000..U+FFFF) (feature request #329).
- General limitations of .NET Windows.Forms:
   > Main window status bar tooltips may flicker in case window is maximized (bug #488).
   > Tool strip combo box slightly flickers when updating item list, e.g. [Find Pattern] (bug #402).
   > Combo box cannot restore some corner-case cursor positions (bug #403).
   > Combo box text is compared case insensitively against item list, e.g. "aa" is changed to "AA"
     if that is contained in the item list, e.g. the recent [Send Text] or [Find] items (bug #347).
   > Combo box of [Send File] does not have the same color as a button (related to fix of bug #308).
   > When filling-in [Alt Gr] modified characters, key shortcut underlines may remain (bug #553).
   > When [Send Text] or [Send File] is hidden, resizing the panel doesn't properly work (bug #412).
   > Automatic completion for e.g. [Send Text] is not feasible to implement (feature request #227).
   > Automatic horizontal scrolling of monitors is not feasible to implement (feature request #163).
   > Vertical scrolling of monitors while a lot of data is being transmitted and while items are
     selected may lead to a severe drop of the overall performance (related to bug #383).
   > Link label text rendering issues after plotting (bug #485).
- MDI limitations of .NET Windows.Forms:
   > Issues with frame (bugs #29 and #30).
   > Issue with window list (bug #31).
   > Issue with layout when closing an MDI child (bug #399).
   > Issue with layout when resizing the main form (bug #513).
- Serial COM port limitations of .NET Framework:
   > Support for ports named other than "COM..." isn't supported by .NET (feature request #101).
   > Use of serial COM ports on disconnect, undock or hibernate without closing the port may result
     in port no longer usable. It happens due to bugs in the .NET 'SerialPort' for which Microsoft
     seems to have no plans fixing. YAT applies several patches to circumvent the issues, some of
     them require [Terminal > Settings... > ...monitor the port...] being active. If the issue still
     is observed, refrain from disconnecting a device or undocking or hibernating while a port is
     open. In case the issue occurs, exiting YAT should be sufficient to force the .NET Runtime to
     terminate the buggy pieces of code. If not, reconnecting the device should fix the issue.
- Limitation of Visual Studio Installer Projects 2022:
   > While the YAT SVN repository now preserves the time stamps of 3rd party, resources and
     documentation files, the installer will reset the time stamps to the build time (bug #515).
- The "\!(PortSettings())" keyword is yet limited to serial COM ports (feature request #71).
- USB Ser/HID only runs on Windows; use of 'LibUsb'/'LibUsbDotNet' and significant migration work of
  implementation and test environment would be needed to run it on unixoids (feature request #119).
- Sending immediately does not yet support special formats and commands (feature request #10).
- Automatic actions [Filter] and [Suppress] as well as automatic actions and responses based on a
  text trigger are constrained to handle complete lines. Thus, individual characters incl. control
  characters like <XOn> as well as incomplete lines will not be displayed until line is complete.
- Switching log off may take several seconds, during which YAT is unresponsive (bug #459).


YAT 2.5.0 :: 2022-12-12
----------------------------------------------------------------------------------------------------

New:
- Text terminals: Additional options to...
  ...configure treatment of extended ASCII characters 0x80..FF (feature request #448).
  ...hide or replace control and/or extended ASCII characters by a placeholder (feature req. #459).
  ...hide <CR> and/or <LF> outside EOL. Useful with mixed EOL, e.g. devices with <CRLF> and <LFCR>.
     In such case, EOL can now be set to <LF> while <CR> can be hidden (feat. req. #449, bug #521).
- Option to show the time delta among selected monitor lines.
- Additional keywords "\!(LogOn|Off|Toggle)" allow to change logging on-the-fly (feat. req. #446).
- Additional option to enclose separated content, e.g. "[58h]" for "58h". (feat. req. #447).
- Additional automatic actions [Filter Content] and [Suppress Content] (related to bug #521),
  enabling filtering/suppressing e.g. ANSI escape sequences (predefined regular expression added).
- Binary terminals: Byte send delay added (related to analysis of bug #528).
- IP networking: DNS preference for IPv6 added to [File > Preferences...] (related to bug #529).
- Script to convert Docklight settings files (.ptp) to YAT (.yat) (feature request #429),
  available at https://sourceforge.net/p/y-a-terminal/code/HEAD/tree/trunk/YATTools/Settings/.

Important changes:
- ASCII related settings moved from [Terminal > Settings... > Advanced...] to
  [Terminal > Settings... > Text...] (related to feature requests #448, #449, #459 and bug #521).
- ASCII control characters now also use the control format in Bin/Oct/Dec/Hex radix. This enables
  coloring them differently than non-control characters also in Bin/Oct/Dec/Hex radix.
- ASCII control character replacement setting [Character] migrated to [Symbol Character] resulting
  in displaying as Unicode symbols U+2400..241F as well as U+2421 (bug #517, feature request #34).
- ASCII control character treatment (display/execute/replace/hide) test coverage improved.
- Text terminals: Encoding related improvements (ordering, ASCII compatibility).
- Binary terminals: Now by default using .NET's [Encoding.Default] that corresponds to the system's
  default ANSI code page, e.g. Windows-1252 in Western Europe, for parsing of [Send Text|File].
- Serial COM ports and USB Ser/HID: XOn/XOff counts are now preserved when changing settings.
- Serial COM ports: Control pin and break counts are now preserved when changing settings.
- Accuracy of time stamps on sending improved for all I/O types (bug #514) and
  accuracy of time stamps on receiving improved for UDP/IP sockets (feature request #442).
- UDP/IP server now supports filtering with CIDR or wildcard notation (related to bug #495,
  implemented using IPNetwork).
- Tooltips of send buttons no longer show unlimited large data (bug #535).
- Send buttons again show the file path (leftover of bug #308, feature request #458).
- [Send Text|File] buttons now toggle to [Break Sending] while sending of e.g. files or repeating
  commands is ongoing (feature request #445).
- Automatic actions [Highlight], [Filter] and [Suppress] renamed to [... Line] for obviousness and
  distinction with newly added [Filter Content] and [Suppress Content] (related to bug #521).
- Option to immediately start logging when creating a new terminal (related to bug #539).
- Major settings dialogs now indicate the corresponding main menu icon.
- Terminal specific settings dialogs now indicate the terminal name (related to bug #539).
- System error messages and standard message box buttons in English rather than locale (bug #66).
- Upgrade to Visual Studio 2022 (feature request #441).
- Build details refined (feature request #437):
   > The build ID now represents the SVN revision and thus is an incremental value across versions.
   > Visual Studio projects switched to deterministic builds, enabling identical compilation output
     across multiple builds for identical inputs.
- App.config file time stamps now reflect the build time of the binaries (bug #515).
- 3rd party use of YAT assemblies, e.g. with PowerShell or CS-Script, product name and version now
  reflect the YAT name and version rather than the 3rd party executable's. Especially applies to
  name and version stated when writing settings files (related to feature request #429).

Fixed bugs:
- [Send Text] shortcuts [F3] and [Ctrl+F3] now reflect modified text (bug #534).
- Scaling problem of [Predefined Commands] panel on non-100 % scaling fixed (bugs #522 and #524).
- Text terminals:
   > Wait for response now always resets clearance when terminal is closed/reopened (bug #523).
   > Treatment of backspace fixed for UTF-16/32 (related to ASCII control character improvements).
   > Handling of adjacent EOL character(s) fixed for UTF-16/32 Big-Endian.
   > When software flow control is active, <XOn>/<XOff> no longer have an impact on EOL (bug #538).
- Serial COM port break state handling fixed and improved:
   > Output break state count is immediately incremented.
   > Input break state immediately gets restored on first chunk received.
   > Input break state count should be incremented only once on all ports/hardware.
   > Break state is indicated in terminal I/O status.
   > Test coverage enhanced.
- IP networking: Use of host name no longer results in "[broadcast] ..." error message (bug #529).
- UDP/IP server filtering now also works on matching address and filter bit masks (bug #495).
- Automatic actions [Filter] and [Suppress] no longer erroneously suppress Tx content (bug #519).
- Double-click on [connect time] or [bytes | lines] again properly resets the counters (bug #533).
- [Terminal > Select All] now happens instantly even with very many lines (bug #461).
- ASCII control character replacement setting [Character] no longer results in a
  'TargetInvocationException' (bugs #517 and #521).
- 'ArgumentOutOfRangeException' caused by 'ComboBoxHelper' fixed.

Limitations and known issues:
- General limitations of .NET Framework:
   > Unicode is limited to the basic multilingual plane (U+0000..U+FFFF) (feature request #329).
- General limitations of .NET Windows.Forms:
   > Main window status bar tooltips may flicker in case window is maximized (bug #488).
   > Tool strip combo box slightly flickers when updating item list, e.g. [Find Pattern] (bug #402).
   > Combo box cannot restore some corner-case cursor positions (bug #403).
   > Combo box text is compared case insensitively against item list, e.g. "aa" is changed to "AA"
     if that is contained in the item list, e.g. the recent [Send Text] or [Find] items (bug #347).
   > Combo box of [Send File] does not have the same color as a button (related to fix of bug #308).
   > When filling-in [Alt Gr] modified characters, key shortcut underlines may remain (bug #553).
   > When [Send Text] or [Send File] is hidden, resizing the panel doesn't properly work (bug #412).
   > Automatic completion for e.g. [Send Text] is not feasible to implement (feature request #227).
   > Automatic horizontal scrolling of monitors is not feasible to implement (feature request #163).
   > Vertical scrolling of monitors while a lot of data is being transmitted and while items are
     selected may lead to a severe drop of the overall performance (related to bug #383).
   > Link label text rendering issues after plotting (bug #485).
- MDI limitations of .NET Windows.Forms:
   > Issues with frame (bugs #29 and #30).
   > Issue with window list (bug #31).
   > Issue with layout when closing an MDI child (bug #399).
   > Issue with layout when resizing the main form (bug #513).
- Serial COM port limitations of .NET Framework:
   > Support for ports named other than "COM..." isn't supported by .NET (feature request #101).
   > Use of serial COM ports on disconnect, undock or hibernate without closing the port may result
     in the port no longer being usable. It happens due to a bug in the .NET 'SerialPort' class for
     which Microsoft seems to have no plans fixing. To prevent the issue, refrain from disconnecting
     a device or undocking or hibernating while a port is open. In case the issue occurs, exiting
     YAT should be sufficient to force the .NET Runtime to terminate the buggy piece of code.
     If not, disconnecting the device or rebooting the computer should fix the issue.
- Limitation of Visual Studio Installer Projects 2022:
   > While the YAT SVN repository now preserves the time stamps of 3rd party, resources and
     documentation files, the installer will reset the time stamps to the build time (bug #515).
- The "\!(PortSettings())" keyword is yet limited to serial COM ports (feature request #71).
- USB Ser/HID only runs on Windows; use of 'LibUsb'/'LibUsbDotNet' and significant migration work of
  implementation and test environment would be needed to run it on unixoids (feature request #119).
- Sending immediately does not yet support special formats and commands (feature request #10).
- Automatic actions [Filter] and [Suppress] as well as automatic actions and responses based on a
  text trigger are constrained to handle complete lines. Thus, individual characters incl. control
  characters like <XOn> as well as incomplete lines will not be displayed until line is complete.
- Switching log off may take several seconds, during which YAT is unresponsive (bug #459).


YAT 2.4.1 :: 2021-05-15
----------------------------------------------------------------------------------------------------

New:
- Quick reference (PDF) added. Accessible via [Windows > Start > YAT] and [YAT > Help].
- [Find All] added, with shortcut [Alt+Shift+L], incl. live update (feature requests #424 and #434).

Important changes:
- YAT now checks whether the DejaVu monospaced font is available, and whether a monospaced font
  is used for the terminals. The user gets warned if either is not given (feature request #341).
- [View > Format... > Font...] now by default only shows monospaced fonts (related to req. #341).
- Parser now supports the non-standard but common C-style '\e'.
- Behavior on multi-byte character set decoding mismatch can now be configured in the terminal
  settings [Terminal > Settings... > Text...] (feature request #436).
- Separate colors for warnings and errors (related to feature request #436). On existing terminals,
  separate colors will have to be explicitly activated by [View > Format... > Defaults...].
- Find text can now automatically be set by either selecting a line in a monitor or by selecting the
  whole or parts of a line in [Copy of Active Line] (related to feature requests #424 and #434).
- Log dialog now more clearly states "root directory and file name base" (part of feat. req. #435).
- Help window can again be sized to display more/all content (related to earlier feature req. #237).
- Command line argument errors are better reported now (bug #503).
- Builds reverted from 'x64' to 'Any CPU' for providing compatibility with MSIL projects that make
  direct use of YAT/MKY/OxyPlot/RtfWriter/ALAZ assemblies (bug #507, related to recent upgrade to
  .NET Runtime 4 and .NET Framework 4.8 (feature request #229)).

Fixed bugs:
- Handling of missing log file folder fixed.
- Issues when backspace was preceded by space(s) fixed.
- [broadcast] recently selected for UDP/IP remote host is no longer listed for TCP/IP (bug #508).
- Handling of trigger of automatic actions and responses fixed and improved (bugs #504 and #505).
- Plotting no longer takes time stamp and other meta info into account (bug #509). The option will
  again become available in a dedicated action/response configuration dialog (future feature #431).
- Plot window related 'NullReferenceException' when closing YAT fixed.

Limitations and known issues:
- Same as previous release, see below.


YAT 2.4.0 :: 2021-01-29
----------------------------------------------------------------------------------------------------

New:
- Text terminals: Option to glue characters of a line together, enabled by default, resulting in
  fewer line breaks when sending and receiving in full-duplex (related to feat. #19 and bug #176).
- Text terminals: Option to wait for response, resulting in request and response being displayed
  adjacently. Useful for sending multi-line commands and files with ping-pong-style command sets
  (feature request #19 and bug #176).
  Note for serial COM ports: In order to only limit the send rate, YAT offers other settings, e.g.
  [Terminal > Settings... > Advanced... > Send > Buffer not more than baud rate permits] which
  limits the send rate and lets an active hardware or software flow control do its job even for
  small buffers and large amount of data.
- Support for concurrent sending, i.e. multiple commands can be active simultaneously (feat. #387).
  Useful e.g. for sending a text command while a repeating text command is already ongoing.
  Can be enabled at [Terminal > Settings... > Advanced... > Send > Allow concurrent sending].
- Content separator can now be configured. Useful for e.g. displaying or logging hex data without
  separating spaces, e.g. "414243", using [None]. Separator format can now also be configured.
- Additional keyword "\!(TimeStamp)" allowing injection of current date/time (feature request #400).
  Format according to [View > Format Settings... > Options > Time Stamp].
  Useful for e.g. sending "AT+DATE=20 01 01 12 00 00".
- Additional keyword "\!(Port())" allow to change the serial COM port on-the-fly (feat. req. #403).
  Especially useful as predefined command e.g. "\!(Port(10))\!(NoEOL())" to change port by shortcut.
- Additional keywords "\!(RtsOn|Off|Toggle)" and "\!(DtrOn|Off|Toggle)" allow to change serial COM
  port signals on-the-fly (feature request #408). Also work with predefined commands and shortcuts.
- Additional option to disable warnings like "XOff state, retaining data..." on sending.
- USB Ser/HID now takes the HID usage page and ID into account, allowing working with devices that
  implement multiple usages (e.g. a standard interface and a firmware upgrade interface) (bug #480).
- Automatic actions and responses now support multiple triggers within a line or chunk.
- Automatic actions and responses now support text triggers, optionally incl. regular expression.
- Automatic actions and responses now list recent used trigger and response texts.
- Automatic responses now support injection of trigger captures, given regular expression is used.
- New automatic actions [Plot Byte Count/Rate] and [Plot Line Count/Rate].
- New automatic actions [Line Chart], [Scatter Plot] and [Histogram].

Important changes:
- High FTDI and Prolific baud rates added to list of standard baud rates (feature request #398).
- Using term "I/O" instead of "Port" for terminal, settings,... for reducing mix-up of term in YAT
  with TCP and UDP "Port" terminology, where a "Port" only is a part of the overall "I/O" subsystem.
- Text terminals: Now by default using UTF-8 instead of .NET's [Encoding.Default] that is limited to
  an ANSI code page, e.g. Windows-1252 in Western Europe (related to former bugs #427, #428, #429).
- Sending refactored (precondition for feature requests #19, #333, #387 and fix of bug #176).
- Text terminals: Line content and EOL is no longer sent in two separate chunks (feature req. #333).
- Element and line processing refactored (precondition for feature requests #19, #366, #367 and fix
  of bugs #176, #371, #477, #478 as well as preparing upcoming feature request #74).
- Unidirectional Tx and Rx panels now use a separate line detection mechanism and no longer break
  lines at the same location as the bidirectional panel (bugs #371 and #477).
- [Monitor Context Menu > Clear] no longer clears all panels (Tx/Bidir/Rx), just the selected. Use
  [Main Menu > Terminal > Clear [All]] or [Ctrl+L] to clear all panels (related to change above).
  [Main Menu > Terminal > All Terminals Clear] or [Ctrl+E] to clear all terminals (feat. req. #392).
- User saved workspace file name is indicated in title bar (feature request #416).
- Binary terminals: Lines are no longer broken each 16 bytes by default, they now by default are
  broken on every chunk (related to bug #477).
- Consequently, chunk line break settings are now located in the text/binary specific dialog.
- Comma and semicolon added to list of predefined EOL sequences (feature request #409).
- Option to hide undefined predefined commands (feature request #410).
- Option to [Copy Text / File Path to Clipboard] (bug #493).
- Possibility to clear lists of recent files and [Send Text|File] commands.
- Adaptive monitor update rate further improved.
- Calculation of byte/line rates improved.
- For Bin/Oct/Dec/Hex/Unicode radix:
   > Performance significantly improved (feature request #406).
   > ASCII control characters are no longer converted to mnemonics.
- Option to not send XOn when opening a serial COM port or USB Ser/HID terminal (feat. req. #393).
- TCP/IP connection state management improved in terms of stress resilience.
- TCP/IP segment payload size limited to the safe maximum of 516 (IPv4) or 1220 octets (IPv6).
- UDP/IP datagram payload size limited to the safe maximum of 508 (IPv4) or 1212 octets (IPv6).
- IPv6 support enabled for UDP/IP terminals (feature request #372).
- Changes on-the-fly by keywords like "\!(Port())", "\!(PortSettings())", "\!(Baud())",... are now
  reflected in the terminal settings, i.e. also indicated by '*' (related to reqs. #71 and #403).
- [Terminal > Settings... > Advanced...] dialog rearranged for better fitting screen.
- Upgrade to .NET Runtime 4 and .NET Framework 4.8 (part of feature request #229, precondition for
  new automatic actions [Chart/Plot/Histogram] and upcoming feature request #74 [Scripting]).
  Consequently, x64 distributions no longer need to be 'Any CPU' builds and are 'x64' builds now.
- Improved error message in case the required version of .NET is missing.
- Additional command line option [--version]. Better command line message box (feature req. #383).
- Project/Assembly structure slightly refined (preparing upcoming feature request #74).
- Test coverage of sending and processing significantly increased (related to refactorings above).

Fixed bugs:
- Predefined command description gets updated when multi-line command gets changed (bug #481) and
  default description no longer gets saved in settings file.
- Predefined command description is kept when filled-in before command (bugs #472, #476, #499).
- Issue with not shown predefined commands when defining more than 12 predefined commands fixed.
- Layout of predefined commands can now also be changed on a new terminal that doesn't contain
  commands yet (related to previous feature requests #28, #257, #365).
- Import/Paste of a .yacp command page file that contains more predefined commands than currently
  configured now behaves correctly (bug #479, related to previous feature requests #28, #257, #365).
- Explicit default radix is no longer reset to [String] when multiple predefined command pages are
  being defined (bug #492).
- Recent TCP/IP and UDP/IP ports, remote hosts and local filters are remembered again (related to
  former feature request #273).
- TCP/IP client terminals now also try to automatically reconnect within configured timeout even in
  case the server resets an initial SYN and times-out a subsequent SYN request (bug #487).
- Automatic actions and responses now work chunk independently (feature request #366).
- Automatic actions [Filter] and [Suppress] now also work for continuous data (bug #478) and on
  refresh (feature request #367).
- The time information of a line is no longer defined by hidden bytes like e.g. an initial XOn.
- Line break detection and processing continues even when exceeding the configured maximum number
  of characters/bytes per line (related to refactoring of element and line processing).
- Sending of very long lines now also works for TCP/IP based terminals (bug #340).
- Sending of very long lines in other terminal types (in case of e.g. serial COM ports longer than
  the software buffer, typically 2048 bytes) works again (bug #417).
- Handling of [Preferences... > ...take serial number/string into account] fixed (rel. to bug #480).
- Consequence of .NET upgrade (former limitations of .NET Runtime 2 and .NET Framework 3.5):
   > System display scaling other than 100% (96 DPI) no longer result in minor distortions on Win 7
     (bugs #85, #235, #375) nor some blurring on Win 8 and above (feature requests #310 and #360).
   > Use of serial COM ports on disconnect, undock or hibernate without closing the port should
     no longer result in an 'ObjectDisposedException' or 'UnauthorizedAccessException' (bugs #224,
     #254, #293, #316, #317, #345, #382, #385, #387, #401, #442) and should neither result in
     deadlocks anymore, though not all potential causes for this issue in the .NET 'SerialPort'
     class could be verified.
   > Running YAT for a long period, or creating many terminals, no longer results in memory leaks,
     previously resulting in gradual increase of memory consumption (RAM) (bugs #243, #263, #336).

Limitations and known issues:
- General limitations of .NET Framework:
   > Unicode is limited to the basic multilingual plane (U+0000..U+FFFF) (feature request #329).
- General limitations of .NET Windows.Forms:
   > System error messages are output in local language, even though YAT is all-English (bug #66).
   > Main window status bar tooltips may flicker in case window is maximized (bug #488).
   > Tool strip combo box slightly flickers when updating item list, e.g. [Find Pattern] (bug #402).
   > Combo box cannot restore some corner-case cursor positions (bug #403).
   > Combo box text is compared case insensitively against item list, e.g. "aa" is changed to "AA"
     if that is contained in the item list, e.g. the recent [Send Text] or [Find] items (bug #347).
   > When [Send Text] or [Send File] is hidden, resizing the panel doesn't properly work (bug #412).
   > Automatic completion for e.g. [Send Text] is not feasible to implement (feature request #227).
   > Automatic horizontal scrolling of monitors is not feasible to implement (feature request #163).
   > Vertical scrolling of monitors while a lot of data is being transmitted and while items are
     selected may lead to a severe drop of the overall performance (related to bug #383).
   > Link label text rendering issues after plotting (bug #485).
- MDI limitations of .NET Windows.Forms:
   > Issues with frame (bugs #29 and #30).
   > Issue with window list (bug #31).
   > Issue with layout when closing an MDI child (bug #399).
   > Issue with layout when resizing the main form (bug #513).
- Serial COM port limitations of .NET Framework:
   > Support for ports named other than "COM..." isn't supported by .NET (feature request #101).
   > Use of serial COM ports on disconnect, undock or hibernate without closing the port may result
     in the port no longer being usable. It happens due to a bug in the .NET 'SerialPort' class for
     which Microsoft seems to have no plans fixing. To prevent the issue, refrain from disconnecting
     a device or undocking or hibernating while a port is open. In case the issue occurs, exiting
     YAT should be sufficient to force the .NET Runtime to terminate the buggy piece of code.
     If not, disconnecting the device or rebooting the computer should fix the issue.
- The "\!(PortSettings())" keyword is yet limited to serial COM ports (feature request #71).
- USB Ser/HID only runs on Windows; use of 'LibUsb'/'LibUsbDotNet' and significant migration work of
  implementation and test environment would be needed to run it on unixoids (feature request #119).
- Sending immediately does not yet support special formats and commands (feature request #10).
- Automatic actions [Filter] and [Suppress] as well as automatic actions and responses based on a
  text trigger are constrained to handle complete lines. Thus, individual characters incl. control
  characters like <XOn> as well as incomplete lines will not be displayed until line is complete.
- Switching log off may take several seconds, during which YAT is unresponsive (bug #459).


Content of the below historical versions has been removed in order to compact this file such it fits
the SourceForge limitation of 64 KiB for the online readme / release notes.
----------------------------------------------------------------------------------------------------

(Versions 2.2 and 2.3 have been skipped to emphasize the update to .NET 4.x while still keeping the
option for releasing the 2.4+ features (except plotting) also on .NET Runtime 2.0 / Framework 3.5.)

YAT                        Version 2.1.0   :: 2019-10-04
YAT 2.0 Final              Version 2.0.0   :: 2018-04-13
YAT 2.0 Epsilon            Version 1.99.90 :: 2018-01-12
YAT 2.0 Delta              Version 1.99.80 :: 2017-10-15
YAT 2.0 Gamma 3            Version 1.99.70 :: 2017-07-04
YAT 2.0 Gamma 2''          Version 1.99.52 :: 2016-09-30
YAT 2.0 Gamma 2'           Version 1.99.51 :: 2016-09-17
YAT 2.0 Gamma 2            Version 1.99.50 :: 2016-09-16
YAT 2.0 Gamma 1''          Version 1.99.34 :: 2015-06-13
YAT 2.0 Gamma 1'           Version 1.99.33 :: 2015-06-07
YAT 2.0 Gamma 1            Version 1.99.32 :: 2015-06-01
YAT 2.0 Beta 4 Candidate 2 Version 1.99.30 :: 2013-02-02
YAT 2.0 Beta 4 Candidate 1 Version 1.99.28 :: 2011-12-05
YAT 2.0 Beta 3 Candidate 4 Version 1.99.26 :: 2011-04-25
YAT 2.0 Beta 3 Candidate 3 Version 1.99.25 :: 2010-11-28
YAT 2.0 Beta 3 Candidate 2 Version 1.99.24 :: 2010-11-11
YAT 2.0 Beta 3 Candidate 1 Version 1.99.23 :: 2009-09-10
YAT 2.0 Beta 2 Candidate 4 Version 1.99.20 :: 2008-07-18
YAT 2.0 Beta 2 Candidate 3 Version 1.99.19 :: 2008-04-01
YAT 2.0 Beta 2 Candidate 2 Version 1.99.18 :: 2008-03-17
YAT 2.0 Beta 2 Candidate 1 Version 1.99.17 :: 2008-02-11
YAT 2.0 Beta 2 Preliminary Version 1.99.13 :: 2007-08-30
YAT 2.0 Beta 1             Version 1.99.12 :: 2007-04-15
YAT 2.0 Alpha 3            Version 1.99.8  :: 2007-02-25
YAT 2.0 Alpha 2            Version 1.99.3  :: 2007-02-07
YAT 2.0 Alpha 1            Version 1.99.0  :: 2007-01-23


====================================================================================================
4. History of Changes in XTerm232
====================================================================================================

XTerm232 1.0.2 :: 2003-10-31
XTerm232 1.0.1 :: 2003-10-30
XTerm232 1.0.0 :: 2003-10-14

Content of the above historical versions has been removed in order to compact this file such it fits
the SourceForge limitation of 64 KiB for the online release notes.


====================================================================================================
5. Roadmap
====================================================================================================

YAT 2 for Mono/Linux (feature requests #381 and #401) :: Expected by YAT 2.8.0
----------------------------------------------------------------------------------------------------
YAT 2 is in maintenance mode now, i.e. focus on bug fixes and minor changes, while work for YAT 4
is already ongoing. Still, YAT 2.8.0 intends to bring support for Mono/Linux.


(Version 3 will be skipped to prevent naming conflict with yat3 of Dieter Fauth that became
public around the same time as YAT. And, 4.0 buzzes more anyway (industry 4.0 and the like ;-))
----------------------------------------------------------------------------------------------------


YAT 4 with scripting (feature requests #74 and #82) :: Expected in 2025
----------------------------------------------------------------------------------------------------
YAT 4.0 will feature the integration of a scripting environment, based on the CSScript engine.
Scripting will allow you to script YAT and automate repetitive tasks, use it for test automation,
implement protocol layers,... whatever you can think of. Examples and templates will be included.

It is also planned to demonstrate how to use YAT from a PowerShell script and along with NUnit.
All these features aim for providing a versatile automatic testing tool for serial communications.


====================================================================================================
6. Legal
====================================================================================================

Copyright © 2003-2004 HSR Hochschule für Technik Rapperswil.
Copyright © 2003-2024 Matthias Kläy.
All rights reserved.

YAT is licensed under the GNU LGPL-2.1.
See https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html for license terms.


****************************************************************************************************
                                      End of YAT Release Notes.
****************************************************************************************************
Source: YAT Release Notes - ReadMe.txt, updated 2024-08-09