gin v1.4.0 版本更新介绍
发布日期: 2019-05-08
版本号: v1.4.0
本次更新主要包含新功能添加及问题修复。新功能方面,新增对Go Modules、YAML绑定、URL参数绑定、PureJSON渲染的支持,优化表单映射、多部分请求处理、数组映射、日志格式(包含上下文键值、响应大小),扩展文件下载附件支持,增强重定向前缀处理,添加强制控制台颜色输出及基于文件描述符的服务器运行方法,并升级依赖库。问题修复涉及长请求延迟精度截断、日志颜色配置、静态文件404重复日志、敏感信息泄露、协程池使用、HTTP协商通配符支持、空JSON处理、URI参数绑定、恢复机制中的堆栈打印、上下文竞争条件等,同时调整日志格式、版权声明及测试配置,并将示例代码移至独立仓库。
更新内容 (中文)
详见原始内容
更新内容 (原始)
Feature
- [NEW] Support for Go Modules #1569
- [NEW] Refactor of form mapping multipart requesta #1829
- [NEW] Supporting file binding #1264
- [NEW] Add support for mapping arrays #1797
- [NEW] Make context.Keys available as LogFormatterParams #1779
- [NEW] Use internal/json for Marshal/Unmarshal #1791
- [NEW] Support mapping time.Duration #1794
- [NEW] Refactor form mappings #1749
- [NEW] Added flag to context.Stream indicates if client disconnected in middle of stream #1252
- [NEW] Extend context.File to allow for the content-dispositon attachments via a new method context.Attachment #1260
- [NEW] Add prefix from X-Forwarded-Prefix in redirectTrailingSlash #1238
- [NEW] Add context.HandlerNames() #1729
- [NEW] Add response size to LogFormatterParams #1752
- [NEW] Allow ignoring field on form mapping #1733
- [NEW] Add a function to force color in console output. #1724
- [NEW] Binding for URL Params #1694
- [NEW] Add LoggerWithFormatter method #1677
- [NEW] RunFd method to run http.Server through a file descriptor #1609
- [NEW] Yaml binding support #1618
- [NEW] Add PureJSON renderer #694
- [NEW] Set default time format in form binding #1487
- [NEW] Upgrade dependency libraries #1491
Bug fix
- [FIX] Truncate Latency precision in long running request #1830
- [FIX] IsTerm flag should not be affected by DisableConsoleColor method. #1802
- [FIX] Readme updates #1793 #1788 1789
- [FIX] StaticFS: Fixed Logging two log lines on 404. #1805, #1804
- [FIX] Moved examples to stand alone Repo #1775
- [FIX] Support HTTP content negotiation wildcards #1112
- [FIX] Pass MaxMultipartMemory when FormFile is called #1600
- [FIX] LoadHTML* tests #1559
- [FIX] Removed use of sync.pool from HandleContext #1565
- [FIX] Format output log to os.Stderr #1571
- [FIX] Make logger use a yellow background and a darkgray text for legibility #1570
- [FIX] Remove sensitive request information from panic log. #1370
- [FIX] log.Println() does not print timestamp #829 #1560
- [FIX] Add missing copyright and update if/else #1497
- [FIX] Update msgpack usage #1498
- [FIX] Use protobuf on render #1496
- [FIX] Add support for Protobuf format response #1479
- [FIX] Add BindXML and ShouldBindXML #1485
- [FIX] CI testing updates #1671 #1670 #1682 #1669
- [FIX] StaticFS(): Send 404 when path does not exist #1663
- [FIX] Handle nil body for JSON binding #1638
- [FIX] Support bind uri param #1612
- [FIX] recovery: fix issue with syscall import on google app engine #1640
- [FIX] Make sure the debug log contains line breaks #1650
- [FIX] Panic stack trace being printed during recovery of broken pipe #1089 #1259
- [FIX] Context.Next() - recheck len of handlers on every iteration. #1745
- [FIX] Fix all errcheck warnings #1739 #1653
- [FIX] Change color methods to public in the defaultLogger. #1771
- [FIX] Update writeHeaders method to use http.Header.Set #1722
- [FIX] context.Copy() race condition #1020