Skip to content

Releases: saltorre/canoli-releases

CANoli v0.3.3

Choose a tag to compare

@saltorre saltorre released this 18 Oct 18:06
1d4ffa8

CANoli v0.3.3

The 0.3 line, working. If you are on v0.2.1, this is your next version and it
brings everything from the 0.3 releases with it.

If CANoli never offered you this update, install it by hand this once.
Earlier versions could find an update and then quietly drop it, so they
cannot deliver their own fix. From v0.3.3 onward, updates find you.

Your agent can drive an installed copy

  • An installed CANoli serves its own MCP server. Registration used to
    record a command that only worked in a source checkout, so the server could
    never start on your machine.
  • Help → Connect AI Agent reaches the setup at any time, reports a
    registration already in place, and hands over the launch configuration when
    there is no CLI to configure.
  • New projects brief Codex as well as Claude Code, in language that suits
    any MCP client.

Report a bug without being interviewed

Help → Report a Bug... opens a prefilled form carrying what CANoli already
knew — version, OS, Python and Qt versions, adapter type, bus state, loaded
databases — so the first reply is not a request for details the application
had on screen. No GitHub account required.

Edit project files, not just read them

Clicking a file in the Explorer opens a real editor: line numbers, wrapped
lines, Ctrl+S (Cmd+S on macOS) to save, and a prompt when you close with
unsaved work. Files the editor cannot faithfully reproduce stay read-only.

Updates that arrive, and tell you what they found

  • Launch checks no longer discard an update they have already found.
  • Help → Check for Updates... runs a check on the spot and always reports
    the result: a new version, up to date, server unreachable, no download for
    your platform, or a licence that does not cover the update.
  • Check for Updates on Launch still controls the automatic check only.

A perpetual licence receives every future version

For as long as you hold it — no renewal, no cut-off date. Founder's Edition
keeps its lifetime updates.

Fixes

  • The application starts. v0.3.1 and v0.3.2 could not open their main
    window on macOS or Windows, caused by a regression in the compiler that
    builds the released binaries. Both were withdrawn; if you downloaded either,
    replace it with this release.
  • No update prompt for the version you are already running.
  • The embedded terminal survives a resize, keeps its scrollback, and can
    be read while output is still arriving.
  • Fast signals are readable in the trace — values refresh four times a
    second with aligned digits, while Min and Max still see every frame.
  • Builds report their real version to Finder, Windows file properties and
    crash reports, instead of 0.0.0.

Security and dependencies

  • mcp raised to clear CVE-2026-59951.
  • Advisories against pyjwt and urllib3 cleared.
  • Twelve-package update, including PySide6 6.12 and cantools 44.2.

Downloads

Platform File Requires
macOS (Apple silicon) CANoli-0.3.3-macos-arm64.dmg signed and notarized
Windows x64 CANoli-0.3.3-windows-x64-setup.exe signed installer
Linux x86_64 CANoli-0.3.3-linux-x86_64.tar.gz or canoli_0.3.3_amd64.deb glibc 2.35 or newer
— Ubuntu 22.04, Debian 12, Mint 21 and up
Linux aarch64 CANoli-0.3.3-linux-aarch64.tar.gz or canoli_0.3.3_arm64.deb Ubuntu 24.04 and
newer

Each Linux archive ships with a detached GPG signature, and SHA256SUMS-<arch>
is signed alongside it:

gpg --verify SHA256SUMS-x86_64.asc SHA256SUMS-x86_64
sha256sum -c SHA256SUMS-x86_64 --ignore-missing

CANoli v0.3.2

CANoli v0.3.2 Pre-release
Pre-release

Choose a tag to compare

@saltorre saltorre released this 17 Oct 17:33
1d4ffa8

CANoli v0.3.2

Updates that actually reach you.

If CANoli never offered you this version, that is exactly what this
release fixes.
The problem lies in the version you are running, so it
cannot deliver its own fix — install this one manually, and future updates
will find you on their own.

Updates are no longer missed at launch

CANoli checks for a new version when it starts. Under some conditions that
check completed before the licence it is checked against was ready, and the
update was passed over without a word. Launch checks now wait for the licence
before deciding, so an available update is offered rather than lost.

Check for updates whenever you like

Help → Check for Updates... runs a check on the spot and always tells you
the result:

  • a new version is available
  • you are up to date
  • the update server could not be reached
  • this release has no download for your platform
  • your licence does not cover this update

Check for Updates on Launch continues to control the automatic check at
startup; the new menu item always runs, whatever that setting says.

Perpetual licences receive every future version

A perpetual licence now includes every future version of CANoli, for as long
as you hold it — no renewal, no cut-off date. Founder's Edition keeps its
lifetime updates.

Downloads

Platform File Requires
macOS (Apple silicon) CANoli-0.3.2-macos-arm64.dmg signed and notarized
Windows x64 CANoli-0.3.2-windows-x64-setup.exe signed installer
Linux x86_64 CANoli-0.3.2-linux-x86_64.tar.gz or canoli_0.3.2_amd64.deb glibc 2.35 or newer
— Ubuntu 22.04, Debian 12, Mint 21 and up
Linux aarch64 CANoli-0.3.2-linux-aarch64.tar.gz or canoli_0.3.2_arm64.deb Ubuntu 24.04 and
newer

Each Linux archive ships with a detached GPG signature, and SHA256SUMS-<arch>
is signed alongside it, so you can verify what you downloaded:

gpg --verify SHA256SUMS-x86_64.asc SHA256SUMS-x86_64
sha256sum -c SHA256SUMS-x86_64 --ignore-missing

Updating from v0.2.1? v0.3.1
lists what arrived before this release.

CANoli v0.3.1

CANoli v0.3.1 Pre-release
Pre-release

Choose a tag to compare

@saltorre saltorre released this 16 Oct 21:26
1d4ffa8

CANoli v0.3.1

The first release of the 0.3 line. It carries everything intended for v0.3.0,
which was never published — its binaries could not start, and the release was
withdrawn before any artifact was offered. If you are on v0.2.1, this is your
next version.

Your agent can now drive an installed copy

  • An installed CANoli serves its own MCP server. fixes issues with Windows MCP registration.
  • Help → Connect AI Agent reaches the setup at any time, reports a
    registration already in place, and hands over the launch configuration when
    there is no CLI to configure — the normal case for any MCP client that is not
    Claude Code or Codex.
  • New projects brief Codex as well as Claude Code, and the brief is
    client-neutral: it no longer assumes your client names tools
    mcp__canoli__….

Report a bug without being interviewed

Help → Report a Bug… opens a prefilled form carrying what CANoli already
knew — version, OS, Python and Qt versions, adapter type, bus state, loaded
database count — so the first reply is not a request for details the
application had in front of it. No GitHub account required.

Edit project files, not just read them

Clicking a file in the Explorer opens a real editor: line numbers in a gutter,
lines wrapped at the viewport edge, Ctrl+S (Cmd+S on macOS) to save, and a
guard on unsaved work when you close the tab or the application. Files the
editor cannot faithfully reproduce stay read-only rather than risking your
data.

Fixes

  • No more update prompt for the version you are already running. A build
    stamped v0.2.1-5d9fa4b ranks below v0.2.1 under semver, so every
    install compared itself against the release it already was and found it
    newer. Build metadata now joins with + and is ignored in the comparison.
    An install still carrying the old string will prompt once more; taking this
    update ends it.
  • The embedded terminal survives a resize. A single splitter drag used to
    deliver 28 resize events to the child process, and a full-screen TUI cannot
    repaint that fast — what reached the screen was garbage. The size now settles
    for 80 ms before being applied. Scrollback holds its contents, and output can
    be read while it is still arriving.
  • Fast signals are readable in the trace. Decoded values refresh four times
    a second instead of thirty, right-aligned with tabular figures so the digits
    and the unit stop shifting as the value changes. Measurement is untouched:
    every frame still widens Min and Max, so the extremes remain exact.

Downloads

Platform File Requires
macOS (Apple silicon) CANoli-0.3.1-macos-arm64.dmg signed and notarized
Windows x64 CANoli-0.3.1-windows-x64-setup.exe signed installer
Linux x86_64 CANoli-0.3.1-linux-x86_64.tar.gz or canoli_0.3.1_amd64.deb glibc 2.35+ — Ubuntu
22.04, Debian 12, Mint 21 and newer
Linux aarch64 CANoli-0.3.1-linux-aarch64.tar.gz or canoli_0.3.1_arm64.deb Ubuntu 24.04 and
newer

Each Linux archive carries a detached GPG signature, and SHA256SUMS-<arch> is
signed alongside it.

CANoli v0.2.1

Choose a tag to compare

@saltorre saltorre released this 24 Sep 21:40
1d4ffa8

CANoli v0.2.1

CANoli v0.2.0

CANoli v0.2.0 Pre-release
Pre-release

Choose a tag to compare

@saltorre saltorre released this 23 Sep 20:51
1d4ffa8

CANoli v0.2.0

Second pre-release. The headline is macOS: PCAN hardware now works out of
the box, with no driver for you to find and install.

macOS — nothing to install for PCAN hardware

PEAK publishes no macOS driver. Until now, PCAN hardware on a Mac needed
UV Software's PCBUSB library, which you had to locate and install
yourself — and if you hadn't, the only symptom was an adapter that never
appeared in the list. CANoli couldn't even tell you what was wrong,
because there was nothing for it to detect.

CANoli now carries that driver (PCBUSB v0.13) inside CANoli.app.

  • Nothing to install. Plug in a PCAN-USB adapter and it appears.
  • No admin password, no kernel extension. PCBUSB is a user-space
    driver that reaches the adapter through IOKit.
  • Intel and Apple Silicon. The bundled driver is a universal binary.
  • Uninstalling is still just dragging CANoli to the Trash. Nothing is
    written outside the app.
  • Already installed PCBUSB yourself? Your copy is left alone; CANoli
    simply prefers its own.

The library is redistributed under UV Software's licence, which permits
it. Their EULA and copyright notices ship inside the application.

This applies to the macOS build only. Windows uses PEAK's own driver
package, and Linux reaches PCAN through the in-kernel peak_usb
SocketCAN driver — neither changes here.

Fixed — downloads are named for their version

v0.1.0's release pipeline never stamped the version into the build, so
its artifacts were produced carrying 0.0.0 rather than the version
they were cut from. Releases are now stamped from the tag, so v0.2.0's
files are named for it.

Upgrading

Drop-in. No project file or configuration format changed, and nothing
needs migrating from v0.1.0.

Downloads

Platform File
macOS (Apple Silicon) CANoli-0.2.0-macos-arm64.dmg
Windows (x64) CANoli-0.2.0-windows-x64-setup.exe
Linux (x86_64) CANoli-0.2.0-linux-x86_64.tar.gz
Linux (arm64) CANoli-0.2.0-linux-aarch64.tar.gz
Debian/Ubuntu canoli_0.2.0_amd64.deb, canoli_0.2.0_arm64.deb

macOS builds are signed and notarized. Linux artifacts ship with
SHA256SUMS-<arch> and detached GPG signatures.

CANoli v0.1.0

CANoli v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@saltorre saltorre released this 23 Sep 18:50
dac0d5d

The first public build of CANoli* — an AI-native CAN bus analyzer. This is a
pre-release: everything below works and is signed, but it has not been through
a release cycle before, so treat it as something to try rather than something
to depend on.

CANoli embeds no AI model. You bring your own agent, which connects over the
Model Context Protocol and drives the app.

What you can do with it

  • Live trace, decoded through your own DBC or SYM database — engineering
    units, cycle times, running minimum and maximum, multiplexed messages page by
    page.
  • Anomaly detection in the trace as you watch: a message that stops
    arriving, a cycle time slipping, a signal out of range. Deterministic
    statistical detection, not a model guessing.
  • Charting with an axis per unit, so a 396 V rail and a 6000 rpm motor
    share a plot and you can still read both.
  • Transmit by signal name rather than by byte, including sine, square,
    triangle and sawtooth waveforms, or a custom table you define.
  • Record and replay — writes ASC, BLF and CSV; reads those plus PEAK TRC.
  • Database editor for DBC and SYM, with a bit-layout grid, value tables and
    node editing.
  • 44 MCP tools your agent can call: read the trace, filter it, decode a
    frame, scan for anomalies, correlate signals, drive the chart, start and stop
    logging, run a capture-diff "wiggle test" against unknown hardware.

Hardware

Adapter Windows macOS Linux
PEAK PCAN-USB / USB FD / USB Pro FD ✅ ✅ ✅
Vector VN16xx ✅ — —
SocketCAN (can0, vcan0, …) — — ✅
Virtual (built in) ✅ ✅ ✅

No adapter? The virtual bus simulates two CAN nodes in software, so every
feature works with no hardware attached.

Downloads

Platform File Signing
macOS (Apple silicon) .dmg Signed and notarized
Windows (x64) -setup.exe Authenticode signed
Linux (x86_64) _amd64.deb or -linux-x86_64.tar.gz GPG signed
Linux (arm64) _arm64.deb or -linux-aarch64.tar.gz GPG signed

On Debian, Ubuntu and Mint, take the .deb and install it with apt, not
dpkg -i — apt resolves the graphics libraries CANoli needs, and dpkg alone
does not:

sudo apt install ./canoli_<version>_amd64.deb

Anywhere else on Linux, take the .tar.gz, unpack it, and run the canoli
binary inside.

The two Linux architectures need different minimum systems, because the Qt
packages CANoli builds on publish no ARM build for an older glibc:

Architecture glibc Oldest supported
x86_64 2.35 Ubuntu 22.04, Debian 12, Mint 21
aarch64 2.39 Ubuntu 24.04, Debian 13

Check yours with ldd --version and uname -m.

Verifying a download

macOS and Windows carry their platform's own signatures. Linux has no
OS-level signing, so each file has a detached GPG signature and each
architecture a signed checksum list:

gpg --import canoli-public.asc
gpg --verify CANoli-<version>-linux-<arch>.tar.gz.sig CANoli-<version>-linux-<arch>.tar.gz
gpg --verify SHA256SUMS-<arch>.asc SHA256SUMS-<arch>
sha256sum -c --ignore-missing SHA256SUMS-<arch>

Connecting an agent

Run claude or codex in CANoli's built-in terminal and it offers to register
its MCP server for you. From then on the agent can see the live bus and your
databases. See AI Features.

Licensing

The DBC/SYM database editor is free forever — no licence, no account. The
rest (trace, decode, transmit, log, replay, chart) is licensed; see
the product page.

Known issues

  • Every file in this release is named 0.0.0. The build stamps its version
    from a file that the release workflow did not update from the tag, so a
    v0.1.0 release carries CANoli-0.0.0-… and canoli_0.0.0_… assets. Nothing
    is broken by it — the update manifest is built from the real filenames, so it
    points at files that exist — but the names are wrong. Fixed for the next
    release.
  • No Intel macOS build. Apple silicon only.
  • No 32-bit builds, and no Windows on ARM.
  • Vector hardware is Windows-only, because the XL Driver Library is.

Not here yet

Instrument-panel widgets, Python scripting, and higher-layer protocol support
(J1939 PGNs/SPNs, CANopen responding rather than only listening).

Feedback

Please open an issue on this repository. Bug reports from a pre-release are
worth more than from any other kind.

Documentation: https://salvatorre.com/products/canoli/docs