文章

Go 版本发布历史

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/x509html/templatenet/urlos 包的安全修复,以及对 go 命令、go fix 命令、编译器以及 osreflect 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.26.1 里程碑

go1.26.2(发布于 2026-04-07)包含对 go 命令、编译器以及 archive/tarcrypto/tlscrypto/x509html/templateos 包的安全修复,以及对 go 命令、go fix 命令、编译器、链接器、运行时以及 netnet/httpnet/url 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.26.2 里程碑

go1.26.3(发布于 2026-05-07)包含对 go 命令、pack 工具以及 html/templatenetnet/httpnet/http/httputilnet/mailsyscall 包的安全修复,以及对 go 命令、go fix 命令、编译器、链接器、运行时以及 crypto/fips140crypto/tlsgo/typesos 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.26.3 里程碑

go1.26.4(发布于 2026-06-02)包含对 crypto/x509mimenet/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 命令以及 netosos/exectesting/synctest 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.1 里程碑

go1.25.2(发布于 2025-10-07)包含对 archive/tarcrypto/tlscrypto/x509encoding/asn1encoding/pemnet/httpnet/mailnet/textprotonet/url 包的安全修复,以及对编译器、运行时以及 contextdebug/penet/httpossync/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/subtleencoding/pemnet/urlos 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.4 里程碑

go1.25.5(发布于 2025-12-02)包含对 crypto/x509 包的两个安全修复,以及对 mimeos 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.5 里程碑

go1.25.6(发布于 2026-01-15)包含对 go 命令以及 archive/zipcrypto/tlsnet/url 包的安全修复,以及对编译器、运行时以及 crypto/tlserrorsos 包的 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/templatenet/urlos 包的安全修复,以及对 go 命令、编译器和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.8 里程碑

go1.25.9(发布于 2026-04-07)包含对 go 命令、编译器以及 archive/tarcrypto/tlscrypto/x509html/templateos 包的安全修复,以及对 go 命令、编译器和运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.9 里程碑

go1.25.10(发布于 2026-05-07)包含对 go 命令、pack 工具以及 html/templatenetnet/httpnet/http/httputilnet/mailsyscall 包的安全修复,以及对 go 命令、编译器、链接器、运行时以及 crypto/fips140go/typesos 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.25.10 里程碑

go1.25.11(发布于 2026-06-02)包含对 crypto/x509mimenet/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 命令以及 reflectruntimesyscall 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.1 里程碑

go1.24.2(发布于 2025-04-01)包含对 net/http 包的安全修复,以及对编译器、运行时、go 命令以及 crypto/tlsgo/typesnet/httptesting 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.2 里程碑

go1.24.3(发布于 2025-05-06)包含对 os 包的安全修复,以及对运行时、编译器、链接器、go 命令以及 crypto/tlsos 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.3 里程碑

go1.24.4(发布于 2025-06-05)包含对 crypto/x509net/httpos 包的安全修复,以及对链接器、go 命令以及 hash/maphashos 包的 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/sqlos/exec 包的安全修复,以及对运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.6 里程碑

go1.24.7(发布于 2025-09-03)包含对 go 命令以及 netos/exec 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.24.7 里程碑

go1.24.8(发布于 2025-10-07)包含对 archive/tarcrypto/tlscrypto/x509encoding/asn1encoding/pemnet/httpnet/mailnet/textprotonet/url 包的安全修复,以及对编译器、链接器以及 debug/penet/httpossync/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/pemnet/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/zipcrypto/tlsnet/url 包的安全修复,以及对编译器、运行时以及 crypto/tlsos 包的 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/gobgo/build/constraintgo/parser 包的安全修复,以及对编译器、go 命令、运行时以及 database/sqlgo/typesosruntime/traceunique 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.1 里程碑

go1.23.2(发布于 2024-10-01)包含对编译器、cgo、运行时以及 mapsosos/exectimeunique 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.2 里程碑

go1.23.3(发布于 2024-11-06)包含对链接器、运行时以及 net/httpossyscall 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.3 里程碑

go1.23.4(发布于 2024-12-03)包含对编译器、运行时、trace 命令和 syscall 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.4 里程碑

go1.23.5(发布于 2025-01-16)包含对 crypto/x509net/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、编译器以及 reflectruntimesyscall 包的 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/httpos 包的安全修复,以及对链接器的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.10 里程碑

go1.23.11(发布于 2025-07-08)包含对 go 命令的安全修复,以及对编译器、链接器和运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.23.11 里程碑

go1.23.12(发布于 2025-08-06)包含对 database/sqlos/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/x509html/templatenet/httpnet/http/cookiejarnet/mail 包的安全修复,以及对编译器、go 命令、运行时、trace 命令以及 go/typesnet/http 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.1 里程碑

go1.22.2(发布于 2024-04-03)包含对 net/http 包的安全修复,以及对编译器、go 命令、链接器以及 encoding/gobgo/typesnet/httpruntime/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/zipnet/netip 包的安全修复,以及对编译器、go 命令、链接器、运行时和 os 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.4 里程碑

go1.22.5(发布于 2024-07-02)包含对 net/http 包的安全修复,以及对编译器、cgo、go 命令、链接器、运行时以及 crypto/tlsgo/typesnetnet/httpos/exec 包的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.5 里程碑

go1.22.6(发布于 2024-08-06)包含对 go 命令、编译器、链接器、trace 命令、covdata 命令以及 bytesgo/typesos/exec 包的修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.6 里程碑

go1.22.7(发布于 2024-09-05)包含对 encoding/gobgo/build/constraintgo/parser 包的安全修复,以及对 fix 命令和运行时的 bug 修复。有关详细信息,请参阅我们问题追踪器上的 Go 1.22.7 里程碑

go1.22.8(发布于 2024-10-01)包含对 cgo 以及 mapssyscall 包的修复。有关详细信息,请参阅我们问题追踪器上的 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/x509net/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.Int32atomic.Int64
    • atomic.Boolatomic.Pointer[T]
  • 🚀 支持 Godoc 链接语法
  • 🚀 改进包文档渲染

Go 1.18(发布于 2022-03-15)- 泛型元年

核心特性

  • 🚀 正式引入泛型(Generics)
    • 类型参数(Type Parameters)
    • 约束(Constraints)
    • anycomparable 预定义类型
  • 🚀 引入 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)

核心特性

  • 🚀 支持二进制和八进制字面量0b0o
  • 🚀 支持数字分隔符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/
本文由作者按照 CC BY 4.0 进行授权