PackageTrack
Sign in Get early access

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 2025
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 65
  1. v1.1.6 18 Aug 2025
    Release notes

    Release notes

    Features

    • Support capture and restore goroutine's context by createInheritedMap() and restoreInheritedMap() methods.

    Links

    Open source →
    Release notes

    Features

    • Support capture and restore goroutine's context by createInheritedMap() and restoreInheritedMap() methods.
    Open source →
    Release notes

    Version 1.1.6 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  2. v1.1.6-0.20250811084437-44f4d17359a0 11 Aug 2025 pre-release

    Nothing published for this version

  3. v1.1.6-0.20250811071521-99676c5dc2b3 11 Aug 2025 pre-release

    Nothing published for this version

  4. v1.1.6-0.20250609074834-75d3d46e4451 09 Jun 2025 pre-release

    Nothing published for this version

  5. v1.1.5 12 Mar 2025
    Release notes

    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 support go1.24 and go1.25).
    • Add a new static mode, which improves performance by over 20% and provides higher memory safety by adding the compilation parameter -a -toolexec='routinex -v'.

    Changes

    • Modify the goid type to uint64.
    • Update copyright.

    Links

    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 support go1.24 and go1.25).
    • Add a new static mode, which improves performance by over 20% and provides higher memory safety by adding the compilation parameter -a -toolexec='routinex -v'.

    Changes

    • Modify the goid type to uint64.
    • Update copyright.
    Open source →
    Release notes

    Version 1.1.5

    Compare

    Choose a tag to compare

    Open source →
  6. v1.1.5-0.20250311071502-0341a83ad8d2 11 Mar 2025 pre-release

    Nothing published for this version

  7. v1.1.5-0.20250306015248-6ed0688dbcd9 06 Mar 2025 pre-release

    Nothing published for this version

  8. v1.1.5-0.20250305032521-45d9732b3d8d 05 Mar 2025 pre-release

    Nothing published for this version

  9. v1.1.4 15 Aug 2024
    Release notes

    Release notes

    Features

    • Support go version range go1.18 ~ go1.23(New support go1.23).

    Changes

    • Fix interface conversion error: getting nil value from ThreadLocal[T], where T is interface type.
    • Update copyright.

    Links

    Open source →
    Release notes

    Features

    • Support go version range go1.18 ~ go1.23(New support go1.23).

    Changes

    • Fix interface conversion error: getting nil value from ThreadLocal[T], where T is interface type.
    • Update copyright.
    Open source →
    Release notes

    Version 1.1.4

    Compare

    Choose a tag to compare

    Open source →
  10. v1.1.4-0.20240815073030-ca9c2acf7fe9 15 Aug 2024 pre-release

    Nothing published for this version

  11. v1.1.4-0.20240613022144-5dad6edb11ec 13 Jun 2024 pre-release

    Nothing published for this version

  12. v1.1.4-0.20240612012600-6d53610e5799 12 Jun 2024 pre-release

    Nothing published for this version

  13. v1.1.4-0.20240507073150-e4a3e1fe2ba5 07 May 2024 pre-release

    Nothing published for this version

  14. v1.1.4-0.20240506072750-4c5348fad8ef 06 May 2024 pre-release

    Nothing published for this version

  15. v1.1.4-0.20240220084943-c7d040ea0795 20 Feb 2024 pre-release

    Nothing published for this version

  16. v1.1.4-0.20231214023242-5702e04b7843 14 Dec 2023 pre-release

    Nothing published for this version

  17. v1.1.4-0.20231207072443-e87acca85812 07 Dec 2023 pre-release

    Nothing published for this version

  18. v1.1.4-0.20231205054255-37a555347a3f 05 Dec 2023 pre-release

    Nothing published for this version

  19. v1.1.4-0.20231204100015-9e8311100adf 04 Dec 2023 pre-release

    Nothing published for this version

  20. v1.1.3 27 Nov 2023
    Release notes

    Release notes

    Features

    • Support go version range go1.18 ~ go1.21.
    • Support generic programming.

    Links

    Open source →
    Release notes

    Features

    • Support go version range go1.18 ~ go1.21.
    • Support generic programming.
    Open source →
    Release notes

    Version 1.1.3

    Compare

    Choose a tag to compare

    Open source →
  21. v1.1.3-0.20231126033648-177579b77df4 26 Nov 2023 pre-release

    Nothing published for this version

  22. v1.1.3-0.20231124072951-ba2d6a12b566 24 Nov 2023 pre-release

    Nothing published for this version

  23. v1.1.3-0.20231016061408-9ac560235b59 16 Oct 2023 pre-release

    Nothing published for this version

  24. v1.1.2 16 Oct 2023
    Release notes

    Release notes

    Features

    • Support go version range go1.13 ~ go1.21(New support go1.21).
    • Support capture values of InheritableThreadLocal by WrapTask(), WrapWaitTask() and WrapWaitResultTask() methods.
    • Support run FutureTask by FutureTask.Run() method.
    • Define function type Runnable and FutureCallable.

    Changes

    • Rename type Future to FutureTask.
    • Skip first runtime panic stack automatically for RuntimeError.

    Links

    Open source →
    Release notes

    Features

    • Support go version range go1.13 ~ go1.21(New support go1.21).
    • Support capture values of InheritableThreadLocal by WrapTask(), WrapWaitTask() and WrapWaitResultTask() methods.
    • Support run FutureTask by FutureTask.Run() method.
    • Define function type Runnable and FutureCallable.

    Changes

    • Rename type Future to FutureTask.
    • Skip first runtime panic stack automatically for RuntimeError.
    Open source →
    Release notes

    Version 1.1.2

    Compare

    Choose a tag to compare

    Open source →
  25. v1.1.2-0.20231013012234-93751a00f649 13 Oct 2023 pre-release

    Nothing published for this version

  26. v1.1.2-0.20230925074058-8d327f0baac3 25 Sep 2023 pre-release

    Nothing published for this version

  27. v1.1.2-0.20230925073922-b70d1ad48cc7 25 Sep 2023 pre-release

    Nothing published for this version

  28. v1.1.2-0.20230925033235-c2a97cbd2f0f 25 Sep 2023 pre-release

    Nothing published for this version

  29. v1.1.2-0.20230608120239-c5d68c685418 08 Jun 2023 pre-release

    Nothing published for this version

  30. v1.1.2-0.20230608115819-2e87bfa70592 08 Jun 2023 pre-release

    Nothing published for this version

  31. v1.1.2-0.20230530080107-6ea6a83841ce 30 May 2023 pre-release

    Nothing published for this version

  32. v1.1.2-0.20230526101542-68e943b6b930 26 May 2023 pre-release

    Nothing published for this version

  33. v1.1.2-0.20230525080345-09c06e087dbb 25 May 2023 pre-release

    Nothing published for this version

  34. v1.1.2-0.20230524053823-0ac16aab9d56 24 May 2023 pre-release

    Nothing published for this version

  35. v1.1.2-0.20230220091820-116334e7a111 20 Feb 2023 pre-release

    Nothing published for this version

  36. v1.1.1 20 Feb 2023
    Release notes

    Release notes

    Features

    • Support go version range go1.13 ~ go1.20(New support go1.20).

    Changes

    • Fix a memory leak risk caused by Timer.
    • Reduce memory by using less chan.
    • Update copyright.

    Links

    Open source →
    Release notes

    Features

    • Support go version range go1.13 ~ go1.20(New support go1.20).

    Changes

    • Fix a memory leak risk caused by Timer.
    • Reduce memory by using less chan.
    • Update copyright.
    Open source →
    Release notes

    Version 1.1.1

    Compare

    Choose a tag to compare

    Open source →
  37. v1.1.1-0.20221123071101-6c03c7a19df2 23 Nov 2022 pre-release

    Nothing published for this version

  38. v1.1.1-0.20221123025101-9bd4aa447d55 23 Nov 2022 pre-release

    Nothing published for this version

  39. v1.1.0 18 Nov 2022
    Release notes

    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

    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.
    Open source →
    Release notes

    Version 1.1.0

    Compare

    Choose a tag to compare

    Open source →
  40. v1.0.10-0.20220818060923-a81be2c0e9b0 18 Aug 2022 pre-release

    Nothing published for this version

  41. v1.0.10-0.20220813081036-0b3ca062139f 13 Aug 2022 pre-release

    Nothing published for this version

  42. v1.0.10-0.20220813080848-f85101484eff 13 Aug 2022 pre-release

    Nothing published for this version

  43. v1.0.10-0.20220812014918-0f3709c0245b 12 Aug 2022 pre-release

    Nothing published for this version

  44. v1.0.10-0.20220803094937-38e872d65bfc 03 Aug 2022 pre-release

    Nothing published for this version

  45. v1.0.10-0.20220729062813-c4a9e99273f0 29 Jul 2022 pre-release

    Nothing published for this version

  46. v1.0.9 21 Jul 2022
    Release notes

    Release notes

    Features

    • Support arch 386 & amd64 on freebsd and arch ppc64 & s390x on linux.
    • Support Cancel() and GetWithTimeout() methods for type Future.
    • Support checking whether the tasks created by GoWait(CancelRunnable) and GoWaitResult(CancelCallable) methods are canceled.

    Changes

    • Fix spell error of type Future.
    • Rename type Any to any.

    Links

    Open source →
    Release notes

    Features

    • Support arch 386 & amd64 on freebsd and arch ppc64 & s390x on linux.
    • Support Cancel() and GetWithTimeout() methods for type Future.
    • Support checking whether the tasks created by GoWait(CancelRunnable) and GoWaitResult(CancelCallable) methods are canceled.

    Changes

    • Fix spell error of type Future.
    • Rename type Any to any.
    Open source →
    Release notes

    Version 1.0.9

    Compare

    Choose a tag to compare

    Open source →
  47. v1.0.9-0.20220720131047-fba1e8f99d72 20 Jul 2022 pre-release

    Nothing published for this version

  48. v1.0.9-0.20220719090202-40b18b8fc8f8 19 Jul 2022 pre-release

    Nothing published for this version

  49. v1.0.9-0.20220610080851-96e5be0e00f4 10 Jun 2022 pre-release

    Nothing published for this version

  50. v1.0.8 27 May 2022
    Release notes

    Release notes

    Changes

    • Rename StackError to RuntimeError.
    • Support error nesting for RuntimeError.
    • Beautify the error message of RuntimeError.
    • Remove bytesconv.Bytes() and bytesconv.String() methods.
    • Restore to the previous value if an overflow occurs when getting the index of ThreadLocal.

    Links

    Open source →
    Release notes

    Changes

    • Rename StackError to RuntimeError.
    • Support error nesting for RuntimeError.
    • Beautify the error message of RuntimeError.
    • Remove bytesconv.Bytes() and bytesconv.String() methods.
    • Restore to the previous value if an overflow occurs when getting the index of ThreadLocal.
    Open source →
    Release notes

    Version 1.0.8

    Compare

    Choose a tag to compare

    Open source →
  51. v1.0.8-0.20220428000102-6df48b13b9f7 28 Apr 2022 pre-release

    Nothing published for this version

  52. v1.0.7 28 Apr 2022
    Release notes

    Release notes

    Bugs

    • Fix released thread struct may be resurrected from invalid memory and cause fault error.

    Changes

    • Modify the error message format of StackError.
    • Define function type Supplier for threadLocal and inheritableThreadLocal types.
    • Define function type Runnable and Callable for Go(Runnable), GoWait(Runnable) and GoWaitResult(Callable) methods.

    Links

    Open source →
    Release notes

    Bugs

    • Fix released thread struct may be resurrected from invalid memory and cause fault error.

    Changes

    • Modify the error message format of StackError.
    • Define function type Supplier for threadLocal and inheritableThreadLocal types.
    • Define function type Runnable and Callable for Go(Runnable), GoWait(Runnable) and GoWaitResult(Callable) methods.
    Open source →
    Release notes

    Version 1.0.7

    Compare

    Choose a tag to compare

    Open source →
  53. v1.0.6 20 Apr 2022
    Release notes

    Bugs

    • Fix fault error when pprof is running.

    Features

    • Support more architectures 386, amd64, armv6, armv7, arm64.

    Changes

    • Read and write coroutine information through the gohack library, theoretically support unreleased go versions in the future.
    • When runtime.g cannot be obtained natively, panic directly instead of falling back to invoke runtime.Stack() method.
    • Remove api ThreadLocal.Id().
    Open source →
  54. v1.0.5 18 Mar 2022
    Release notes

    Features

    • Support go version range go1.13 ~ go1.18(New support go1.18).

    Changes

    • Change license to Apache-2.0.
    • Upgrade dependencies to the latest version.
    Open source →
  55. v1.0.5-0.20220309032749-1291675558b0 09 Mar 2022 pre-release

    Nothing published for this version

  56. v1.0.5-0.20220308121041-5c5f42a498b6 08 Mar 2022 pre-release

    Nothing published for this version

  57. v1.0.4 07 Mar 2022
    Release notes

    Features

    • Add zero-copy conversion method between bytes and string, see bytesconv.Bytes() and bytesconv.String() methods.

    Changes

    • Modify the garbage collection mechanism, remove gcTimer, no longer perform garbage collection through timers.
    • Store the context in the g.labels field of the coroutine structure which will be set to nil after coroutine ends. The context data will be collected at the next GC.
    • Use go:linkname to invoke assembly code getg() directly to improve performance.
    • Implement the getGoidByStack() method by invoke http.http2curGoroutineID().
    • Remove api AllGoids() and ForeachGoid().
    Open source →
  58. v1.0.3 11 Feb 2022
    Release notes

    Features

    • Support copy Cloneable objects to sub goroutine when create sub goroutines by Go(), GoWait() and GoWaitResult() methods.
    • Add api ForeachGoid(func(goid int64)) to run a func for each goid.

    Changes

    • Support go version range go1.13 ~ go1.17(Not support go1.12 anymore).
    • Use segment locks to reduce competition and improve ThreadLocal's read, write and gc performance.
    • Get all goids through runtime.allgs instead of runtime.atomicAllG, so go1.13 ~ go1.15 can also get all goids natively.
    Open source →
  59. v1.0.2 20 Jan 2022
    Release notes

    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 StackError to catch stack info.
    • Add Feature to wait goroutine finished or get result from goroutine.
    • Add api NewThreadLocalWithInitial(), NewInheritableThreadLocal() and NewInheritableThreadLocalWithInitial().
    • Support Inherit values of ThreadLocal by Go, GoWait() and GoWaitResult().

    Changes

    • Rename LocalStorage to ThreadLocal.
    • Remove api Clear(), InheritContext() and RestoreContext().
    • Improve gc performance by reducing the number of for loops.
    Open source →
  60. v1.0.2-0.20220118092516-9055fa5555f0 18 Jan 2022 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive