preparing for Go-1.18

40 views
Skip to first unread message

Sebastien Binet

unread,
Mar 10, 2022, 6:32:59 AM3/10/22
to gonum-dev
hi there,

Go-1.18 is expected to be released sometime next week.

We usually try to cut a new gonum/gonum + gonum/plot release around the
date a new Go release is cut.

Any blocker on the gonum/gonum or gonum/plot paths to have a quick
release for these 2 projects (v0.10 and v0.11, resp.) ?

I'd say the gonum/go...@v0.10 is important to have as soon as possible
because of the map-iter issue (in gonum/graph) that would otherwise
trigger a slew of "panic" reports as soon as somebody tries to run v0.9.x
with Go-1.18.

anything else on the radar for gonum/gonum?

as for gonum/plot, apart from bumping a couple of dependencies'
versions, I don't see much to do.
updating vg/vggio to the latest Gio API changes is probably too large a
change for a week's worth of work but perhaps I'll manage.

anything else?

-s

Dan Kortschak

unread,
Mar 10, 2022, 6:43:13 AM3/10/22
to gonu...@googlegroups.com
There are no blockers and I just updated my local go version. The
version for gonum will be v0.11 (there was no 10).

Is there any reason for us to no release prior to 1.18? We are not
using any of its features. This would prevent any mapiter explosions.

I have time from work tomorrow that I can use to get the release doc
ready.

Dan


Sebastien Binet

unread,
Mar 10, 2022, 7:12:38 AM3/10/22
to Dan Kortschak, gonu...@googlegroups.com
I don't think there is.
(apart from bumping "preemptively" the required Go version in the go.mod
files. but that wouldn't be a big deal.)

-s

Dan Kortschak

unread,
Mar 10, 2022, 7:29:35 AM3/10/22
to gonu...@googlegroups.com
On Thu, 2022-03-10 at 13:12 +0100, 'Sebastien Binet' via gonum-dev
wrote:
> I don't think there is.
> (apart from bumping "preemptively" the required Go version in the
> go.mod
> files. but that wouldn't be a big deal.)

But we don't need to do that since we are not making use of any of its
features. True? Normally we go through and clean out some Go-versioned
TODOs, but there's only one of them, and that's just loss of function
for a Go 1.16 user pulling from master (~0 people) so that can happen
early too (this is here https://github.com/gonum/gonum/pull/1781).

Dan



Sebastien Binet

unread,
Mar 10, 2022, 9:35:54 AM3/10/22
to Dan Kortschak, gonu...@googlegroups.com
On Thu Mar 10, 2022 at 13:29 CET, 'Dan Kortschak' via gonum-dev wrote:
> On Thu, 2022-03-10 at 13:12 +0100, 'Sebastien Binet' via gonum-dev
> wrote:
> > I don't think there is.
> > (apart from bumping "preemptively" the required Go version in the
> > go.mod
> > files. but that wouldn't be a big deal.)
>
> But we don't need to do that since we are not making use of any of its
> features. True?

bumping the required Go version would allow to trim down dependencies
for some downstream projects (thanks to the new algorithm).
(but I may misrepresent things: I don't remember off hand whether that
new algorithm was put into Go-1.17 or Go-1.18)

-s

> Normally we go through and clean out some Go-versioned
> TODOs, but there's only one of them, and that's just loss of function
> for a Go 1.16 user pulling from master (~0 people) so that can happen
> early too (this is here https://github.com/gonum/gonum/pull/1781).
>
> Dan
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "gonum-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to gonum-dev+...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/gonum-dev/6c76ed6e39099399b832a7a0ffbbdf3c1acb688e.camel%40kortschak.io.

Dan Kortschak

unread,
Mar 10, 2022, 3:48:22 PM3/10/22
to gonu...@googlegroups.com
On Thu, 2022-03-10 at 15:35 +0100, 'Sebastien Binet' via gonum-dev
wrote:
> bumping the required Go version would allow to trim down dependencies
> for some downstream projects (thanks to the new algorithm).
> (but I may misrepresent things: I don't remember off hand whether
> that
> new algorithm was put into Go-1.17 or Go-1.18)

After the release we can bump the module to 1.18, and then we can start
word with some of the generic changes in graph and elsewhere where it's
appropriate, but we can't do that before since we are still supporting
1.17, and that would break users of that version.

Dan


Dan Kortschak

unread,
Mar 13, 2022, 6:32:14 PM3/13/22
to gonu...@googlegroups.com
On Thu, 2022-03-10 at 11:43 +0000, 'Dan Kortschak' via gonum-dev wrote:
> I have time from work tomorrow that I can use to get the release doc
> ready.

Tomorrow came late this week.

Here is the proposed text. I have combined changes into their
functionality addition where relevant to reduce line count, and have
hopefully correctly split the list into the correct categories; please
check any that you own to make sure of this and also please check that
I have not over aggressively pruned (I started with `git log --oneline
14aa307d..7a7ecd31` and compared with the release-v0.9 branch).

Dan

```
Release v0.11.0 is a minor release in the v0.11 branch.

API breaking changes:

8e83e047 lapack/gonum: remove Dcombssq
3d32334f mat: rename Symmetric method to SymmetricDim
e99241cb mat: remove unused BandWidther interface
e1d07cd7 mat: rename Tridiag.Clone to CloneFromTridiag

Fixes since v0.9.3:

d891e94e lapack/gonum: fix length check in Dlaswp
094b8d86 integrate/quad: fix hermite initial guess bug
8d530b64 graph/path: fix YenKShortestPaths
e4c04dde lapack/gonum: prevent division of untyped ints always yielding zero in Dlasy2 (#1653)
d1303f03 internal/asm/f64: fix bug and clean up variable names
13102a11 lapack/gonum: fix infinite loop in Dlartg with Inf or NaN input

API additions since v0.9.3:

09c7f513 graph/formats/rdf: extend graph query API (d5f7a1db)
f96a8ce8 spatial/r3: add Mat Outer,Det methods (809af933 f4e71147 8e43cfd1 ca23770c)
1f712d5e graph/formats/rdf: add deduplication function
ce4adcfb lapack/lapack64: add Pstrf
820f2999 graph/formats/rdf: add a graph implementation and graph query language for RDF graphs
83564ec5 graph/coloring: new package providing graph coloring functions (d4eca1bb 4536514e e18dc693)
538cdf8f spatial/r3: add Mat type (735c35c0)
855d38eb stat/distuv: add logistic distribution
295bfca7 lapack: add Dlatdf
2ef9ae2c lapack/gonum: add Dpstrf and its test
cccd8af5 graph/iterator: update map iteration to tolerate changes in reflect
94959ac7 lapack/gonum: add Dpstf2 and its test
aad20655 graph/formats/rdf: add equi-canonicalisation function
b54f851e lapack: add Dlag2 subroutine
d90a6d64 lapack/gonum: add Dorgr2
5ed77756 graph/{iterator,multi}: use map iterators for lines and weighted lines
32fa6875 interp: add not-a-knot cubic spline interpolator (#1679)
44e84bef lapack/gonum: add Dgesv
2600994e spatial/r3: add method to obtain a rotation matrix
c0f40d78 lapack/gonum: add Dgesc2 (#1652)
e102cf23 interp: add ClampedCubic interpolator (#1662)
4bb8d026 interp: Add NaturalCubic spline interpolator (#1657)
cafcbe48 lapack/gonum: add Dgetc2 (#1655)
0acd6516 stat/distuv: add chi distribution
97f387b3 graph/encoding: provide attribute handling out of the box
a683c830 graph/graphs/gen: add breadth-first n-ary tree constructor
1671d981 internal/math32: add Max and Min
ea5c577f cmplxs: add conjugate multiplies and real scales
3de5d6c6 mat: return ErrZeroLength when size is zero and document it
544b314c mat: add Normer interface and use it in Norm (32854e3c d440876c dd45c215 06f3d524 f712ff20 d4333513 c935d6f1 35f38e4c 7d9d51f3 41e3de04)
142fecac lapack/{gonum,testlapack}: add Dlangb and its test (d66e8d4b)
3f0deff2 graph/formats/rdf: add URDNA2015 and URGNA2012 canonicalisation
782095d1 graph/formats/rdf: implement canonicalisation hashing (a6eddb68)
11e9fee1 stat: add TOC function (60db4fc8)
c297b7e2 lapack/gonum: check for overflow in Dtgsja
49182b1e mat: add support for tridiagonal matrices
3ace57a6 floats: add ArgsortStable function
76f2be9a graph/graphs/gen: add simple graph construction functions (326e41eb)
6e718dda add f32 sum
7a88995c lapack/gonum: rewrite Dlartg to use safe scaling from https://doi.org/10.1145/3061665
a6ddba7f graph/{multi,simple,testgraph}: add support for ID-specified node addition
```



Reply all
Reply to author
Forward
0 new messages