Skip to content

v1.0.0-Alpha7 🦝 ✨

Compare
Choose a tag to compare
@oldratlee oldratlee released this 25 May 19:28
· 225 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

  • implement new safe methods cffuOrTimeout/cffuCompleteOnTimeout ⏳ ✨
  • implement new mostTupleOfSuccess methods πŸš€ ✨
  • implement new completeExceptionallyAsync methods πŸ’£ ☘️
  • the mostOf* methods use the new safe orTimeout method with parameter executorWhenTimeout πŸš€ ✨

🐞 Bug Fixes

  • fix UnsupportedOperationException for the single minimal stage input πŸ’£

πŸ›  Refactor/Improvements

  • ⚠️ change getSuccessNow method parameter type to CompletableFuture from CompletionStage
  • ⚠️ change resultNow/exceptionNow/state methods to more generic parameter type(Future) in CompletableFutureUtils 🧬
  • ⚠️ remove tuple* methods in Cffu/CompletableFutureExtensions.kt 🧹
  • fix: add missing minimal stage check for Cffu#getSuccessNow() method πŸ‘€
  • the factory methods of CffuFactory use new0() instead of dummy(), less instance creation and delegation ⚑️
  • add internal helper method hopAsyncIf ✨
  • add internal helper methods toNonMinCfCopy/isMinStageCf ✨
  • rename internal factory method names of CffuFactory to create* from new* πŸ” 

πŸ§ͺ Test

  • add minimal stage check test cases for allOf*/mostOf*/anyOf*/allTupleOf*/mostTupleOf* methods πŸ‘€

πŸ”Œ 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-Alpha7</version>
</dependency>

cffu Kotlin support lib:

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

cffu bom:

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