Some notable changes in this release:
- pool: All pool types now panic if configured after use.
- pool:
ContextPoolandResultContextPoolnow always cancels its context whenWait()returns. - pool:
ContextPoolandResultContextPoolnow cancels its context when a task panics. - panics:
panics.RecoveredPanicandpanics.NewRecoveredPanic(...)have been renamedpanics.Recoveredandpanics.NewRecovered(...)respectively. - panics:
panics.Recoveredno longer implementserrordirectly, which would previously have unintended side effects - instead, it can be converted into an error implementation explicitly with(*Recovered).AsError(). - panics: Added a package-level
panics.Try(...)for recovering from panics from a single function. - multierrors: For pools that return multiple errors:
- in Go 1.20 and later,
concnow uses the standard library multi-error implementation - in Go 1.19 and earlier,
concnow uses thego.uber.org/multierrlibrary
- in Go 1.20 and later,
Full changelog: v0.2.0...v0.3.0
Some of the changes listed above are breaking changes - this package is currently pre-1.0, and there are likely to be other breaking changes before a 1.0 release as we stabilize the APIs and tweak defaults. Please open an issue if you have questions, concerns, or requests that you'd like addressed before the 1.0 release. Currently, a 1.0 is targeted for March 2023.