Releases: go-playground/pure
Releases · go-playground/pure
Release 4.1.1
What was fixed?
- Corrected bug in
Grouplogic whereby the top level middleware was being copied, rather than theRouteGroup'smiddleware (which may be the top level also and why it wasn't found until now); it only became apparent will multiple levels of Grouping.
Release 4.1.0
What was added?
- Added DecodeSEOQueryParams(...) function to allow only the SEO params to be decoded.
- Cleaned up some spelling
- Cleaned up a few inefassign
- Change to Travis CI from Semaphore
Release 4.0.1
What was fixed?
- Corrected README documentation to reflect the new
Groupfunctionality introduced in Release 4.0.0
Release 4.0.0
What Changed?
- It used to be that the
Groupfunction handled 3 different scenarios: .Group("/users")- group with existing middleware.Group("/users", nil)- group but retain no middleware.Group("/users", MoreMiddleware)- group, retain existing and add MoreMiddleware
This was confusing and even I was always referring to the function to remember what it all did so here is how it works now.
.Group("/users")- group with existing middleware.GroupWithNone("/users")- group but retain no middleware..GroupWithMore("/users", MoreMiddleware)- group, retain existing and add MoreMiddleware
Release 3.1.1
What was fixed?
Unexposed Param + Params type; it was not exposed nor able to be used outside of package
Release 3.1.0
What was added?
- Add/separate DecodeJSON, DecodeXML, DecodeForm and DecodeMultipartForm functions into the helper functions for when you already know the
Content-Type
Release 3.0.1
What was fixed?
corrected README documentation regarding URL param extraction.
rv := pure.RequestVars(r)
rv.URLParam("id")Release 3.0.0
What changed?
- removed
QueryParamsfunction fromRequestVars, storing a single copy if requested multiple times really wasn't much faster because of thecontext.Contextlookup time so removed.
What was added?
- added DecodeQueryParams(...) function to explicitly decode url.Values only if desired
- added QueryParams(...) function to allow retrieving of r.URL.Query() values and optionally SEO params.
- updated Decode(...) so the the includeQueryParams flags also applies to JSON and XML
Release 2.6.0
What's new
- reconfigured pure's serveHTTP function to only incur the overhead of request vars, when one is found in the route itself, which increases performance for non parameter/static routes like those used in an API vs SEO website.
benchmark old ns/op new ns/op delta
BenchmarkPure_Param 157 161 +2.55%
BenchmarkPure_Param5 208 205 -1.44%
BenchmarkPure_Param20 350 356 +1.71%
BenchmarkPure_ParamWrite 221 215 -2.71%
BenchmarkPure_GithubStatic 72.6 47.1 -35.12%
BenchmarkPure_GithubParam 230 227 -1.30%
BenchmarkPure_GithubAll 43054 42284 -1.79%
BenchmarkPure_GPlusStatic 54.0 31.7 -41.30%
BenchmarkPure_GPlusParam 182 178 -2.20%
BenchmarkPure_GPlus2Params 207 193 -6.76%
BenchmarkPure_GPlusAll 2297 2159 -6.01%
BenchmarkPure_ParseStatic 56.2 30.9 -45.02%
BenchmarkPure_ParseParam 166 159 -4.22%
BenchmarkPure_Parse2Params 180 174 -3.33%
BenchmarkPure_ParseAll 3671 3290 -10.38%
BenchmarkPure_StaticAll 14646 9964 -31.97%
benchmark old allocs new allocs delta
BenchmarkPure_Param 1 1 +0.00%
BenchmarkPure_Param5 1 1 +0.00%
BenchmarkPure_Param20 1 1 +0.00%
BenchmarkPure_ParamWrite 1 1 +0.00%
BenchmarkPure_GithubStatic 0 0 +0.00%
BenchmarkPure_GithubParam 1 1 +0.00%
BenchmarkPure_GithubAll 167 167 +0.00%
BenchmarkPure_GPlusStatic 0 0 +0.00%
BenchmarkPure_GPlusParam 1 1 +0.00%
BenchmarkPure_GPlus2Params 1 1 +0.00%
BenchmarkPure_GPlusAll 11 11 +0.00%
BenchmarkPure_ParseStatic 0 0 +0.00%
BenchmarkPure_ParseParam 1 1 +0.00%
BenchmarkPure_Parse2Params 1 1 +0.00%
BenchmarkPure_ParseAll 16 16 +0.00%
BenchmarkPure_StaticAll 0 0 +0.00%
benchmark old bytes new bytes delta
BenchmarkPure_Param 240 240 +0.00%
BenchmarkPure_Param5 240 240 +0.00%
BenchmarkPure_Param20 240 240 +0.00%
BenchmarkPure_ParamWrite 240 240 +0.00%
BenchmarkPure_GithubStatic 0 0 +0.00%
BenchmarkPure_GithubParam 240 240 +0.00%
BenchmarkPure_GithubAll 40082 40082 +0.00%
BenchmarkPure_GPlusStatic 0 0 +0.00%
BenchmarkPure_GPlusParam 240 240 +0.00%
BenchmarkPure_GPlus2Params 240 240 +0.00%
BenchmarkPure_GPlusAll 2640 2640 +0.00%
BenchmarkPure_ParseStatic 0 0 +0.00%
BenchmarkPure_ParseParam 240 240 +0.00%
BenchmarkPure_Parse2Params 240 240 +0.00%
BenchmarkPure_ParseAll 3840 3840 +0.00%
BenchmarkPure_StaticAll 0 0 +0.00%Release 2.5.0
What was added?
nothing really, just updated the logging middleware example to use new ansi library to reduce code duplication.