Repository navigation
Releases: saltorre/canoli-releases
Release list
CANoli v0.3.3
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
mcpraised to clear CVE-2026-59951.- Advisories against
pyjwtandurllib3cleared. - 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
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
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
stampedv0.2.1-5d9fa4branks belowv0.2.1under 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
CANoli v0.2.0
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
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.debAnywhere 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.0release carriesCANoli-0.0.0-…andcanoli_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