From Fedora Project Wiki

Golang 1.25

Summary

Update of Go (golang package) to the upcoming version 1.25 in Fedora 43.

Owner

Current status

Detailed Description

Update of Go (golang package) to the upcoming version 1.25 in Fedora 43. Go 1.25 is expected to be released in August 2025. A mass rebuild of all the dependent packages is required.

Alongside the Go 1.25 update for Fedora 43, we're proposing to enable the Go proxy. This will bring faster builds, enhanced supply chain security, and more reproducible builds to Go development in Fedora. By offering a reliable, immutable source for modules, the Go proxy could ensure quicker, more consistent, and more secure Go development. This proposal also complements the ongoing proposal of go-vendor-tools, which has shown significant performance improvements when used with the proxy.

Feedback

No feedback yet.

Benefit to Fedora

Fedora users will receive the most current and recent Go release. Being close to upstream allows us to avoid security issues and provide more updated features. Consequently, Fedora will provide a reliable development platform for the Go language and projects written in it.

For a complete list of changes, see upstream change notes at https://tip.golang.org/doc/go1.25


Scope

  • Proposal owners:

Rebase the Golang package in Fedora 43 and help resolve any issues found during the rebuild.

  • Other developers:

Fix potential issues with the help of the Golang package maintainers.

Rebuild of dependent packages as part of planned mass-rebuild.

  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy:

It helps maintain the quality of the project, even though it doesn't align directly with the current objectives.

Upgrade/compatibility impact

No upgrade or compatibility impact.


Early Testing (Optional)

Do you require 'QA Blueprint' support? N

How To Test

  1. Install golang 1.24 from rawhide and use it to build your application(s)/package(s).
  2. Perform a scratch build against rawhide.
  3. Your application/package built using golang 1.24 should work as expected.

User Experience

Users will have a newer version of Go, with new features described in the release notes and security fixes.

Dependencies

dnf repoquery -q  --releasever=rawhide --disablerepo='*' --qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'golang'
dnf repoquery -q  --releasever=rawhide --disablerepo='*' --qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'compiler(go-compiler)'
dnf repoquery -q  --releasever=rawhide --disablerepo='*' --qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'go-rpm-macros'
Omitted due to the number of packages listed: ~2000.

Contingency Plan

  • Contingency mechanism: Revert to Go 1.24.X if significant issues are discovered
  • Contingency deadline: Beta freeze
  • Blocks release? No

Documentation

https://tip.golang.org/doc/go1.25

Release Notes