Yuxuan Wang created THRIFT-5338: ----------------------------------- Summary: Proposal: Raise minimal supported Go version with upcoming 0.14.0 release Key: THRIFT-5338 URL: https://issues.apache.org/jira/browse/THRIFT-5338 Project: Thrift Issue Type: Task Components: Go - Library Reporter: Yuxuan Wang
Currently (as of 0.13.0), the minimal supported Go version is 1.10.8, which is the latest point release in 1.10.x (released on 2019-01-23). I propose that we raise this version with 0.14.0 release. There are 3 potential versions we can raise it to: 1. go1.12.17 (released on 2020-02-12). This proposal is based on the release cycles of the 2 projects. (Go has a release very 6 months, while thrift has a release roughly every 12 months, so we raise 2 versions of Go with our release). This would give us benefit of proper go modules support, which was introduced in go 1.11. 2. go1.13.15 (released on 2020-08-06). This would give us the additional benefit of better error/exception handling, as currently in go library code there are a few places we have to do extra work because we have to support pre-go1.13 (examples: [1|https://github.com/apache/thrift/blob/7f9abb1cc0f4b2793a48f45ddfcf0d2b287cc50c/lib/go/thrift/transport_exception_test.go#L50-L51], [2|https://github.com/apache/thrift/blob/7f9abb1cc0f4b2793a48f45ddfcf0d2b287cc50c/lib/go/thrift/transport_exception_test.go#L69-L70], [3|https://github.com/apache/thrift/blob/7f9abb1cc0f4b2793a48f45ddfcf0d2b287cc50c/lib/go/thrift/simple_server.go#L318-L319]) 3. go1.14.x. There's no additional benefit for this one, but this will be the latest officially supported go release when we release 0.14.0 (as stated by [Go release policy|https://golang.org/doc/devel/release.html#policy], only 2 most recent major releases will be supported by security fixes). I don't know if any of the thrift users are stuck with an older Go version. Consider go has very strong backward compatibility guarantee on the whole 1.x tree, I highly doubt that would be the case (unless someone is stuck on a platform that's dropped in later Go releases). -- This message was sent by Atlassian Jira (v8.3.4#803005)