主要动态
1. 标准库 uuid 包提案已被接受,有望在 Go 1.27 中引入
Go语言官方已正式接受在标准库中添加 uuid 包的提议(提案链接)。该包将遵循 RFC 9562 标准,提供生成和解析 UUID(通用唯一识别码)的 API,主要支持 v4 和 v7 版本。此工作已被纳入 Go 1.27 的开发里程碑。


2. TinyGo 0.41 大版本发布,支持 ESP32 无线及 Arduino UNO Q 双核
TinyGo 0.41 正式发布,极大地扩展了在物联网和嵌入式领域的应用潜力。新版本支持 ESP32 无线连接以及 Arduino UNO Q 的双核 MCU。此外,还增强了对 WebAssembly 的支持(可编译 TypeScript 编译器、增强反射与 stdlib),并引入新示例项目。

详情见官方博客:TinyGo 0.41 发布公告
简要新闻
2.1 全新的 Goroutine 泄漏检测器 Profile 提案已被接受
一个全新的协程泄漏检测器 profile 提案(提案链接)已被接受。该提案涉及对垃圾回收器的变更,使其能够在运行时检测某些类型的 goroutine 泄漏(如由泄漏的 channel 或 mutex 引起的部分泄漏)。

2.2 Go 依赖冷却期 (Dependency Cooldowns) 继续讨论
关于在 Go 工具链中支持依赖冷却期的讨论仍在进行(讨论链接)。该提议的核心是拒绝使用发布时间过短的依赖版本,以自动规避供应链攻击风险。

2.3 Gopls 发布 v0.20.0,提供标准 MCP 接口
Gopls 发布 v0.20.0 版本,新增实验性的 Model Context Protocol (MCP) 服务器功能。这意味着 Claude Code、Codex 等 AI 工具可以直接调用 gopls,从而节省大量 token 词元。文档已迁移至 Go 官网:Gopls MCP 文档。

代码工具
3.1 goshs v2.0.0:用 Go 编写的 Python SimpleHTTPServer 替代品
goshs v2.0.0 发布,可快速启动一个 HTTP/S 服务器,同时还支持 WebDAV、SFTP、SMB、DNS 等多种协议,并能通过 webhooks 发送通知。
https://goshs.de/en/index.html


3.2 国密相关 Golang 库
- Gmssl 库:编译后的版本可直接实现证书签发与管理。在 Go 中同步使用其提供库,跨平台编译较麻烦,但性能较好。不同版本命令不一致,AI 难以顺畅给出最新命令。
- emmansun/gmsm(GitHub):Go 语言商用密码软件,涵盖 SM2/SM3/SM4/SM9/ZUC 算法,与 gmssl 生成的证书兼容。
- tjfoc/gmsm(GitHub):基于 Go 语言的国密 SM2/SM3/SM4 算法库,国密证书只兼容 rsa 和 ecdsa 证书,与 gmssl 生成的证书不兼容。
3.3 其他值得注意的库更新
- RabbitMQ Streams 的官方 Go 客户端库发布 v1.8.0(GitHub)
- 支持 GitHub v3 API 的官方库 go-github 更新至 v85.0.0(GitHub)
- 基于 Go 的 PDF 处理库 pdfcpu 升级至 v0.12.0(GitHub)
其他消息
Git 2.54 是一个功能丰富的更新版本,引入了简化历史重写的交互式命令、集中化钩子管理以及改进的差异跟踪功能。

主要特性:
- 全新的
git history 命令:提供一种更简单的方式来编辑提交消息或交互式地拆分提交。
- 集中化钩子配置:可在配置文件(仓库、用户或系统级别)中定义钩子,而不仅仅在
.git/hooks 中,同时支持为同一事件运行多个钩子。

以上是本周 Go 生态的主要动态,云栈社区将持续跟踪。
|