Go 版本发布历史
官方文档: https://go.dev/doc/devel/release
本文档记录了 Go 语言从 Go 1 到最新版本的重要特性、改进和变更。
📊 Go 版本演进时间线
gantt
title Go 主要版本发布时间线
dateFormat YYYY-MM
section 早期版本
Go 1 :2012-03, 1M
Go 1.1 :2013-05, 1M
Go 1.2 :2013-12, 1M
Go 1.3 :2014-06, 1M
Go 1.4 :2014-12, 1M
Go 1.5 :2015-08, 1M
Go 1.6 :2016-02, 1M
Go 1.7 :2016-08, 1M
Go 1.8 :2017-02, 1M
Go 1.9 :2017-08, 1M
Go 1.10 :2018-02, 1M
Go 1.11 :2018-08, 1M
section 现代化阶段
Go 1.12 :2019-02, 1M
Go 1.13 :2019-09, 1M
Go 1.14 :2020-02, 1M
Go 1.15 :2020-08, 1M
Go 1.16 :2021-02, 1M
Go 1.17 :2021-08, 1M
section 泛型时代
Go 1.18 :2022-03, 1M
Go 1.19 :2022-08, 1M
Go 1.20 :2023-02, 1M
Go 1.21 :2023-08, 1M
Go 1.22 :2024-02, 1M
Go 1.23 :2024-08, 1M
Go 1.24 :2025-02, 1M
Go 1.25 :2025-08, 1M
Go 1.26 :2026-02, 1M
发布政策
每个主要的 Go 版本会被支持到发布两个新版本之后。例如,Go 1.5 在 Go 1.7 发布之前都会得到支持,Go 1.6 在 Go 1.8 发布之前都会得到支持。我们会根据需要在受支持的版本中通过发布小版本修订(例如 Go 1.6.1、Go 1.6.2 等)来修复关键问题,包括关键安全问题。
要更新到特定版本,请使用:
1
2
git fetch --tags
git checkout goX.Y.Z
Go 1.26.0(发布于 2026-02-10)
Go 1.26.0 是 Go 的一个主要版本。有关更多信息,请阅读 Go 1.26 发布说明。
小版本修订
go1.26.1(发布于 2026-03-05)包含对 crypto/x509、html/template、net/url 和 os 包的安全修复,以及对 go 命令、go fix 命令、编译器以及 os 和 reflect 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.26.1 里程碑。
go1.26.2(发布于 2026-04-07)包含对 go 命令、编译器以及 archive/tar、crypto/tls、crypto/x509、html/template 和 os 包的安全修复,以及对 go 命令、go fix 命令、编译器、链接器、运行时以及 net、net/http 和 net/url 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.26.2 里程碑。
go1.26.3(发布于 2026-05-07)包含对 go 命令、pack 工具以及 html/template、net、net/http、net/http/httputil、net/mail 和 syscall 包的安全修复,以及对 go 命令、go fix 命令、编译器、链接器、运行时以及 crypto/fips140、crypto/tls、go/types 和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.26.3 里程碑。
go1.26.4(发布于 2026-06-02)包含对 crypto/x509、mime 和 net/textproto 包的安全修复,以及对编译器、运行时、go fix 命令和 crypto/fips140 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.26.4 里程碑。
Go 1.25.0(发布于 2025-08-12)
Go 1.25.0 是 Go 的一个主要版本。有关更多信息,请阅读 Go 1.25 发布说明。
小版本修订
go1.25.1(发布于 2025-09-03)包含对 net/http 包的安全修复,以及对 go 命令以及 net、os、os/exec 和 testing/synctest 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.1 里程碑。
go1.25.2(发布于 2025-10-07)包含对 archive/tar、crypto/tls、crypto/x509、encoding/asn1、encoding/pem、net/http、net/mail、net/textproto 和 net/url 包的安全修复,以及对编译器、运行时以及 context、debug/pe、net/http、os 和 sync/atomic 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.2 里程碑。
go1.25.3(发布于 2025-10-13)包含对 crypto/x509 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.3 里程碑。
go1.25.4(发布于 2025-11-05)包含对编译器、运行时以及 crypto/subtle、encoding/pem、net/url 和 os 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.4 里程碑。
go1.25.5(发布于 2025-12-02)包含对 crypto/x509 包的两个安全修复,以及对 mime 和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.5 里程碑。
go1.25.6(发布于 2026-01-15)包含对 go 命令以及 archive/zip、crypto/tls 和 net/url 包的安全修复,以及对编译器、运行时以及 crypto/tls、errors 和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.6 里程碑。
go1.25.7(发布于 2026-02-04)包含对 go 命令和 crypto/tls 包的安全修复,以及对编译器和 crypto/x509 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.7 里程碑。
go1.25.8(发布于 2026-03-05)包含对 html/template、net/url 和 os 包的安全修复,以及对 go 命令、编译器和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.8 里程碑。
go1.25.9(发布于 2026-04-07)包含对 go 命令、编译器以及 archive/tar、crypto/tls、crypto/x509、html/template 和 os 包的安全修复,以及对 go 命令、编译器和运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.9 里程碑。
go1.25.10(发布于 2026-05-07)包含对 go 命令、pack 工具以及 html/template、net、net/http、net/http/httputil、net/mail 和 syscall 包的安全修复,以及对 go 命令、编译器、链接器、运行时以及 crypto/fips140、go/types 和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.10 里程碑。
go1.25.11(发布于 2026-06-02)包含对 crypto/x509、mime 和 net/textproto 包的安全修复,以及对编译器和运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.11 里程碑。
Go 1.24.0(发布于 2025-02-11)
Go 1.24.0 是 Go 的一个主要版本。有关更多信息,请阅读 Go 1.24 发布说明。
小版本修订
go1.24.1(发布于 2025-03-04)包含对 net/http 包的安全修复,以及对 cgo、编译器、go 命令以及 reflect、runtime 和 syscall 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.1 里程碑。
go1.24.2(发布于 2025-04-01)包含对 net/http 包的安全修复,以及对编译器、运行时、go 命令以及 crypto/tls、go/types、net/http 和 testing 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.2 里程碑。
go1.24.3(发布于 2025-05-06)包含对 os 包的安全修复,以及对运行时、编译器、链接器、go 命令以及 crypto/tls 和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.3 里程碑。
go1.24.4(发布于 2025-06-05)包含对 crypto/x509、net/http 和 os 包的安全修复,以及对链接器、go 命令以及 hash/maphash 和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.4 里程碑。
go1.24.5(发布于 2025-07-08)包含对 go 命令的安全修复,以及对编译器、链接器、运行时和 go 命令的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.5 里程碑。
go1.24.6(发布于 2025-08-06)包含对 database/sql 和 os/exec 包的安全修复,以及对运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.6 里程碑。
go1.24.7(发布于 2025-09-03)包含对 go 命令以及 net 和 os/exec 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.7 里程碑。
go1.24.8(发布于 2025-10-07)包含对 archive/tar、crypto/tls、crypto/x509、encoding/asn1、encoding/pem、net/http、net/mail、net/textproto 和 net/url 包的安全修复,以及对编译器、链接器以及 debug/pe、net/http、os 和 sync/atomic 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.8 里程碑。
go1.24.9(发布于 2025-10-13)包含对 crypto/x509 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.9 里程碑。
go1.24.10(发布于 2025-11-05)包含对 encoding/pem 和 net/url 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.10 里程碑。
go1.24.11(发布于 2025-12-02)包含对 crypto/x509 包的两个安全修复,以及对运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.11 里程碑。
go1.24.12(发布于 2026-01-15)包含对 go 命令以及 archive/zip、crypto/tls 和 net/url 包的安全修复,以及对编译器、运行时以及 crypto/tls 和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.12 里程碑。
go1.24.13(发布于 2026-02-04)包含对 go 命令和 crypto/tls 包的安全修复,以及对 crypto/x509 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.13 里程碑。
Go 1.23.0(发布于 2024-08-13)
Go 1.23.0 是 Go 的一个主要版本。有关更多信息,请阅读 Go 1.23 发布说明。
小版本修订
go1.23.1(发布于 2024-09-05)包含对 encoding/gob、go/build/constraint 和 go/parser 包的安全修复,以及对编译器、go 命令、运行时以及 database/sql、go/types、os、runtime/trace 和 unique 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.1 里程碑。
go1.23.2(发布于 2024-10-01)包含对编译器、cgo、运行时以及 maps、os、os/exec、time 和 unique 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.2 里程碑。
go1.23.3(发布于 2024-11-06)包含对链接器、运行时以及 net/http、os 和 syscall 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.3 里程碑。
go1.23.4(发布于 2024-12-03)包含对编译器、运行时、trace 命令和 syscall 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.4 里程碑。
go1.23.5(发布于 2025-01-16)包含对 crypto/x509 和 net/http 包的安全修复,以及对编译器、运行时和 net 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.5 里程碑。
go1.23.6(发布于 2025-02-04)包含对 crypto/elliptic 包的安全修复,以及对编译器和 go 命令的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.6 里程碑。
go1.23.7(发布于 2025-03-04)包含对 net/http 包的安全修复,以及对 cgo、编译器以及 reflect、runtime 和 syscall 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.7 里程碑。
go1.23.8(发布于 2025-04-01)包含对 net/http 包的安全修复,以及对运行时和 go 命令的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.8 里程碑。
go1.23.9(发布于 2025-05-06)包含对运行时和链接器的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.9 里程碑。
go1.23.10(发布于 2025-06-05)包含对 net/http 和 os 包的安全修复,以及对链接器的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.10 里程碑。
go1.23.11(发布于 2025-07-08)包含对 go 命令的安全修复,以及对编译器、链接器和运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.11 里程碑。
go1.23.12(发布于 2025-08-06)包含对 database/sql 和 os/exec 包的安全修复,以及对运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.12 里程碑。
Go 1.22.0(发布于 2024-02-06)
Go 1.22.0 是 Go 的一个主要版本。有关更多信息,请阅读 Go 1.22 发布说明。
核心特性
- 🚀 改变 for 循环变量捕获语义 - 每次迭代创建新变量
- 🚀
net/http改进路由模式匹配- 支持
{name}占位符 - 支持
{name:pattern}模式
- 支持
小版本修订
go1.22.1(发布于 2024-03-05)包含对 crypto/x509、html/template、net/http、net/http/cookiejar 和 net/mail 包的安全修复,以及对编译器、go 命令、运行时、trace 命令以及 go/types 和 net/http 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.1 里程碑。
go1.22.2(发布于 2024-04-03)包含对 net/http 包的安全修复,以及对编译器、go 命令、链接器以及 encoding/gob、go/types、net/http 和 runtime/trace 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.2 里程碑。
go1.22.3(发布于 2024-05-07)包含对 go 命令和 net 包的安全修复,以及对编译器、运行时和 net/http 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.3 里程碑。
go1.22.4(发布于 2024-06-04)包含对 archive/zip 和 net/netip 包的安全修复,以及对编译器、go 命令、链接器、运行时和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.4 里程碑。
go1.22.5(发布于 2024-07-02)包含对 net/http 包的安全修复,以及对编译器、cgo、go 命令、链接器、运行时以及 crypto/tls、go/types、net、net/http 和 os/exec 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.5 里程碑。
go1.22.6(发布于 2024-08-06)包含对 go 命令、编译器、链接器、trace 命令、covdata 命令以及 bytes、go/types 和 os/exec 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.6 里程碑。
go1.22.7(发布于 2024-09-05)包含对 encoding/gob、go/build/constraint 和 go/parser 包的安全修复,以及对 fix 命令和运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.7 里程碑。
go1.22.8(发布于 2024-10-01)包含对 cgo 以及 maps 和 syscall 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.8 里程碑。
go1.22.9(发布于 2024-11-06)包含对链接器的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.9 里程碑。
go1.22.10(发布于 2024-12-03)包含对运行时和 syscall 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.10 里程碑。
go1.22.11(发布于 2025-01-16)包含对 crypto/x509 和 net/http 包的安全修复,以及对运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.11 里程碑。
go1.22.12(发布于 2025-02-04)包含对 crypto/elliptic 包的安全修复,以及对编译器和 go 命令的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.12 里程碑。
Go 1.21.0(发布于 2023-08-08)
Go 1.21.0 是 Go 的一个主要版本。有关更多信息,请阅读 Go 1.21 发布说明。
核心特性
- 🚀 新增
min()、max()、clear()内置函数 - 🚀 引入
log/slog包 - 结构化日志支持 - 🚀 改进泛型性能
- 🚀 优化垃圾回收
Go 1.20(发布于 2023-02-01)
核心特性
- 🚀 多个错误包装支持 -
fmt.Errorf可包装多个错误 - 🚀 新增
errors.Join() - 🚀 改进运行时性能
- 更快的启动时间
- 更低的内存占用
Go 1.19(发布于 2022-08-02)
核心特性
- 🚀 新增
atomic包泛型类型atomic.Int32、atomic.Int64atomic.Bool、atomic.Pointer[T]
- 🚀 支持 Godoc 链接语法
- 🚀 改进包文档渲染
Go 1.18(发布于 2022-03-15)- 泛型元年
核心特性
- 🚀 正式引入泛型(Generics)
- 类型参数(Type Parameters)
- 约束(Constraints)
any和comparable预定义类型
- 🚀 引入 Go Workspaces - 多模块开发支持
- 🚀 原生支持模糊测试(Fuzzing)
Go 1.17(发布于 2021-08-16)
核心特性
- 🚀 改进编译器后端 - 支持寄存器分配(x86-64)
- 🚀 性能提升 5-10%
- 🚀 支持切片转换为数组指针
Go 1.16(发布于 2021-02-16)
核心特性
- 🚀 引入
embed包 - 支持静态资源嵌入 - 🚀 默认启用 Go Modules
- 🚀 支持 Apple Silicon (M1) 芯片
Go 1.15(发布于 2020-08-11)
核心特性
- 🚀 改进链接器 - 减少二进制文件大小和内存使用
- 🚀 废弃 x509 CommonName
- 🚀 改进 time.Timer 性能
Go 1.14(发布于 2020-02-25)
核心特性
- 🚀 支持 defer 性能优化 - 常见用例零成本
- 🚀 支持接口嵌入指针
- 🚀 异步抢占式调度
- 🚀 支持
t.Cleanup()- 注册清理函数
Go 1.13(发布于 2019-09-03)
核心特性
- 🚀 支持二进制和八进制字面量(
0b、0o) - 🚀 支持数字分隔符(
1_000_000) - 🚀 引入
%w格式化动词 - 支持错误包装(Error Wrapping) - 🚀 新增
errors.Is()、errors.As()、errors.Unwrap()
Go 1.12(发布于 2019-02-25)
核心特性
- 🚀 改进模块支持
- 🚀 增强 TLS 1.3 支持
- 🚀 优化垃圾回收性能
Go 1.11(发布于 2018-08-24)
核心特性
- 🚀 引入 Go Modules - 替代 GOPATH,成为依赖管理新标准
Go 1.10(发布于 2018-02-16)
核心特性
- 🚀 引入构建缓存机制 - 大幅加快增量编译速度
Go 1.9(发布于 2017-08-24)
核心特性
- 🚀 引入类型别名(Type Alias) - 便于大型代码库迁移
- 🚀 新增
sync.Map- 高效并发安全映射类型
Go 1.8(发布于 2017-02-16)
核心特性
- 🚀 引入基于区域的垃圾回收机制
- 🚀 改善内存分配器性能
- 🚀 新增
sort.Slice- 通用切片排序方法
Go 1.7(发布于 2016-08-15)
核心特性
- 🚀 引入
context包 - 提供标准化的超时和取消信号传递机制
Go 1.6(发布于 2016-02-17)
核心特性
- 🚀 默认启用 HTTP/2
- 🚀 增强 Unicode 支持
- 🚀 提升正则表达式匹配性能
Go 1.5(发布于 2015-08-19)
核心特性
- 🚀 引入并发垃圾回收(GC) - 显著降低 GC 暂停时间
- 🚀 Vendoring 支持 - 引入
vendor目录,支持本地化依赖管理 - 🚀 提高 Goroutine 调度器效率
Go 1.4(发布于 2014-12-10)
核心特性
- 🚀 Go 编译器和工具链完全用 Go 编写 - 彻底摆脱对 C 的依赖
- 🚀 调度器性能优化,支持更多 Goroutine
- 🚀 新增
runtime/debug包
Go 1.3(发布于 2014-06-18)
核心特性
- 🚀 编译器从 C 实现切换为 Go 实现 - 标志着 Go 完全自举
- 🚀 改进内存分配器
- 🚀 提升垃圾回收器性能,减少全局暂停时间
Go 1.2(发布于 2013-12-01)
核心特性
- 🚀 允许在
return语句中显式指定返回值名称 - 🚀 优化 JSON 编码/解码性能
- 🚀 改进调度器,支持更高效的 Goroutine 切换
Go 1.1(发布于 2013-05-13)
核心特性
- 🚀 分段栈(Segmented Stacks) - 函数调用栈从固定大小改为按需分配
- 🚀 提高大整数和大浮点数的性能
- 🚀 增强 HTTP 客户端性能,增加 HTTP Keep-Alive 支持
Go 1(发布于 2012-03-28)
Go 1 是 Go 语言的第一个稳定版本,标志着 Go 语言 API 的稳定性承诺。从此开始,Go 的标准库 API 保持向后兼容。
📈 Go 版本关键里程碑总结
| 版本 | 年份 | 关键特性 |
|---|---|---|
| Go 1 | 2012 | API 稳定性承诺 |
| 1.3 | 2014 | 编译器完全用 Go 实现(自举) |
| 1.5 | 2015 | 并发垃圾回收 |
| 1.6 | 2016 | 默认启用 HTTP/2 |
| 1.7 | 2016 | context 包 |
| 1.9 | 2017 | sync.Map, 类型别名 |
| 1.10 | 2018 | 构建缓存 |
| 1.11 | 2018 | Go Modules |
| 1.13 | 2019 | 错误包装(Error Wrapping) |
| 1.16 | 2021 | embed 包,默认启用 Modules |
| 1.18 | 2022 | 泛型(Generics) 🎉 |
| 1.21 | 2023 | min/max/clear 内置函数,log/slog |
| 1.22 | 2024 | for 循环语义改变,改进路由 |
| 1.23 | 2024 | Range Over Functions |
| 1.24 | 2025 | 进一步优化 |
| 1.25 | 2025 | 持续改进 |
| 1.26 | 2026 | 最新版本 |
🔗 相关资源
- 官方发布说明: https://go.dev/doc/devel/release
- Go 官方博客: https://go.dev/blog/
- Go 下载页面: https://go.dev/dl/
- Go Playground: https://go.dev/play/