70 lines
3.1 KiB
Markdown
70 lines
3.1 KiB
Markdown
# Change Log
|
|
|
|
**ATTN**: This project uses [semantic versioning](http://semver.org/).
|
|
|
|
## [Unreleased] -
|
|
|
|
## [1.0.0] - 2018-09-01
|
|
|
|
### Fixed
|
|
- `Logger` middleware now correctly handles paths containing a `%` instead of trying to treat it as a format specifier
|
|
|
|
## [0.3.0] - 2017-11-11
|
|
### Added
|
|
- `With()` helper for building a new `Negroni` struct chaining handlers from
|
|
existing `Negroni` structs
|
|
- Format log output in `Logger` middleware via a configurable `text/template`
|
|
string injectable via `.SetFormat`. Added `LoggerDefaultFormat` and
|
|
`LoggerDefaultDateFormat` to configure the default template and date format
|
|
used by the `Logger` middleware.
|
|
- Support for HTTP/2 pusher support via `http.Pusher` interface for Go 1.8+.
|
|
- `WrapFunc` to convert `http.HandlerFunc` into a `negroni.Handler`
|
|
- `Formatter` field added to `Recovery` middleware to allow configuring how
|
|
`panic`s are output. Default of `TextFormatter` (how it was output in
|
|
`0.2.0`) used. `HTMLPanicFormatter` also added to allow easy outputing of
|
|
`panic`s as HTML.
|
|
|
|
### Fixed
|
|
- `Written()` correct returns `false` if no response header has been written
|
|
- Only implement `http.CloseNotifier` with the `negroni.ResponseWriter` if the
|
|
underlying `http.ResponseWriter` implements it (previously would always
|
|
implement it and panic if the underlying `http.ResponseWriter` did not.
|
|
|
|
### Changed
|
|
- Set default status to `0` in the case that no handler writes status -- was
|
|
previously `200` (in 0.2.0, before that it was `0` so this reestablishes that
|
|
behavior)
|
|
- Catch `panic`s thrown by callbacks provided to the `Recovery` handler
|
|
- Recovery middleware will set `text/plain` content-type if none is set
|
|
- `ALogger` interface to allow custom logger outputs to be used with the
|
|
`Logger` middleware. Changes embeded field in `negroni.Logger` from `Logger`
|
|
to `ALogger`.
|
|
- Default `Logger` middleware output changed to be more structure and verbose
|
|
(also now configurable, see `Added`)
|
|
- Automatically bind to port specified in `$PORT` in `.Run()` if an address is
|
|
not passed in. Fall back to binding to `:8080` if no address specified
|
|
(configuable via `DefaultAddress`).
|
|
- `PanicHandlerFunc` added to `Recovery` middleware to enhance custom handling
|
|
of `panic`s by providing additional information to the handler including the
|
|
stack and the `http.Request`. `Recovery.ErrorHandlerFunc` was also added, but
|
|
deprecated in favor of the new `PanicHandlerFunc`.
|
|
|
|
## [0.2.0] - 2016-05-10
|
|
### Added
|
|
- Support for variadic handlers in `New()`
|
|
- Added `Negroni.Handlers()` to fetch all of the handlers for a given chain
|
|
- Allowed size in `Recovery` handler was bumped to 8k
|
|
- `Negroni.UseFunc` to push another handler onto the chain
|
|
|
|
### Changed
|
|
- Set the status before calling `beforeFuncs` so the information is available to them
|
|
- Set default status to `200` in the case that no handler writes status -- was previously `0`
|
|
- Panic if `nil` handler is given to `negroni.Use`
|
|
|
|
## 0.1.0 - 2013-07-22
|
|
### Added
|
|
- Initial implementation.
|
|
|
|
[Unreleased]: https://github.com/urfave/negroni/compare/v0.2.0...HEAD
|
|
[0.2.0]: https://github.com/urfave/negroni/compare/v0.1.0...v0.2.0
|