Skip to content

Latest commit

 

History

History
504 lines (289 loc) · 12.8 KB

CHANGELOG.md

File metadata and controls

504 lines (289 loc) · 12.8 KB

Change Log

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

Changed

  • Updated dependencies

0.32.0 - 2020-01-15

Added

  • ErrorHandlerFacade interface (combination of ErrorHandler and ErrorHandlerContext)

Changed

  • Renamed NewErrorHandlerContext to WithContextExtractor

Deprecated

  • ErrorHandlerSet interface: use ErrorHandlerFacade instead.
  • NewErrorHandlerContext handler compositor: use WithContextExtractor instead.

0.31.0 - 2020-01-14

Added

  • Add a new error handler that extracts details from a context

0.30.0 - 2020-01-13

Added

  • ErrorHandler interface
  • ErrorHandlerContext interface
  • ErrorHandlerSet interface (combination of ErrorHandler and ErrorHandlerContext)
  • ErrorHandlers error handler list
  • ErrorHandlerFunc error handler function wrapper
  • ErrorHandlerContextFunc error handler function wrapper
  • NoopHandler no-op error handler
  • TestErrorHandler, TestErrorHandlerContext, TestErrorHandlerSet test error handlers

Changed

  • ErrorMatcher is now a simple function type: func(err error) bool (Breaking change)
  • Error handlers created using composition (WithDetails, WithFilter) now return ErrorHandlerSet
  • Updated errors packages

Deprecated

  • Handler interface. Use ErrorHandler instead.
  • ContextAwareHandler interface. Use ErrorHandlerContext instead.
  • Handlers error handler list. Use ErrorHandlers instead.
  • HandlerFunc error handler function wrapper. Use ErrorHandlerFunc instead.
  • Handle helper function. User ErrorHandler.Handle instead.
  • NewNoopHandler no-op error handler. Use NoopHandler instead.
  • MakeContextAware error handler context wrapper. No replacement. (Error handlers are by default context aware)
  • TestHandler test error handler. Use TestErrorHandler instead.

0.23.0 - 2020-01-09

Changed

  • Update dependencies

0.22.1 - 2020-01-06

Changed

  • Updated emperror.dev/errors dependency (fixed race condition)

0.22.0 - 2020-01-06

Added

  • WithFilter function to keep certain errors from being handled

0.21.3 - 2019-07-30

Added

  • Close function to Handlers

0.21.2 - 2019-07-19

Added

  • ContextAwareHandler interface and MakeContextAware function

0.21.1 - 2019-07-19

Added

  • WithDetails function

Deprecated

0.21.0 - 2019-07-17

Removed

  • Unwrap functions

Deprecated

0.20.0 - 2019-07-09

Added

  • Unwrap functions

Changed

  • File structure

Deprecated

0.19.0 - 2019-07-04

Removed

  • Handler implementations (moved to separate packages)

0.18.1 - 2019-07-03

Changed

  • Expose keyvals package

0.18.0 - 2019-07-03

Changed

  • New vanity import URL: emperror.dev/emperror

0.17.2 - 2019-07-03

Added

  • Errors interface

0.17.1 - 2019-04-01

Fixed

  • Nil pointer in Recover

0.17.0 - 2019-03-30

Changed

  • 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

Added

Changed

  • 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 to Handle
  • Make handlers async by default

Removed

0.15.0 - 2018-12-22

Added

  • Panic function to only panic if an error is not nil

Changed

  • TestHandler is now concurrent safe
  • bugsnag: Completely rewritten bugsnag logger
  • bugsnag: Unexport NewErrorWithStackFrames
  • bugsnag: Export handler
  • airbrake: Export handler

Removed

  • Handler mock

0.14.0 - 2018-12-11

Removed

0.13.0 - 2018-12-07

Changed

  • Replaced go-kit errorlog with a custom interface

0.12.1 - 2018-12-07

Added

  • Return nil from With when error is nil

0.12.0 - 2018-09-24

Added

  • WrapWith function to wrap an error with message, stack trace and context at the same time
  • Release scripts

0.11.0 - 2018-08-30

Fixed

  • httperr: Fix wrapped HTTP error formatting
  • Fix stack expose wrapper error formatting
  • Add Wrap and Wrapf functions

0.10.0 - 2018-08-21

Added

  • 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

Changed

  • 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

Added

  • bugsnag: logger

0.9.0 - 2018-07-27

Added

  • bugsnag: support stack trace
  • bugsnag: context and error name

Changed

  • 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

Added

  • ForEachCause function to be able to loop through all errors in a chain
  • Context function to get the context from an error (and all parent errors)
  • StackTrace and ExposeStackTrace for working with stack trace
  • logrus hook

Changed

  • 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)

Fixed

  • airbrake: Make sure the stack trace is available from the topmost error

Removed

  • Causer interface
  • WithPrefix didn't really make sense with the decorator pattern
  • Contextor interface
  • StackTracer interface
  • ErrorCollection interface

0.7.1 - 2018-04-27

Changed

  • ErrorCollection errors are handled as separate lines in the log handler

0.7.0 - 2018-04-26

Added

  • HandlerWith and HandlerWithPrefix to attach context to a handler

Changed

  • Append nil instead of ErrMissingValue to the context when a value is missing

0.6.0 - 2017-10-26

Added

  • HttpError interface for representing errors with an HTTP error context

Removed

0.5.0 - 2017-08-30

Added

Changed

0.4.0 - 2017-08-23

Changed

  • compositeHandler not exported anymore
  • nullHandler not exported anymore

Removed

  • Handler interface (use the one in stdlib)
  • Recovery (use the one in stdlib)

0.3.0 - 2017-07-11

Added

  • Contextual logging of errors
  • Contextual error support to Airbrake handler

Changed

  • Make error level default in Log handler
  • Do not export LogHandler

0.2.2 - 2017-07-07

Added

  • Testing handler wrapping test state

0.2.1 - 2017-06-24

Changed

  • Errors are passed as messages to loggers

0.2.0 - 2017-06-24

Changed

  • Use go-kit log interface

0.1.2 - 2017-06-22

Changed

  • HandlerRecover does not return a function anymore

0.1.1 - 2017-06-22

Added

  • Recover function (from github.com/goph/stdlib)
  • HandlerRecover to make recovering from a panic easier
  • HandleIfErr to spare ifs in code if the only handling logic is passing to an error handler

0.1.0 - 2017-06-19

Added

  • Handler interface
  • NullHandler serving as a fallback
  • LogHandler to send errors to log collectors
  • TestHandler to test code using error handlers
  • CompositeHandler to handle errors in multiple handlers
  • Airbrake handler
  • Bugsnag handler