Tags: songjiao/goji
Tags
Goji version 1.0 This release includes support up to Go 1.6, improves documentation, and contains miscellaneous other fixes. While Goji has been API-stable for quite some time, this is the first release to formally acknowledge such stability. Changes that might cause applications written against this release of Goji to break will be considered serious and unacceptable regressions (under similar rules to the Go 1.0 compatibility guarantee).
Goji version 0.9.0 This version contains a major breaking change to web.C, Goji's context object: the Env key has been changed from a map[string]interface{} to a map[interface{}]interface{} to allow for packages to use package-private types to namespace their environment keys. In practice, most users of Goji will be unaffected by this change: strings that were previously in use as map keys will continue to work. However, users (especially middleware authors) who construct Env's (with make or similar) will have to update their code as instructed by the compiler.
Goji version 0.8.3 This version continues the recent trend of changes to package graceful: - It has learned graceful.ShutdownNow, which will close all connections managed by the package (including those that are in the process of servicing requests) - It has learned two new behaviors that invoke the ShutdownNow semantics: - graceful.DoubleKickWindow, which, when enabled, causes an immediate shutdown when two signals are received in a short enough time span - graceful.Timeout, which, when enabled, causes an immediate shutdown on all connections which have not responded to a graceful shutdown within an allotted timeout. - graceful.Middleware was removed from the public API. This middleware has been a no-op since Go 1.2, but is a breaking change nevertheless. - graceful.ListenAndServeTLS (and the equivalent function on graceful.Server) now disable SSLv3 by default, in order to address the POODLE vulnerability. There was one additional change: middleware.SubRouter now exposes a mechanism by which regular expression routes can bind a "tail" path.
Goji version 0.8.2 This version contains many changes to package graceful: - Logging has been moved to package goji via the Hook mechanism. This allows users who wish to customize their logging the chance to do so. - A race condition between listener shutdown and a call to Accept was fixed. - The bulk of the package has been refactored: the package previously named graceful is now considerably simpler and now deals almost exclusively with net/http and signal handling. The entirety of the graceful connection tracking logic has been moved to a new subpackage named "listener", and a great many tests have been written. This is a breaking change: the function graceful.WrapConn was removed. This change introduces web.ParsePattern, exposing package web's pattern parsing logic to third parties. Additionally, package web/util has been renamed to web/mutil (middleware utils) to avoid naming ambiguities. This is a breaking change: code which refers to package util will need to be changed to refer to mutil instead.
Goji version 0.8.1 This version addresses an issue with the 0.8 release in which string pattern matches would inadvertently capture more characters than expected, including path separators. This version also adds a workaround for users running Goji on Google App Engine, as well as various miscellaneous fixes.
Goji version 0.8 This is the first tagged release of Goji. By choosing to release this as "v0.8", we reserve the right to change the API in the future, but we have no reason to suspect that "v1.0" will ship with a different public API than this one. In practice, both the code and the API are very stable, and have been for quite some time. In that vein, this release is appropriate for use in production.