gopcua / opcua

Native Go OPC-UA library
MIT License
856 stars 259 forks source link

update min go version #721

Closed kung-foo closed 3 months ago

kung-foo commented 5 months ago

Update min go version to 1.21

diericd commented 4 months ago

Just thought I'd mention this will probably break windows 7 compatiblity.

Best regards!

kung-foo commented 4 months ago

Currently the repo states "We support the current and previous major Go release". But your point is still valid.

Do you guys have stats on where your code runs? Our distinct (Windows) environments where I see our code running is:

Microsoft Windows Server 2012 R2 Datacenter 6.3.9600 Build 9600
Microsoft Windows Server 2016 Standard 10.0.14393 Build 14393
Microsoft Windows Server 2019 Datacenter 10.0.17763 Build 17763
Microsoft Windows Server 2019 Standard 10.0.17763 Build 17763
Microsoft Windows Server 2022 Datacenter 10.0.20348 Build 20348
Microsoft Windows Server 2022 Datacenter Azure Edition 10.0.20348 Build 20348
Microsoft Windows Server 2022 Standard 10.0.20348 Build 20348
kung-foo commented 4 months ago

Heh, I'm like "who is still running server 2012?". Turns out it is an old test system of ours that is still running :)

danomagnum commented 4 months ago

Would it make sense to add a release (not selected as the latest release) tagged like "gov20" or something before applying the change?

Then you could do like go get github.com/gopcua/opcua@gov20 and stay locked on the last release for a given go version.

kung-foo commented 4 months ago

I don't think we need a separate tag as long as we indicate it in the changelog and readme. Users are free to pin v0.5.3 as the last version supporting the older Windows versions.

diericd commented 4 months ago

I agree. Those bumping into this issue should quickly find their way towards the correct version.

We just bumped into the limitation for windows 7 support at some clients with some legacy hardware as our software was built with go 1.22. You'll find a lot of legacy OSes in a lot of industries. We've switched back to 1.20 for now.

Currently the repo states "We support the current and previous major Go release". But your point is still valid.

Do you guys have stats on where your code runs? Our distinct (Windows) environments where I see our code running is:

Microsoft Windows Server 2012 R2 Datacenter 6.3.9600 Build 9600
Microsoft Windows Server 2016 Standard 10.0.14393 Build 14393
Microsoft Windows Server 2019 Datacenter 10.0.17763 Build 17763
Microsoft Windows Server 2019 Standard 10.0.17763 Build 17763
Microsoft Windows Server 2022 Datacenter 10.0.20348 Build 20348
Microsoft Windows Server 2022 Datacenter Azure Edition 10.0.20348 Build 20348
Microsoft Windows Server 2022 Standard 10.0.20348 Build 20348
kung-foo commented 3 months ago

Closing this and will create a new PR clarifying that while we will build and test on newer Go versions, we will maintain the ability to build on 1.20 for the time being.