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)

Reply via email to