quickfix icon indicating copy to clipboard operation
quickfix copied to clipboard

Why is Go 1.21 required as the minimum version?

Open varunbpatil opened this issue 1 year ago • 2 comments

If nothing in the module uses the features provided by Go 1.21, there is no need to require a minimum version of Go 1.21. This just made quickfix-go unusable as a dependency in a project that is using Go 1.20 (for example), for no reason as far as I can tell. Libraries like quickfix-go, in general, should strive to support the earliest version of Go that is possible which allows it to be used by a larger number of projects.

Ofcourse, this is no big deal since I can fork the project and reduce the minimum go version required, but wanted to understand the rationale behind this requirement.

varunbpatil avatar Jan 05 '24 20:01 varunbpatil

I have seen misconceptions about this number where people believe it needs to be bumped to get the performance/security benefits of the newest compiler version. In reality it is just an indicator of the minimum Go version the code will compile under.

cedws avatar Feb 06 '24 13:02 cedws

@varunbpatil worth considering, though most of the most popular open source projects seem to target at least 1.20, and even if we don't utilize the most recent language features, I'd prefer to keep the possibility open that we at least could in the near future. i.e some of the generics stuff seems like it could be quite applicable here. I'd also prefer to narrow down the go versions of users to make debugging potential issues at least in theory easier. Another bit i'm curious about is why wouldn't you just upgrade your go version rather than downgrade the quickfix minimum - are you tied to a specific go version for some reason?

ackleymi avatar Apr 25 '24 00:04 ackleymi