Release History

IO Ninja 5.7.1 is out!

Service release
2024-10-09

IO Ninja 5.7.0 is out!

Major release
2024-09-26

  • NEW: UI themes — choose between different QT styles and light or dark themes on all platforms!
  • NEW: BACnet MS/TP Analyzer plugin
  • NEW: encoded fields in the packet template engine
  • NEW: reactive statements in Jancy reactors
  • Critical update for the Device Monitor for Linux regarding Intel CET
  • Numerous critical fixes in various modules

Read the IO Ninja 5.7.0 announcement for more information.

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

2024-05-30

IO Ninja 5.6.0 is out!

Major release
  • New syntax constructs dylayout and dyfield for describing dynamic layouts (i.e., data structures defined at runtime)
  • Major improvements in the Packet Template engine — dynamic packet structures, byte-range colorization, support for bitflag enum fields, etc.
  • New Modbus Analyzer plugin based on the new dynamic layout engine
  • New Protocol Analyzer Plugin Wizard for creating your own protocol analyzers — all you have to do is redefine the packet layout function!
  • New in-app scripting pretransmit entry point for the on-the-fly encoding and other modifications of outbound packets
  • Standalone *.njlog logs can create toolbars now (e.g., logs created by Pcap Sniffer and Ethernet Tap now have filtering and export-to-pcap controls)
  • Numerous critical fixes in various modules

Read the IO Ninja 5.6.0 announcement for more information.

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

2024-02-29

IO Ninja 5.5.1 is out!

Service release

2024-01-18

IO Ninja 5.5.0 is out!

Major release
  • New fast Regex Markup engine (based on a heavily modified fork of the Google RE2 library)
  • 100% accurate display of all UTF-8 continuation bytes, unprintable characters, and invalid or incomplete UTF-8 multi-byte sequences across line and page boundaries in the log and hex editor
  • New implementation of the Plain Text binary data view in log with accurate line wraps in the middle of invalid UTF-8 multi-byte sequences (no more overhangs!) and optional visibility of CR, LF, and Tab characters
  • New built-in Jancy type string_t (non-zero-terminated UTF-8 string slice) is now used instead of char const* for strings in all scripts
  • New implementation of the Jancy regex switch statement and regex match operator =~ (based on the very same fork of Google RE2)
  • Release of the Device Monitor for Linux (tdevmon-3.3.13) with support for the latest Linux kernels
  • Numerous critical fixes in various modules

Read the IO Ninja 5.5.0 announcement for more information.

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

2023-11-09

IO Ninja 5.4.2 is out!

Service release
  • New HID Monitor plugin for inspecting HID reports sent to and from HID devices (Human Interface Devices)
  • Regression fixes for the "Find in Log" engine (could miss some valid matches)
  • Normalize script paths on Windows (to prevent redefinition errors seen on rare workstations)

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

2023-10-05

IO Ninja 5.4.1 is out!

Service release
  • Critical fix in .msi packages on Windows — io_hid.jncx was missing (the HID plugin couldn't start)
  • Critical fix in the Hardware Client — informational messages made it impossible to pipe the output of ioninja-hwc directly to Wireshark
  • Hardware Client can now upload the FPGA firmware (config) to taps using the --firmware switch

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

2023-09-28

IO Ninja 5.4.0 is out!

Major release
  • New HID plugin for the convenient low-level interaction with HID devices (Human Interface Devices)
  • Support for high-DPI & mixed scaling on multiple monitors in Windows
  • Up to x2 speed-up of Jancy script parsing
  • Multiple criticial fixes in various modules:
    • Fixes in the Hardware Client and Ethernet Tap FPGA configuration (caused packet loss on high-load)
    • Fixes for the ABI incompatibility of the JITted Jancy code on ARM64 platforms (caused malfunction of Serial Tap and other plugins)
    • Fixes for the "Text Find in Log" (whole-word searches could miss valid matches)
    • Fixes for handling of the floating point E-notation in Jancy

Read the IO Ninja 5.4.0 announcement for more information.

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

2023-04-26

IO Ninja 5.3.2 is out!

Service release


  • ARM64 support on Linux and macOS
  • Precise placement of Modbus decoded frames within the raw data stream
  • Critical fix of startup crashes under qt5ct (Qt Customization Tool)

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

2023-02-23

IO Ninja 5.3.0 is out!

Major release


  • New Form UI for plugins
  • New Log Regex Markup engine to colorize and "packetize" data
  • New USB Endpoint plugin for low-level transfers over data or control endpoints on USB devices
  • New USB Monitor plugin for convenient sniffing of USB communications on a PC
  • Auto-applied log filter plugins — they work with standalone log files, too!
  • A critical fix in tdevmon for modern Linux kernels on ARM

Read the IO Ninja 5.3.0 announcement for more information.

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

2022-10-27

IO Ninja 5.2.1 is out!

Service release


  • Save log selection as *.njlog or *.txt
  • Save terminal as *.txt (everything or selection only)
  • New command line parameter --index in IO Ninja Hardware Client (to support multiple attached taps)
  • Fixes for a couple of important long-term UI issues

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

2022-09-16

IO Ninja 5.2.0 is out!

Major release


  • System dark UI theme support on macOS and Linux KDE
  • Color themes in terminal
  • Major redesign and optimization of the rendering engine behind the log, hex editor, and terminal widgets
  • Major improvements in xterm compatibility in terminal
  • Extended serial port information in all serial-based plugins
  • Bash-like navigation over the transmitted packet history
  • Support for *.njlog output in the IO Ninja Hardware Client

Read the IO Ninja 5.2.0 announcement for more information.

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

2022-05-15

IO Ninja 5.1.2 is out!


  • Dispatch Interface for session-specific actions and other In-App Scripting improvements
  • Copy timestamps & offsets from the log
  • Reset layout of the main window
  • X-Term compatibility improvements

Read the IO Ninja 5.1.2 announcement for more information.

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

2022-03-15

IO Ninja 5.1.1 is out!

Major release


Read the IO Ninja 5.1.1 announcement for more information.

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

2021-09-29

IO Ninja 5.0.4 is out!

Service Release


  • Critical fix: rare deadlock in inter-process read-write locks on heavy load
  • Fix: add missing file io_websocket.jncx to the MSI package for Windows
  • Fix: incorrect reconnect logic (stopped after the first failed reconnect attempt) in TCP Connection, SSL Connection, WebSocket Client
  • New command line option -c (--connect) to connect a session immediately after startup
  • New command line option -s (--script <filename>) to load and run a script file immediately after startup
  • New checksum calculator for XOR-8

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

2021-09-03

IO Ninja 5.0.1 is out!

Major Release


  • New IO Ninja accounts, capabilities, and subscriptions ecosystem;
  • New WebSocket client and server plugins;
  • Device Monitor updates for recent builds of Linux kernel;
  • Support for custom baud rates in the Serial plugin on Linux and macOS;
  • Detection of serial status line changes on Linux and macOS;
  • Find-Next (F3) and Find-Prev (Shift+F3) in the log;
  • Significant improvements in the UI look-and-feel on macOS;
  • Reliable TX/RX stats in the presence of log converters or filters;
  • Lots of other bug fixes, optimizations, and other improvements!

Read the IO Ninja 5.0.1 announcement for more information.

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

2020-12-18

IO Ninja 3.15.1 is out!


  • New Packet History pane;
  • New Packet Library pane;
  • Complete re-design of the in-app scripting user script file management;
  • Stock in-app script file browser;
  • Added the synchronous receive() function to in-app scripting;
  • Session system logs are now viewable from the main app — makes debugging of your scripts more convenient;
  • Device Monitor release 3.3.8 for Linux fixes kernel module compilation errors on Linux versions 5.9.2 and above.

Read the IO Ninja 3.15.1 announcement for more information.

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

2020-10-30

IO Ninja 3.15.0 is out!

Major Update


  • The macOS App Store version is now FREE for download (with in-app purchases to unlock paid plugins);
  • Major improvement of in-app scripting including code-assisting Jancy editor and support for reacting to session events;
  • Propagation of connect & disconnect actions across linked sessions;
  • New DF1 Analyzer for Allen-Bradley PLCs;
  • Critical fix on Linux (crash on startup with QT-5.15.x)
  • Critical fix in the Device Monitor .msi installer on recent updates of Windows 10 (missing MSVC 10 runtime);

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

2020-07-27

IO Ninja 3.14.4 is out!

Service Release


  • Critical fix: rare opportunistic crash when in plain-text binary view (found by fuzzying);
  • Fix: incorrect version displayed and used on Linux/macOS (regression introduced in ioninja-3.14.3);
  • TCP Flow Analyzer and UDP Flow Analyzer now preserve timestamps of the original log;
  • Pipe Monitor and Mailslot Monitor can now dynamically update capture filter while capturing;
  • Improved support for sandboxing on macOS (in preparation for the App Store publication)

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

2020-07-10

IO Ninja 3.14.3 is out!


  • New TCP Flow Analyzer layer;
  • New UDP Flow Analyzer layer;
  • Support for mixed-DPI on multi-monitor systems;
  • Respect timestamp visibility when saving logs as text;
  • You can choose .msi installers for Windows with or without bundled winpcap, tdevmon, and hardware drivers (FULL vs CORE);
  • Critical fix: Device Monitor opportunistic crash with anonymous pipes on Windows;
  • Device Monitor now supports Linux kernels version 5.6 or greater;

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

2020-04-24

IO Ninja 3.14.2 is out!

Service Release


  • Fix: potential deadlock in Jancy IO classes on POSIX (Linux and macOS) on high-load;
  • Fix: potential crash in Ethernet Tap or Pcap Sniffer on high-load;
  • Fix: the "lost log" issue when saving a session on Linux and macOS;
  • Fix: on macOS, filtering didn't work in TCP Flow Monitor and UDP Flow Monitor;
  • Sticky-scroll redesign; works much more natural and predictable on high-load now;
  • Lowered GLIBC version requirements on Linux (down to GLIBC-2.9);
  • Disabled library verification on macOS (otherwise, can't load 3rd party libraries — e.g., in JLink RTT).

2020-04-14

IO Ninja 3.14.1 is out!

Service Release

  • Fix: over-email evaluation licenses stopped working after the introduction of first-time evaluation without email;
  • Fix: broken layout of the Welcome dialog on some platforms;
  • Fix: .desktop files and .png icons were missing from Linux packages;

NEW: You can now install IO Ninja from a Homebrew tap on macOS, or APT, RPM, and AUR repositories on various Linux distributions (including Ubuntu, Debian, Raspbian, Fedora, OpenSUSE, Arch Linux, etc).


2020-04-10

IO Ninja 3.14.0 is out!

Major Update

  • All server-side plugins now support multiple clients:
  • TCP Flow Monitor is now capable of following multiple connections (with support for post-capture filtering);
  • macOS builds now signed and notarized by Apple — no more Gatekeeper warnings!
  • You can now obtain a first-time evaluation license without email;
  • Multiple critical bugfixes:
    • On Windows, Unicode filenames could not be opened with a double-click;
    • Mixed-case name filters did not work in Named Pipe Monitor and Mailslot Monitor;
    • Crash on macOS Catalina due to the system-provided unversioned OpenSSL dylib-s being boobie-trapped;
    • The Jancy onevent declaration was dysfunctional after the introduction of lazy-compilation;

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

2020-03-12

IO Ninja 3.12.2 is out!


  • New plugin: SSL Connection for establishing raw SSL connections;
  • New plugin: SSL Listener for accepting raw SSL connections;
  • New plugin: Process for running child processes;
  • Added a list of MRU (most recently used) plugins for quick access;
  • Play-in-terminal can now run across non-continuous data ranges;
  • Mutliple critical bugfixes:
    • Invalid display of relative timestamps on 32-bit Linux platforms;
    • Pcap Sniffer crash on Windows when no WinPcap/Npcap is installed;
    • Opportunistic Pcap Sniffer crash on clear log during capture;
    • Crash on attaching multiple log conversion layers.

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

2019-12-27

IO Ninja 3.12.1 is out!

Service Release


  • Fixed crash on select-word on an empty line in plain-text binary view;
  • Fixed lock-down on unplugging Ethernet Tap or I2C/SPI Tap during capture;
  • Fixed non-selectable merge-boundaries in text lines.

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

2019-12-20

IO Ninja 3.12.0

Major Update

  • New Ethernet Tap hardware sniffer & plugin;
  • Details pane for the master-log-vs-details representation;
  • Deep-find — search goes through both the master log and details pane;
  • Process name detection in Serial, Pipe Monitor, Mailslot Monitor;
  • Post-capture filtering using file name, file ID, process name and PID in Pipe Monitor, Mailslot Monitor;
  • Added support for multiple protocols to Pcap Sniffer;
  • Post-capture filtering (a.k.a. view filter) in Pcap Sniffer;
  • Export to .pcap in Pcap Sniffer;
  • Fix for the SIGSEGV due to a write to a read-only page crash in Tibbo Device Monitor on Linux v5.3.0 and above (AMD64 & X86 architectures);
  • Fix for the bouncing app icon on Mac when IO Ninja is in the background;
  • Support for empty datagrams in UDP Socket;
  • Tables in the Ninja Scroll engine — representers can now simply use tabulation (\t) to create automatically formatted tables;
  • Introspection facilities in Jancy — scripts can now inspect their structure at runtime (perfect for writing protocol analyzers);
  • Lazy parsing in Jancy — the script code base got much bigger, but the plugins start-up time actually decreased!

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

2019-07-30

IO Ninja 3.11.1 is out!

Service Release


  • Adds support for auto-detection of J-Link library path;
  • Fixes issues with the Run as Administrator checkbox on Windows;
  • Lowers GLIBC version requirements on Linux — now IO Ninja can run on old distros, too!
  • Adds support for per-platform (Windows-only, Linux-only, Mac-only) script files.

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

2019-06-30

IO Ninja 3.11.0 is out!

Major update with lots of significant improvements


  • New J-Link RTT Terminal plugin;
  • New Serial MI Dump Viewer plugin;
  • New layer UI allows conveniently adding, removing, and re-arranging layers;
  • Added support for applying layers to previsouly captured .njlog files;
  • Run sessions as Administrator on Windows with a simple checkbox click;
  • On Windows, all .exe binaries are now signed;
  • Added support for RTS-driven Modbus over half-duplex RS-485;
  • Added support for the Modbus Function 23 (read-write multiple registers);
  • Direct foreign data pointers in Jancy for increased host-to-script communication efficiency.

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

2018-04-10

IO Ninja 3.10.5 is out!

Service Release


  • Critical firmware update for I2C/SPI Tap
  • Critical bugfix in the logging engine (opportunistic buffer overflow)
  • Maximum length of a log hex line increased to 64

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

2019-03-29

IO Ninja 3.10.4 is out!


  • New I2C/SPI Tap plugin

    Support for the upcoming I2C/SPI Tap is already here!

  • New Replay Log plugin

    Replays TX/RX records from a log file with respect to timestamps, thus preserving time intervals between packets.

  • HTTPS for communications with ioninja.com

    All the communications with our server (usage reports, crash reports, and evaluation requests) are now performed using encrypted HTTPS connections. See the updated PRIVACY statement for more details.

  • Support for async/await in the Jancy language.

    The convenient and (rightfully) popular asynchronous programming paradigm is now fully supported in Jancy (the scripting language of IO Ninja). As usual, we went an extra mile — and made all async functions schedulable.

  • Support for BREAK condition in the Serial and Serial Monitor plugins.

    Now the Serial plugin allows you to manually trigger BREAK condition on a serial line while the Serial Monitor plugin will show you when other processes are doing so.

  • Lots of BUGFIXes and other improvements — as usual!

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

2019-02-01

IO Ninja 3.10.2 is out!

Service Release


  • Fixes persistency for sessions and logs with layers

    This release resolves the issue of not being able to reopen sessions or logs — when saved with an attached layer.

  • New option for auto-showing the terminal console on connect

    For many sessions, once a connection is established, you want to switch into the terminal mode — now it's possible to do automatically.

  • New option for reopening a serial port on disconnect

    If this option is ON and the currently opened serial port disappears (e.g., a device with a USB-to-Serial peripheral controller reboots), the Serial session will keep attempting to reopen the port (with a configurable delay between attempts).

  • New option for maintaining TCP connections

    If this option is ON and a remote node drops the connection, the TCP session will keep attempting to reconnect (with a configurable delay between attempts).

  • Updates for IO Ninja IDE

    IO Ninja IDE is now compatible with the new plugin design introduced in 3.10.0.

  • Lots of BUGFIXes and other improvements — as usual!

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

2018-12-14

IO Ninja 3.10.1 is out!

Service Release


Notable updates in v3.10.1 and v3.10.0:

  • Fixes for plugins broken in v3.10.0

    Along with many updates, v3.10.0 introduced a few regressions affecting the following plugins: TCP Flow Monitor, Named Pipe Monitor, Mailslot Monitor, Regex Colorizer. These regressions are fixed in v3.10.1 and all plugins are functional again.

  • Raspberry Pi support

    Many users contacted us asking for a Raspberry Pi build of IO Ninja. Your wish is our command — now you can run both IO Ninja and the Device Monitor service on your Raspberry Pi!

  • New plugin: Serial Monitor over SSH

    With this plugin, it's possible to monitor serial ports on remote machines. For example, run IO Ninja on your MacBook Pro and see what a script on your Raspberry Pi is sending over /dev/ttyS0 — in real time!

  • The half-duplex mode in Modbus Analyzer

    Often Modbus over RS-422 or RS-485 operates in half-duplex mode — both parties transmit data over the same pair of lines. This effectively makes data bytes of requests and replies indistinguishable from one another. However, it's not a problem anymore — the Modbus Analyzer plugin now has a special decoding mode to combat this.

  • New 64-bit log record code architecture and log representer plugins

    Log record codes in IO Ninja v3.10.0 and above are globally-unique 64-bit numbers (previously, log record codes were 32-bit and unique only within a specific plugin). This change has many long-run consequences such as eliminating log record code collisions once and for all, ability to easily and safely share log representers between plugins, dramatically decreased compilation time when opening logs (only a representer has to be compiled, not the whole plugin), etc.

  • New implementation of Jancy reactors

    Reactors in the Jancy language are workhorses of spreadsheet-like reactive programming. You write a block of expressions (or formulas), and the runtime automatically re-runs those formulas whenever any referenced value changes — just like in Excel, only it's your program! The new design alleviates most of the previous limitations, and now you can write practically any formulas — intuitively and without any performance penalty. This is perfect for UI programming!

  • Crash reports on Linux and Mac OS X

    Now it's easy for you to help us find and fix problems — but only if you choose to, of course! IO Ninja uses libunwind to collect stack backtraces on application crashes; these backtraces together with some basic system information can be automatically submitted to our web server over an encrypted channel. You can skip sending, inspect and delete crash manifests, or completely disable crash report submission.

  • Lots of BUGFIXes and other improvements — as usual!

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

2018-12-14

IO Ninja 3.10.0 is out!


  • Raspberry Pi support

    Many users contacted us asking for a Raspberry Pi build of IO Ninja. Your wish is our command — now you can run both IO Ninja and the Device Monitor service on your Raspberry Pi!

  • New plugin: Serial Monitor over SSH

    With this plugin, it's possible to monitor serial ports on remote machines. For example, run IO Ninja on your MacBook Pro and see what a script on your Raspberry Pi is sending over /dev/ttyS0 — in real time!

  • The half-duplex mode in Modbus Analyzer

    Often Modbus over RS-422/485 operates in half-duplex mode — both parties transmit data over the same pair of lines. This effectively makes data bytes of requests and replies indistinguishable from one another. However, it's not a problem anymore — the Modbus Analyzer plugin now has a special decoding mode to combat this.

  • New 64-bit log record code architecture and log representer plugins

    Log record codes in IO Ninja v3.10.0 and above are globally-unique 64-bit numbers (previously, log record codes were 32-bit and unique only within a specific plugin). This change has many long-run consequences such as eliminating log record code collisions once and for all, ability to easily and safely share log representers between plugins, dramatically decreased compilation time when opening logs (only a representer has to be compiled, not the whole plugin), etc.

  • New implementation of Jancy reactors

    Reactors in the Jancy language are workhorses of spreadsheet-like reactive programming. You write a block of expressions (or formulas), and the runtime automatically re-runs those formulas whenever any referenced value changes — just like in Excel, only it's your program! The new design alleviates most of the previous limitations, and now you can write practically any formulas — intuitively and without any performance penalty. This is perfect for UI programming!

  • Lots of BUGFIXes and other improvements — as usual!

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

2018-09-27

IO Ninja 3.9.2 is out!


  • Critical fixes in Ninja Scroll and Jancy

    A few critical bugs were discovered during fuzz-testing. This release should eliminate many opportunistic crashes in both ioninja and ioninja-server.

  • Delayed cache update feature in Ninja Scroll

    Now plugins can choose thresholds for lowering cache update rate so that frequent UI updates don't slow the data acquisition down. This feature is critical for high-throughput logging, such as in the upcoming I2C/SPI sniffer which is capable of capturing SPI data at 50MHz.

  • Lots of BUGFIXes and other improvements — as usual!

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

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 only a few knew about and used... This release brings a few significant improvements to the packet template feature which make it easier to find and much more convenient and intuitive. The idea is to copy-paste 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