functional-reactive
Made in the European Union
Roadmap

What's next
for the library.

Best-effort plan. Items move based on user feedback, real-world breakage, and sponsorship. Nothing here is a commitment to a specific release date.

Near term

Next 1–2 releases

In progress or ready to start.

SHIPPED

Records-based tuples

Modern com.svenruppert.functional.tuple package with proper Java records β€” landed alongside the classic DataRecords nested classes for JDK 8 compatibility.

IN PROGRESS

Documentation

Migrating the long-form EntwicklerPress article into structured tutorials and API reference pages β€” this site is the result.

PLANNED

Fluent Case alternative

A builder-style entry point next to the existing varargs match(...): Case.on(value).when(p, v).when(p, v).orElse(v). Same machinery, friendlier shape for callers chaining many branches.

PLANNED

Result<E, T> variant

Two-parameter Result that carries a typed failure instead of a String. The existing Result<T> stays as the default; this is opt-in.

Medium term

Next 6–12 months

Designed but not started; subject to user feedback.

Structured concurrency adapter

Thin helpers that bridge CompletableFutureQueue with Java 21's StructuredTaskScope. Opt-in module for users on JDK 21+, JDK 8 baseline stays intact.

Virtual-thread executor

First-class support for handing a virtual-thread executor to thenCombineAsync stages β€” including the docs notes on when virtual threads actually help vs. when they don't.

Pattern-matching helpers

Sugar for combining Case with JDK 21+ switch patterns β€” for users who want the best of both.

Benchmarks & performance notes

JMH benchmarks for Memoizer, CheckedFunction and CompletableFutureQueue so the docs can give honest "use this when…" guidance.

When it makes sense

Maybe, no commitment

Ideas worth tracking. Will land if there's demand and a clean design.

ScopedValue helpers

Bridging JDK 21+ scoped values into pipeline stages.

Flow API adapters

Interop between Result chains and JDK 9 reactive streams.

Kotlin extensions

Small companion module with extension functions and destructuring for Kotlin callers.

Property-based test helpers

JQwik integration for the laws of Result / CheckedFunction.

Cache backends for Memoizer

Optional bridge to Caffeine for TTL/size-bounded memoization.

"Cookbook" tutorial section

Short task-shaped recipes: "lift this throwing call", "merge two services", "retry with backoff".

Influence what ships

Have a feature in mind?

Open an issue with the use case. Sponsorship moves roadmap items forward; consulting engagements sometimes pull them into a release directly.