devcontainer: go 1.26

This commit is contained in:
djmil 2026-06-28 11:10:08 +00:00
parent 59a68133a3
commit 991fe531fe
2 changed files with 3 additions and 2 deletions

View File

@ -1,6 +1,6 @@
{
"name": "Template",
"image": "golang:1.25-bookworm",
"image": "golang:1.26-bookworm",
"features": {
// Creates a non-root 'vscode' user with sudo standard devcontainer UX

View File

@ -7,7 +7,7 @@ Keep it concise — the agent needs signal, not essays.
## Project overview
Go 1.25 template for PoC, hobby projects, and small publishable packages.
Go 1.25 template (developed on the 1.26 toolchain) for PoC, hobby projects, and small publishable packages.
Stack: structured logging (slog), config (flag), consumer-defined interfaces + manual fakes,
result type (happy-path error handling), linting (golangci-lint), security scanning (gosec, govulncheck).
@ -159,3 +159,4 @@ make clean # remove bin/
- 2026-06-03 — pkg/logger v0.4.0: replaced NewDevelopment with NewCLI(level, debugFile); two-mode model (human text on TTY / JSON when piped); debug file mode; IsInteractive() helper. Established "form over mechanism" as core design principle.
- 2026-06-13 — Build stamping + multi-binary build: internal/buildinfo (Version, Commit, BuildTime injected via -ldflags); make build discovers all cmd/* via find and produces named binaries in ./bin/; make run replaced with make run/<name> pattern; devcontainer adds ./bin to PATH via ${containerWorkspaceFolder}.
- 2026-06-14 — pkg/result: reworked the failure surface into four intent-split constructors — Ok/Err (field constructors: value / bare error), Failf (originate from a message, %w for a cause), Wrap[U](r, "msg") (propagate a failed Expect into a new type; panics on success). Removed Errf/Errw. Wrap eliminates the r.Err() unwrap-rewrap dance; behavioral guarantees covered in pkg/result/wrap_test.go.
- 2026-06-28 — Bumped devcontainer image golang:1.25→1.26-bookworm to develop on the latest toolchain. Deliberately kept the go.mod `go 1.25.0` directive unchanged: it is the minimum-version floor for consumers of the published pkg/ packages, so the newer toolchain builds against the lower floor for maximum compatibility. Bump the floor only when a 1.26 language/stdlib feature is actually needed (and run `make lint-fix` after).