All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantipush c Versioning.
- address: AsAttrs method (slogging)
- server: unix socket listening
- 422 response payload
- github action use go 1.21
- TLS poll ping use cse
- custom validation translation was missing some global init
- http2 support
- slog support
- bumped toolchain to go 1.21
- old logger interface and implementation
- support for http2
- test are now shuffled
- pprof handler toggler
- ShutAndWait renamed to ShutdownAndWait
- tls.GetTLSCfg now accept an tls.Config and an optional http2 param
- tls.NewListener(IConfig) changed to tls.NewListner(tls.Config)
- Shutdown now return an error
- WorkerLauncher is now an interface
- WorkerLauncher.Run now only take a function as unique parameter
- RegisterValidatorRule and RegisterValidatorAlias now return an error
- Shutdown now return an error
- InitServer now return an error (which should be handled as a fatal)
- Server.Shutdown now call to WaitAndStop
- WaitAndStop renamed to WaitForStop
- poll ping over EOF tls connection
- internal call to the logger (not in a server/context), affected functions now return an error
- WorkerLauncher call to logger
- Shutdown call to logger
- log.LogPrefix inteface
- handler.Logging example
- handler.Logging object now prefix all request w/ the rid
- updated go toolchain from 1.15 to 1.19
- fixed example
- websocket support
- Socket.io handler support
- TLS config implementation
- tls/cmd package, for interpolation with spf13' cobra n viper
- gitlab ci file
- paramtrize TLS level
- tls get it own pacakge
- new GetLevel method to the IConfig interface
- webfmwk.tls doens't exist anymore - please use webfmwk/v5/tls.(I)Config
- webfmwk.LoadTLSListener -> webfmwk/v5/tls.LoadListener
- webfmwk.GetTLSLCfg -> webfmwk/v5/tls.GetCfg
- Support for mTLS (#43)
- LoadTLSListener and GetTLSCfg method
- linting configuration
- internal server methods
- more unit test
- support for sighup
- new logger to reduce external deps
- swagger handler
- fields validation error now use json fields name
- max body size parameter
- tls check for ca pool
- fasthttp updated
- old logger
GetFastContext() fasthttp.RequestCtx
to theContext
interfaceDecodeAndValidateQP
which is a successive call toDecodQP
thenValidate
- go-test github action
- logging.Handler prepend a request_id
valaya/fasthttp
in favor ofnet/http
segmentio/encoding
in favor ofencoding/json
fasthttp/router
in favor ofgorilla/mux
- handler now live in
/webfmwk/v5/handler/{logger,recover,redoc,security}
- updated the test to reflect the changes
GetQuery
signature return some*fasthttp.Args
- use testify for assertion
handler.RequestID
(handled by the logger one)webfmwktest
is obsolete- dependency to burgesQ/gommon/log and burgesQ/gommon/pretty
- go-build github action
- redoc handler
- error comment for go-swagger compat
- datarace on the logger
- time.After not always gc'ed
- NewForbidden error method
- godoc target to makefile
- context max output was 2014 instead of 2048
- Wrapped support for external doc handlers
- Moved example to the
example
sub directory
- Runner method and Address struct
- Log source IP in logger handler and 404/405
- pollPingEndpoint didn't follow server context
- linting
- update golangci linting config
- Option type to start server
- Address as param of Run
- Custom handler for 404 and 405
- Status code to response payload when possible
- Expose the validator (v10)
- UseHandler -> Use, applyOption-> UseOption(s)
- Sleep a bit in CheckIsUp
- Gommon assertion
- Better context handling
- Validator v9 -> v10
- AnonymousError -> Error
- Trunkat logged payload to 1kb
- Don't poll PingEndpoint in case of tls
- new doc example runner
- recover hanlder
- controller return error
- ErrorHandled returned generate an API error response
- panic/recover to error pattern
- custom context setter, please use a hanlder
- privatizate interface implementation
- logger was fetched to early, fetch it via a sync.Once
- IContext.XMLBlob method
- new middlware implemented, the handlers use an IContext
- add the webfmwktest package which warp the httptest one
- pass more server field in private, please use the Options object to setup the server
- TLSConfig option tweaked
- linter errors
- validator and translator inited via a sync.Once
- Option type to init server
- Error Service Unavailable
- Dump method, which dump exposed routes
- isReady channel pattern
- More unit test
- InitServer method signature
- Log routes groups name instead of full routes
- Validation translator init once
- golangci linter
- Wrong custom context implementation ...
- go 1.13 support
- IErrorHandler can now wrap errors
- JSONAccepted method
- IContext setter and getter for native context.Context
- IContext Set* method call can be chained
- Translation of validation error
psjon
becamepretty
- test for the route package
- logging middleware was using the wrong logger
Initial release
v1.0 and v1.1 where broken