All Versions
7
Latest Version
Avg Release Cycle
425 days
Latest Release
1376 days ago

Changelog History

  • v2.0.2 Changes

    July 17, 2020

    🛠 Fixed

    • 🛠 Fixed Go module name for v2
  • v2.0.1 Changes

    May 25, 2020

    🛠 Fixed

    • Recovery middleware now checks that Formatter is not nil before calling
  • v2.0.0 Changes

    May 25, 2020

    🔄 Changed

    • 🖨 Recovery.PrintStack, when false, now also supresses the panic message in addition to supressing the stack trace

    🛠 Fixed

    • Negroni.With() now copies handlers to avoid mutating the original Negroni instance if Use is called on the new Negroni instance

    ➕ Added

    • 🔊 Recovery.LogStack was added to control whether the stacktrace is logged for panics

    🔄 Changed

  • v1.0.0 Changes

    September 01, 2018

    🛠 Fixed

    • Logger middleware now correctly handles paths containing a % instead of trying to treat it as a format specifier
  • v0.3.0 Changes

    November 11, 2017

    ➕ 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
      0️⃣ 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
      0️⃣ panics are output. Default of TextFormatter (how it was output in
      0.2.0) used. HTMLPanicFormatter also added to allow easy outputing of
      panics 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

    • 0️⃣ 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 panics 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.
    • 0️⃣ 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
      0️⃣ (configuable via DefaultAddress).
    • PanicHandlerFunc added to Recovery middleware to enhance custom handling
      of panics 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.
  • v0.2.0 Changes

    May 10, 2016

    ➕ 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
    • 0️⃣ 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
  • v0.1.0 Changes

    July 22, 2013

    ➕ Added

    • 🎉 Initial implementation.

    🚀 [Unreleased]: https://github.com/urfave/negroni/compare/v0.2.0...HEAD