The first release since v1.2.12 (May 2023). Its main purpose is to put the UMFPACK build fix
that has been sitting on main since February 2025 into users' hands: without a tag, go get kept
compiling the 2023 sources and failing on distributions that ship SuiteSparse 7.x.
Status
Gosl is mature and in maintenance mode. It is stable and is used in published work, but new
development has moved to Russell, its successor — if you are
starting a new project, look there first. Reports about Gosl's existing functionality are welcome;
new features are unlikely.
Upgrading
go get -u github.com/cpmech/gosl
Drop-in update from v1.2.12. The set of packages is the same as v1.2.12 — nothing added, nothing
removed — and no exported API was renamed.
Fixes
la: the UMFPACK type fix (issue #68).umfErrnow takes anintrather than along, and
the UMFPACK status codes are converted at every call site. This is the fix for
cannot use status (variable of int32 type C.int) as C.LONG value in argument to umfErr, which
breaks compilation on Ubuntu 24.04 and any distribution shipping SuiteSparse 7.x.
(9541a3b3by @biotinker,d25acbe8.)la/oblas: the conjugate transpose inzherkis now used correctly (4c5ce3c3).num: error check fixed inElliptic3; a redundant condition removed from the Chebyshev point
functions; a warning added for a negativenin the complex functions; a shadowed iterator
variable fixed inGaussLegendreXW(683911dc,1176b63e,64896c2b,06803204via #67 by
@ejanzer).ode: an unnecessary external loop removed from the solver; unused tests and data deleted
(ad8ce6c3,75668b8e,8191bb52,ab6e75ef).io:copy(to, from)replaces a hand-written loop (99e69c38via #63).- Typos and test tolerances corrected throughout.
Documentation
- The README was rewritten: Docker is the recommended path, links point at
main(themaster
branch no longer exists), and the project's status — mature, maintenance mode, successor Russell —
is now the first section after the introduction. - CI no longer reports to Codecov.
How this release was verified
Built and tested in a pinned Docker environment — Ubuntu 24.04 with SuiteSparse 7.6.1, OpenBLAS
0.3.26, LAPACKE 3.12.0, FFTW3 3.3.10, METIS 5.1.0, MUMPS-seq 5.6.2, gfortran 14.2 and Go 1.27.1:
- all 19 packages build,
go vetreports nothing, and every package's tests pass; - the issue #68 reproduction was run against both releases. On Ubuntu 24.04,
go get github.com/cpmech/gosl@v1.2.12followed bygo build github.com/cpmech/gosl/lafails
with tenC.int/C.LONGerrors; the same commands with@v1.2.13compile cleanly.
go.mod still declares go 1.17; this release was tested with Go 1.27.1.