diff options
author | Bence Ferdinandy <bence@ferdinandy.com> | 2024-07-11 11:34:19 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2024-08-20 11:52:25 +0200 |
commit | 5d56a6fc75e8104e222a912caee61b1f0376b556 (patch) | |
tree | 88e2765ed4d8b684a5c278d010546c5ab820148d | |
parent | a890fcb435e223897e9cacd92fc95673af45fb81 (diff) | |
download | aerc-5d56a6fc75e8104e222a912caee61b1f0376b556.tar.gz |
go: bump minimal version to 1.21 and handle deprecations
Go 1.18 is already EOL. go-maildir v0.5.0 requires go 1.20 at least.
Since go 1.20 is also EOL, bump the minimum required go version to the
first still supported version which is 1.21.
Go 1.20 deprecated Seed and Read in math/rand. Update the code
accordingly.
Changelog-deprecated: Support for go 1.20 and older.
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
-rw-r--r-- | .builds/alpine-edge.yml | 4 | ||||
-rw-r--r-- | .github/workflows/macos.yml | 2 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | go.mod | 2 | ||||
-rw-r--r-- | lib/pama/apply.go | 5 | ||||
-rw-r--r-- | main.go | 5 |
6 files changed, 8 insertions, 12 deletions
diff --git a/.builds/alpine-edge.yml b/.builds/alpine-edge.yml index c8dcc6f0..a03f101e 100644 --- a/.builds/alpine-edge.yml +++ b/.builds/alpine-edge.yml @@ -20,6 +20,6 @@ tasks: - install: | gmake -C aerc install checkinstall - ancient-go-version: | - curl -O https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/go-1.18.7-r0.apk - sudo apk add ./go-1.18.7-r0.apk + curl -O https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/go-1.21.10-r0.apk + sudo apk add ./go-1.21.10-r0.apk gmake -C aerc clean all diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 950a7642..3e355a2d 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -7,7 +7,7 @@ jobs: strategy: matrix: go: - - '1.18' + - '1.21' - '1.22' env: DESTDIR: ./out @@ -69,7 +69,7 @@ And likely other platforms. Install the dependencies: -- go (>=1.18) *(Go versions are supported until their end-of-life; support for +- go (>=1.21) *(Go versions are supported until their end-of-life; support for older versions may be dropped at any time due to incompatibilities or newer required language features.)* - [scdoc](https://git.sr.ht/~sircmpwn/scdoc) @@ -1,6 +1,6 @@ module git.sr.ht/~rjarry/aerc -go 1.18 +go 1.21 require ( git.sr.ht/~rjarry/go-opt v1.4.0 diff --git a/lib/pama/apply.go b/lib/pama/apply.go index f97c7701..2dd9ecfc 100644 --- a/lib/pama/apply.go +++ b/lib/pama/apply.go @@ -1,9 +1,10 @@ package pama import ( + "crypto/rand" "encoding/base64" "fmt" - "math/rand" + mathrand "math/rand" "strings" "git.sr.ht/~rjarry/aerc/lib/log" @@ -88,7 +89,7 @@ func generateTag(n int) (string, error) { func makeUnique(s string) string { tag, err := generateTag(4) if err != nil { - return fmt.Sprintf("%s_%d", s, rand.Uint32()) + return fmt.Sprintf("%s_%d", s, mathrand.Uint32()) } return fmt.Sprintf("%s_%s", s, tag) } @@ -4,7 +4,6 @@ import ( "context" "errors" "fmt" - "math/rand" "os" "runtime" "sort" @@ -303,7 +302,3 @@ loop: } } } - -func init() { - rand.Seed(time.Now().UnixNano()) -} |