Releases: gin-gonic/gin
Releases · gin-gonic/gin
v1.4.0: update vendor: ugorji/go (#1879)
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
 
v1.3.0
CHANGELOG
Gin 1.3.0
- [NEW] Add 
func (*Context) QueryMap,func (*Context) GetQueryMap,func (*Context) PostFormMapandfunc (*Context) GetPostFormMapto supporttype map[string]stringas query string or form parameters, see #1383 - [NEW] Add 
func (*Context) AsciiJSON, see #1358 - [NEW] Add 
Pusher()intype ResponseWriterfor supporting http2 push, see #1273 - [NEW] Add 
func (*Context) DataFromReaderfor serving dynamic data, see #1304 - [NEW] Add 
func (*Context) ShouldBindBodyWithallowing to call binding multiple times, see #1341 - [NEW] Support pointers in form binding, see #1336
 - [NEW] Add 
func (*Context) JSONP, see #1333 - [NEW] Support default value in form binding, see #1138
 - [NEW] Expose validator engine in 
type StructValidator, see #1277 - [NEW] Add 
func (*Context) ShouldBind,func (*Context) ShouldBindQueryandfunc (*Context) ShouldBindJSON, see #1047 - [NEW] Add support for 
time.Timelocation in form binding, see #1117 - [NEW] Add 
func (*Context) BindQuery, see #1029 - [NEW] Make jsonite optional with build tags, see #1026
 - [NEW] Show query string in logger, see #999
 - [NEW] Add 
func (*Context) SecureJSON, see #987 and #993 - [DEPRECATE] 
func (*Context) GetCookieforfunc (*Context) Cookie - [FIX] Don't display color tags if 
func DisableConsoleColorcalled, see #1072 - [FIX] Gin Mode 
""when callingfunc Modenow returnsconst DebugMode, see #1250 - [FIX] 
Flush()now doesn't overwriteresponseWriterstatus code, see #1460 
v1.2
- [NEW] Switch from godeps to govendor
 - [NEW] Add support for Let's Encrypt via gin-gonic/autotls
 - [NEW] Improve README examples and add extra at examples folder
 - [NEW] Improved support with App Engine
 - [NEW] Add custom template delimiters, see #860
 - [NEW] Add Template Func Maps, see #962
 - [NEW] Add *context.Handler(), see #928
 - [NEW] Add *context.GetRawData()
 - [NEW] Add *context.GetHeader() (request)
 - [NEW] Add *context.AbortWithStatusJSON() (JSON content type)
 - [NEW] Add *context.Keys type cast helpers
 - [NEW] Add *context.ShouldBindWith()
 - [NEW] Add *context.MustBindWith()
 - [NEW] Add *engine.SetFuncMap()
 - [DEPRECATE] On next release: *context.BindWith(), see #855
 - [FIX] Refactor render
 - [FIX] Reworked tests
 - [FIX] logger now supports cygwin
 - [FIX] Use X-Forwarded-For before X-Real-Ip
 - [FIX] time.Time binding (#904)
 
Release v1.1.4
- #754 Support google appengine for IsTerminal func.
 
Release v1.1.3
v1.1
v1.1 (#751)
- Implement QueryArray and PostArray methods
 - Refactor GetQuery and GetPostForm
 - Removed additional Iota
 
I think assigning iota to each constant is not required
- Add 1.7 test.
 - Add codecov.io
 - corrected a typo in README
 - remove coveralls services.
 
Signed-off-by: Bo-Yi Wu [email protected]
- Update TravisCI to Gitter webhook
 - Add codecov.yml Gitter webhook
 - Changed imports to gopkg instead of github in README (#733)
 - Add contribution guide
 - Update go get for stable version
 
In the future, github default branch will be develop so running go get github.com/gin-gonic/gin will pull latest code from develop.
- Changed imports to gopkg instead of github in README
 - Update README.md
 - Logger: skip ANSI color commands if output is not a tty
 
Special note: 👏 Thanks to @appleboy and @tboerger for their awesome work managing PRs and issues for this version. This just only started 😉
v1.0-rc.2
v1.0rc1
- [PERFORMANCE] Zero allocation router
 - [PERFORMANCE] Faster JSON, XML and text rendering
 - [PERFORMANCE] Custom hand optimized HttpRouter for Gin
 - [PERFORMANCE] Misc code optimizations. Inlining, tail call optimizations
 - [NEW] Built-in support for golang.org/x/net/context
 - [NEW] Any(path, handler). Create a route that matches any path
 - [NEW] Refactored rendering pipeline (faster and static typeded)
 - [NEW] Refactored errors API
 - [NEW] IndentedJSON() prints pretty JSON
 - [NEW] Added gin.DefaultWriter
 - [NEW] UNIX socket support
 - [NEW] RouterGroup.BasePath is exposed
 - [NEW] JSON validation using go-validate-yourself (very powerful options)
 - [NEW] Completed suite of unit tests
 - [NEW] HTTP streaming with c.Stream()
 - [NEW] StaticFile() creates a router for serving just one file.
 - [NEW] StaticFS() has an option to disable directory listing.
 - [NEW] StaticFS() for serving static files through virtual filesystems
 - [NEW] Server-Sent Events native support
 - [NEW] WrapF() and WrapH() helpers for wrapping http.HandlerFunc and http.Handler
 - [NEW] Added LoggerWithWriter() middleware
 - [NEW] Added RecoveryWithWriter() middleware
 - [NEW] Added DefaultPostFormValue()
 - [NEW] Added DefaultFormValue()
 - [NEW] Added DefaultParamValue()
 - [FIX] BasicAuth() when using custom realm
 - [FIX] Bug when serving static files in nested routing group
 - [FIX] Redirect using built-in http.Redirect()
 - [FIX] Logger when printing the requested path
 - [FIX] Documentation typos
 - [FIX] Context.Engine renamed to Context.engine
 - [FIX] Better debugging messages
 - [FIX] ErrorLogger
 - [FIX] Debug HTTP render
 - [FIX] Refactored binding and render modules
 - [FIX] Refactored Context initialization
 - [FIX] Refactored BasicAuth()
 - [FIX] NoMethod/NoRoute handlers
 - [FIX] Hijacking http
 - [FIX] Better support for Google App Engine (using log instead of fmt)