Go.1.25.4 和 Go.1.24.10 发布了!!

一、前言

2025 年 11 月,Go 团队发布了:

  • 版本 Go 1.25.4,基于 Go 1.25 系列的小版本修复。(go.dev)
  • 版本 Go 1.24.10,基于 Go 1.24 系列的小版本修复。(go.dev)

根据官方 Release History 页面:

  • Go 1.25.4 于 2025-11-05 发布。(go.dev)
  • Go 1.24.10 于 2025-11-05 发布。(go.dev)

两个版本均为 小版本(patch)修复,目的在于解决已知缺陷、提升稳定性、安全性,而不是新增功能。(go.dev)

二、里程碑摘要(CherryPickApproved)

以下内容均来自 GitHub issues 所有修复项状态均为 "已关闭(已完成)",关闭操作由 gopherbot 执行。

Go 1.25.4

1、pem/encoding:格式错误的行结尾可能导致程序崩溃

  • 关闭时间:2025 年 10 月 30 日
  • 说明:该修复针对 pem 编码模块,解决了当处理的文件或数据中存在格式不正确的行结尾(如换行符、回车符格式异常)时,可能引发程序突然崩溃(panic)的问题

2、cmd/compile:any (func (){})==any (func (){}) 语句未按预期触发程序崩溃

  • 关闭时间:2025 年 10 月 30 日
  • 说明:在 Go 语言编译器层面,对于 "any (func (){})==any (func (){})" 这种比较两个匿名函数包装为 any 类型后是否相等的语句,原本按照设计应触发程序崩溃,但此前版本未实现该逻辑,此修复纠正了这一问题

3、os:在 Windows 系统中,RemoveAll 函数删除包含只读文件的目录时,出现 "unlinkat ... 访问被拒绝" 错误

  • 关闭时间:2025 年 10 月 29 日
  • 说明:针对 Windows 操作系统下 os 模块的 RemoveAll 函数,解决了其在删除包含只读属性文件的目录时,会因权限问题抛出 "unlinkat ... 访问被拒绝" 错误,导致目录无法正常删除的问题

4、 encoding/pem:解码包含前置无用数据的块时出现功能退化问题

  • 关闭时间:2025 年 10 月 25 日
  • 说明:在 encoding/pem 模块解码 PEM 数据块过程中,当数据块前存在无关的前置无用数据(如多余字符、空白内容等)时,模块出现了解码功能退化(如解码失败、结果异常)的情况,此修复解决了该问题

5、net/url:方括号中的 IPv4 映射 IPv6 地址应被视为有效地址

  • 关闭时间:2025 年 10 月 18 日
  • 说明:在 net/url 模块处理 URL 地址时,对于 "IPv4 映射 IPv6 地址"(即通过特定格式将 IPv4 地址嵌入 IPv6 地址中),当该地址包裹在方括号内时,此前版本未将其识别为有效地址,此修复修正了这一判定逻辑,使这类地址能被正常识别

6/crypto/internal/fips140/subtle:Go 1.25 版本中,subtle.xorBytes 函数在 MIPS 架构上出现程序崩溃

  • 关闭时间:2025 年 10 月 29 日
  • 说明:在 Go 1.25 版本的 crypto/internal/fips140/subtle 内部模块中,subtle.xorBytes 函数在 MIPS 架构的设备或环境上运行时,会出现程序崩溃的情况,此修复解决了该架构下的兼容性问题

7、runtime:在 linux/arm64 架构上通过 QEMU 运行 linux/amd64 架构的编译任务时,构建失败

  • 关闭时间:2025 年 10 月 28 日
  • 说明:在 Go 运行时(runtime)层面,当在 linux/arm64 架构的系统中,通过 QEMU(一种虚拟机 / 模拟器工具)模拟运行 linux/amd64 架构的 Go 程序编译任务时,会出现构建过程失败的问题,此修复解决了该跨架构模拟编译的问题

8、cmd/link:处理复杂泛型内联时,链接器出现程序崩溃及重定位错误

  • 关闭时间:2025 年 10 月 28 日
  • 说明:在 Go 的链接器(cmd/link)处理包含复杂泛型内联(即将泛型函数的代码嵌入调用处)的程序时,链接器会出现程序崩溃,同时还会产生重定位错误(程序内存地址分配相关错误),此修复解决了这些链接阶段的问题

Go 1.24.10

1、pem/encoding:格式错误的行结尾可能导致程序崩溃

  • 关闭时间:2025 年 10 月 30 日
  • 说明:该修复针对 pem 编码模块,解决了当处理的文件或数据中存在格式不正确的行结尾(例如换行符、回车符格式异常)时,可能引发程序突然崩溃(panic)的问题,此修复是从更高版本回溯到 1.24 版本的。

2、encoding/pem:解码包含前置无用数据的块时出现功能退化问题

  • 关闭时间:2025 年 10 月 25 日
  • 说明:在 encoding/pem 模块解码 PEM 数据块的过程中,当数据块前存在无关的前置无用数据(如多余字符、空白内容等)时,模块出现了解码功能退化(比如解码失败、结果异常)的情况,此修复解决了该问题,且是从其他版本回溯至 1.24 版本的。

3、net/url:方括号中的 IPv4 映射 IPv6 地址应被视为有效地址

  • 关闭时间:2025 年 10 月 18 日
  • 说明:在 net/url 模块处理 URL 地址时,对于 "IPv4 映射 IPv6 地址"(即通过特定格式将 IPv4 地址嵌入到 IPv6 地址中形成的地址),当该地址包裹在方括号内时,此前的 1.24 版本未将其识别为有效地址,此修复修正了这一地址有效性判定逻辑,使这类地址能够被正常识别,且该修复是从更高版本回溯到 1.24 版本的。

三、升级选择

  • 如果在使用 Go.1.25 系列的,强烈建议尽快升级至1.25.4,该版本对编译器、运行时、标准库等多个模块进行了修复,使用该版本可以提高项目的稳定性,避免出现潜在 painc 和多平台兼容性的问题。
  • 如果在使用 Go.1.24 系列的,仍然建议升级只至 1.24.10,以提高稳定性。
  • 对一跨平台、异构硬件运行的项目,更应优先升级,以避免跨平台相关的已知问题。

四、升级建议

1、 升级方式

  • 【推荐】通过 Go 官方二进制或源码包的方式进行编译升级,参考 Release History 的版本说明(go.dev)
  • 【推荐】通过 Homebrew 安装源码包的方式进行编译升级(macos)

2、注意事项

  • 升级后注意观察是否有新问题产生
  • 建议升级前执行完整的回归测试
相关推荐
啊汉3 小时前
古文观芷App搜索方案深度解析:打造极致性能的古文搜索引擎
go·软件随想
一点程序5 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
怪兽源码7 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
csdn_aspnet7 小时前
ASP.NET Core 中的依赖注入
后端·asp.net·di·.net core
昊坤说不出的梦8 小时前
【实战】监控上下文切换及其优化方案
java·后端
疯狂踩坑人8 小时前
【Python版 2026 从零学Langchain 1.x】(二)结构化输出和工具调用
后端·python·langchain
橘子师兄9 小时前
C++AI大模型接入SDK—ChatSDK封装
开发语言·c++·人工智能·后端
@ chen10 小时前
Spring事务 核心知识
java·后端·spring
一点技术11 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
RANCE_atttackkk11 小时前
Springboot+langchain4j的RAG检索增强生成
java·开发语言·spring boot·后端·spring·ai·ai编程