v1.0.0-Alpha20 🦝 💣
Note
🦝 Cffu
has arrived at v1.0 Alpha
series~ 🎉
- Development will try to keep the compatibility for main API. 🐾
- The incompatible changes are marked with
⚠️ .
Welcome to try out cffu
. 💕
💗 Happy with cffu
! 🦝 and be a "shifu"~ 😆
🛠 Refactor/Improvements
- backport the JDK bugfix
JDK-8303742
forJava 9~20
⏰🐞- more info about the JDK bug "
CompletableFuture.orTimeout
leaks if the future completes exceptionally": - the JDK bug issue: https://bugs.openjdk.org/browse/JDK-8303742
- PR review: openjdk/jdk#13059
- JDK bugfix commit: openjdk/jdk@ded6a81
- more info about the JDK bug "
- perf: simplify
hopExecutorIfAtCfDelayerThread
, submit completion action to executor directly 🧵 - refactor(
CompletableFutureUtils
): simplify java version check logic by extracting internal methodmethodExists
- add naive black hole to prevent code elimination of Java version check logic
- refactor(
ExceptionReporter
): rename method toreportUncaughtException
and adjust argument meaning 💣
📚 Documentation
- docs: improve javadoc of
exceptionally*
methods, recommendcatching*
methods for best practice 💣📚
🚜 Build/Chore
- CI tests the compatibility with the low version dependencies
Guava(29)
/slf4j(1.7)
🤖📦 - upgrade dependencies/plugins 🛠️
- upgrade maven wrapper to
3.9.9
🪶
🔌 API Doc
cffu Java API doc
: https://foldright.io/api-docs/cffu/1.0.0-Alpha20/
🍪 Maven dependencies
cffu
core lib, including cffu
enhancement for Java CompletableFuture
:
<dependency>
<groupId>io.foldright</groupId>
<artifactId>cffu</artifactId>
<version>1.0.0-Alpha20</version>
</dependency>
cffu executor wrapper SPI implementation
for 📌 TransmittableThreadLocal(TTL)
:
<dependency>
<groupId>io.foldright</groupId>
<artifactId>cffu-ttl-executor-wrapper</artifactId>
<version>1.0.0-Alpha20</version>
<scope>runtime</scope>
</dependency>