Skip to content

v1.0.0-Alpha25 🦝 ⚛️

Compare
Choose a tag to compare
@oldratlee oldratlee released this 13 Oct 19:09
· 103 commits to main since this release

shifu

Note

🦝 Cffu has arrived at v1.0 Alpha series~ 🎉

  • Development tries 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

  • [cffu-kotlin] add new kotlin extension methods 🍩
    • CompletableFutureExtensions.kt
      • M* extension methods
      • allSuccess* extension methods
      • defaultExecutor extension method
    • CffuExtensions.kt
      • M* extension methods
      • allSuccess* extension methods

🛠 Refactor/Improvements

  • ⚠️ rename methods: use term fail fast instead of fast fail ⚛️ (by @linzee1)
  • ⚠️ rename Tuple-Multi-Actions(tupleM*) methods 🌟
    • make their naming more consistant with all*Of methods
  • fix(CFU): convert executor for async operations by screenExecutor(), consistent with CF 🧵
  • refactor(CFU): allResultsFastFailOf/allResultsOf both call internal method allResultsOf0, simpler and more consistent 🌟
  • refactor: update generic parameters of methods 🧬
    • join/resultNow methods of CFU
      • add covariance to express the only use as input
    • join/resultNow/orTimeout* methods of CompletableFutureExtensions.kt
      • make orTimeout* generic parameters consistent with CFU
  • refactor(CFU): extract internal array util methods into file InternalCommonUtils 🔧
  • refactor(CFU): use static initializer instead of one-shot internal method
  • refactor(CffuExtensionsTest.kt): extract internal helper methods resolveFac, and add test cases 🔧

🧪 Tests

  • test(CFU): improve test cases for write methods of CFU 🧪
  • test(CFU): add CheckMinStageRuntimeTypeTests 🧪
    • split MinStageTestUtils.kt from TestUtils.kt

📚 Documentation

  • add MultiplyActionsDemo 👨‍🏫
  • revise/improve javadoc of peek* methods 📚
  • keep api docs of timeout* kotlin extension methods consistent with CFU 📚
  • revise README 📚

🚜 Build/Chore

  • add update_md_toc.sh to CI
  • upgraded non-LTS CI JDK to 23 from 22 🤖
  • upgrade dependencies/plugins 🛠️

🔌 API Doc

🍪 Maven dependencies

cffu core lib, including cffu enhancement for Java CompletableFuture:

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