v1.0.0-Alpha9 🦝 🦺
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"~ 😆
☘️ Features
- safe
timeout*
methods keep the directTimeoutException
instead ofCompletionException
wrapper 🦺 ✨ - report exception info of hop handle, errors should never pass silently 💣 👀
🐞 Bug Fixes
- ensure type safety of
Cffu
; if return type ofAPI
isCffu
, the result MUST not be a minimal stage 🦺 🧬 - methods
unsafeOrTimeout
/unsafeCompleteOnTimeout
ofCffu
should returnthis
🐞
🛠 Refactor/Improvements
- fix/simplify internal help method
hopExecutorIfAtCfDelayerThread
👁️ 🧬⚠️ fix wrong visibility modifier,public
->private
- simplify generic type declare,
CompletionStage
->CompletableFuture
- perf: use
cffuCompleteOnTimeout
instead ofcffuOrTimeout
inmostOf*
methods for multiply input cfs ⚡️ - delegate
Cffu.peek()
methods toCompletableFutureUtils.peek()
which has report function 🫣- and improve related
@CheckReturnValue
📝
- and improve related
📚 Documentation
- improve docs in README and javadoc 📚
mostOf*
method,default executor
🧪 Tests
- test/refactor: use
JUnit assertThrows
method instead oftry-fail-catch
old test pattern 🧪
🚜 Build/Chore
- upgrade dependencies/plugins 🛠️
🔌 API Doc
cffu Java API doc
: https://foldright.io/api-docs/cffu/1.0.0-Alpha9/cffu Kotlin API doc
: https://foldright.io/api-docs/cffu-kotlin/1.0.0-Alpha9/
🍪 Maven dependency
cffu
core lib, including cffu
enhancement for Java CompletableFuture
:
<dependency>
<groupId>io.foldright</groupId>
<artifactId>cffu</artifactId>
<version>1.0.0-Alpha9</version>
</dependency>
cffu
Kotlin
support lib:
<dependency>
<groupId>io.foldright</groupId>
<artifactId>cffu-kotlin</artifactId>
<version>1.0.0-Alpha9</version>
</dependency>
cffu bom
:
<dependency>
<groupId>io.foldright</groupId>
<artifactId>cffu-bom</artifactId>
<version>1.0.0-Alpha9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
cffu executor wrapper SPI implementation
for 📌 TransmittableThreadLocal(TTL)
:
<dependency>
<groupId>io.foldright</groupId>
<artifactId>cffu-ttl-executor-wrapper</artifactId>
<version>1.0.0-Alpha9</version>
<scope>runtime</scope>
</dependency>