Skip to content

v1.0.0-Alpha8 🦝 ⏳

Compare
Choose a tag to compare
@oldratlee oldratlee released this 03 Jun 18:33
· 235 commits to main since this release

shifu

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

  • report exception info of peek action, errors should never pass silently πŸ’£ πŸ‘€

🐞 Bug Fixes

  • fix the safe behavior of timeout* methods ⏳ ✨

πŸ›  Refactor/Improvements

  • ⚠️ change the type declaration in CompletableFutureExtensions.kt to be consistent with CompletableFutureUtils 🧬
  • add missing the minimal stage check πŸ‘€
  • complement the null check logic πŸ‘»
  • change parameter type to CompletableFuture of internal helper method isMinStageCf 🧬

πŸ§ͺ Test

  • add test cases for the safe behavior of new safe timeout* methods ⏳ πŸ’₯
  • add CancellationException throw test case for CompletableFutureUtils.join() method
  • enable Kotest project level config with project listener

🚜 Build/Chore

  • upgrade dependencies/plugins πŸ› οΈ
  • upgrade maven wrapper to 3.9.7 πŸͺΆ

πŸ”Œ API Doc

πŸͺ Maven dependency

cffu core lib, including cffu enhancement for Java CompletableFuture:

<dependency>
    <groupId>io.foldright</groupId>
    <artifactId>cffu</artifactId>
    <version>1.0.0-Alpha8</version>
</dependency>

cffu Kotlin support lib:

<dependency>
    <groupId>io.foldright</groupId>
    <artifactId>cffu-kotlin</artifactId>
    <version>1.0.0-Alpha8</version>
</dependency>

cffu bom:

<dependency>
    <groupId>io.foldright</groupId>
    <artifactId>cffu-bom</artifactId>
    <version>1.0.0-Alpha8</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-Alpha8</version>
  <scope>runtime</scope>
</dependency>