PackageTrack

Go modules · #2743 by repository stars

github.com/timandy/routine

v1.1.6timandy/routine

Release timeline

65 releases since 2021
20222023202420252026

Releases

  1. v1.1.618 Aug 2025
    Release notes

    Release notes

    Features

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

    Links

    Open source →
    Additional notes2 sources agree

    Features

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

    Version 1.1.6 Latest

    Latest

    Compare

    Choose a tag to compare

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

    Nothing published for this version

  3. v1.1.6-0.20250811071521-99676c5dc2b311 Aug 2025pre-release

    Nothing published for this version

  4. v1.1.6-0.20250609074834-75d3d46e44519 Jun 2025pre-release

    Nothing published for this version

  5. v1.1.512 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 →
    Additional notes2 sources agree

    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 →
    Additional notes

    Version 1.1.5

    Compare

    Choose a tag to compare

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

    Nothing published for this version

  7. v1.1.5-0.20250306015248-6ed0688dbcd96 Mar 2025pre-release

    Nothing published for this version

  8. v1.1.5-0.20250305032521-45d9732b3d8d5 Mar 2025pre-release

    Nothing published for this version

  9. v1.1.415 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 →
    Additional notes2 sources agree

    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 →
    Additional notes

    Version 1.1.4

    Compare

    Choose a tag to compare

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

    Nothing published for this version

  11. v1.1.4-0.20240613022144-5dad6edb11ec13 Jun 2024pre-release

    Nothing published for this version

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

    Nothing published for this version

  13. v1.1.4-0.20240507073150-e4a3e1fe2ba57 May 2024pre-release

    Nothing published for this version

  14. v1.1.4-0.20240506072750-4c5348fad8ef6 May 2024pre-release

    Nothing published for this version

  15. v1.1.4-0.20240220084943-c7d040ea079520 Feb 2024pre-release

    Nothing published for this version

  16. v1.1.4-0.20231214023242-5702e04b784314 Dec 2023pre-release

    Nothing published for this version

  17. v1.1.4-0.20231207072443-e87acca858127 Dec 2023pre-release

    Nothing published for this version

  18. v1.1.4-0.20231205054255-37a555347a3f5 Dec 2023pre-release

    Nothing published for this version

  19. v1.1.4-0.20231204100015-9e8311100adf4 Dec 2023pre-release

    Nothing published for this version

  20. v1.1.327 Nov 2023
    Release notes

    Release notes

    Features

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

    Links

    Open source →
    Additional notes2 sources agree

    Features

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

    Version 1.1.3

    Compare

    Choose a tag to compare

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

    Nothing published for this version

  22. v1.1.3-0.20231124072951-ba2d6a12b56624 Nov 2023pre-release

    Nothing published for this version

  23. v1.1.3-0.20231016061408-9ac560235b5916 Oct 2023pre-release

    Nothing published for this version

  24. v1.1.216 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 →
    Additional notes2 sources agree

    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 →
    Additional notes

    Version 1.1.2

    Compare

    Choose a tag to compare

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

    Nothing published for this version

  26. v1.1.2-0.20230925074058-8d327f0baac325 Sept 2023pre-release

    Nothing published for this version

  27. v1.1.2-0.20230925073922-b70d1ad48cc725 Sept 2023pre-release

    Nothing published for this version

  28. v1.1.2-0.20230925033235-c2a97cbd2f0f25 Sept 2023pre-release

    Nothing published for this version

  29. v1.1.2-0.20230608120239-c5d68c6854188 Jun 2023pre-release

    Nothing published for this version

  30. v1.1.2-0.20230608115819-2e87bfa705928 Jun 2023pre-release

    Nothing published for this version

  31. v1.1.2-0.20230530080107-6ea6a83841ce30 May 2023pre-release

    Nothing published for this version

  32. v1.1.2-0.20230526101542-68e943b6b93026 May 2023pre-release

    Nothing published for this version

  33. v1.1.2-0.20230525080345-09c06e087dbb25 May 2023pre-release

    Nothing published for this version

  34. v1.1.2-0.20230524053823-0ac16aab9d5624 May 2023pre-release

    Nothing published for this version

  35. v1.1.2-0.20230220091820-116334e7a11120 Feb 2023pre-release

    Nothing published for this version

  36. v1.1.120 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 →
    Additional notes2 sources agree

    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 →
    Additional notes

    Version 1.1.1

    Compare

    Choose a tag to compare

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

    Nothing published for this version

  38. v1.1.1-0.20221123025101-9bd4aa447d5523 Nov 2022pre-release

    Nothing published for this version

  39. v1.1.018 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 →
    Additional notes2 sources agree

    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 →
    Additional notes

    Version 1.1.0

    Compare

    Choose a tag to compare

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

    Nothing published for this version

  41. v1.0.10-0.20220813081036-0b3ca062139f13 Aug 2022pre-release

    Nothing published for this version

  42. v1.0.10-0.20220813080848-f85101484eff13 Aug 2022pre-release

    Nothing published for this version

  43. v1.0.10-0.20220812014918-0f3709c0245b12 Aug 2022pre-release

    Nothing published for this version

  44. v1.0.10-0.20220803094937-38e872d65bfc3 Aug 2022pre-release

    Nothing published for this version

  45. v1.0.10-0.20220729062813-c4a9e99273f029 Jul 2022pre-release

    Nothing published for this version

  46. v1.0.921 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 →
    Additional notes2 sources agree

    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 →
    Additional notes

    Version 1.0.9

    Compare

    Choose a tag to compare

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

    Nothing published for this version

  48. v1.0.9-0.20220719090202-40b18b8fc8f819 Jul 2022pre-release

    Nothing published for this version

  49. v1.0.9-0.20220610080851-96e5be0e00f410 Jun 2022pre-release

    Nothing published for this version

  50. v1.0.827 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 →
    Additional notes2 sources agree

    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 →
    Additional notes

    Version 1.0.8

    Compare

    Choose a tag to compare

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

    Nothing published for this version

  52. v1.0.728 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 →
    Additional notes2 sources agree

    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 →
    Additional notes

    Version 1.0.7

    Compare

    Choose a tag to compare

    Open source →
  53. v1.0.620 Apr 2022
    Release notes2 sources agree

    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.518 Mar 2022
    Release notes2 sources agree

    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-1291675558b09 Mar 2022pre-release

    Nothing published for this version

  56. v1.0.5-0.20220308121041-5c5f42a498b68 Mar 2022pre-release

    Nothing published for this version

  57. v1.0.47 Mar 2022
    Release notes2 sources agree

    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.311 Feb 2022
    Release notes2 sources agree

    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.220 Jan 2022
    Release notes2 sources agree

    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-9055fa5555f018 Jan 2022pre-release

    Nothing published for this version