Skip to content

Versions & compatibility

Every part of the robot carries a version of its own kind. This page says how to read them and which combinations work together. The compatibility matrix is generated from the runtime repository's release; what changed in each part is in that part's release notes, linked at the end.

How to read a version

Part Form Example Where to see it
Runtime (the control box software) major.minor.patch 1.2.0 Dashboard → System Info → Versions; the landing page of the software manuals
Python client major.minor.patch 1.2.0 robotclient.__version__
Drive firmware (joints, gripper) integer 109 Dashboard → Motor tab; get_hardware
Control box PCB v + revision v2 the label inside the box; Dashboard → System Info
PAR6 arm v + revision, plus a serial number PAR6 v1.1 the label on the base
End effectors v + revision MSG v1.0 the label on the module
Description package (models) major.minor.patch 2.0.0 the package changelog
Manuals runtime major.minor for guides; year.letter for hardware manuals SR-4001 1.2 · SR-1001 2026.B each manual's landing page

A patch release changes nothing a program or a configuration file can see. A minor release adds commands, fields or keys and stays backward compatible. A major release breaks a protocol or a file format.

Compatibility matrix

One row per runtime release, newest first, generated from the runtime's COMPATIBILITY.md at the release this documentation describes.

Runtime Client Command protocol RTI protocol Telemetry format Config formats Drive firmware Control box PCB Arm and grippers Description package OS image Docs
1.1.1 1.1.x 2 1 1 1 103 or newer v1, v2 PAR6 v1.0; MSG v1.0; SSG48 v1.0 2.0 or newer Ubuntu 24.04.2 LTS, kernel 6.8.4-rt11-raspi 1.1
1.1.0 1.1.x 2 1 1 1 103 or newer v1, v2 PAR6 v1.0; MSG v1.0; SSG48 v1.0 2.0 or newer Ubuntu 24.04.2 LTS, kernel 6.8.4-rt11-raspi 1.1
1.0.0 1.0.x 2 1 1 1 103 or newer v1, v2 PAR6 v1.0; MSG v1.0; SSG48 v1.0 2.0 or newer Ubuntu 24.04.2 LTS, kernel 6.8.4-rt11-raspi 1.0
0.10.0 0.10.x 1 1 1 1 103 or newer v1, v2 PAR6 v1.0; MSG v1.0; SSG48 v1.0 2.0 or newer Ubuntu 24.04.2 LTS, kernel 6.8.4-rt11-raspi 0.10
0.9.0 0.9.x 1 1 1 1 103 or newer v1, v2 PAR6 v1.0; MSG v1.0; SSG48 v1.0 2.0 or newer Ubuntu 24.04.2 LTS, kernel 6.8.4-rt11-raspi not published yet

What each column means

  • Runtime: the VERSION file, and the git tag v<version>.
  • Client: the Python client in robotclient/ that ships with that runtime, robotclient.__version__. Any client that speaks the same command protocol number works. A client checks that number when it connects and refuses a different one.
  • Command protocol: the newline JSON the executor speaks on TCP port 29000. Its number goes up only when a command or field changes incompatibly.
  • RTI protocol: the binary command packet of real-time streaming. Same rule.
  • Telemetry format: the tag:value,... state and telemetry packets. Same rule.
  • Config formats: the newest format number this runtime reads, for every kind of configuration file: system, robot, gripper, homing, cell, filters and recipe. A file without a schema attribute is format 1. A file in a newer format is refused. A file in an older one is read with a warning.
  • Drive firmware: the joint and gripper drive firmware this runtime supports, for both drive types, stepfoc and spectral-bldc. A drive outside the range gets a warning, and the first-run check fails it.
  • Control box PCB: the PCB versions config/system.xml may declare. The version decides how the E-stop channels are read.
  • Arm and grippers: the hardware revisions this release was made and tested for.
  • Description package: the oldest PAR6 description package, with its URDF and meshes, that the robot's models and self-collision geometry are made from.
  • OS image: the operating system and real-time kernel the release was tested on.
  • Docs: the documentation version for this release.

The runtime's tests compare the current runtime's row with the code. They fail when a protocol number, a format, the firmware range or a revision changes without this table.

Release notes, by part


Found a mistake on this page? Edit it on GitHub · Report it · Get help