Releases: einride/can-go
Releases · einride/can-go
v0.17.0
v0.16.1
v0.16.0
v0.15.0
0.15.0 (2025-08-07)
Breaking Changes
- deps: bump golang.org/x/net to patched version (7324c6c)
This commit bumps golang.org/x/net to v0.38.0 to address two security
vulnerabilities (CVE-2025-22872 & CVE-2025-22870).
The code is not susceptible to the vulnerability because it relates to
HTML parsing (CVE-2025-22872) or address resolving (CVE-2025-22870).
In this repository we only use golang.org/x/net to emulate CAN using
multicast UDP sockets.
Because of this dependency update we also need to update the Go
version to 1.23, which is a breaking change and also "too early" with
regard to our [Go version support policy].
However, given that Go 1.25 is being released later in August and this
is to address security vulnerabilities we think it is performing the
breaking change now, rather than waiting for 1.25 to land.
BREAKING CHANGE: Update required Go version to 1.23.
[go version support policy]: https://einride.engineering/docs/tech-radar/backend#languages-go
Chores
- specify tool versions in sage instead of tools.go (81e21e3)
Build
- deps: bump go.einride.tech/sage from 0.362.0 to 0.369.0 in /.sage (7fed21f)
v0.14.0
v0.13.0
0.13.0 (2025-05-13)
Breaking Changes
- bump Go version to 1.22 (ab1c5ca)
Go 1.22 is the oldest officially supported version of Go currently and
at Einride we aim to follow that guideline.
In order to get the project to build a number of other changes needed
to be done.
go.einride.tech/sage needed to be updated to get us a golangci-lint
version that can lint 1.22 and with that a whole swath of lints were
activated:
- most are on the form of copyloopvar (i.e. loop variables
now work as most people expect and we don't need to copy them)
- we were also shadowing min/max builtins that were introduced in Go
1.21, these are now renamed were applicable.
BREAKING CHANGE: The library requires Go 1.22 to build, no other user
visible changes introduced.
v0.12.2
v0.12.1
v0.12.0
0.12.0 (2024-07-05)
Breaking Changes
- cantool: CopyFrom accepts canrunner.Node Rx messages (56c0075)
When updating the signature for CopyFrom we accidentally broke a
workflow where receive messages in a `canrunner.Node` and then copy
the data from them using `CopyFrom`. This commit restores CopyFrom to
accept a "message reader" type, but extends that type to also require
that values implement `Frame() can.Frame`.
All messages generated by cantool already implements `Frame()
can.Frame` so only mocks should be affected.
BREAKING CHANGE: This restores old signature of CopyFrom to accept a
message reader instead of a message instance to copy from.