0.14.0 (2026-05-15)
π Breaking Changes
- Remove deprecated
McpServersβ The deprecatedMcpServerstype has been removed. UseMcpApplication.run(Class, String[])as the only supported entry point. - Rename
McpServertoAnnotatedMcpServerβ If you referencedMcpServerfrom this library, update imports and types toAnnotatedMcpServer.
Migration Guide
If you still used McpServers (deprecated since v0.13.0):
Before (removed in v0.14.0):
McpServers.run(MyMcpServer.class, args).startStdioServer(configuration);After (v0.14.0):
McpApplication.run(MyMcpServer.class, args);β¨ Features
- Add asynchronous MCP server support alongside synchronous servers
- Introduce
McpApplicationContextto eliminate global mutable application state - Introduce
McpComponentInstanceFactoryto decouple MCP component instance creation - Add validation for merged MCP server configuration (base
mcp-server.yml+ profile overlays) - Centralize default configuration in
McpServerDefaults - Add a unified
McpServerErrorcontract for categorized server-side failures
π§ Improvements
- Restructure MCP component registration with shared sync/async abstractions (
AbstractDualModeComponentRegistrar) - Replace
MethodCachewithMethodMetadatafor reflected method metadata - Centralize Jetty-based HTTP server startup logic
- Refine
McpApplicationinitialization and default configuration loading - Enhance
ServerModeandServerTypeenums (including human-readable descriptions) - Align
Invocation/ tool invocation with the unified error contract
π Bug Fixes
- Restore thread interrupted status when joining the Jetty server fails
- Improve error handling when the MCP server fails to start
π¦ Dependencies
- MCP SDK: Update to
1.1.2(viamcp-bom) - Jetty: Update to
12.1.9 - JUnit: Update to
6.1.0-RC1 - Mockito: Update to
5.23.0 - SpotBugs Maven Plugin: Update to
4.9.8.3 - Maven Enforcer Plugin: Update to
3.6.2 - SortPOM Maven Plugin:
4.0.0
π¨ Build & CI
- Enforce Maven
3.9.13+when building; use./mvnw/mvnw.cmdfor a reproducible toolchain (aligned with CI) - Bump assorted Maven plugin and dependency versions
π Documentation
- Align README and
docs/with implementation (YAML kebab-case keys,STREAMABLEdefaults, SSE/streamable settings, annotation defaults, Completions API, structured content, and error-handling guidance) - Refresh
llms.txtandllms-full.txtfor LLM-oriented discovery - Clarify how to run sample apps (IDE / classpath vs expecting a single fat JAR)
π What's Changed
This release completes the move to McpApplication-centric startup, adds async MCP server support, and tightens configuration validation and error reporting. Documentation and LLM-oriented files are synchronized with the code to reduce integration mistakes when configuring transports, completions, and tools.