gin/CHANGELOG.md

4.0 KiB

#Changelog

###Gin 1.0 (...)

  • [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] Any(path, handler). Create a route that matches any path
  • [NEW] Refactored rendering pipeline (faster and static typeded)
  • [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] 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] 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()