Besides other improvements, the list of issues here which I think my fork addresses/fixes:
Message formatting `WithMessage` vs. `Wrap`: https://github.com/pkg/errors/pull/114
Do not re-add stack trace if one is already there: https://github.com/pkg/errors/pull/122
Be explicit when you want to record a stack trace again vs. do not if it already exists: https://github.com/pkg/errors/issues/75 https://github.com/pkg/errors/issues/158 https://github.com/pkg/errors/issues/242
`StackTrace()` should return `[]uintptr`: https://github.com/pkg/errors/issues/79
Do not assume `Cause` cannot return `nil`: https://github.com/pkg/errors/issues/89
Obtaining only message from `Wrap`: https://github.com/pkg/errors/issues/93
`WithMessage` always prefixes the message: https://github.com/pkg/errors/issues/102
Differentiate between "wrapping" and "causing": https://github.com/pkg/errors/issues/112
Support for base errors: https://github.com/pkg/errors/issues/130 https://github.com/pkg/errors/issues/160
Support for a different delimiter by using Errorf: https://github.com/pkg/errors/issues/207 https://github.com/pkg/errors/issues/226
Support for Errorf wraping an error: https://github.com/pkg/errors/issues/244
Having each function wrap only once: https://github.com/pkg/errors/issues/223