Releases: sourcegraph/conc
v0.3.0
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.
v0.2.0
Some notable changes in this release:
- pool:
ContextPoolandResultContextPoolno longer cancel on the first task that errors by default. To enable cancellation on first error, useWithCancelOnError. - panics:
conc.PanicCatcherandconc.RecoveredPanichave been moved to a new subpackage,panics. - iter: Added
iter.Iteratoranditer.Mapperfor 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