Upgrade Go toolchain to 1.26.5
This commit is contained in:
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
**Updated:** 2026-07-22
|
**Updated:** 2026-07-22
|
||||||
**Branch:** main
|
**Branch:** main
|
||||||
**Last Commit:** 09f51d1 - Add queued email notifications for collaboration events
|
**Baseline Commit:** 4454e91 - Add Cloudflare email and collaboration workflows
|
||||||
|
|
||||||
## Quick Stats
|
## Quick Stats
|
||||||
|
|
||||||
| Metric | Value |
|
| Metric | Value |
|
||||||
|--------|-------|
|
|--------|-------|
|
||||||
| Total Tracked Files | 201 |
|
| Total Tracked Files | 208 |
|
||||||
| Go Files | 63 |
|
| Go Files | 63 |
|
||||||
| Swift Files | 15 (macOS app and package manifest) |
|
| Swift Files | 15 (macOS app and package manifest) |
|
||||||
| Go Test Files | 18 |
|
| Go Test Files | 18 |
|
||||||
@@ -19,8 +19,10 @@
|
|||||||
|
|
||||||
- `go test -coverpkg=./... -coverprofile=... ./...` passes with 52.4% aggregate statement coverage.
|
- `go test -coverpkg=./... -coverprofile=... ./...` passes with 52.4% aggregate statement coverage.
|
||||||
- `swift build` passes for the macOS app and CLI.
|
- `swift build` passes for the macOS app and CLI.
|
||||||
- Focused race tests pass for email, collaboration, and HTTP packages. A full `go test -race ./...` exceeds the current five-minute local timeout.
|
- `go test -race ./...` passes under Go 1.26.5.
|
||||||
- `govulncheck` currently fails because Go 1.24.2 has 31 reachable standard-library vulnerabilities; the pinned Go toolchain must be upgraded before production sign-off.
|
- Go is pinned consistently to 1.26.5 for local, CI, module, workspace, and container builds.
|
||||||
|
- `govulncheck@latest` reports no reachable vulnerabilities.
|
||||||
|
- The `golang:1.26.5-bookworm` production image builds successfully.
|
||||||
- Highest package coverage: Markdown 87.0%, email 77.9%, store 70.0%, config 67.9%, auth 54.9%, and sync 54.2%.
|
- Highest package coverage: Markdown 87.0%, email 77.9%, store 70.0%, config 67.9%, auth 54.9%, and sync 54.2%.
|
||||||
- Collaboration, configuration, email-provider, and collaboration HTTP integration tests are present; database, logging, and realtime still lack direct suites.
|
- Collaboration, configuration, email-provider, and collaboration HTTP integration tests are present; database, logging, and realtime still lack direct suites.
|
||||||
|
|
||||||
@@ -61,7 +63,6 @@ Milestone 4 collaboration completion:
|
|||||||
|
|
||||||
## Known Gaps Requiring Human Review
|
## Known Gaps Requiring Human Review
|
||||||
|
|
||||||
- Go 1.24.2 is below the patched versions reported by `govulncheck`, including fixes for `html/template`, `crypto/tls`, `net/http`, and `crypto/x509` vulnerabilities.
|
|
||||||
- WebSocket broadcasts are authenticated but not filtered by per-document permissions.
|
- WebSocket broadcasts are authenticated but not filtered by per-document permissions.
|
||||||
- Content-hash downloads are not tied back to effective document permission.
|
- Content-hash downloads are not tied back to effective document permission.
|
||||||
- Browser caches are not cleared on logout.
|
- Browser caches are not cleared on logout.
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ dependencies, secure server-side rendering, and a straightforward deployment
|
|||||||
artifact.
|
artifact.
|
||||||
|
|
||||||
## Decision
|
## Decision
|
||||||
Use Go 1.24+ with the standard library plus minimal, audited packages. The Go
|
Use Go 1.26+ with the standard library plus minimal, audited packages. The Go
|
||||||
binary serves HTML templates and embeds its CSS, images, and small browser
|
binary serves HTML templates and embeds its CSS, images, and small browser
|
||||||
scripts. There is no separate SPA, Node dependency tree, or frontend build
|
scripts. There is no separate SPA, Node dependency tree, or frontend build
|
||||||
pipeline.
|
pipeline.
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ See [architecture-overview.md](architecture-overview.md) for detailed component
|
|||||||
|
|
||||||
## Technology Stack
|
## Technology Stack
|
||||||
|
|
||||||
### Backend (Go 1.24+)
|
### Backend (Go 1.26+)
|
||||||
|
|
||||||
| Component | Library | Justification |
|
| Component | Library | Justification |
|
||||||
| ------------- | ------------------------------------------- | ---------------------------------------- |
|
| ------------- | ------------------------------------------- | ---------------------------------------- |
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM golang:1.24-bookworm AS server-build
|
FROM golang:1.26.5-bookworm AS server-build
|
||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends build-essential ca-certificates && rm -rf /var/lib/apt/lists/*
|
RUN apt-get update && apt-get install -y --no-install-recommends build-essential ca-certificates && rm -rf /var/lib/apt/lists/*
|
||||||
COPY go.work ./
|
COPY go.work ./
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
module github.com/tim/cairnquire/apps/server
|
module github.com/tim/cairnquire/apps/server
|
||||||
|
|
||||||
go 1.24.2
|
go 1.26.5
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/fsnotify/fsnotify v1.9.0
|
github.com/fsnotify/fsnotify v1.9.0
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[tools]
|
[tools]
|
||||||
go = "1.24.2"
|
go = "1.26.5"
|
||||||
|
|
||||||
[tasks.server-run]
|
[tasks.server-run]
|
||||||
description = "Run the Go server"
|
description = "Run the Go server"
|
||||||
@@ -45,4 +45,4 @@ run = "true"
|
|||||||
[tasks.vulncheck]
|
[tasks.vulncheck]
|
||||||
description = "Run govulncheck"
|
description = "Run govulncheck"
|
||||||
dir = "apps/server"
|
dir = "apps/server"
|
||||||
run = "go run golang.org/x/vuln/cmd/govulncheck@v1.1.4 ./..."
|
run = "go run golang.org/x/vuln/cmd/govulncheck@v1.6.0 ./..."
|
||||||
|
|||||||
Reference in New Issue
Block a user