mirror of
				https://github.com/gin-gonic/gin.git
				synced 2025-10-25 11:22:16 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			192 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			192 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # CHANGELOG
 | |
| 
 | |
| ### Gin 1.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)
 | |
| 
 | |
| ### Gin 1.1.4
 | |
| 
 | |
| - [NEW] Support google appengine for IsTerminal func
 | |
| 
 | |
| ### Gin 1.1.3
 | |
| 
 | |
| - [FIX] Reverted Logger: skip ANSI color commands
 | |
| 
 | |
| ### Gin 1.1
 | |
| 
 | |
| - [NEW] Implement QueryArray and PostArray methods 
 | |
| - [NEW] Refactor GetQuery and GetPostForm 
 | |
| - [NEW] Add contribution guide 
 | |
| - [FIX] Corrected typos in README
 | |
| - [FIX] Removed additional Iota  
 | |
| - [FIX] Changed imports to gopkg instead of github in README (#733) 
 | |
| - [FIX] Logger: skip ANSI color commands if output is not a tty
 | |
| 
 | |
| ### Gin 1.0rc2 (...)
 | |
| 
 | |
| - [PERFORMANCE] Fast path for writing Content-Type.
 | |
| - [PERFORMANCE] Much faster 404 routing
 | |
| - [PERFORMANCE] Allocation optimizations
 | |
| - [PERFORMANCE] Faster root tree lookup
 | |
| - [PERFORMANCE] Zero overhead, String() and JSON() rendering.
 | |
| - [PERFORMANCE] Faster ClientIP parsing
 | |
| - [PERFORMANCE] Much faster SSE implementation
 | |
| - [NEW] Benchmarks suite
 | |
| - [NEW] Bind validation can be disabled and replaced with custom validators.
 | |
| - [NEW] More flexible HTML render
 | |
| - [NEW] Multipart and PostForm bindings
 | |
| - [NEW] Adds method to return all the registered routes
 | |
| - [NEW] Context.HandlerName() returns the main handler's name
 | |
| - [NEW] Adds Error.IsType() helper
 | |
| - [FIX] Binding multipart form
 | |
| - [FIX] Integration tests
 | |
| - [FIX] Crash when binding non struct object in Context.
 | |
| - [FIX] RunTLS() implementation
 | |
| - [FIX] Logger() unit tests
 | |
| - [FIX] Adds SetHTMLTemplate() warning
 | |
| - [FIX] Context.IsAborted()
 | |
| - [FIX] More unit tests
 | |
| - [FIX] JSON, XML, HTML renders accept custom content-types
 | |
| - [FIX] gin.AbortIndex is unexported
 | |
| - [FIX] Better approach to avoid directory listing in StaticFS()
 | |
| - [FIX] Context.ClientIP() always returns the IP with trimmed spaces.
 | |
| - [FIX] Better warning when running in debug mode.
 | |
| - [FIX] Google App Engine integration. debugPrint does not use os.Stdout
 | |
| - [FIX] Fixes integer overflow in error type
 | |
| - [FIX] Error implements the json.Marshaller interface
 | |
| - [FIX] MIT license in every file
 | |
| 
 | |
| 
 | |
| ### Gin 1.0rc1 (May 22, 2015)
 | |
| 
 | |
| - [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)
 | |
| 
 | |
| 
 | |
| ### Gin 0.6 (Mar 9, 2015)
 | |
| 
 | |
| - [NEW] Support multipart/form-data
 | |
| - [NEW] NoMethod handler
 | |
| - [NEW] Validate sub structures
 | |
| - [NEW] Support for HTTP Realm Auth
 | |
| - [FIX] Unsigned integers in binding
 | |
| - [FIX] Improve color logger
 | |
| 
 | |
| 
 | |
| ### Gin 0.5 (Feb 7, 2015)
 | |
| 
 | |
| - [NEW] Content Negotiation
 | |
| - [FIX] Solved security bug that allow a client to spoof ip
 | |
| - [FIX] Fix unexported/ignored fields in binding
 | |
| 
 | |
| 
 | |
| ### Gin 0.4 (Aug 21, 2014)
 | |
| 
 | |
| - [NEW] Development mode
 | |
| - [NEW] Unit tests
 | |
| - [NEW] Add Content.Redirect()
 | |
| - [FIX] Deferring WriteHeader()
 | |
| - [FIX] Improved documentation for model binding
 | |
| 
 | |
| 
 | |
| ### Gin 0.3 (Jul 18, 2014)
 | |
| 
 | |
| - [PERFORMANCE] Normal log and error log are printed in the same call.
 | |
| - [PERFORMANCE] Improve performance of NoRouter()
 | |
| - [PERFORMANCE] Improve context's memory locality, reduce CPU cache faults.
 | |
| - [NEW] Flexible rendering API
 | |
| - [NEW] Add Context.File()
 | |
| - [NEW] Add shorcut RunTLS() for http.ListenAndServeTLS
 | |
| - [FIX] Rename NotFound404() to NoRoute()
 | |
| - [FIX] Errors in context are purged
 | |
| - [FIX] Adds HEAD method in Static file serving
 | |
| - [FIX] Refactors Static() file serving
 | |
| - [FIX] Using keyed initialization to fix app-engine integration
 | |
| - [FIX] Can't unmarshal JSON array, #63
 | |
| - [FIX] Renaming Context.Req to Context.Request
 | |
| - [FIX] Check application/x-www-form-urlencoded when parsing form
 | |
| 
 | |
| 
 | |
| ### Gin 0.2b (Jul 08, 2014)
 | |
| - [PERFORMANCE] Using sync.Pool to allocatio/gc overhead
 | |
| - [NEW] Travis CI integration
 | |
| - [NEW] Completely new logger
 | |
| - [NEW] New API for serving static files. gin.Static()
 | |
| - [NEW] gin.H() can be serialized into XML
 | |
| - [NEW] Typed errors. Errors can be typed. Internet/external/custom.
 | |
| - [NEW] Support for Godeps
 | |
| - [NEW] Travis/Godocs badges in README
 | |
| - [NEW] New Bind() and BindWith() methods for parsing request body.
 | |
| - [NEW] Add Content.Copy()
 | |
| - [NEW] Add context.LastError()
 | |
| - [NEW] Add shorcut for OPTIONS HTTP method
 | |
| - [FIX] Tons of README fixes
 | |
| - [FIX] Header is written before body
 | |
| - [FIX] BasicAuth() and changes API a little bit
 | |
| - [FIX] Recovery() middleware only prints panics
 | |
| - [FIX] Context.Get() does not panic anymore. Use MustGet() instead.
 | |
| - [FIX] Multiple http.WriteHeader() in NotFound handlers
 | |
| - [FIX] Engine.Run() panics if http server can't be setted up
 | |
| - [FIX] Crash when route path doesn't start with '/'
 | |
| - [FIX] Do not update header when status code is negative
 | |
| - [FIX] Setting response headers before calling WriteHeader in context.String()
 | |
| - [FIX] Add MIT license
 | |
| - [FIX] Changes behaviour of ErrorLogger() and Logger()
 |