Releases: gin-gonic/gin
Releases · gin-gonic/gin
release v1.7.2
v1.7.1
Release v1.7.0
BUGFIXES
- fix compile error from #2572 (#2600)
- fix: print headers without Authorization header on broken pipe (#2528)
- fix(tree): reassign fullpath when register new node (#2366)
ENHANCEMENTS
- Support params and exact routes without creating conflicts (#2663)
- chore: improve render string performance (#2365)
- Sync route tree to httprouter latest code (#2368)
- chore: rename getQueryCache/getFormCache to initQueryCache/initFormCa (#2375)
- chore(performance): improve countParams (#2378)
- Remove some functions that have the same effect as the bytes package (#2387)
- update:SetMode function (#2321)
- remove a unused type SecureJSONPrefix (#2391)
- Add a redirect sample for POST method (#2389)
- Add CustomRecovery builtin middleware (#2322)
- binding: avoid 2038 problem on 32-bit architectures (#2450)
- Prevent panic in Context.GetQuery() when there is no Request (#2412)
- Add GetUint and GetUint64 method on gin.context (#2487)
- update content-disposition header to MIME-style (#2512)
- reduce allocs and improve the render
WriteString
(#2508) - implement ".Unwrap() error" on Error type (#2525) (#2526)
- Allow bind with a map[string]string (#2484)
- chore: update tree (#2371)
- Support binding for slice/array obj [Rewrite] (#2302)
- basic auth: fix timing oracle (#2609)
- Add mixed param and non-param paths (port of httprouter#329) (#2663)
- feat(engine): add trustedproxies and remoteIP (#2632)
Improve performance
ENHANCEMENTS
- Improve performance: Change
*sync.RWMutex
tosync.RWMutex
in context. #2351
release v1.6.2
release v1.6.1
release v1.6.0
Release Notes
BREAKING
- chore(performance): Improve performance for adding RemoveExtraSlash flag (#2159)
- drop support govendor (#2148)
- Added support for SameSite cookie flag (#1615)
FEATURES
BUGFIXES
- Unix Socket Handling (#2280)
- Use json marshall in context json to fix breaking new line issue. Fixes #2209 (#2228)
- fix accept incoming network connections (#2216)
- Fixed a bug in the calculation of the maximum number of parameters (#2166)
- [FIX] allow empty headers on DataFromReader (#2121)
- Add mutex for protect Context.Keys map (#1391)
ENHANCEMENTS
- Add mitigation for log injection (#2277)
- tree: range over nodes values (#2229)
- tree: remove duplicate assignment (#2222)
- chore: upgrade go-isatty and json-iterator/go (#2215)
- path: sync code with httprouter (#2212)
- Use zero-copy approach to convert types between string and byte slice (#2206)
- Reuse bytes when cleaning the URL paths (#2179)
- tree: remove one else statement (#2177)
- tree: sync httprouter update (#2173) (#2172) (#2171)
- tree: sync part httprouter codes and reduce if/else (#2163)
- use http method constant (#2155)
- upgrade go-validator to v10 (#2149)
- Refactor redirect request in gin.go (#1970)
- Add build tag nomsgpack (#1852)
DOCS
- docs(path): improve comments (#2223)
- Renew README to fit the modification of SetCookie method (#2217)
- Fix spelling (#2202)
- Remove broken link from README. (#2198)
- Update docs on Context.Done(), Context.Deadline() and Context.Err() (#2196)
- Update validator to v10 (#2190)
- upgrade go-validator to v10 for README (#2189)
- Update to currently output (#2188)
- Fix "Custom Validators" example (#2186)
- Add project to README (#2165)
- docs(benchmarks): for gin v1.5 (#2153)
- Changed wording for clarity in README.md (#2122)
MISC
- ci support go1.14 (#2262)
- chore: upgrade depend version (#2231)
- Drop support go1.10 (#2147)
- fix comment in
mode.go
(#2129)
Contributors
ready to release v1.5.0 (#2109)
Feature
- [NEW] Now you can parse the inline lowercase start structure #1893
- [NEW] [Break-Backward] Hold matched route full path in the Context #1826
- [NEW] Add context param query cache #1450
- [NEW] Add support of multipart multi files #1949
- [NEW] Support bind http header param #1957
- [NEW] Support bind unix time #1980
- [NEW] Support negative Content-Length in DataFromReader #1981
- [NEW] Add DisallowUnknownFields() in gin.Context.BindJSON() #2028
- [NEW] Use specific
net.Listener
with Engine.RunListener() #2023
Bug fix
- [FIX] Use DefaultWriter and DefaultErrorWriter for debug messages #1891
- [FIX] Some code improvements #1909
- [FIX] Use encode replace json marshal increase json encoder speed #1546
- [FIX] Fix context.Params race condition on Copy() #1841
- [FIX] Improve GetQueryMap performance #1918
- [FIX] Improve get post data #1920
- [FIX] Use context instead of x/net/context #1922
- [FIX] Attempt to fix PostForm cache bug #1931
- [FIX] [Break-Backward] Drop support for go1.8 and go1.9 #1933
- [FIX] Bugfix for the FullPath feature #1919
- [FIX] Gin1.5 bytes.Buffer to strings.Builder #1939
- [FIX] Upgrade github.com/ugorji/go/codec #1969
- [FIX] Simplify code #2004
- [FIX] Identify terminal on a RISC-V architecture for auto-colored logs #2019
- [FIX] [Break-Backward] Context.JSONP() now expects a semicolon (;) at the end #2007
- [FIX] [Break-Backward] Upgrade validator version to v9 #1015
- [FIX] Fix some typo #2079 #2080
- [FIX] Relocate binding body tests #2086
- [FIX] Use Writer in Context.Status #1606
- [FIX]
Engine.RunUnix()
now returns the error if it can't change the file mode #2093 - [FIX]
RouterGroup.StaticFS()
leaked files. Now it closes them. #2118 - [FIX]
Context.Request.FormFile
leaked file, now it closes it #2114 - [FIX] Ignore walking on
form:"-"
mapping #1943 - [REFACTOR] [Break-Backward] Use encode replace json marshal increase json encoder speed #1546
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) PostFormMap
andfunc (*Context) GetPostFormMap
to supporttype map[string]string
as query string or form parameters, see #1383 - [NEW] Add
func (*Context) AsciiJSON
, see #1358 - [NEW] Add
Pusher()
intype ResponseWriter
for supporting http2 push, see #1273 - [NEW] Add
func (*Context) DataFromReader
for serving dynamic data, see #1304 - [NEW] Add
func (*Context) ShouldBindBodyWith
allowing 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) ShouldBindQuery
andfunc (*Context) ShouldBindJSON
, see #1047 - [NEW] Add support for
time.Time
location 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) GetCookie
forfunc (*Context) Cookie
- [FIX] Don't display color tags if
func DisableConsoleColor
called, see #1072 - [FIX] Gin Mode
""
when callingfunc Mode
now returnsconst DebugMode
, see #1250 - [FIX]
Flush()
now doesn't overwriteresponseWriter
status code, see #1460