You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the 2.0.0-M3 → 2.0.0 development cycle a number of APIs were marked @Deprecated(forRemoval = true) with clear replacements already in place. None of these have a dedicated removal issue filed against them. This is a tracking issue to remove them — ideally in 2.1.x or whichever release follows 2.0.0 GA.
No business logic changes are needed; every item below has a direct replacement already in the codebase.
6. getDefaultOptions() across all model implementations
Renamed to getOptions() in the ChatModel interface.
All model impls (OpenAiChatModel, OllamaChatModel, AnthropicChatModel, MistralAiChatModel, BedrockConverseChatModel, etc.) still carry the deprecated bridge override.
Replace with:getOptions()
7. SyncMcpLogginProvider (typo class — entire class @Deprecated)
Overview
During the
2.0.0-M3→2.0.0development cycle a number of APIs were marked@Deprecated(forRemoval = true)with clear replacements already in place. None of these have a dedicated removal issue filed against them. This is a tracking issue to remove them — ideally in2.1.xor whichever release follows2.0.0GA.No business logic changes are needed; every item below has a direct replacement already in the codebase.
Items to remove
1.
JsonParser(entire class)spring-ai-model/src/main/java/org/springframework/ai/util/json/JsonParser.javaJsonHelper/JacksonUtils2.
TokenTextSplitter— 5 deprecated constructorsspring-ai-commons/src/main/java/org/springframework/ai/transformer/splitter/TokenTextSplitter.java2.0.0-M3TokenTextSplitter.builder()fluent API3. MCP SSE transports — 3 entire classes deprecated since
2.0.0Deprecated by commit "Deprecate SSE transports, set Streamable HTTP as default server protocol" (May 2026). Streamable HTTP is now the default.
WebFluxSseServerTransportProviderWebFluxStreamableServerTransportProviderWebMvcSseServerTransportProviderWebMvcStreamableServerTransportProviderWebFluxSseClientTransportWebFluxStreamableClientTransportProvider4.
SyncMcpToolCallbackProvider/AsyncMcpToolCallbackProvider— 4 constructors eachmcp/common/src/main/java/org/springframework/ai/mcp/Sync|AsyncMcpToolCallbackProvider.java.builder()— Javadoc on each deprecated constructor says "use#builder()instead"5.
SyncMcpToolCallback/AsyncMcpToolCallback— deprecated methodsmcp/common/src/main/java/org/springframework/ai/mcp/Sync|AsyncMcpToolCallback.java6.
getDefaultOptions()across all model implementationsgetOptions()in theChatModelinterface.OpenAiChatModel,OllamaChatModel,AnthropicChatModel,MistralAiChatModel,BedrockConverseChatModel, etc.) still carry the deprecated bridge override.getOptions()7.
SyncMcpLogginProvider(typo class — entire class@Deprecated)mcp/mcp-annotations/.../provider/logging/SyncMcpLogginProvider.javaLoggininstead ofLogging). The correct classSyncMcpLoggingProvideralready exists alongside it.8. Various model-specific deprecated methods
OpenAiChatModel.java:170getDefaultOptions()getOptions()OpenAiAudioSpeechModel.java:186ElevenLabsTextToSpeechModel.java:193TextToSpeechModel.java:55DeepSeekAssistantMessage.java:46,512.0.0AnthropicChatModel.java:16342.0.0.builder()What is NOT in scope here
MistralAiApimodel field with comment "Retirement planned 31st July 2026" — that has an external dependency on Mistral's retirement schedule.@DeprecatedwithoutforRemoval = true— those are lower priority.Suggested milestone
2.1.x— after2.0.0GA establishes the stable baseline and gives the ecosystem time to migrate.