Skip to content

Conversation

@Jacalz
Copy link
Member

@Jacalz Jacalz commented Oct 25, 2025

Description:

The latest version of Debian has Go 1.24 so I open this as a proof of concept for what we have to gain from bumping to that. A lot of code cleanup and helpful APIs with the slices and maps packages making many operations a lot simpler as well as new min and max built in functions. The strings.SplitSeq function to iterate over splitting a string is a lot faster than allocating the whole slice as done with strings.Split.

For #3242

Checklist:

  • Tests included.
  • Lint and formatter run with no errors.
  • Tests all pass.

Where applicable:

  • Any breaking changes have a deprecation path or have been discussed.

@coveralls
Copy link

coveralls commented Oct 25, 2025

Coverage Status

coverage: 61.032% (-0.03%) from 61.061%
when pulling cda7b63 on Jacalz:go-version-up
into b47c4d6 on fyne-io:develop.

@Jacalz
Copy link
Member Author

Jacalz commented Oct 25, 2025

Managed to mess up the cleanup in check group. Will fix that another day

@andydotxyz
Copy link
Member

Might have been easier to review if you're bumping versions one or two at a time instead of 5?

@Jacalz
Copy link
Member Author

Jacalz commented Oct 25, 2025

I made sure to separate everything out into their own commits. IMHO, I don't think there is much more to gain from one version bump at a time except for perhaps the third commit but that is auto generated so I think it is simple enough.

@andydotxyz
Copy link
Member

But it completely removes the opportunity to say "let's go for 1.21 at this time". For example.

Your example of updating is a compelling PR - but it's all or nothing choice between 1.19 and 1.24.

@Jacalz
Copy link
Member Author

Jacalz commented Oct 25, 2025

My initial motivation with this was to show what we had to gain from going all the way to 1.24. Hence, proof of concept in the name. More information is at #3242 as to what comes from where.

My choice for 1.24 is not only that it is what Debian has but it is also the lowest version we can have to still be able to update the golang.org/x/* packages to their newest versions (which sometimes do get important security fixes in things like the image and text packages). Go 1.24 has no notable removals of platform support over 1.23. As such, I think it would be a poor decision to commit to something lower than 1.24 for a whole release cycle.

@Jacalz
Copy link
Member Author

Jacalz commented Oct 25, 2025

Although I would prefer not to, I also don't think going down in the Go version would be too hard. The stuff from the slices package is mainly from 1.21. All of the notable strings.SplitSeq iterative functions (which should speed up Textgrid parsing quite substantially) are from 1.24 but I don't think a whole lot is from earlier versions otherwise. Maybe the range over int stuff but that's also just a revert of commit 3 and rerunning modernise again.

@Jacalz
Copy link
Member Author

Jacalz commented Oct 30, 2025

I don't understand those Windows errors, nothing has changed that would effect that as far as I can see

EDIT: Well unless passing the ci tag to the test breaks it...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants