Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 09:47
· 12 commits to main since this release
2d44d39

Date: 2026-10-28
Previous release: v0.3.0

Fixtures only: container contract 1.2 and every image are unchanged in
behaviour (rebuilt and re-tagged).

  • fixtures/arxml/multiplexed.arxml: two MULTIPLEXED-I-PDUs — a 4-bit
    Intel selector with a static part and three dynamic alternatives (one
    initial), an 8-bit Motorola selector with two — with decode vectors for
    every selector code plus an undescribed one, and encode vectors.
    Generated by scripts/gen-arxml-fixtures.py.
  • Oracle coverage. cantools 45.1.1 reads multiplexed PDUs (selector
    <frame>_selector1, alternatives multiplexed by SELECTOR-FIELD-CODE, the
    static part always present); canmatrix 1.3.3 reads only the selector. The
    self-test checks each oracle against three probe frames worked out by
    hand: arxml-multiplexed-cantools must pass, arxml-multiplexed-canmatrix
    is recorded as known. See docs/FIXTURES.md.
  • scripts/validate-fixtures.py follows multiplexed PDUs when it checks the
    encode vectors' signal names.

v0.3.0

Date: 2026-10-28
Previous release: v0.2.0

Container contract 1.2: additions only, every v0.2.0 consumer keeps working.

  • slcan interfaces (pythoncan): send and receive accept --interface slcan:<url>, python-can 4.6.1's slcan interface (LAWICEL ASCII, the
    protocol of CANable-type serial adapters) over a pyserial URL such as
    slcan:socket://127.0.0.1:20000. A consumer plays the adapter on a TCP
    port (go-canbus's slcan transport does) and checks frames both ways
    without a CAN interface. CAN FD as d/D/b/B records. slcan has no
    error state indicator, error frames, echo or filters: those requests end
    with exit 2 (unsupported). Capability slcan.
  • The pythoncan image adds pyserial 3.5 (BSD-3-Clause, pinned like every
    package).
  • The pythoncanisotp adapter gives its CAN socket a 1 MiB receive buffer:
    a 4095-byte message at STmin 0 (585 frames) overflowed the default one in
    a slow microVM (self-test mf-4095, intermittent).
  • Self-test suite slcan: two python-can slcan clients joined by a TCP
    relay exchange the standard, extended, remote, CAN FD and burst
    fixtures; ESI and error frames are refused.

Images

Image Digest
ghcr.io/otfabric/canbus-interop-canutils:v0.4.0 sha256:ff087fe538519f3b0635484309862b84e60f939b73d2a6f4c06bdf04b0c2918c
ghcr.io/otfabric/canbus-interop-pythoncan:v0.4.0 sha256:25d4a94710202e0cd3def0b637b8fdf9493a943a0609a43cad405307109d893b
ghcr.io/otfabric/canbus-interop-socketcanrs:v0.4.0 sha256:79e7a52cf1a7a5474e84afb3ccfb531b75549c6f1d388b5de3f6f9a4e3be1b6b
ghcr.io/otfabric/canbus-interop-scapy:v0.4.0 sha256:2e1b8871a4d08e32ee80411af338edc968771911eaf1fdec358b6fa4861e529c
ghcr.io/otfabric/canbus-interop-pythoncanisotp:v0.4.0 sha256:e7cdfa55e1e465f622ccfa524ba5da4f62a677689e606be1df523f8f05663720
ghcr.io/otfabric/canbus-interop-cantools:v0.4.0 sha256:f93f9e1ab882aa8a323c91df77936e64c355ec621e241cb37bac4fe0c37193bc
ghcr.io/otfabric/canbus-interop-canmatrix:v0.4.0 sha256:1afbf9eb61f3d7c9400bbc1f8d2b23e4af6c3fe6ecd666d2df32d3cfe6180e54

manifest.json lists the images by digest for pinning. The images contain MIT, BSD, LGPL-3.0 and GPL-2.0 software and are for interoperability testing; see THIRD_PARTY_NOTICES.md.