Skip to content

chore: bump RELAY dependency v1.11.0 -> RELAY/v2 v2.0.4 (v0.12.1) - #91

Merged
SoundMatt merged 1 commit into
mainfrom
bump-relay-v2.0.4
Jul 30, 2026
Merged

chore: bump RELAY dependency v1.11.0 -> RELAY/v2 v2.0.4 (v0.12.1)#91
SoundMatt merged 1 commit into
mainfrom
bump-relay-v2.0.4

Conversation

@SoundMatt

Copy link
Copy Markdown
Owner

Summary

RELAY was tagged v2.0.4 today, fixing RELAY#70: go.mod's module path was still github.com/SoundMatt/RELAY after the v2.0 MAJOR bump, which per Go's semantic import versioning rules made v2.0.0+ untaggable/uninstallable via normal go get/go install. It's now github.com/SoundMatt/RELAY/v2.

go-CAN's go.mod was pinned to github.com/SoundMatt/RELAY v1.11.0 — three spec versions (v1.12, v1.13, v1.14) plus the v2.0 MAJOR behind. This PR bumps to the real, current github.com/SoundMatt/RELAY/v2 v2.0.4.

  • go.mod/go.sum: require github.com/SoundMatt/RELAY/v2 v2.0.4, old github.com/SoundMatt/RELAY require removed, go mod tidy run.
  • Updated all 8 source files' imports from relay "github.com/SoundMatt/RELAY" to relay "github.com/SoundMatt/RELAY/v2": adapt.go, adapt_test.go, can.go, can_vectors_test.go, cmd/cantool/main.go, cmd/cantool/main_test.go, socketcan/bus_linux.go, virtual/bus.go.
  • .github/workflows/ci.yml's relay-conform job now installs github.com/SoundMatt/RELAY/v2/cmd/relay@v2.0.4 (was pinned to a stale v1.10.0, itself pre-existing drift from the CI-targeted spec version).

Conformance review (v1.11 → v2.0 is a real multi-version jump, not just a version-string bump)

Read RELAY's spec/CHANGELOG.md entries for v1.12, v1.13, v1.14, and v2.0 end to end:

  • v1.12 — adds "c" as a valid CLI language value. Doesn't affect go-CAN (language: "go").
  • v1.13 — deep-audit fix pass, but every fix is internal to the relay CLI tool itself (flag parsing, embed globbing, crossbar routing, etc.) or to SOME/IP — nothing an implementation like go-CAN needs to change.
  • v1.14 — expands §13.7.2's module-name registry (RCP/DDS-internals naming). Cross-checked go-CAN's actual module directories (virtual, dbc, isotp, j1939, obdii, uds, recorder, safety, socketcan, mock) against every applicable registry entry — all already match exactly, no naming drift.
  • v2.0 — BREAKING: replaces RCP's canonical types (Zone/Command/Response/... → TC18 StreamID/ByteBusID/Message/...). RCP-specific; does not touch CAN's canonical types or §8/§15 CAN sections at all.

Verified live, not just inferred: built the RELAY v2.0.4 CLI from source (git checkout v2.0.4 && go build ./cmd/relay/) and ran it against a freshly built go-CAN CLI binary:

relay conform --strict /tmp/go-can    → RESULT: PASS (§12.1/§12.2/§12.3)
relay interop --strict --protocol CAN /tmp/go-can → RESULT: PASS (7/7 vectors EQUIVALENT)
relay compare /tmp/go-can /tmp/go-can → VERDICT: COMPATIBLE

No conformance gaps found — no fixes required beyond the dependency/import bump itself.

Incidental fix

While touching cmd/cantool/main.go anyway, noticed toolVersion was still "0.11.0" despite the already-tagged v0.12.0 release (pre-existing drift, unrelated to the RELAY bump — no test currently gates on it). Corrected to "0.12.1" alongside this bump.

Version bump

Followed this repo's precedent (v0.10.1: "RELAY spec v1.11" + minor fixes) for a dependency-only patch release: v0.12.1. ROADMAP.md updated with the new row.

Test plan

  • go build ./...
  • go vet ./...
  • go test ./... — all packages pass
  • go test ./... -race — all packages pass
  • gofusa check ./... — clean
  • gofusa trace -req-coverage 100 — 100% requirement traceability (94/94), 100% function-annotation density (67/67)
  • relay conform --strict / relay interop --strict --protocol CAN / relay compare against the real RELAY v2.0.4 CLI — all pass
  • CI (this PR)

golangci-lint run surfaces pre-existing errcheck/staticcheck issues unrelated to this change (unchecked fmt.Fprintln/.Close()/.Send() in tests and examples); it isn't configured or gated in this repo's CI, so left untouched to keep this PR focused on the RELAY bump.

github.com/SoundMatt/RELAY v2.0.4 fixed a module-path bug (RELAY#70):
v2.0+ tags require a /v2 path suffix per Go's semantic import
versioning rules, or they're uninstallable via normal go get/go
install. go-CAN's go.mod was still pinned to v1.11.0, three spec
versions (v1.12, v1.13, v1.14) plus the v2.0 MAJOR behind.

- go.mod/go.sum: require github.com/SoundMatt/RELAY/v2 v2.0.4
- Updated all 8 source-file imports from
  `relay "github.com/SoundMatt/RELAY"` to
  `relay "github.com/SoundMatt/RELAY/v2"` (adapt.go, adapt_test.go,
  can.go, can_vectors_test.go, cmd/cantool/main.go,
  cmd/cantool/main_test.go, socketcan/bus_linux.go, virtual/bus.go)
- .github/workflows/ci.yml: relay-conform job now installs
  github.com/SoundMatt/RELAY/v2/cmd/relay@v2.0.4 (was pinned to a
  stale v1.10.0)
- Reviewed RELAY spec CHANGELOG v1.12 (CLI language enum), v1.13
  (relay-tool bug fixes), v1.14 (§13.7.2 module-name registry
  expansion), and v2.0 (RCP canonical-type replacement) for
  conformance impact on go-CAN: none apply. v1.12's new "c" language
  value doesn't affect go-CAN ("go"); v1.13's fixes are internal to
  the relay CLI tool itself; v1.14's registry additions are
  RCP/DDS-specific and go-CAN's existing module names (virtual, dbc,
  isotp, j1939, obdii, uds, recorder, safety, socketcan, mock)
  already match every applicable §13.7.2 entry; v2.0's breaking
  change is RCP-only.
- Verified live, not just inferred: built the RELAY v2.0.4 CLI from
  source and ran `relay conform --strict`, `relay interop --strict
  --protocol CAN`, and `relay compare` against a freshly built
  go-CAN CLI binary. All PASS/EQUIVALENT/COMPATIBLE, no gaps found.
- go build/vet/test/test -race and gofusa check/trace (100%
  requirement + function-annotation coverage) all clean.
- cmd/cantool/main.go: toolVersion was stuck at "0.11.0" despite the
  already-tagged v0.12.0 release (pre-existing drift, unrelated to
  this bump); corrected to "0.12.1" while touching this file anyway.
- ROADMAP.md: added the v0.12.1 patch-release row, following the
  v0.10.1 precedent for a dependency-only patch bump.

Signed-off-by: Matt <matt@jellybaby.com>
Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com>
@SoundMatt
SoundMatt merged commit 3473da6 into main Jul 30, 2026
14 checks passed
@SoundMatt
SoundMatt deleted the bump-relay-v2.0.4 branch July 30, 2026 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant