1## Change history of go-restful 2 3 4v2.9.5 5- fix panic in Response.WriteError if err == nil 6 7v2.9.4 8 9- fix issue #400 , parsing mime type quality 10- Route Builder added option for contentEncodingEnabled (#398) 11 12v2.9.3 13 14- Avoid return of 415 Unsupported Media Type when request body is empty (#396) 15 16v2.9.2 17 18- Reduce allocations in per-request methods to improve performance (#395) 19 20v2.9.1 21 22- Fix issue with default responses and invalid status code 0. (#393) 23 24v2.9.0 25 26- add per Route content encoding setting (overrides container setting) 27 28v2.8.0 29 30- add Request.QueryParameters() 31- add json-iterator (via build tag) 32- disable vgo module (until log is moved) 33 34v2.7.1 35 36- add vgo module 37 38v2.6.1 39 40- add JSONNewDecoderFunc to allow custom JSON Decoder usage (go 1.10+) 41 42v2.6.0 43 44- Make JSR 311 routing and path param processing consistent 45- Adding description to RouteBuilder.Reads() 46- Update example for Swagger12 and OpenAPI 47 482017-09-13 49 50- added route condition functions using `.If(func)` in route building. 51 522017-02-16 53 54- solved issue #304, make operation names unique 55 562017-01-30 57 58 [IMPORTANT] For swagger users, change your import statement to: 59 swagger "github.com/emicklei/go-restful-swagger12" 60 61- moved swagger 1.2 code to go-restful-swagger12 62- created TAG 2.0.0 63 642017-01-27 65 66- remove defer request body close 67- expose Dispatch for testing filters and Routefunctions 68- swagger response model cannot be array 69- created TAG 1.0.0 70 712016-12-22 72 73- (API change) Remove code related to caching request content. Removes SetCacheReadEntity(doCache bool) 74 752016-11-26 76 77- Default change! now use CurlyRouter (was RouterJSR311) 78- Default change! no more caching of request content 79- Default change! do not recover from panics 80 812016-09-22 82 83- fix the DefaultRequestContentType feature 84 852016-02-14 86 87- take the qualify factor of the Accept header mediatype into account when deciding the contentype of the response 88- add constructors for custom entity accessors for xml and json 89 902015-09-27 91 92- rename new WriteStatusAnd... to WriteHeaderAnd... for consistency 93 942015-09-25 95 96- fixed problem with changing Header after WriteHeader (issue 235) 97 982015-09-14 99 100- changed behavior of WriteHeader (immediate write) and WriteEntity (no status write) 101- added support for custom EntityReaderWriters. 102 1032015-08-06 104 105- add support for reading entities from compressed request content 106- use sync.Pool for compressors of http response and request body 107- add Description to Parameter for documentation in Swagger UI 108 1092015-03-20 110 111- add configurable logging 112 1132015-03-18 114 115- if not specified, the Operation is derived from the Route function 116 1172015-03-17 118 119- expose Parameter creation functions 120- make trace logger an interface 121- fix OPTIONSFilter 122- customize rendering of ServiceError 123- JSR311 router now handles wildcards 124- add Notes to Route 125 1262014-11-27 127 128- (api add) PrettyPrint per response. (as proposed in #167) 129 1302014-11-12 131 132- (api add) ApiVersion(.) for documentation in Swagger UI 133 1342014-11-10 135 136- (api change) struct fields tagged with "description" show up in Swagger UI 137 1382014-10-31 139 140- (api change) ReturnsError -> Returns 141- (api add) RouteBuilder.Do(aBuilder) for DRY use of RouteBuilder 142- fix swagger nested structs 143- sort Swagger response messages by code 144 1452014-10-23 146 147- (api add) ReturnsError allows you to document Http codes in swagger 148- fixed problem with greedy CurlyRouter 149- (api add) Access-Control-Max-Age in CORS 150- add tracing functionality (injectable) for debugging purposes 151- support JSON parse 64bit int 152- fix empty parameters for swagger 153- WebServicesUrl is now optional for swagger 154- fixed duplicate AccessControlAllowOrigin in CORS 155- (api change) expose ServeMux in container 156- (api add) added AllowedDomains in CORS 157- (api add) ParameterNamed for detailed documentation 158 1592014-04-16 160 161- (api add) expose constructor of Request for testing. 162 1632014-06-27 164 165- (api add) ParameterNamed gives access to a Parameter definition and its data (for further specification). 166- (api add) SetCacheReadEntity allow scontrol over whether or not the request body is being cached (default true for compatibility reasons). 167 1682014-07-03 169 170- (api add) CORS can be configured with a list of allowed domains 171 1722014-03-12 173 174- (api add) Route path parameters can use wildcard or regular expressions. (requires CurlyRouter) 175 1762014-02-26 177 178- (api add) Request now provides information about the matched Route, see method SelectedRoutePath 179 1802014-02-17 181 182- (api change) renamed parameter constants (go-lint checks) 183 1842014-01-10 185 186- (api add) support for CloseNotify, see http://golang.org/pkg/net/http/#CloseNotifier 187 1882014-01-07 189 190- (api change) Write* methods in Response now return the error or nil. 191- added example of serving HTML from a Go template. 192- fixed comparing Allowed headers in CORS (is now case-insensitive) 193 1942013-11-13 195 196- (api add) Response knows how many bytes are written to the response body. 197 1982013-10-29 199 200- (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. 201 2022013-10-04 203 204- (api add) Response knows what HTTP status has been written 205- (api add) Request can have attributes (map of string->interface, also called request-scoped variables 206 2072013-09-12 208 209- (api change) Router interface simplified 210- Implemented CurlyRouter, a Router that does not use|allow regular expressions in paths 211 2122013-08-05 213 - add OPTIONS support 214 - add CORS support 215 2162013-08-27 217 218- fixed some reported issues (see github) 219- (api change) deprecated use of WriteError; use WriteErrorString instead 220 2212014-04-15 222 223- (fix) v1.0.1 tag: fix Issue 111: WriteErrorString 224 2252013-08-08 226 227- (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. 228- (api add) the swagger package has be extended to have a UI per container. 229- if panic is detected then a small stack trace is printed (thanks to runner-mei) 230- (api add) WriteErrorString to Response 231 232Important API changes: 233 234- (api remove) package variable DoNotRecover no longer works ; use restful.DefaultContainer.DoNotRecover(true) instead. 235- (api remove) package variable EnableContentEncoding no longer works ; use restful.DefaultContainer.EnableContentEncoding(true) instead. 236 237 2382013-07-06 239 240- (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. 241 2422013-06-19 243 244- (improve) DoNotRecover option, moved request body closer, improved ReadEntity 245 2462013-06-03 247 248- (api change) removed Dispatcher interface, hide PathExpression 249- changed receiver names of type functions to be more idiomatic Go 250 2512013-06-02 252 253- (optimize) Cache the RegExp compilation of Paths. 254 2552013-05-22 256 257- (api add) Added support for request/response filter functions 258 2592013-05-18 260 261 262- (api add) Added feature to change the default Http Request Dispatch function (travis cline) 263- (api change) Moved Swagger Webservice to swagger package (see example restful-user) 264 265[2012-11-14 .. 2013-05-18> 266 267- See https://github.com/emicklei/go-restful/commits 268 2692012-11-14 270 271- Initial commit 272 273 274