Skip to content

Releases: alibaba/transmittable-thread-local

v2.12.5: fix ClassCastException from PriorityBlockingQueue when use TTL Agent

08 Mar 17:12
Compare
Choose a tag to compare

Java support

Change Log

Bug Fix

  • fix ClassCastException from PriorityBlockingQueue when use TTL Agent
    • for issue #361 submitted by @fzdwx
    • this is a bug introduced by the feature of v2.12.3

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.5/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.5</version>
</dependency>

v2.12.4: add new non-overloaded methods in TtlWrappers

03 Jan 05:10
Compare
Choose a tag to compare

Java support

Caution

Version 2.12.4 🦎 is Deprecated! use version 2.12.5+ instead.

Change Log

New Features

  • add new non-overloaded methods in TtlWrappers
    • contributed by @huangfei1101 from PR #342 #344 ❤️
    • new methods: wrapSupplier, wrapConsumer, wrapBiConsumer, wrapFunction and wrapBiFunction
    • javadoc

Improvements

  • add demo code CustomizedBlockingQueueWithTtlDemo
  • improve javadoc wording and format
  • upgrade maven wrapper to 3.8.4
  • upgrade dependencies/plugins

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.4/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.4</version>
</dependency>

v2.12.3: support PriorityBlockingQueue with ThreadPoolExecutor

18 Dec 13:37
Compare
Choose a tag to compare

Java support

Change Log

Caution

Version 2.12.3 🦎 is Deprecated! use version 2.12.5+ instead.

New Features

  • new API: TransmittableThreadLocal.withInitialAndCopier static method, javadoc
  • Support PriorityBlockingQueue with ThreadPoolExecutor
    Avoid ClassCastException(TtlRunnable cannot be cast to Comparable) problem for combination usage:
    (issues #330 #290 #178 submitted by @outh0527 @KevinQian @wangchongya)
    • use java.util.concurrent.PriorityBlockingQueue for java.util.concurrent.ThreadPoolExecutor
    • TTL: API or Agent(TtlExecutorTransformlet)
    • new APIs
      • com.alibaba.ttl.threadpool.TtlExecutors#getTtlRunnableUnwrapComparator, javadoc
      • com.alibaba.ttl.threadpool.TtlExecutors#getTtlRunnableUnwrapComparatorForComparableRunnable, javadoc
    • new TTL Transformlet: com.alibaba.ttl.threadpool.agent.internal.transformlet.impl.TtlPriorityBlockingQueueTransformlet
    • Demo Code: TtlExecutorServiceWithPriorityBlockingQueueDemo

Improvements

  • fix: work-around ClassCircularityError
    (issues #278 #234 submitted by @linfan @kun1988)
  • upgrade dependencies/plugins

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.3/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.3</version>
</dependency>

v2.12.3-RC1: support PriorityBlockingQueue with ThreadPoolExecutor

03 Dec 11:21
Compare
Choose a tag to compare

Java support

Change Log

New Features

Support PriorityBlockingQueue with ThreadPoolExecutor.
Avoid ClassCastException(TtlRunnable cannot be cast to Comparable) problem for combination usage:

  • use java.util.concurrent.PriorityBlockingQueue for java.util.concurrent.ThreadPoolExecutor ThreadPoolExecutor
  • use TTL: API or Agent(TtlExecutorTransformlet)

  • new APIs
    • com.alibaba.ttl.threadpool.TtlExecutors#getTtlRunnableUnwrapComparator, javadoc
    • com.alibaba.ttl.threadpool.TtlExecutors#getTtlRunnableUnwrapComparatorForComparableRunnable, javadoc
  • new TTL Transformlet: com.alibaba.ttl.threadpool.agent.internal.transformlet.impl.TtlPriorityBlockingQueueTransformlet

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.3-RC1/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.3-RC1</version>
</dependency>

v2.12.2

28 Sep 16:28
Compare
Choose a tag to compare

Java support

Change Log

New Features

  • add TransmittableThreadLocal.withInitial static method

Improvements

  • avoid ConcurrentModificationException even adjust TTL instances in biz lifecycle callbacks
  • fix getDefaultDisableInheritable*ThreadFactory annotation: @Nullable -> @NonNull
  • upgrade dependencies
  • improve doc & javadoc 📚
  • code cleanup

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.2/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.2</version>
</dependency>

v2.13.0-Beta1 🧩🔓

02 Feb 13:34
Compare
Choose a tag to compare
Pre-release

Caution

This is a deprecated BETA version, DO NOT use❗️
The update content is NOT released in v2.x, and is developing on TTL v3.

Change Log

New Features

  • support TTL Agent extension Transformlet 🧩
    • sample project for TTL Agent extension Transformletdevelopment
    • Open whole agent package for TTL Agent extension Transformlet development 🔓
  • support TTL Agent configuration by JVM -D property
  • add new TTL option getter methods in TtlAgent

Improvements

  • fix getDefaultDisableInheritable*ThreadFactory annotation: Nullable -> NonNull

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.13.0-Beta1/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.13.0-Beta1</version>
</dependency>

v2.12.1: a cleanup release ✨📚☂️

23 Jan 08:21
Compare
Choose a tag to compare

Java support

This version contains no new feature or bug fix but cleanup and documentation.

Change Log

Cleanups/Improvements

  • improve doc & javadoc 📚
  • code cleanup
  • upgrade dependencies/maven plugins
  • add/upgrade CI jdks
  • fix codecov in CI ☂️

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.1/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.1</version>
</dependency>

v2.12.0 🤝📚🔨

28 Nov 10:44
Compare
Choose a tag to compare

Java support

Change Log

New Features

  • TtlExecutors support idempotency
    • the wrapper Executors can be cooperated with the usage of "Decorate Runnable and Callable". 🤝
    • about idempotency: if is idempotent, allowed submit the TtlRunnable/TtlCallable to the wrapper Executor; otherwise throw IllegalStateException.

Improvements

  • improve doc & javadoc 📚
  • code cleanup
  • adjust javassist shaded package:
    com.alibaba.ttl.internal.javassist -> com.alibaba.ttl.threadpool.agent.internal.javassist
  • improve ForkJoinPoolDemo and ParallelStreamDemo/add TtlForkJoinTaskDemo
  • upgrade dependencies

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.0/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.0</version>
</dependency>

Release 2.11.5 ❗️👨‍🚒

11 Jun 15:38
Compare
Choose a tag to compare

Change Log

Bug Fix ‼️

  • fix bug: WeakHashMap in Snapshot led to captured values GCed before replay unexpectedly
    • Rollback "use WeakHashMap instead of HashMap for capture/backup snapshot" in v2.11.0
    • Affect versions v2.11.0 ~ v2.11.4, DO NOT use these versions, DO upgrade‼️

Improvements

  • using SDKMAN in Travis CI #163 👨‍🚒

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.11.5/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.11.5</version>
</dependency>

Release 2.11.4 🌈🍩

22 Jan 14:59
Compare
Choose a tag to compare

Change Log

Caution

Version 2.11.4 🦎 is Deprecated! use version 2.11.5+ instead.

Features

  • add TTL Wrapper for common Functional Interfaces 🌈

Improvements

  • rename private methods of TTL
  • add TTL koroutine intergration demo 🍩
  • add CoroutineThreadLocalAsContextElementTest
  • improve docs/javadoc 📚

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.11.4/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.11.4</version>
</dependency>