发布日期: 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

下载链接