Skip to content

Update Go toolchain and dependencies - #172

Merged
wimaha merged 2 commits into
mainfrom
deps/go-toolchain-update
Oct 18, 2026
Merged

wimaha merged 2 commits into
mainfrom
deps/go-toolchain-update

Conversation

@wimaha

@wimaha wimaha commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Brings the toolchain/dependency update that only lived on the abandoned dev branch (ff1be91) into main, so dev can be deleted afterwards.

Changes

  • Dockerfile: build with golang 1.27.1 (was 1.25.5)
  • vehicle-command fork: wimaha/vehicle-command v0.0.7 → v0.0.8
  • charmbracelet/log v0.4.0 → v1.0.0, which raises the go directive to 1.26.0
  • Indirect bumps (x/sys, protobuf, jwt, termenv, logfmt)
  • CI workflows: GO_VERSION ^1.25 → ^1.26 to match the go directive
  • go mod tidy moves google.golang.org/protobuf into the direct requirements, since the simulated-car tests import it

Compatibility

  • vehicle-command v0.0.8 only adds methods (parental controls, SetKeepAccessoryPowerMode). No existing signature changed, so the Vehicle interface in internal/tesla/commands and the fakecar still match.
  • The charmbracelet/log functions used in internal/logging and config (New, *Logger, the level functions, SetLevel, DebugLevel) still compile against v1.

Verified locally

  • go build ./..., go vet ./...
  • go test -race -count=1 ./...
  • golangci-lint 2.15.0 (built with Go 1.27.1): 0 issues. Older golangci-lint binaries built with Go 1.25 panic on a go 1.26 module; CI uses version: latest.

🤖 Generated with Claude Code

wimaha and others added 2 commits October 18, 2026 22:29
- Dockerfile: build with golang 1.27.1
- vehicle-command fork: v0.0.7 -> v0.0.8
- charmbracelet/log: v0.4.0 -> v1.0.0 (go directive now 1.26.0)
- Bump indirect deps (x/sys, protobuf, jwt, termenv, logfmt)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
charmbracelet/log v1 raised the go directive to 1.26.0, so the
workflows' ^1.25 floor no longer reflects the minimum toolchain.
go mod tidy also moves google.golang.org/protobuf to the direct
requirements, since the simulated-car tests import it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

🟡 Merge after the to-dos

This is a toolchain and dependency update with no API or config changes. The risk is in the build for small devices (Pi) and in the new fork version, which I could not check.

Impact on existing users: None expected for the HTTP API, env variables or key files. Log lines may look different after the logging library update.

To-do for the author

  • Confirm the Docker image builds for all four platforms (amd64, arm64, arm/v6, arm/v7) with Go 1.27.1. Do this before merging.
  • Confirm wimaha/vehicle-command v0.0.8 contains no changes to BLE connect, retry or wake-up behaviour. The PR says it only adds methods.
  • Compare the log output (format, levels, LOG_LEVEL) before and after, if people parse the logs.

Test before merging: Run the built image on a Pi with a real car. Try vehicle_data, one wake-up, and one command such as charge start/stop. Then let it run for a day and check the logs.

Technical details
  • Dockerfile:1: golang 1.25.5 to 1.27.1. The build uses GOARM=${TARGETVARIANT#v} and CGO_ENABLED=0. I could not verify that the 1.27.1 image exists or that arm/v6 still builds. Run the release workflow on a branch to check.
  • go.mod:3: the go directive is now 1.26.0. Anyone building locally with Go older than 1.26 will fail. CI is updated to ^1.26.
  • go.mod: the fork replace goes v0.0.7 to v0.0.8. I could not read the fork diff, so I rely on the PR description.
  • go.mod: charmbracelet/log v0.4.0 to v1.0.0 pulls in lipgloss 1.1, x/ansi 0.8 and other new indirect packages. This is only log formatting, so the risk is low.
  • The other bumps (x/sys, protobuf, jwt 5.3.1) are routine. Tests were run by the author, not by me.

@wimaha
wimaha merged commit 9d50e9e into main Oct 18, 2026
7 checks passed
@wimaha
wimaha deleted the deps/go-toolchain-update branch October 18, 2026 20:35
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