chore: bump RELAY dependency v1.11.0 -> RELAY/v2 v2.0.4 (v0.12.1) - #91
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
RELAY was tagged v2.0.4 today, fixing RELAY#70:
go.mod's module path was stillgithub.com/SoundMatt/RELAYafter the v2.0 MAJOR bump, which per Go's semantic import versioning rules made v2.0.0+ untaggable/uninstallable via normalgo get/go install. It's nowgithub.com/SoundMatt/RELAY/v2.go-CAN's
go.modwas pinned togithub.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, currentgithub.com/SoundMatt/RELAY/v2 v2.0.4.go.mod/go.sum:require github.com/SoundMatt/RELAY/v2 v2.0.4, oldgithub.com/SoundMatt/RELAYrequire removed,go mod tidyrun.relay "github.com/SoundMatt/RELAY"torelay "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'srelay-conformjob now installsgithub.com/SoundMatt/RELAY/v2/cmd/relay@v2.0.4(was pinned to a stalev1.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.mdentries for v1.12, v1.13, v1.14, and v2.0 end to end:"c"as a valid CLIlanguagevalue. Doesn't affect go-CAN (language: "go").relayCLI tool itself (flag parsing, embed globbing, crossbar routing, etc.) or to SOME/IP — nothing an implementation like go-CAN needs to change.virtual,dbc,isotp,j1939,obdii,uds,recorder,safety,socketcan,mock) against every applicable registry entry — all already match exactly, no naming drift.Zone/Command/Response/... → TC18StreamID/ByteBusID/Message/...). RCP-specific; does not touch CAN's canonical types or§8/§15CAN 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:No conformance gaps found — no fixes required beyond the dependency/import bump itself.
Incidental fix
While touching
cmd/cantool/main.goanyway, noticedtoolVersionwas still"0.11.0"despite the already-taggedv0.12.0release (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.mdupdated with the new row.Test plan
go build ./...go vet ./...go test ./...— all packages passgo test ./... -race— all packages passgofusa check ./...— cleangofusa trace -req-coverage 100— 100% requirement traceability (94/94), 100% function-annotation density (67/67)relay conform --strict/relay interop --strict --protocol CAN/relay compareagainst the real RELAY v2.0.4 CLI — all passgolangci-lint runsurfaces pre-existingerrcheck/staticcheckissues unrelated to this change (uncheckedfmt.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.