github.com/timandy/routine
v1.1.6
#2743 most downloaded on Go modules
timandy/routine
What this package is like to depend on
Last release 1 years ago
18 Aug 2025
Release timing varies
gaps range from 9 days to 7 months
Nearly every release is documented
notes for 18 of 18 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
65 releases · first in 2021
0 releases in the last 12 months
see the full history below
Release timeline
65 releases · Dec 2021 to Aug 2025Releases
latest 60 of 65-
v1.1.618 Aug 2025Release notes
Open source →Release notes
Features
- Support capture and restore goroutine's context by
createInheritedMap()andrestoreInheritedMap()methods.
Links
- Source code https://github.com/timandy/routine/tree/v1.1.6
Release notes
Open source →Features
- Support capture and restore goroutine's context by
createInheritedMap()andrestoreInheritedMap()methods.
- Support capture and restore goroutine's context by
-
v1.1.6-0.20250811084437-44f4d17359a011 Aug 2025 pre-releaseNothing published for this version
-
v1.1.6-0.20250811071521-99676c5dc2b311 Aug 2025 pre-releaseNothing published for this version
-
v1.1.6-0.20250609074834-75d3d46e445109 Jun 2025 pre-releaseNothing published for this version
-
v1.1.512 Mar 2025Release notes
Open source →Release notes
Bugs
- Fix missing nil check for the underlying data when copying the context of
InheritableThreadLocal.
Features
- Support go version range
go1.18~go1.25(New supportgo1.24andgo1.25). - Add a new
static mode, which improves performance by over20%and provides higher memory safety by adding the compilation parameter-a -toolexec='routinex -v'.
Changes
- Modify the
goidtype touint64. - Update copyright.
Links
- Source code https://github.com/timandy/routine/tree/v1.1.5
Release notes
Open source →Bugs
- Fix missing nil check for the underlying data when copying the context of
InheritableThreadLocal.
Features
- Support go version range
go1.18~go1.25(New supportgo1.24andgo1.25). - Add a new
static mode, which improves performance by over20%and provides higher memory safety by adding the compilation parameter-a -toolexec='routinex -v'.
Changes
- Modify the
goidtype touint64. - Update copyright.
- Fix missing nil check for the underlying data when copying the context of
-
v1.1.5-0.20250311071502-0341a83ad8d211 Mar 2025 pre-releaseNothing published for this version
-
v1.1.5-0.20250306015248-6ed0688dbcd906 Mar 2025 pre-releaseNothing published for this version
-
v1.1.5-0.20250305032521-45d9732b3d8d05 Mar 2025 pre-releaseNothing published for this version
-
v1.1.415 Aug 2024Release notes
Open source →Release notes
Features
- Support go version range
go1.18~go1.23(New supportgo1.23).
Changes
- Fix interface conversion error: getting nil value from ThreadLocal[T], where T is interface type.
- Update copyright.
Links
- Source code https://github.com/timandy/routine/tree/v1.1.4
Release notes
Open source →Features
- Support go version range
go1.18~go1.23(New supportgo1.23).
Changes
- Fix interface conversion error: getting nil value from ThreadLocal[T], where T is interface type.
- Update copyright.
- Support go version range
-
v1.1.4-0.20240815073030-ca9c2acf7fe915 Aug 2024 pre-releaseNothing published for this version
-
v1.1.4-0.20240613022144-5dad6edb11ec13 Jun 2024 pre-releaseNothing published for this version
-
v1.1.4-0.20240612012600-6d53610e579912 Jun 2024 pre-releaseNothing published for this version
-
v1.1.4-0.20240507073150-e4a3e1fe2ba507 May 2024 pre-releaseNothing published for this version
-
v1.1.4-0.20240506072750-4c5348fad8ef06 May 2024 pre-releaseNothing published for this version
-
v1.1.4-0.20240220084943-c7d040ea079520 Feb 2024 pre-releaseNothing published for this version
-
v1.1.4-0.20231214023242-5702e04b784314 Dec 2023 pre-releaseNothing published for this version
-
v1.1.4-0.20231207072443-e87acca8581207 Dec 2023 pre-releaseNothing published for this version
-
v1.1.4-0.20231205054255-37a555347a3f05 Dec 2023 pre-releaseNothing published for this version
-
v1.1.4-0.20231204100015-9e8311100adf04 Dec 2023 pre-releaseNothing published for this version
-
v1.1.327 Nov 2023Release notes
Open source →Release notes
Features
- Support go version range
go1.18~go1.21. - Support
genericprogramming.
Links
- Source code https://github.com/timandy/routine/tree/v1.1.3
Release notes
Open source →Features
- Support go version range
go1.18~go1.21. - Support
genericprogramming.
- Support go version range
-
v1.1.3-0.20231126033648-177579b77df426 Nov 2023 pre-releaseNothing published for this version
-
v1.1.3-0.20231124072951-ba2d6a12b56624 Nov 2023 pre-releaseNothing published for this version
-
v1.1.3-0.20231016061408-9ac560235b5916 Oct 2023 pre-releaseNothing published for this version
-
v1.1.216 Oct 2023Release notes
Open source →Release notes
Features
- Support go version range
go1.13~go1.21(New supportgo1.21). - Support capture values of
InheritableThreadLocalbyWrapTask(),WrapWaitTask()andWrapWaitResultTask()methods. - Support run
FutureTaskbyFutureTask.Run()method. - Define function type
RunnableandFutureCallable.
Changes
- Rename type
FuturetoFutureTask. - Skip first runtime panic stack automatically for
RuntimeError.
Links
- Source code https://github.com/timandy/routine/tree/v1.1.2
Release notes
Open source →Features
- Support go version range
go1.13~go1.21(New supportgo1.21). - Support capture values of
InheritableThreadLocalbyWrapTask(),WrapWaitTask()andWrapWaitResultTask()methods. - Support run
FutureTaskbyFutureTask.Run()method. - Define function type
RunnableandFutureCallable.
Changes
- Rename type
FuturetoFutureTask. - Skip first runtime panic stack automatically for
RuntimeError.
- Support go version range
-
v1.1.2-0.20231013012234-93751a00f64913 Oct 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230925074058-8d327f0baac325 Sep 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230925073922-b70d1ad48cc725 Sep 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230925033235-c2a97cbd2f0f25 Sep 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230608120239-c5d68c68541808 Jun 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230608115819-2e87bfa7059208 Jun 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230530080107-6ea6a83841ce30 May 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230526101542-68e943b6b93026 May 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230525080345-09c06e087dbb25 May 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230524053823-0ac16aab9d5624 May 2023 pre-releaseNothing published for this version
-
v1.1.2-0.20230220091820-116334e7a11120 Feb 2023 pre-releaseNothing published for this version
-
v1.1.120 Feb 2023Release notes
Open source →Release notes
Features
- Support go version range
go1.13~go1.20(New supportgo1.20).
Changes
- Fix a memory leak risk caused by Timer.
- Reduce memory by using less chan.
- Update copyright.
Links
- Source code https://github.com/timandy/routine/tree/v1.1.1
Release notes
Open source →Features
- Support go version range
go1.13~go1.20(New supportgo1.20).
Changes
- Fix a memory leak risk caused by Timer.
- Reduce memory by using less chan.
- Update copyright.
- Support go version range
-
v1.1.1-0.20221123071101-6c03c7a19df223 Nov 2022 pre-releaseNothing published for this version
-
v1.1.1-0.20221123025101-9bd4aa447d5523 Nov 2022 pre-releaseNothing published for this version
-
v1.1.018 Nov 2022Release notes
Open source →Release notes
Features
- Support more arch
loong64,mips,mipsle,mips64,mips64le,ppc64le,riscv64,wasm.
Changes
- Upgrade dependencies to the latest version.
- Modify continuous integration script to support go1.19.
Links
- Source code https://github.com/timandy/routine/tree/v1.1.0
Release notes
Open source →Features
- Support more arch
loong64,mips,mipsle,mips64,mips64le,ppc64le,riscv64,wasm.
Changes
- Upgrade dependencies to the latest version.
- Modify continuous integration script to support go1.19.
- Support more arch
-
v1.0.10-0.20220818060923-a81be2c0e9b018 Aug 2022 pre-releaseNothing published for this version
-
v1.0.10-0.20220813081036-0b3ca062139f13 Aug 2022 pre-releaseNothing published for this version
-
v1.0.10-0.20220813080848-f85101484eff13 Aug 2022 pre-releaseNothing published for this version
-
v1.0.10-0.20220812014918-0f3709c0245b12 Aug 2022 pre-releaseNothing published for this version
-
v1.0.10-0.20220803094937-38e872d65bfc03 Aug 2022 pre-releaseNothing published for this version
-
v1.0.10-0.20220729062813-c4a9e99273f029 Jul 2022 pre-releaseNothing published for this version
-
v1.0.921 Jul 2022Release notes
Open source →Release notes
Features
- Support arch
386&amd64onfreebsdand archppc64&s390xonlinux. - Support
Cancel()andGetWithTimeout()methods for typeFuture. - Support checking whether the tasks created by
GoWait(CancelRunnable)andGoWaitResult(CancelCallable)methods are canceled.
Changes
- Fix spell error of type
Future. - Rename type
Anytoany.
Links
- Source code https://github.com/timandy/routine/tree/v1.0.9
Release notes
Open source →Features
- Support arch
386&amd64onfreebsdand archppc64&s390xonlinux. - Support
Cancel()andGetWithTimeout()methods for typeFuture. - Support checking whether the tasks created by
GoWait(CancelRunnable)andGoWaitResult(CancelCallable)methods are canceled.
Changes
- Fix spell error of type
Future. - Rename type
Anytoany.
- Support arch
-
v1.0.9-0.20220720131047-fba1e8f99d7220 Jul 2022 pre-releaseNothing published for this version
-
v1.0.9-0.20220719090202-40b18b8fc8f819 Jul 2022 pre-releaseNothing published for this version
-
v1.0.9-0.20220610080851-96e5be0e00f410 Jun 2022 pre-releaseNothing published for this version
-
v1.0.827 May 2022Release notes
Open source →Release notes
Changes
- Rename
StackErrortoRuntimeError. - Support error nesting for
RuntimeError. - Beautify the error message of
RuntimeError. - Remove
bytesconv.Bytes()andbytesconv.String()methods. - Restore to the previous value if an overflow occurs when getting the index of
ThreadLocal.
Links
- Source code https://github.com/timandy/routine/tree/v1.0.8
Release notes
Open source →Changes
- Rename
StackErrortoRuntimeError. - Support error nesting for
RuntimeError. - Beautify the error message of
RuntimeError. - Remove
bytesconv.Bytes()andbytesconv.String()methods. - Restore to the previous value if an overflow occurs when getting the index of
ThreadLocal.
- Rename
-
v1.0.8-0.20220428000102-6df48b13b9f728 Apr 2022 pre-releaseNothing published for this version
-
v1.0.728 Apr 2022Release notes
Open source →Release notes
Bugs
- Fix released
threadstruct may be resurrected from invalid memory and cause fault error.
Changes
- Modify the error message format of
StackError. - Define function type
SupplierforthreadLocalandinheritableThreadLocaltypes. - Define function type
RunnableandCallableforGo(Runnable),GoWait(Runnable)andGoWaitResult(Callable)methods.
Links
- Source code https://github.com/timandy/routine/tree/v1.0.7
Release notes
Open source →Bugs
- Fix released
threadstruct may be resurrected from invalid memory and cause fault error.
Changes
- Modify the error message format of
StackError. - Define function type
SupplierforthreadLocalandinheritableThreadLocaltypes. - Define function type
RunnableandCallableforGo(Runnable),GoWait(Runnable)andGoWaitResult(Callable)methods.
- Fix released
-
v1.0.620 Apr 2022Release notes
Open source →Bugs
- Fix fault error when pprof is running.
Features
- Support more architectures
386,amd64,armv6,armv7,arm64.
Changes
- Read and write
coroutineinformation through thegohacklibrary, theoretically support unreleasedgoversions in the future. - When
runtime.gcannot be obtained natively,panicdirectly instead of falling back to invokeruntime.Stack()method. - Remove api
ThreadLocal.Id().
-
v1.0.518 Mar 2022Release notes
Open source →Features
- Support go version range
go1.13~go1.18(New supportgo1.18).
Changes
- Change license to
Apache-2.0. - Upgrade dependencies to the latest version.
- Support go version range
-
v1.0.5-0.20220309032749-1291675558b009 Mar 2022 pre-releaseNothing published for this version
-
v1.0.5-0.20220308121041-5c5f42a498b608 Mar 2022 pre-releaseNothing published for this version
-
v1.0.407 Mar 2022Release notes
Open source →Features
- Add zero-copy conversion method between
bytesandstring, seebytesconv.Bytes()andbytesconv.String()methods.
Changes
- Modify the garbage collection mechanism, remove
gcTimer, no longer perform garbage collection through timers. - Store the context in the
g.labelsfield of the coroutine structure which will be set tonilafter coroutine ends. The context data will be collected at the nextGC. - Use
go:linknameto invoke assembly codegetg()directly to improve performance. - Implement the
getGoidByStack()method by invokehttp.http2curGoroutineID(). - Remove api
AllGoids()andForeachGoid().
- Add zero-copy conversion method between
-
v1.0.311 Feb 2022Release notes
Open source →Features
- Support copy
Cloneableobjects to sub goroutine when create sub goroutines byGo(),GoWait()andGoWaitResult()methods. - Add api
ForeachGoid(func(goid int64))to run a func for each goid.
Changes
- Support go version range
go1.13~go1.17(Not supportgo1.12anymore). - Use segment locks to reduce competition and improve
ThreadLocal'sread,writeandgcperformance. - Get all goids through
runtime.allgsinstead ofruntime.atomicAllG, sogo1.13~go1.15can also get all goids natively.
- Support copy
-
v1.0.220 Jan 2022Release notes
Open source →Bugs
- Fix bug in
getAllGoidByStack()method, Buffer may too small when dump all stack info.
Features
- Support initialize value when first get from
ThreadLocal. - Add
StackErrorto catch stack info. - Add
Featureto wait goroutine finished or get result from goroutine. - Add api
NewThreadLocalWithInitial(),NewInheritableThreadLocal()andNewInheritableThreadLocalWithInitial(). - Support Inherit values of
ThreadLocalbyGo,GoWait()andGoWaitResult().
Changes
- Rename
LocalStoragetoThreadLocal. - Remove api
Clear(),InheritContext()andRestoreContext(). - Improve
gcperformance by reducing the number of for loops.
- Fix bug in
-
v1.0.2-0.20220118092516-9055fa5555f018 Jan 2022 pre-releaseNothing published for this version