Upgrade from v2026.09.18.1. Same pipeline, serve and rollups file formats,
and every config still parses and runs as it did. There are no new keys, no
SQL changes, and no change in what the engine does. This release moves what
compiles it and what it links against.
v2026.09.19 carried the same source and was retracted the day it was
published: its linux/amd64 binary segfaulted at package init. That half had
been cross-compiled from an arm64 workstation, which Go 1.26 does not do
correctly for cgo, and the check that should have caught it ran the binary
under emulation. This release is built by CI, each architecture on a machine
of that architecture, and both halves are run before the tag exists (#340).
The toolchain (#338):
- The go directive is 1.26.0, and every builder names golang:1.26 with
GOTOOLCHAIN=local, so the published binary reports go1.26.x where
v2026.09.18.1 reported go1.25.14. Before this, GOTOOLCHAIN=auto let go.mod
fetch its own compiler, and an image pinned to golang:1.25 shipped a binary
built by go1.26.0 that no pin named.
The modules (#338):
- arrow-adbc/go/adbc 1.6.0 to 1.12.0, arrow-go/v18 18.6.0 to 18.7.0,
franz-go 1.20.7 to 1.21.7, franz-go/pkg/kmsg 1.12.0 to 1.13.1,
buger/jsonparser 1.1.2 to 1.6.1, santhosh-tekuri/jsonschema/v6 6.0.1 to
6.0.3, zeebo/assert 1.3.0 to 1.3.1, golang.org/x/net 0.57.0 to 0.59.0,
modernc.org/sqlite 1.57.0 to 1.59.0.
One code change, which preserves behavior rather than altering it (#338):
- `run` asks the table manager group whether a manager failed, instead of
reading the run context's cause. Go 1.26 changed signal.NotifyContext to
cancel with a cause naming the signal, and that cause propagates into the
run context. Under the old test -- any cause that is not
context.Canceled -- every SIGTERM read as a failed manager: the drain was
logged as "table manager failed, pipeline stopped" and the process exited
1, the retryable internal code, where it had exited 0. The defect never
shipped; the release suite caught it on the bump that introduced it. A
supervisor sees the same exit codes from this release as from the last.
Evidence: the release suite passes against the published amd64 image, both
architectures run before this tag was created, the unit and integration
suites pass under -race, and the memory soak is flat over 106,400,073
messages at -0.009 bytes per message against a 1.0 threshold.