Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-5338

Proposal: Raise minimal supported Go version with upcoming 0.14.0 release

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.14.0
    • Go - Library
    • None

    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, 2, 3)
      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, 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).

      Attachments

        Activity

          People

            fishywang Yuxuan Wang
            fishywang Yuxuan Wang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 2h 40m
                2h 40m