1 ## Change history of go-restful
6 - Reduce allocations in per-request methods to improve performance (#395)
10 - Fix issue with default responses and invalid status code 0. (#393)
14 - add per Route content encoding setting (overrides container setting)
18 - add Request.QueryParameters()
19 - add json-iterator (via build tag)
20 - disable vgo module (until log is moved)
28 - add JSONNewDecoderFunc to allow custom JSON Decoder usage (go 1.10+)
32 - Make JSR 311 routing and path param processing consistent
33 - Adding description to RouteBuilder.Reads()
34 - Update example for Swagger12 and OpenAPI
38 - added route condition functions using `.If(func)` in route building.
42 - solved issue #304, make operation names unique
46 [IMPORTANT] For swagger users, change your import statement to:
47 swagger "github.com/emicklei/go-restful-swagger12"
49 - moved swagger 1.2 code to go-restful-swagger12
54 - remove defer request body close
55 - expose Dispatch for testing filters and Routefunctions
56 - swagger response model cannot be array
61 - (API change) Remove code related to caching request content. Removes SetCacheReadEntity(doCache bool)
65 - Default change! now use CurlyRouter (was RouterJSR311)
66 - Default change! no more caching of request content
67 - Default change! do not recover from panics
71 - fix the DefaultRequestContentType feature
75 - take the qualify factor of the Accept header mediatype into account when deciding the contentype of the response
76 - add constructors for custom entity accessors for xml and json
80 - rename new WriteStatusAnd... to WriteHeaderAnd... for consistency
84 - fixed problem with changing Header after WriteHeader (issue 235)
88 - changed behavior of WriteHeader (immediate write) and WriteEntity (no status write)
89 - added support for custom EntityReaderWriters.
93 - add support for reading entities from compressed request content
94 - use sync.Pool for compressors of http response and request body
95 - add Description to Parameter for documentation in Swagger UI
99 - add configurable logging
103 - if not specified, the Operation is derived from the Route function
107 - expose Parameter creation functions
108 - make trace logger an interface
110 - customize rendering of ServiceError
111 - JSR311 router now handles wildcards
116 - (api add) PrettyPrint per response. (as proposed in #167)
120 - (api add) ApiVersion(.) for documentation in Swagger UI
124 - (api change) struct fields tagged with "description" show up in Swagger UI
128 - (api change) ReturnsError -> Returns
129 - (api add) RouteBuilder.Do(aBuilder) for DRY use of RouteBuilder
130 - fix swagger nested structs
131 - sort Swagger response messages by code
135 - (api add) ReturnsError allows you to document Http codes in swagger
136 - fixed problem with greedy CurlyRouter
137 - (api add) Access-Control-Max-Age in CORS
138 - add tracing functionality (injectable) for debugging purposes
139 - support JSON parse 64bit int
140 - fix empty parameters for swagger
141 - WebServicesUrl is now optional for swagger
142 - fixed duplicate AccessControlAllowOrigin in CORS
143 - (api change) expose ServeMux in container
144 - (api add) added AllowedDomains in CORS
145 - (api add) ParameterNamed for detailed documentation
149 - (api add) expose constructor of Request for testing.
153 - (api add) ParameterNamed gives access to a Parameter definition and its data (for further specification).
154 - (api add) SetCacheReadEntity allow scontrol over whether or not the request body is being cached (default true for compatibility reasons).
158 - (api add) CORS can be configured with a list of allowed domains
162 - (api add) Route path parameters can use wildcard or regular expressions. (requires CurlyRouter)
166 - (api add) Request now provides information about the matched Route, see method SelectedRoutePath
170 - (api change) renamed parameter constants (go-lint checks)
174 - (api add) support for CloseNotify, see http://golang.org/pkg/net/http/#CloseNotifier
178 - (api change) Write* methods in Response now return the error or nil.
179 - added example of serving HTML from a Go template.
180 - fixed comparing Allowed headers in CORS (is now case-insensitive)
184 - (api add) Response knows how many bytes are written to the response body.
188 - (api add) RecoverHandler(handler RecoverHandleFunction) to change how panic recovery is handled. Default behavior is to log and return a stacktrace. This may be a security issue as it exposes sourcecode information.
192 - (api add) Response knows what HTTP status has been written
193 - (api add) Request can have attributes (map of string->interface, also called request-scoped variables
197 - (api change) Router interface simplified
198 - Implemented CurlyRouter, a Router that does not use|allow regular expressions in paths
201 - add OPTIONS support
206 - fixed some reported issues (see github)
207 - (api change) deprecated use of WriteError; use WriteErrorString instead
211 - (fix) v1.0.1 tag: fix Issue 111: WriteErrorString
215 - (api add) Added implementation Container: a WebServices collection with its own http.ServeMux allowing multiple endpoints per program. Existing uses of go-restful will register their services to the DefaultContainer.
216 - (api add) the swagger package has be extended to have a UI per container.
217 - if panic is detected then a small stack trace is printed (thanks to runner-mei)
218 - (api add) WriteErrorString to Response
220 Important API changes:
222 - (api remove) package variable DoNotRecover no longer works ; use restful.DefaultContainer.DoNotRecover(true) instead.
223 - (api remove) package variable EnableContentEncoding no longer works ; use restful.DefaultContainer.EnableContentEncoding(true) instead.
228 - (api add) Added support for response encoding (gzip and deflate(zlib)). This feature is disabled on default (for backwards compatibility). Use restful.EnableContentEncoding = true in your initialization to enable this feature.
232 - (improve) DoNotRecover option, moved request body closer, improved ReadEntity
236 - (api change) removed Dispatcher interface, hide PathExpression
237 - changed receiver names of type functions to be more idiomatic Go
241 - (optimize) Cache the RegExp compilation of Paths.
245 - (api add) Added support for request/response filter functions
250 - (api add) Added feature to change the default Http Request Dispatch function (travis cline)
251 - (api change) Moved Swagger Webservice to swagger package (see example restful-user)
253 [2012-11-14 .. 2013-05-18>
255 - See https://github.com/emicklei/go-restful/commits