Go 1.25 upgrade check list #1545

Open
opened 2025-12-28 17:16:48 +00:00 by sami · 1 comment
Owner

Originally created by @roman-khimov on GitHub (Aug 13, 2025).

I'm always frustrated when we're not using the latest and greatest Go. There is Go 1.24 now.

Describe the solution you'd like

Upgrade to Go 1.25 min.

https://go.dev/pkg/testing/synctest should be seriously considered for tests. It's not trivial to adopt, but it has some potential, we have a lot of concurrent code and testing it properly is never fun.

Check ecdsa changes a bit more carefully, looks like we can't leverage them because we're using different formats, but maybe in some cases they're still applicable. https://go.dev/doc/go1.25#cryptoecdsapkgcryptoecdsa

https://go.dev/pkg/reflect#TypeAssert should be used instead of Interface() + type cast, we do have a little of reflection-based code that does it.

Convert wait groups to https://pkg.go.dev/sync#WaitGroup.Go, it's safer to use.

Describe alternatives you've considered

No alternatives.

Additional context

https://go.dev/doc/go1.25

Originally created by @roman-khimov on GitHub (Aug 13, 2025). ## Is your feature request related to a problem? Please describe. I'm always frustrated when we're not using the latest and greatest Go. There is Go 1.24 now. ## Describe the solution you'd like Upgrade to Go 1.25 min. https://go.dev/pkg/testing/synctest should be seriously considered for tests. It's not trivial to adopt, but it has some potential, we have a lot of concurrent code and testing it properly is never fun. Check ecdsa changes a bit more carefully, looks like we can't leverage them because we're using different formats, but maybe in some cases they're still applicable. https://go.dev/doc/go1.25#cryptoecdsapkgcryptoecdsa https://go.dev/pkg/reflect#TypeAssert should be used instead of Interface() + type cast, we do have a little of reflection-based code that does it. Convert wait groups to https://pkg.go.dev/sync#WaitGroup.Go, it's safer to use. ## Describe alternatives you've considered No alternatives. ## Additional context https://go.dev/doc/go1.25
Author
Owner

@AnnaShaleva commented on GitHub (Aug 25, 2025):

Don't forget about https://github.com/nspcc-dev/neo-go/pull/3985#issuecomment-3219466827.

@AnnaShaleva commented on GitHub (Aug 25, 2025): Don't forget about https://github.com/nspcc-dev/neo-go/pull/3985#issuecomment-3219466827.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neo-go#1545
No description provided.