From Fedora Project Wiki

< Changes

Revision as of 12:28, 21 July 2023 by Amoloney (talk | contribs) (Change Accepted F39)

Golang 1.21

Summary

Update of Go (golang package) to the upcoming version 1.21 in Fedora 39.

Owner


Current status

  • Targeted release: Fedora Linux 39
  • Last updated: 2023-07-21
  • devel thread
  • FESCo issue: #3023
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

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

Feedback

No feedback yet.

Benefit to Fedora

Up-to-date and latest Go release will be delivered to Fedora users. Being close to upstream allows us to avoid security issues and provide more up-to-date features. Therefore Fedora will be providing a reliable development platform for Go language and projects written in it.

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

Scope

  • Proposal owners:

Rebase Golang package in Fedora 39, and help resolve possible issues found during package rebuilds.

  • Other developers:

Fix possible issues, with help from Golang 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 Community Initiatives: It doesn't align directly with the current objectives but it helps maintain the quality of the project.

Upgrade/compatibility impact

No upgrade or compatibility impact.


How To Test

  1. Install golang 1.21 from rawhide and use it to build your application(s)/package(s).
  2. Scratch build against rawhide.
  3. Your application/package built using golang 1.21 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.20.X if significant issues are discovered
  • Contingency deadline: Beta freeze
  • Blocks release? No


Documentation

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

Release Notes