1.9.0 and 1.9.0-beta16
Notable Changes
- Agentic: Introduce a generic agentic planner and reimplement all agentic patterns through it by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3929
- MCP: WebSocket transport support by @jmartisk in https://github.com/langchain4j/langchain4j/pull/4032
- Gemini: Batch API by @Bram-- in https://github.com/langchain4j/langchain4j/pull/3942
- Anthropic: support through Vertex AI #3193 by @pbykovcoginiti in https://github.com/langchain4j/langchain4j/pull/3362
Other Changes
- docu: update versions to 1.8.0 and 1.8.0-beta15 by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/3950
- Update versions to 1.9.0-SNAPSHOT and 1.9.0-beta16-SNAPSHOT by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/3951
- Fix a typo in the OutputGuardrails annotation by @edeandrea in https://github.com/langchain4j/langchain4j/pull/3948
- Remove unnecessary MCP registry client creation during test by @jmartisk in https://github.com/langchain4j/langchain4j/pull/3963
- docs: add Agentic AI to intro by @vesense in https://github.com/langchain4j/langchain4j/pull/3966
- Fix typos in annotation and documentation by @justinchoi929 in https://github.com/langchain4j/langchain4j/pull/3997
- Generate consistent and reproducible unique names for agents by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3965
- Reflect recent MCP registry updates by @jmartisk in https://github.com/langchain4j/langchain4j/pull/4016
- vertex-ai-gemini: Expose vertex apiEndpoint in builder by @eiselems in https://github.com/langchain4j/langchain4j/pull/4021
- Fix wrong method name in AgentBuilder by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4033
- Update Quarkus documentation link for Easy RAG by @wadajo in https://github.com/langchain4j/langchain4j/pull/4034
- Update playwright version to 1.56.0 by @vesense in https://github.com/langchain4j/langchain4j/pull/4025
- Doc: Added SQLServer 2025 embedding store integration by @odelpozo-denodo in https://github.com/langchain4j/langchain4j/pull/3992
- Add WatsonxModerationModel and refactor LangChain4j integration by @andreadimaio in https://github.com/langchain4j/langchain4j/pull/3982
- MCP: Supply custom headers via a supplier method by @maff in https://github.com/langchain4j/langchain4j/pull/4036
- Flatten request response objects by @Bram-- in https://github.com/langchain4j/langchain4j/pull/3955
- Initializing the guardrails module by @agoncal in https://github.com/langchain4j/langchain4j/pull/3928
- Fix OpenAi token usage class cast exception by @linnaung in https://github.com/langchain4j/langchain4j/pull/3912
- Refactor ToolExecutionResult to support lazy evaluation of result tex… by @hemanthsavasere in https://github.com/langchain4j/langchain4j/pull/3960
- Fixes https://github.com/langchain4j/langchain4j/issues/3968 by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/4026
- test: add edge case and error handling tests for ParsingUtil by @alxkm in https://github.com/langchain4j/langchain4j/pull/3959
- chore(deps): update dependency org.codehaus.mojo:flatten-maven-plugin to v1.7.2 by @renovate[bot] in https://github.com/langchain4j/langchain4j/pull/3433
- CompressingQueryTransformer NullPointException by @zxyyang in https://github.com/langchain4j/langchain4j/pull/1120
- Ignoring Claude Code CLI markdown file CLAUDE.md by @agoncal in https://github.com/langchain4j/langchain4j/pull/4041
- Updates to Latest Infinispan and Jackson Versions by @karesti in https://github.com/langchain4j/langchain4j/pull/4038
- Enable case-insensitive enum deserialization in structured output parsing by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4049
- Propagate root exception when json parsing fails by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4046
- feat: Enable reasoning effort control for GPT-5 (o1 series) by @caio-carne1ro in https://github.com/langchain4j/langchain4j/pull/4052
- Add GPT_5_1 to open ai enum. by @Bram-- in https://github.com/langchain4j/langchain4j/pull/4054
- GitHub Models: support structured output by @hrhrng in https://github.com/langchain4j/langchain4j/pull/1917
- Allow different types of object in the argument of the agent invocation generated by the supervisor by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4053
- Update qdrant client by @boris-petrov in https://github.com/langchain4j/langchain4j/pull/4077
- Refactor value classes to (nested) records in google-ai-gemini by @Bram-- in https://github.com/langchain4j/langchain4j/pull/4070
- programmatic tools return behavior by @Yoann-philippe in https://github.com/langchain4j/langchain4j/pull/4064
- feat(memory): implement dynamic window sizing for chat memory by @PaperFly-web in https://github.com/langchain4j/langchain4j/pull/4058
- Make the supervisor aware of the argument types of its subagents by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4079
- feat: add video content type support to OpenAI integration by @ldaugusto in https://github.com/langchain4j/langchain4j/pull/4078
- Get rid of @Subagent annotation in declarative agentic API by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4081
- #4067 Add BedrockTokenUsage with cache token usage by @blaZ3 in https://github.com/langchain4j/langchain4j/pull/4080
- Implement tool hallucination handling for streaming by @vesense in https://github.com/langchain4j/langchain4j/pull/3773
- Gemini batch chat model delete and cancel by @Bram-- in https://github.com/langchain4j/langchain4j/pull/3945
- Bump A2A SDK to version 0.3.2.Final by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4090
- Add Gemini among possible model providers in agentic tests by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4091
- add: implementation of removeAll(Filter) for WeaviateEmbeddingStore by @AminAK11 in https://github.com/langchain4j/langchain4j/pull/3555
- fix badge style by @vesense in https://github.com/langchain4j/langchain4j/pull/4094
- Receive and expose MCP tool metadata by @jmartisk in https://github.com/langchain4j/langchain4j/pull/4089
- Update gemini docs by @Bram-- in https://github.com/langchain4j/langchain4j/pull/4082
- Expose agentic system as tree and check key types consistency by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4100
- Fix test for GOAP planner by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4103
- Improve class description of ChatMessageType by @lihuagang03 in https://github.com/langchain4j/langchain4j/pull/4112
- Collect guardrail validation duration and attach it to the guardrail events by @cescoffier in https://github.com/langchain4j/langchain4j/pull/4119
- Update watsonx-ai dependency to 0.14.0 and add new parameters by @andreadimaio in https://github.com/langchain4j/langchain4j/pull/4114
- docs: Add back YugabyteDB examples to documentation by @krishna-yb in https://github.com/langchain4j/langchain4j/pull/4120
- Apply the ChatRequest transformation to all LLM calls in the same tools invocation loop by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4104
- MongoDB: Update to the latest version and append framework name to MongoDB metadata by @strogiyotec in https://github.com/langchain4j/langchain4j/pull/4106
- Update the OpenAI Java SDK to 4.8.0 and fix the Azure authentication code by @jdubois in https://github.com/langchain4j/langchain4j/pull/4092
- Implement all of the Gemini Files APIs by @Bram-- in https://github.com/langchain4j/langchain4j/pull/4068
- Issue 4116 fix npe gemini base64 images by @idoberko2 in https://github.com/langchain4j/langchain4j/pull/4129
- feat: add default modelName() to EmbeddingModel and implement overrides by @raphidlee in https://github.com/langchain4j/langchain4j/pull/4133
- Parse structured results in A2A client by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4127
- Gemini (async) batch embed api by @Bram-- in https://github.com/langchain4j/langchain4j/pull/4086
- feat: support Gemini 3 Pro thinking level configuration by @glaforge in https://github.com/langchain4j/langchain4j/pull/4137
- Fixes issue from #3664 and adds handling of content filtered responses by @jonathannaguin in https://github.com/langchain4j/langchain4j/pull/3978
- Add create batch from [Gemini]File methods for GoogleAiGeminiBatch{Chat,Embed}Model by @Bram-- in https://github.com/langchain4j/langchain4j/pull/4128
New Contributors
- @justinchoi929 made their first contribution in https://github.com/langchain4j/langchain4j/pull/3997
- @eiselems made their first contribution in https://github.com/langchain4j/langchain4j/pull/4021
- @wadajo made their first contribution in https://github.com/langchain4j/langchain4j/pull/4034
- @odelpozo-denodo made their first contribution in https://github.com/langchain4j/langchain4j/pull/3992
- @hemanthsavasere made their first contribution in https://github.com/langchain4j/langchain4j/pull/3960
- @zxyyang made their first contribution in https://github.com/langchain4j/langchain4j/pull/1120
- @caio-carne1ro made their first contribution in https://github.com/langchain4j/langchain4j/pull/4052
- @Yoann-philippe made their first contribution in https://github.com/langchain4j/langchain4j/pull/4064
- @PaperFly-web made their first contribution in https://github.com/langchain4j/langchain4j/pull/4058
- @ldaugusto made their first contribution in https://github.com/langchain4j/langchain4j/pull/4078
- @blaZ3 made their first contribution in https://github.com/langchain4j/langchain4j/pull/4080
- @AminAK11 made their first contribution in https://github.com/langchain4j/langchain4j/pull/3555
- @lihuagang03 made their first contribution in https://github.com/langchain4j/langchain4j/pull/4112
- @cescoffier made their first contribution in https://github.com/langchain4j/langchain4j/pull/4119
- @strogiyotec made their first contribution in https://github.com/langchain4j/langchain4j/pull/4106
- @pbykovcoginiti made their first contribution in https://github.com/langchain4j/langchain4j/pull/3362
- @idoberko2 made their first contribution in https://github.com/langchain4j/langchain4j/pull/4129
- @raphidlee made their first contribution in https://github.com/langchain4j/langchain4j/pull/4133
- @jonathannaguin made their first contribution in https://github.com/langchain4j/langchain4j/pull/3978
Full Changelog: https://github.com/langchain4j/langchain4j/compare/1.8.0...1.9.0