Skip to content

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 22:34
01482ba

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

Added

  • cbsigma: cB-Sigma openadr v0.2.0 (Go, Apache-2.0), an independent OpenADR 3.1.0 stack in both roles, published as ghcr.io/otfabric/openadr-interop-cbsigma. The server is its VTN (oadr3/vtn) with its own token endpoint and webhooks; the clients are its REST client (oadr3.APIClient), which checks a request body with the library's oadr3.CheckRequest before it is sent. It is a second client for openleadr and a second server for elaadnl, and its VTN passes the 24 conformance scenarios. A bug of its VTN found on the way, a VEN that cannot read a targeted object by ID, is cB-Sigma/openadr#1, tracked in #19. go.mod and go.sum of adapters/cbsigma hold the pin; scripts/check-versions.sh checks that they and the Dockerfile agree, and the Upstream workflow follows the tags of cB-Sigma/openadr.
  • Contract 1.5, webhooks: the client operation listen-webhook (feature clientWebhook) serves a receiver, subscribes with the library's client and waits for notifications. scripts/interop.sh has a webhook scenario: a VEN subscribes, Business Logic creates an event, and the VTN notifies the VEN's webhook with the subscription's bearer token. cbsigma has it, and so does own/go-openadr (with go-openadr's webhook.Handler) from its next build.
  • Contract 1.5, serverTargetsUnlock: the reading of targets of the cbsigma VTN. For a VEN, the targets a request names unlock the targeted objects it was granted and narrow nothing: a search naming targets returns the untargeted objects too, and a targeted object is not found by ID, as GET /programs/{programID} has no parameter to name its target. Cases of either reading run against the servers that have it.
  • A case for GET /notifiers of a VTN without MQTT.

Changed

  • The workflow check of the event's start time accepts +00:00 as well as Z: OpenLEADR writes the former, and a client that hands over the VTN's JSON as it is (cbsigma) passes it on.
  • elaadnl moves to ElaadNL openadr3-client 2.4.2 (tag 134ff74e), the latest release. Between 2.4.0 and 2.4.2 the package openadr3_client is unchanged. Its dependencies moved: oauthlib 3.3.1 to 4.0.1 (the library now requires 4), paho-mqtt 2.2.0, pydantic 2.14.3, certifi 2026.10.23, and the transitive security updates of 2.4.1. requirements.txt was regenerated with its hashes. The set of packages is the same, and the cross-stack results are those of 2.4.0.
  • needs in tests/cases.tsv takes server:!<feature> and client:!<feature>: the case runs only where the feature is not declared.
  • The Own stack workflow runs the cross-stack self-test against the adapters of the harness release's Makefile, so a release that adds an adapter adds it there too.

The fixtures do not change.

Images

Image Upstream Digest
ghcr.io/otfabric/openadr-interop-openleadr:v0.8.0 v0.2.8 sha256:8f5c8e55a31a50888d2eca6da6431734c32b589b5151c68e86ddb68076da171e
ghcr.io/otfabric/openadr-interop-elaadnl:v0.8.0 2.4.2 sha256:48b02fd2cbef75282093804837330a681934c4473c6e6907862ea8f0b34a3a65
ghcr.io/otfabric/openadr-interop-openleadr301:v0.8.0 v0.1.4 sha256:ce3c87d9a633ef90816a3bba5daf972a19013b501cc728a64445767e93de0256
ghcr.io/otfabric/openadr-interop-cbsigma:v0.8.0 v0.2.0 sha256:626f3742826ba30d4b62775cd343653c7ed0633422af4676a61aa3975b9be4ab

Pinning in a consumer

OPENADR_INTEROP_OPENLEADR_IMAGE=ghcr.io/otfabric/openadr-interop-openleadr@sha256:8f5c8e55a31a50888d2eca6da6431734c32b589b5151c68e86ddb68076da171e
OPENADR_INTEROP_ELAADNL_IMAGE=ghcr.io/otfabric/openadr-interop-elaadnl@sha256:48b02fd2cbef75282093804837330a681934c4473c6e6907862ea8f0b34a3a65
OPENADR_INTEROP_OPENLEADR301_IMAGE=ghcr.io/otfabric/openadr-interop-openleadr301@sha256:ce3c87d9a633ef90816a3bba5daf972a19013b501cc728a64445767e93de0256
OPENADR_INTEROP_CBSIGMA_IMAGE=ghcr.io/otfabric/openadr-interop-cbsigma@sha256:626f3742826ba30d4b62775cd343653c7ed0633422af4676a61aa3975b9be4ab

manifest.json records the upstream versions these images were built from. The images contain third-party software under its own licences; see THIRD_PARTY_NOTICES.md and /licenses in each image. Notes: RELEASE.md.