Releases: thought2code/mcp-annotated-java-sdk
v0.14.0
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.
v0.13.0
0.13.0 (2026-03-08)
🚀 Breaking Changes
- Deprecate
McpServersclass in favor ofMcpApplication- TheMcpServersclass is now deprecated and will be removed in a future version. UseMcpApplication.run()instead for a simpler API.
Migration Guide
Before (v0.12.x):
McpServers.run(MyMcpServer.class, args).startStdioServer(configuration);After (v0.13.0):
McpApplication.run(MyMcpServer.class, args);✨ Features
- Add documentation setup with MkDocs and GitHub Pages deployment
- Introduce
McpApplicationas the new main entry point for MCP servers
🔧 Improvements
- Rename
InvocationResulttoInvocationwith improved error handling - Use
Durationfor time interval configuration - Remove
McpServerJsonProcessingExceptionand handle null cases gracefully - Improve logging messages and server initialization
🐛 Bug Fixes
- Fix CI: add execute permission to
./mvnw - Fix annotations: change default
requiredvalue totrueforMcpToolParam,McpPromptParam,McpJsonSchemaProperty
📦 Dependencies
- MCP SDK: Update to
1.0.0(official stable release) - Jetty: Update to
12.1.7 - JUnit: Update to
6.1.0-M1 - Mockito: Update to
5.22.0 - Logback: Update to
1.5.32 - JetBrains Annotations: Update to
26.1.0
🔨 Build & CI
- Add Maven wrapper files for project initialization
- Add
maven-enforcer-pluginto enforce Maven 3.9.0+ and Java 17+ - Add
versions-maven-pluginfor dependency update checking - Update Maven plugins to latest versions:
maven-compiler-plugin: 3.15.0maven-gpg-plugin: 3.2.8maven-javadoc-plugin: 3.12.0maven-source-plugin: 3.4.0maven-surefire-plugin: 3.5.5spotbugs-maven-plugin: 4.9.8.2spotless-maven-plugin: 3.3.0jacoco-maven-plugin: 0.8.14central-publishing-maven-plugin: 0.10.0
📚 Documentation
- Add comprehensive documentation site with MkDocs
- Update README for v0.13.0 release
- Add detailed Javadoc for
McpApplication.startMcpServer()method - Update badge labels and add commit activity
🙏 What's Changed
This release marks a significant milestone with the official MCP SDK v1.0.0 support and introduces a cleaner API through McpApplication. The documentation has been greatly improved with a dedicated documentation site.
v0.12.1
v0.12.0
New Release: Internal refactor edition
Breaking Changes
Warning
The deprecated APIs in v0.11.0 have been removed in this version, new APIs are recommended to use.
Also see https://github.com/thought2code/mcp-annotated-java-sdk/releases/tag/v0.11.0 for more details.
Major Changes
- Refactor and simplify server implementation and configuration.
- Remove Guice dependency and refactor server components.
- Add detailed logging for server operations.
- Prevent duplicate initialization of singletons.
Dependencies
- Update
logback-classicversion from1.5.24to1.5.25 - Update
jackson-dataformat-yamlfrom2.20.1to3.0.3
Full Changelog
v0.11.0
Transitional Release: Prepare for major breaking changes in future versions.
Deprecated
@Deprecated(since = "0.11.0", forRemoval = true)
public class McpServerInfo@Deprecated(since = "0.11.0", forRemoval = true)
public class McpSseServerInfo extends McpServerInfo@Deprecated(since = "0.11.0", forRemoval = true)
public class McpStreamableServerInfo extends McpServerInfo@Deprecated(since = "0.11.0", forRemoval = true)
public void startStdioServer(McpServerInfo serverInfo)@Deprecated(since = "0.11.0", forRemoval = true)
public void startSseServer(McpSseServerInfo serverInfo)@Deprecated(since = "0.11.0", forRemoval = true)
public void startStreamableServer(McpStreamableServerInfo serverInfo)Dependencies
- Update
jackson-dataformat-yamlversion from2.17.0to2.20.1 - Update
jettyversion from12.1.1to12.1.5 - Update
junitversion from6.0.0to6.0.2 - Update
logbackversion from1.5.18to1.5.24 - Update
mockitoversion from5.20.0to5.21.0
Full Changelog
v0.10.0
Breaking Changes
Warning
- The
groupIdhas been changed toio.github.thought2codenow. - The
artifactIdhas been changed tomcp-annotated-java-sdknow. - The common prefix of java package has been changed to
com.github.thought2codenow.
Dependencies
- Update official MCP Java SDK from
0.17.0to0.17.1
Full Changelog
v0.9.1
Docs
Completely rewritten the README.md and project docs
Dependencies
- Update official MCP Java SDK from
0.16.0to0.17.0
Full Changelog
v0.9.0
Features
- Enhance i18n support with configurable resource bundle base name.
- Change default metadata values to use name attribute instead of
Not specified. - Add profile support for multi-environments development.
- Refactor configuration loading and validation.
- Add builder pattern support for configuration record classes.
- Add
subscribe-resourcecapability support inMcpServerCapabilities. - Add
getDefault()methods for configuration record classes. - Add prompt and resource
completionsupport with annotations and server components.
Dependencies
- Update official MCP Java SDK from
0.14.0to0.16.0
Full Changelog
v0.8.6
v0.8.5
Dependencies
- Update official MCP Java SDK from 0.13.1 to 0.14.0
- Update
org.junit.jupiter:junit-jupiterfrom 5.13.4 to 6.0.0