Releases: sourcegraph/conc
v0.3.0
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.
v0.2.0
Some notable changes in this release:
- pool:
ContextPool
andResultContextPool
no longer cancel on the first task that errors by default. To enable cancellation on first error, useWithCancelOnError
. - panics:
conc.PanicCatcher
andconc.RecoveredPanic
have been moved to a new subpackage,panics
. - iter: Added
iter.Iterator
anditer.Mapper
for configurable concurrency onForEach
,Map
, and friends. The top-leveliter.ForEach
, etc will continue to work as before. - conc: Added
WaitGroup.WaitAndRecover
, which returns any recovered panics instead of re-panicking them.
Full changelog: v0.1.0...v0.2.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.
v0.1.0
Create go.yml