chi v2.0.0-rc1 Release Notes

Release Date: 2016-07-26 // almost 8 years ago
    • 🔨 Huge update! chi v2 is a large refactor targetting Go 1.7+. As of Go 1.7, the popular community "net/context" package has been included in the standard library as "context" and utilized by "net/http" and http.Request to managing deadlines, cancelation signals and other request-scoped values. We're very excited about the new context addition and are proud to introduce chi v2, a minimal and powerful routing package for building large HTTP services, with zero external dependencies. Chi focuses on idiomatic design and encourages the use of stdlib HTTP handlers and middlwares.
    • 🗄 chi v2 deprecates its chi.Handler interface and requires http.Handler or http.HandlerFunc
    • chi v2 stores URL routing parameters and patterns in the standard request context: r.Context()
    • chi v2 lower-level routing context is accessible by chi.RouteContext(r.Context()) *chi.Context, which provides direct access to URL routing parameters, the routing path and the matching routing patterns.
    • ⬆️ Users upgrading from chi v1 to v2, need to:
      1. Update the old chi.Handler signature, func(ctx context.Context, w http.ResponseWriter, r *http.Request) to the standard http.Handler: func(w http.ResponseWriter, r *http.Request)
      2. Use chi.URLParam(r *http.Request, paramKey string) string or URLParamFromCtx(ctx context.Context, paramKey string) string to access a url parameter value