Skip to content

v1.5.1 — Update Gonum dependency

Choose a tag to compare

@jamestjsp jamestjsp released this 13 Sep 01:24

Updates the required Gonum fork to v0.19.0-fork, including LAPACK scaling fixes and intervening BLAS updates. Installation instructions, CI, and the local downstream-consumer action use the same dependency version.

Requires Go 1.27.1 or newer (previous minimum: Go 1.26.3). Applications importing controlsys must set their own replacement because dependency replace directives do not propagate:

replace gonum.org/v1/gonum => github.com/jamestjsp/gonum v0.19.0-fork

Go 1.27.1 substantially reduces the large older-toolchain performance regressions. Ten interleaved samples across 236 benchmarks show a 1.07% timing-geomean improvement on Apple M1 Pro at eight workers. Longer follow-up still confirms SISO frequency-response generation +6.17%, internal-delay simulation +4.38%, and SISO delayed simulation +3.38%. The original MatLog/D2C/Stabsep regressions shrink to roughly 0.5–1.1%. DC motor simulation improves 13.29% and regulator construction 25.20% in the follow-up.

Full performance report and evidence. These measurements do not establish performance on other hardware or worker counts.

Validation: full uncached tests, race tests, go fix, go vet, go build, external-consumer test, and CI passed on the Go 1.27.1 update. CLI govulncheck v1.8.0 reports no vulnerabilities.

Includes PR #171, rebase-merged at bcee41b7dd48ffeb14576a77ae3ac8c69efd450d. The release tree matches the tested PR head. Remaining performance differences are tracked in Gonum issue #10.