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 Semantic Versioning.
0.33.0 - 2020-09-09
- Updated dependencies
0.32.0 - 2020-01-15
ErrorHandlerFacade
interface (combination ofErrorHandler
andErrorHandlerContext
)
- Renamed
NewErrorHandlerContext
toWithContextExtractor
ErrorHandlerSet
interface: useErrorHandlerFacade
instead.NewErrorHandlerContext
handler compositor: useWithContextExtractor
instead.
0.31.0 - 2020-01-14
- Add a new error handler that extracts details from a context
0.30.0 - 2020-01-13
ErrorHandler
interfaceErrorHandlerContext
interfaceErrorHandlerSet
interface (combination ofErrorHandler
andErrorHandlerContext
)ErrorHandlers
error handler listErrorHandlerFunc
error handler function wrapperErrorHandlerContextFunc
error handler function wrapperNoopHandler
no-op error handlerTestErrorHandler
,TestErrorHandlerContext
,TestErrorHandlerSet
test error handlers
ErrorMatcher
is now a simple function type:func(err error) bool
(Breaking change)- Error handlers created using composition (
WithDetails
,WithFilter
) now returnErrorHandlerSet
- Updated errors packages
Handler
interface. UseErrorHandler
instead.ContextAwareHandler
interface. UseErrorHandlerContext
instead.Handlers
error handler list. UseErrorHandlers
instead.HandlerFunc
error handler function wrapper. UseErrorHandlerFunc
instead.Handle
helper function. UserErrorHandler.Handle
instead.NewNoopHandler
no-op error handler. UseNoopHandler
instead.MakeContextAware
error handler context wrapper. No replacement. (Error handlers are by default context aware)TestHandler
test error handler. UseTestErrorHandler
instead.
0.23.0 - 2020-01-09
- Update dependencies
0.22.1 - 2020-01-06
- Updated
emperror.dev/errors
dependency (fixed race condition)
0.22.0 - 2020-01-06
WithFilter
function to keep certain errors from being handled
0.21.3 - 2019-07-30
Close
function toHandlers
0.21.2 - 2019-07-19
ContextAwareHandler
interface andMakeContextAware
function
0.21.1 - 2019-07-19
WithDetails
function
HandlerWithDetails
function. UseWithDetails
instead.keyvals.ToMap
function. Use emperror.dev/errors/utils/keyval.ToMap instead.httperr
package. No replacement (yet).
0.21.0 - 2019-07-17
- Unwrap functions
MultiErrorBuilder
andErrors
. Use multi error tools from emperror.dev/errors instead.Wrap
function. Use emperror.dev/errors.WrapIf instead.Wrapf
function. Use emperror.dev/errors.WrapIff instead.With
andWrapWith
functions. Use emperror.dev/errors.WrapIfWithDetails and emperror.dev/errors.WithDetails instead.Context
function. Use emperror.dev/errors.GetDetails instead.HandlerWith
function. Use emperror.dev/emperror.WithDetails instead.HandlerWithPrefix
function. No replacement at this time.
0.20.0 - 2019-07-09
- Unwrap functions
- File structure
ForEachCause
function. Use emperror.dev/errors.UnwrapEach instead.NewCompositeHandler
function. Use Handlers instead.
0.19.0 - 2019-07-04
- Handler implementations (moved to separate packages)
0.18.1 - 2019-07-03
- Expose
keyvals
package
0.18.0 - 2019-07-03
- New vanity import URL: emperror.dev/emperror
0.17.2 - 2019-07-03
Errors
interface
0.17.1 - 2019-04-01
- Nil pointer in
Recover
0.17.0 - 2019-03-30
- Attach stack trace to panicked and recovered errors and skip unnecessary frames
- Switch to Go modules
- Replace testify assertions with manual checks, drop testify dependency
0.16.0 - 2018-12-29
- Refactored and renamed nopHandler to noopHandler
- Refactored the test handler
- Refactored and relocated the airbrake handler
- Refactored and relocated the bugsnag handler
- Refactored and relocated the logrus handler
- Rename
HandleIfErr
toHandle
- Make handlers async by default
- bugsnag: Logger (use github.com/goph/logur instead)
- Logrus hook
- Handler log func (unused)
0.15.0 - 2018-12-22
Panic
function to only panic if an error is not nil
- TestHandler is now concurrent safe
- bugsnag: Completely rewritten bugsnag logger
- bugsnag: Unexport
NewErrorWithStackFrames
- bugsnag: Export
handler
- airbrake: Export
handler
- Handler mock
0.14.0 - 2018-12-11
- errorlog: implementation moved to github.com/goph/logur
0.13.0 - 2018-12-07
- Replaced go-kit errorlog with a custom interface
0.12.1 - 2018-12-07
- Return nil from
With
when error is nil
0.12.0 - 2018-09-24
WrapWith
function to wrap an error with message, stack trace and context at the same time- Release scripts
0.11.0 - 2018-08-30
- httperr: Fix wrapped HTTP error formatting
- Fix stack expose wrapper error formatting
- Add Wrap and Wrapf functions
0.10.0 - 2018-08-21
- errorlogrus: Add
AttachContext
option to the Hook so that the entry data is appended to the error - errorlogrus: Add an error handler logging with Logrus
- httperr: Moved HTTP related code to separate package
- bugsnag: Improve logger
- errorlog: Renamed log package
- errorlog: Improved package
- errorlogrus: Rename logrus package
- airbrake: Improve Airbrake package
0.9.1 - 2018-07-27
- bugsnag: logger
0.9.0 - 2018-07-27
- bugsnag: support stack trace
- bugsnag: context and error name
- bugsnag: notifier struct is not exported anymore
- bugsnag:
NewNotifierFromHandler
constructor to create a handler from a custom notifier instance
0.8.0 - 2018-06-24
ForEachCause
function to be able to loop through all errors in a chainContext
function to get the context from an error (and all parent errors)StackTrace
andExposeStackTrace
for working with stack trace- logrus hook
- airbrake: Use
ForEachCause
to find an HTTP request embedded into an error - HTTP Request handling
- Refactor converting key-value pairs to maps
- Rename HTTP related function names to upper case (according to golint)
- airbrake: Make sure the stack trace is available from the topmost error
Causer
interfaceWithPrefix
didn't really make sense with the decorator patternContextor
interfaceStackTracer
interfaceErrorCollection
interface
0.7.1 - 2018-04-27
ErrorCollection
errors are handled as separate lines in the log handler
0.7.0 - 2018-04-26
HandlerWith
andHandlerWithPrefix
to attach context to a handler
- Append nil instead of
ErrMissingValue
to the context when a value is missing
0.6.0 - 2017-10-26
- HttpError interface for representing errors with an HTTP error context
- Aliases to functions in github.com/pkg/errors
0.5.0 - 2017-08-30
- All error related code from github.com/goph/stdlib
- Moved log handler to separate package
- Import subject package in tests to allow using the exported identifiers without a qualifier
0.4.0 - 2017-08-23
compositeHandler
not exported anymorenullHandler
not exported anymore
- Handler interface (use the one in stdlib)
- Recovery (use the one in stdlib)
0.3.0 - 2017-07-11
- Contextual logging of errors
- Contextual error support to Airbrake handler
- Make error level default in Log handler
- Do not export
LogHandler
0.2.2 - 2017-07-07
- Testing handler wrapping test state
0.2.1 - 2017-06-24
- Errors are passed as messages to loggers
0.2.0 - 2017-06-24
- Use go-kit log interface
0.1.2 - 2017-06-22
HandlerRecover
does not return a function anymore
0.1.1 - 2017-06-22
Recover
function (from github.com/goph/stdlib)HandlerRecover
to make recovering from a panic easierHandleIfErr
to spare ifs in code if the only handling logic is passing to an error handler