Skip to content

sparkplugb-interop v0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Nov 10:12
0b54d1f

Date: 2026-11-06
Previous release: v0.3.1

Added

  • own/go-sparkplugb/ and the manual workflow Own stack (go-sparkplugb): go-sparkplugb, OT Fabric's own stack, behind the container contract as an edge node (edge.Node) and as the primary host application (host.App), published as ghcr.io/otfabric/sparkplugb-interop-otfabric:<go-sparkplugb version> and :latest for others to test against. It is not an independent implementation (upstream.independentEngine: false) and not part of this or any release: manifest.json does not list it.
  • ADAPTER_IMAGE_<adapter>: scripts/smoke.sh and scripts/interop.sh take an image from outside the release set (a - in the adapter name is a _ in the variable).
  • compose.yaml: a broker, a reference host and a reference edge node for local work, as in the other harnesses.

Changed

  • results.json takes independent, and for an image outside versions.yaml its licence and upstream name, from what the image says of itself.
  • scripts/interop.sh runs only the pairings with an adapter whose upstream.independentEngine is false, when there is one among its adapters: the references were checked against each other already.
  • The R1 check of CI also covers compose.yaml.
  • Contract 0.3: the DBIRTHs of a rebirth, on an NCMD or on call rebirth, may come in any order, each device once, with seq 1, 2, ...; fixture order is required of the first births only. Sparkplug 3.0.0 asks a rebirth for "a complete BIRTH sequence" and fixes no order among the DBIRTHs. scripts/interop.sh checks that. Every reference adapter already meets 0.2, which is stricter, so none changes; a consumer that checks the order of a rebirth's DBIRTHs should stop.
  • tests/known-bugs.tsv: the entries for the pysparkplug host on the scalars fixture and the Tahu host on the baseline fixture also apply with the otfabric edge, which shows the same behaviour as the edges already listed.

The reference adapters and the fixtures do not change.

Images

Image Digest
ghcr.io/otfabric/sparkplugb-interop-tahu:v0.4.0 sha256:540056d47e9e7e257fbb14a48d7eb80dce5e79a4752acf1a59b4d74a6c40ddfa
ghcr.io/otfabric/sparkplugb-interop-pysparkplug:v0.4.0 sha256:593281b65453b2eb4dacb57f014f6ab1789a8009927c18bfb207576e7c150993
ghcr.io/otfabric/sparkplugb-interop-sparkplugnet:v0.4.0 sha256:c7b4bc620cb84ee276e93a43b60bb365c71144adfd78775b6454e219071f7dc9
ghcr.io/otfabric/sparkplugb-interop-srad:v0.4.0 sha256:6617fe6493af987de17d603daf7b10bc406c53e90302b5a2f32774d446c516b0
ghcr.io/otfabric/sparkplugb-interop-tahu-js:v0.4.0 sha256:c4a5a0c73f84e7c12433335ff8cab4656293f2e87b12866b8736a93dcd850152
ghcr.io/otfabric/sparkplugb-interop-sparkplughost:v0.4.0 sha256:87a6d4834c3dc64ddc1e019491d7d798e514890d802220838c0c39a4dc788676

Brokers

  • docker.io/library/eclipse-mosquitto:2.1.2-alpine@sha256:860aeb5d63ce509508f6dcfb2bc8a1c1dd2bc60555b562b45ce90e52d8dabb0f
  • docker.io/hivemq/hivemq-ce:2026.5@sha256:bac6d4d1d815bffe4bc9a7fca8d06ea12b32d34f84ef2f1851ff4548560ee67b
  • docker.io/emqx/emqx:6.3.2@sha256:135116400e11b25224350b2e55c874f4e224d357b593fb554ca1b1f398c631ac
  • docker.io/emqx/nanomq:0.25.7@sha256:ed5a9bb892f58e59aa4e47a9932fb7e056f5ae57ba201414c793b8c961587784

Pinning in a consumer

SPARKPLUGB_INTEROP_TAHU_IMAGE=ghcr.io/otfabric/sparkplugb-interop-tahu@sha256:540056d47e9e7e257fbb14a48d7eb80dce5e79a4752acf1a59b4d74a6c40ddfa
SPARKPLUGB_INTEROP_PYSPARKPLUG_IMAGE=ghcr.io/otfabric/sparkplugb-interop-pysparkplug@sha256:593281b65453b2eb4dacb57f014f6ab1789a8009927c18bfb207576e7c150993
SPARKPLUGB_INTEROP_SPARKPLUGNET_IMAGE=ghcr.io/otfabric/sparkplugb-interop-sparkplugnet@sha256:c7b4bc620cb84ee276e93a43b60bb365c71144adfd78775b6454e219071f7dc9
SPARKPLUGB_INTEROP_SRAD_IMAGE=ghcr.io/otfabric/sparkplugb-interop-srad@sha256:6617fe6493af987de17d603daf7b10bc406c53e90302b5a2f32774d446c516b0
SPARKPLUGB_INTEROP_TAHU_JS_IMAGE=ghcr.io/otfabric/sparkplugb-interop-tahu-js@sha256:c4a5a0c73f84e7c12433335ff8cab4656293f2e87b12866b8736a93dcd850152
SPARKPLUGB_INTEROP_SPARKPLUGHOST_IMAGE=ghcr.io/otfabric/sparkplugb-interop-sparkplughost@sha256:87a6d4834c3dc64ddc1e019491d7d798e514890d802220838c0c39a4dc788676

manifest.json records the upstream versions these images were built from and the brokers they were tested on. The images contain EPL-2.0, Apache-2.0, MIT and BSD software; see THIRD_PARTY_NOTICES.md and /licenses in each image.