Some notable changes in this release:
- pool: All pool types now panic if configured after use.
- pool:
ContextPool
andResultContextPool
now always cancels its context whenWait()
returns. - pool:
ContextPool
andResultContextPool
now cancels its context when a task panics. - panics:
panics.RecoveredPanic
andpanics.NewRecoveredPanic(...)
have been renamedpanics.Recovered
andpanics.NewRecovered(...)
respectively. - panics:
panics.Recovered
no longer implementserror
directly, 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,
conc
now uses the standard library multi-error implementation - in Go 1.19 and earlier,
conc
now uses thego.uber.org/multierr
library
- 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.