...
1# Change Log
2
3
4All notable changes to this project will be documented in this file.
5
6The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
7and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
8
9
10## [Unreleased]
11
12
13## [0.17.1] - 2019-04-01
14
15### Fixed
16
17- Nil pointer in `Recover`
18
19
20## [0.17.0] - 2019-03-30
21
22## Changed
23
24- Attach stack trace to panicked and recovered errors and skip unnecessary frames
25- Switch to Go modules
26- Replace testify assertions with manual checks, drop testify dependency
27
28
29## [0.16.0] - 2018-12-29
30
31### Added
32
33- [Rollbar](https://rollbar.com) handler
34- [Sentry](https://sentry.io) handler
35- Integration tests for handlers
36
37### Changed
38
39- Refactored and renamed nopHandler to noopHandler
40- Refactored the test handler
41- Refactored and relocated the airbrake handler
42- Refactored and relocated the bugsnag handler
43- Refactored and relocated the logrus handler
44- Rename `HandleIfErr` to `Handle`
45- Make handlers async by default
46
47### Removed
48
49- **bugsnag:** Logger (use [github.com/goph/logur](https://github.com/goph/logur) instead)
50- Logrus hook
51- Handler log func (unused)
52
53
54## [0.15.0] - 2018-12-22
55
56### Added
57
58- `Panic` function to only panic if an error is not nil
59
60### Changed
61
62- TestHandler is now concurrent safe
63- **bugsnag:** Completely rewritten bugsnag logger
64- **bugsnag:** Unexport `NewErrorWithStackFrames`
65- **bugsnag:** Export `handler`
66- **airbrake:** Export `handler`
67
68### Removed
69
70- Handler mock
71
72
73## [0.14.0] - 2018-12-11
74
75### Removed
76
77- **errorlog:** implementation moved to [github.com/goph/logur](https://github.com/goph/logur)
78
79
80## [0.13.0] - 2018-12-07
81
82### Changed
83
84- Replaced go-kit errorlog with a custom interface
85
86
87## [0.12.1] - 2018-12-07
88
89### Added
90
91- Return nil from `With` when error is nil
92
93
94## [0.12.0] - 2018-09-24
95
96### Added
97
98- `WrapWith` function to wrap an error with message, stack trace and context at the same time
99- Release scripts
100
101
102## [0.11.0] - 2018-08-30
103
104### Fixed
105
106- **httperr:** Fix wrapped HTTP error formatting
107- Fix stack expose wrapper error formatting
108- Add Wrap and Wrapf functions
109
110
111## [0.10.0] - 2018-08-21
112
113### Added
114
115- **errorlogrus:** Add `AttachContext` option to the Hook so that the entry data is appended to the error
116- **errorlogrus:** Add an error handler logging with Logrus
117
118### Changed
119
120- **httperr:** Moved HTTP related code to separate package
121- **bugsnag:** Improve logger
122- **errorlog:** Renamed log package
123- **errorlog:** Improved package
124- **errorlogrus:** Rename logrus package
125- **airbrake:** Improve Airbrake package
126
127
128## [0.9.1] - 2018-07-27
129
130### Added
131
132- **bugsnag:** logger
133
134
135## [0.9.0] - 2018-07-27
136
137### Added
138
139- **bugsnag:** support stack trace
140- **bugsnag:** context and error name
141
142### Changed
143
144- **bugsnag:** notifier struct is not exported anymore
145- **bugsnag:** `NewNotifierFromHandler` constructor to create a handler from a custom notifier instance
146
147
148## [0.8.0] - 2018-06-24
149
150### Added
151
152- `ForEachCause` function to be able to loop through all errors in a chain
153- `Context` function to get the context from an error (and all parent errors)
154- `StackTrace` and `ExposeStackTrace` for working with stack trace
155- logrus hook
156
157### Changed
158
159- **airbrake:** Use `ForEachCause` to find an HTTP request embedded into an error
160- HTTP Request handling
161- Refactor converting key-value pairs to maps
162- Rename HTTP related function names to upper case (according to golint)
163
164### Fixed
165
166- **airbrake:** Make sure the stack trace is available from the topmost error
167
168### Removed
169
170- `Causer` interface
171- `WithPrefix` didn't really make sense with the decorator pattern
172- `Contextor` interface
173- `StackTracer` interface
174- `ErrorCollection` interface
175
176
177## [0.7.1] - 2018-04-27
178
179### Changed
180
181- `ErrorCollection` errors are handled as separate lines in the log handler
182
183
184## [0.7.0] - 2018-04-26
185
186### Added
187
188- `HandlerWith` and `HandlerWithPrefix` to attach context to a handler
189
190### Changed
191
192- Append nil instead of `ErrMissingValue` to the context when a value is missing
193
194
195## [0.6.0] - 2017-10-26
196
197### Added
198
199- HttpError interface for representing errors with an HTTP error context
200
201### Removed
202
203- Aliases to functions in [github.com/pkg/errors](https://github.com/pkg/errors)
204
205
206## [0.5.0] - 2017-08-30
207
208### Added
209
210- All error related code from [github.com/goph/stdlib](github.com/goph/stdlib)
211
212### Changed
213
214- Moved log handler to separate package
215- Import subject package in tests to allow [using the exported identifiers without a qualifier](https://golang.org/ref/spec#Import_declarations)
216
217
218## [0.4.0] - 2017-08-23
219
220### Changed
221
222- `compositeHandler` not exported anymore
223- `nullHandler` not exported anymore
224
225### Removed
226
227- Handler interface (use the one in stdlib)
228- Recovery (use the one in stdlib)
229
230
231## [0.3.0] - 2017-07-11
232
233### Added
234
235- Contextual logging of errors
236- Contextual error support to Airbrake handler
237
238### Changed
239
240- Make error level default in Log handler
241- Do not export `LogHandler`
242
243
244## [0.2.2] - 2017-07-07
245
246### Added
247
248- Testing handler wrapping test state
249
250
251## [0.2.1] - 2017-06-24
252
253### Changed
254
255- Errors are passed as messages to loggers
256
257
258## [0.2.0] - 2017-06-24
259
260### Changed
261
262- Use go-kit log interface
263
264
265## [0.1.2] - 2017-06-22
266
267### Changed
268
269- `HandlerRecover` does not return a function anymore
270
271
272## [0.1.1] - 2017-06-22
273
274### Added
275
276- `Recover` function (from [github.com/goph/stdlib](https://github.com/goph/stdlib))
277- `HandlerRecover` to make recovering from a panic easier
278- `HandleIfErr` to spare ifs in code if the only handling logic is passing to an error handler
279
280
281## 0.1.0 - 2017-06-19
282
283### Added
284
285- `Handler` interface
286- `NullHandler` serving as a fallback
287- `LogHandler` to send errors to log collectors
288- `TestHandler` to test code using error handlers
289- `CompositeHandler` to handle errors in multiple handlers
290- [Airbrake](https://airbrake.io) handler
291- [Bugsnag](https://bugsnag.com) handler
292
293
294[Unreleased]: https://github.com/goph/emperror/compare/v0.17.1...HEAD
295[0.17.1]: https://github.com/goph/emperror/compare/v0.17.0...v0.17.1
296[0.17.0]: https://github.com/goph/emperror/compare/v0.16.0...v0.17.0
297[0.16.0]: https://github.com/goph/emperror/compare/v0.15.0...v0.16.0
298[0.15.0]: https://github.com/goph/emperror/compare/v0.14.0...v0.15.0
299[0.14.0]: https://github.com/goph/emperror/compare/v0.13.0...v0.14.0
300[0.13.0]: https://github.com/goph/emperror/compare/v0.12.1...v0.13.0
301[0.12.1]: https://github.com/goph/emperror/compare/v0.12.0...v0.12.1
302[0.12.0]: https://github.com/goph/emperror/compare/v0.11.0...v0.12.0
303[0.11.0]: https://github.com/goph/emperror/compare/v0.10.0...v0.11.0
304[0.10.0]: https://github.com/goph/emperror/compare/v0.9.1...v0.10.0
305[0.9.1]: https://github.com/goph/emperror/compare/v0.9.0...v0.9.1
306[0.9.0]: https://github.com/goph/emperror/compare/v0.8.0...v0.9.0
307[0.8.0]: https://github.com/goph/emperror/compare/v0.7.1...v0.8.0
308[0.7.1]: https://github.com/goph/emperror/compare/v0.7.0...v0.7.1
309[0.7.0]: https://github.com/goph/emperror/compare/v0.6.0...v0.7.0
310[0.6.0]: https://github.com/goph/emperror/compare/v0.5.0...v0.6.0
311[0.5.0]: https://github.com/goph/emperror/compare/v0.4.0...v0.5.0
312[0.4.0]: https://github.com/goph/emperror/compare/v0.3.0...v0.4.0
313[0.3.0]: https://github.com/goph/emperror/compare/v0.2.2...v0.3.0
314[0.2.2]: https://github.com/goph/emperror/compare/v0.2.1...v0.2.2
315[0.2.1]: https://github.com/goph/emperror/compare/v0.2.0...v0.2.1
316[0.2.0]: https://github.com/goph/emperror/compare/v0.1.2...v0.2.0
317[0.1.2]: https://github.com/goph/emperror/compare/v0.1.1...v0.1.2
318[0.1.1]: https://github.com/goph/emperror/compare/v0.1.0...v0.1.1
View as plain text