跳转到内容 Gin v1.12.0
功能
- feat(binding): 在 uri/query 绑定中添加 encoding.UnmarshalText 支持 (#4203)
- feat(context): 添加 GetError 和 GetErrorSlice 方法用于错误检索 (#4502)
- feat(context): 为内容协商添加 Protocol Buffers 支持 (#4423)
- feat(context): 实现 Delete 方法 (#4296)
- feat(gin): 添加使用转义路径的选项 (#4420)
- feat(logger): 彩色延迟 (#4146)
- feat(render): 添加 bson 协议 (#4145)
错误修复
- fix(binding): 空值错误 (#2169)
- fix(binding): 改进表单绑定中的空切片/数组处理 (#4380)
- fix(context): 修复多个 X-Forwarded-For 头部值的 ClientIP 处理 (#4472)
- fix(debug): 版本不匹配 (#4403)
- fix(gin): 在 RunFd 中关闭 os.File 以防止资源泄漏 (#4422)
- fix(gin): 修复引擎处理器不支持的文字冒号路由 (#4415)
- fix(recover): 在恢复中抑制 http.ErrAbortHandler (#4336)
- fix(render): 在 Data.Render 中写入内容长度 (#4206)
- fix(response): 完善响应生命周期的劫持行为 (#4373)
- fix(tree): 修复 RedirectFixedPath 中 findCaseInsensitivePathRec 的崩溃 (#4535)
- fix: 修正拼写错误,改进文档清晰度,移除死代码 (#4511)
增强
- chore(binding): 将 bson 依赖升级到 mongo-driver v2 (#4549)
- chore(context): 始终信任来自 unix 套接字的 xff 头 (#3359)
- chore(deps): 将 golang.org/x/crypto 升级到 v0.45.0 (#4449)
- chore(deps): 将 quic-go 升级到 v0.57.1 (#4532)
- chore(logger): 允许跳过查询字符串输出 (#4547)
- chore(response): 防止 http.Flusher 存在时的 Flush() 崩溃 (#4479)
重构
- refactor(binding): 使用 maps.Copy 实现更清晰的映射处理 (#4352)
- refactor(context): 省略返回值名称 (#4395)
- refactor(context): 用常数替换硬编码的 localhost IP (#4481)
- refactor(context): 使用 maps.Clone (#4333)
- refactor(ginS): 使用 sync.OnceValue 简化引擎函数 (#4314)
- refactor(recovery): 智能错误比较 (#4142)
- refactor(utils): 将工具函数移到 utils.go (#4467)
- refactor: for 循环可以使用整数范围进行现代化 (#4392)
- refactor: 用命名常数替换 bodyAllowedForStatus 中的魔数 (#4529)
- refactor: 使用 b.Loop() 简化代码并改进性能 (#4389, #4432)
构建过程更新 / CI
- ci(bot): 提高频率并分组更新依赖 (#4367)
- ci(lint): 重构测试断言和 linter 配置 (#4436)
- ci(sec): 改进 HTTP 中间件中的类型安全性和服务器组织 (#4437)
- ci(sec): 将 Trivy 安全扫描计划为每天 UTC 午夜运行 (#4439)
- ci: 用 Trivy 集成替换漏洞扫描工作流 (#4421)
- ci: 更新 CI 工作流并标准化 Trivy 配置引号 (#4531)
- ci: 在 CI 和文档中将 Go 版本支持更新为 1.25+ (#4550)
文档更新
- docs(README): 添加 Trivy 安全扫描徽章 (#4426)
- docs(context): 为 ShouldBind* 方法添加示例注释 (#4428)
- docs(context): 修复一些注释 (#4396)
- docs(context): 修复注释中错误的函数名 (#4382)
- docs(readme): 翻新和扩展文档以提高清晰度和完整性 (#4362)
- docs: 宣布 Gin 1.11.0 版本并附带博客链接 (#4363)
- docs: 记录并最终确定 Gin v1.12.0 版本 (#4551)
- docs: 翻新 GitHub 贡献和支持模板 (#4364)
- docs: 用详细说明翻新贡献指南 (#4365)
- docs: 更新文档以反映 Go 版本变更 (#4552)
- docs: 更新功能文档说明以修复损坏的文档链接 (#4508)
性能
- perf(path): 用自定义函数替换 redirectTrailingSlash 中的正则表达式 (#4414)
- perf(recovery): 优化堆栈函数中的行读取 (#4466)
- perf(tree): 使用 strings.Count 优化路径解析 (#4246)
- perf(tree): 减少 findCaseInsensitivePath 中的分配 (#4417)
测试
- test(benchmarks): 修复不正确的函数名 (#4375)
- test(bytesconv): 为空/nil 情况添加测试 (#4454)
- test(context): 使用 http.StatusContinue 常数替代魔数 100 (#4542)
- test(debug): 将 debug.go 的测试覆盖率提高到 100% (#4404)
- test(gin): 为 ginS 包添加全面的测试覆盖 (#4442)
- test(gin): 解决集成测试中的竞态条件 (#4453)
- test(render): 添加全面的错误处理测试 (#4541)
- test(render): 为 MsgPack 渲染添加全面的测试 (#4537)