[ 
https://issues.apache.org/jira/browse/THRIFT-5338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuxuan Wang updated THRIFT-5338:
--------------------------------
    Description: 
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- minimal 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).

  was:
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).


> 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
>            Priority: Major
>
> 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- minimal 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