Release History

2018-09-05

IO Ninja 3.9.1 is out!


  • Script transmit pane

    Convenient scriptable transmission is finally here! Now you can write a loop which would keep re-transmitting packets with some delay. Or programmatically set-up a complex packet with a checksum or signature. Or generate packets containing random bytes. Or iterate through a predefined list of targets and send a packet to each one. Or other non-trivial transmission scenarios — you've got the idea.

  • Redesign of packet templates

    Packet templates always was a cool and unique feature of IO Ninja — but the one which almost nobody used! This release brings a few significant improvements to the packet template feature which make it much more convenient and intuitive. The idea is to copy-paste the C-language definitions of packet structs and then edit packet fields using the property grid.

  • Support for Modbus ASCII & Modbus TCP

    Previously, IO Ninja could only handle Modbus RTU. Now, the improved Modbus Analyzer plugin also supports Modbus ASCII and Modbus TCP. It also provides much more polished output (dense vs verbose view, colorized sections of Modbus frames, etc).

  • Lots of BUGFIXes and other improvements — as usual!

    For a full list of changes see changelog.txt (also included in all installation packages).

2017-08-08

IO Ninja 3.9.0 is out!


  • Major redesign of the Ninja Scroll logging engine

    Now it's much more responsive under high-load and with huge (multi-gigabyte) logs due to the fully parallel processing of indexing, representing, converting, searching, etc.

  • New USB Control Endpoint plugin

    Allows low-level communication with USB control endpoint #0 — great for testing and debugging the USB devices under development.

  • New TX Modifier plugin

    Appends prefix and/or suffix, re-transmits with the specified interval, inserts inter-character delays.

  • New TX/RX Filter plugin

    Allows to filter out (exclude) TX or RX streams out of the log — extremely helpful when local echo clutters the view.

  • Custom serial baud rates

    Your wish is our command! As per your requests, we added editable combo-box properties — now you can specify arbitrary baud-rates in all serial-based plugins.

  • Hung server process detection and termination

    Now potential problems with the ioninja-server process should not affect the main GUI process — just terminate a hung session and start a new one.

  • Unicode support for TEMP path on Windows

    Previously, having non-ASCII characters in TEMP (e.g. when your username includes non-English letters) would result in the error: A device attached to the system is not functioning. Not anymore!

  • Lots of BUGFIXes and other improvements — as usual!

    For a full list of changes see changelog.txt (also included in all installation packages).

2018-06-04

IO Ninja 3.8.7 is out!


  • New Serial Tap hardware sniffer for IO Ninja

    We are proud to introduce the new hardware Serial Tap for IO Ninja. This is a simple yet functional and convenient sniffer for asynchronous serial links (RS-232, RS-422, RS-485, TTL-level UART). A native support for this sniffer device is provided via the Serial Tap plugin.

  • Dynamic linking to the Jancy library

    Starting with this release, we are going to use dynamic linking to the Jancy library. On Windows, we also have switched to dynamic linking to the Microsoft C Runtime and 3rd-party dependencies (such as OpenSSL or LibUSB). This allowed us to significantly reduce the footprint of IO Ninja binaries.

  • Lots of BUGFIXes and other improvements — as usual!

    For a full list of changes see changelog.txt (also included in all installation packages).

2018-04-26

IO Ninja 3.8.6 is out!


  • New EZ-Tap Pro plugin

    EZ-Tap Pro and Versa-Tap are popular serial tap cables from Stratus Engineering Inc. With the addition of this new plugin, IO Ninja can be used as a powerful and feature-rich alternative client for working with these great sniffer devices!

  • Colors in the "Information" pane

    Checking serial line states is easier now as there is a visual hint — "on" is red, "off" is gray.

  • COM-port device descriptions in drop-downs

    With the new property gui.ComboBox.m_isDualItemText it is now possible to have an editable combo box, but have descriptive texts in the drop-down. Fits perfectly for showing COM-port device descriptions in serial port drop-downs — while still being able to type a device name directly!

  • Plugin scripts and issue tracker are on GitHub now!

    The sources for all the official plugins have been put to a public GitHub repo. Now, whenever you find a bug in a script you can fix it yourself and send us a pull-request. The same goes for new features — and maybe even new plugins!

    IO Ninja official scripts repo
    https://github.com/vovkos/ioninja-scripts
    The main app issue-only repo
    https://github.com/vovkos/ioninja-issues
  • Lots of BUGFIXes and other improvements — as usual!

    For a full list of changes see changelog.txt (also included in all installation packages).

2018-04-09

IO Ninja 3.8.5 is out!

This release introduces the following new features:

  • Dramatic (~20x) performance boost in find-in-log and save-log-as-text

    Thanks to the new server-side range processors feature in the Ninja Scroll logging engine, searching through multi-gigabyte logs (collected, for example, over a weekend) is no longer a problem. The same goes for saving log as text — the speed of these operations increased by an order of magnitude compared to versions prior to 3.8.5!

  • New Informational pane with throughput calculator, checksum calculator, session stats, etc

    IO Ninja features a pane on the right of the main window with all kinds of useful information: throughput, total TX and RX byte counters, session time, checksums of the selected range (CRC-16, CRC-32, IPv4, etc). Of course, you can always hide it — if it's too much information for you.

  • New Tibbo Modbus Gateway Monitor plugin

    IO Ninja provides a native plugin for monitoring a line of Modbus Gateway devices from Tibbo — conveniently relay, decode and analyze Modbus traffic flowing through our Modbus gateways!

  • Support for ARP/InARP protocols in the Network Sniffer plugin

    Of course, this had to be done long time ago... but it was waiting for some real-world incentive — which presented itself during a recent debugging session over one tricky ARP-cache related issue. And voila, support for ARP/inverse ARP is finally here!

  • Lots of BUGFIXes and other improvements -- as usual!

    For a full list of changes see changelog.txt (also included in all installation packages).

Download IO Ninja 3.8.5

2018-01-26

IO Ninja 3.8.4 is out!

This release introduces the following new features:

  • Serial Tap Cable monitoring plugin

    IO Ninja can now be used with serial tap cables such as EZ-Tap from Stratus Engineering Inc.

  • Streaming mode in Tibbo Device Monitor for improved performance & scalability

    With streaming mode it's possible to simultaneously pass multiple buffers to the kernel device filter driver, thus increasing overall throughput. Low-level details such as parallelism, buffer sizes, pending queue limits, etc — are all configurable!

  • All the Tibbo Device Monitor-based plugins have been re-written using the generic io.DeviceMonitor class

    Check the sources of Serial Monitor or Named Pipe Monitor to see how to process and log serial-specific or NPFS-specific IOCTLs — then extend those or roll out your own new device monitoring plugins for Windows and Linux!

  • Detection and workarounds for buggy USB-to-serial drivers

    Certain serial drivers just... do not play nice — some can't handle simultaneous read IRPs, some don't process COMMTIMEOUTS properly, etc. IO Ninja falls back to conservative (although slightly less performant) settings when it detects an unreliable driver.

  • Lots of BUGFIXes and other improvements -- as usual!

    For a full list of changes see changelog.txt (also included in all installation packages).

Download IO Ninja 3.8.4

2017-12-15

IO Ninja 3.8.3 is out!

This release introduces the following new features:

  • Major redesign of the Jancy standard library IO model for improved performance & scalability
  • Advanced IO & buffering options in all socket-based and serial plugins:
    • Read parallelism
    • Read block sizes
    • RX & TX buffer sizes
    • Serial interval & incapsulation options
    • Advanced setsockopt options, etc.
  • Support for guard-page-based GC safe-points on Windows x64
  • Lots of BUGFIXes and other improvements -- as usual!

    For a full list of changes see changelog.txt (also included in all installation packages).

Download IO Ninja 3.8.3

2017-11-24

IO Ninja 3.8.2 is out!

This release introduces the following new features:

  • Major optimization of the Ninja Scroll logging engine regarding opening & rebuilding large (multi-gigabyte) log files
  • Tooltips with HEX and U+ representations of code-points in Plain Text binary data mode
  • Crash reports and usage reports -- optional, anonymous and encrypted!
  • Hi-precision (sub-microsecond) timestamps on Windows 8+
  • Persistent history for all the combo-boxes in all the plugins
  • Default remote port property in TCP/UDP/SSH plugins
  • Possibility to replay selected log RX messages in the terminal console
  • Lots of BUGFIXes and other improvements -- as usual!

    For a full list of changes see changelog.txt (also included in all installation packages).

Download IO Ninja 3.8.2

2017-11-09

IO Ninja 3.8.1 is out!

This update release introduces the following new features:

  • Crash reports and usage reports -- optional, anonymous and encrypted!
  • Hi-precision (sub-microsecond) timestamps on Windows 8+
  • Persistent history for all the combo-boxes in all the plugins
  • Default remote port property in TCP/UDP/SSH plugins
  • Replay of the selected log RX messages in a terminal console
  • BUGFIXes and other improvements -- as usual!

    For a full list of changes see changelog.txt which is included in all installation packages.

Download IO Ninja 3.8.1

2017-10-20

IO Ninja 3.8.0 is out!

This major release introduces the following new features:

  • New terminal emulator console

    The terminal emulator console in IO Ninja can now be free-floating or tabbed (next to the log). New settings were added for making the console auto-sized or fixed-sized, for controlling various terminal compatibility options, etc.

  • Regular expression-based log colorizer

    The new Regex Colorizer layer plugin allows you to highlight your log according to regular expressions of your choice. Write a regex, select text attributes to apply when its found in data stream(s) and — voila! The pattern will be found and highlighted even if it spans across inter-packet boundaries! You may add as many highlighting rules as you want without performance drop!

  • Improved layer and custom plugin support

    This release adds layer persistency when saving log files or sessions with layers. Another important addition is the add-on plugin manager. Now IO Ninja can be configured to use custom-written add-on plugins without modifying the configuration files!

  • Key authorization support in the SSH client plugin

    Finally, IO Ninja can be used for connecting to SSH servers which require key authorization. The key file must be PEM-encoded (the most widely used key file format). It goes without saying, that the password authorization is also available like before.

  • Lots of BUGFIXes and other improvements -- as usual!

    For a full list of changes see changelog.txt which is included in all installation packages.

Download IO Ninja 3.8.0

2017-09-14

Service release IO Ninja 3.7.8 + tdevmon 3.2.3

This release contains two important BUGFIXes in tdevmon:

  • read-beyond-end-of-buffer in tdevmon for Windows

    This bug could cause occasional BSODs when monitoring named pipes with particularly long names (a big thanks to Gil Cohen from Comsec Group for the crash dumps).

  • MSI upgrade/repair/remove issues in tdevmon for Windows

    If tdevmon was used for monitoring any devices, both upgrade and repair via the MSI installer would return errors; reboot was never really requested (even when needed). Refer to this KB article for more details.


Besides these bugfixes, the new release also features:

  • Clickable fields in decoded ModBus RTU messages in the ModBus RTU Analyzer;
  • Extra keyboard compatibility options in the terminal settings;
  • Support for the alternative line-drawing character set in the terminal widget;
  • More minor BUGFIXes and improvements!

    For a full list of changes see changelog.txt which is included in all installation packages.

Download IO Ninja 3.7.8

2017-09-01

IO Ninja 3.7.7 is out!

What's new?

  • Serial monitor for Linux

    And yes, this is a real serial monitor — not one of those pipe-redirect/termios-proxy type of applications confusingly calling themselves "serial monitors" (the ones you normally find on the Internet when searching for a "Linux serial monitor").

  • Improved Linux inter-distro compatibility

    We distribute IO Ninja in form of pre-compiled binaries on Linux, and it caused us problems in the past — due to the vast number of Linux distros. We have significantly reduced the dependency set and the chances of IO Ninja running on your Linux are much higher now.

  • Dual WHDC SHA-256 EV & SHA-1 driver signatures for Windows 10 v1607+ compatibility

    Starting with Windows 10 v1607 it is necessary to submit drivers to Microsoft WHDC (Windows Hardware Developer Center) for verification and signing. We comply with these strict requirements — our drivers carry both WHDC-supplied SHA-256 EV (extended validation) signatures for Windows 10 and legacy SHA-1 signatures for Windows 7 and Windows XP.

  • Support for monitoring of remote named pipe/mailslot connections on Windows

    Previously IO Ninja only allowed monitoring the local NPFS/MSFS filesystems on Windows. It was a major source of confusion — why not all the named pipe communications are displayed in my log? Well, now you will see remote connections as well!

  • Dynamic structures in the Jancy language

    Everyone who has ever programmed low-level network IO knows how often network protocols use variable-sized packet headers, where the size of a field depends on some other "length" field. From now on Jancy allows describing such headers in the most natural way — using variable-lengthed arrays, thus yielding dynamically laid-out structs.

  • Lots and lots of BUGFIXes!

    These include two rare, but critical BSOD conditions in the device monitoring service on Windows.

Download IO Ninja 3.7.7