github cpmech/gosl v1.2.13
v1.2.13 — first release since 2023, with the UMFPACK build fix (#68)

latest release: v1.2.14
2 hours ago

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). umfErr now takes an int rather than a long, 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.
    (9541a3b3 by @biotinker, d25acbe8.)
  • la/oblas: the conjugate transpose in zherk is now used correctly (4c5ce3c3).
  • num: error check fixed in Elliptic3; a redundant condition removed from the Chebyshev point
    functions; a warning added for a negative n in the complex functions; a shadowed iterator
    variable fixed in GaussLegendreXW (683911dc, 1176b63e, 64896c2b, 06803204 via #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 (99e69c38 via #63).
  • Typos and test tolerances corrected throughout.

Documentation

  • The README was rewritten: Docker is the recommended path, links point at main (the master
    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 vet reports 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.12 followed by go build github.com/cpmech/gosl/la fails
    with ten C.int/C.LONG errors; the same commands with @v1.2.13 compile cleanly.

go.mod still declares go 1.17; this release was tested with Go 1.27.1.

Don't miss a new gosl release

NewReleases is sending notifications on new releases.