LangChain4j 1.20.1 landed 2026-09-25 atop the 1.20.0 line. AI Services now choose sync, TokenStream, CompletableFuture/CompletionStage, or Flow.Publisher by return type; non-blocking reaches tools, memory, guardrails, and the retrieval graph (@Experimental). Opt-in langchain4j-jackson3 routes JSON through Jackson 3 with typed JsonRead/WriteException. 1.20.1 lets @McpClientSupplier methods also take supplier parameters for per-request MCP clients. Aimed at Quarkus/Vert.x/WebFlux teams needing concurrent agents.

Key Takeaways

  • ✓Shipped: 1.20.1 on Central; headline features from 1.20.0 non-blocking line
  • ✓Pick CompletableFuture/Flow.Publisher return types; async tool defaults differ from sync
  • ✓Docs: Non-blocking and Reactive tutorial
  • ✓Opt-in langchain4j-jackson3 for Jackson 3 + typed JSON exceptions
  • ✓1.20.1: @McpClientSupplier methods may take supplier parameters
🔬

In-Depth Technical Analysis

Core Background & Industry Pain Points

On Quarkus/Mutiny, Vert.x, or Spring WebFlux, classic AI Services that block a thread for the whole tool/memory/guardrail loop choke the event loop. Teams either hand-roll Futures or drop framework integration—and MCP clients often need per-request suppliers that annotations could not parameterize.

Architecture Highlights & Internals

1.20.0 picks mode by return type: sync, TokenStream, CompletableFuture/CompletionStage, or Flow.Publisher. Non-blocking spans tools, memory, guardrails, and the retrieval graph (@Experimental). Async defaults differ (concurrent tools; execution errors fail the call; parse errors go back to the LLM). Jackson 3 is opt-in via langchain4j-jackson3. 1.20.1 lets @McpClientSupplier methods take supplier parameters.

Authoritative Benchmarks & Measured Scores

No public QPS figures. Compare thread use and tail latency sync vs CompletableFuture under WebFlux/Quarkus; regression-test async error semantics and Jackson 3 typed exceptions.

Developer Hands-on Guide

Depend on dev.langchain4j:langchain4j:1.20.1, optionally langchain4j-jackson3. Change method return types to opt in. Read the non-blocking and Jackson 3 tutorials; pin versions in production.