Skip to content

v0.6.0

Latest

Choose a tag to compare

@chr-hertel chr-hertel released this 02 Jun 15:55
433c84b

What's Changed

  • [Server] Allow overriding the default file name pattern for Discovery by @johnhunt-lc in #292
  • [Server] force the proper Content-type for the 202 response in createJsonResponse() by @johnhunt-lc in #295
  • [Schema] fix: allow URIs without double slash in Resource and ResourceTemplate (RFC 3986) by @blackwell-systems in #297
  • fix: Cannot pass null to nullable enum parameters by @SBNTT in #299
  • [Server] Fix case sensitivity for http header by @chr-hertel in #283
  • Add PSR-3 compliant exception context when logging exceptions by @svenmuennich in #300
  • [Server] Add configurable session garbage collection by @chr-hertel in #258
  • [CI] Add weekly conformance run against latest upstream release by @soyuka in #304
  • [Client][Server][Schema] Bump protocol version to nov 25 by @chr-hertel in #308
  • [Server] Untangle origin tracking from Registry by @chr-hertel in #302
  • [Schema] Add title field to Resource and ResourceTemplate by @blackwell-systems in #301
  • Add title parameter to Builder::addResource() and addResourceTemplate() by @chr-hertel in #310
  • Streamline README and add conformance score badges by @chr-hertel in #312
  • [Conformance] Fix conformance score calculcation by @chr-hertel in #313
  • chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #331
  • chore(deps): bump actions/download-artifact from 4 to 8 by @dependabot[bot] in #330
  • [Server] Compose StreamableHttpTransport security middleware via defaultMiddleware() factory by @sveneld in #307
  • [Server] Allow runtime-resolved element handlers by @e0ipso in #294
  • [Schema][Server] Add MCP Apps extension (io.modelcontextprotocol/ui) support by @chr-hertel in #281
  • Document v0.6.0 changes in CHANGELOG and docs by @chr-hertel in #311

Breaking Changes

  • Renamed Mcp\Schema\Resource to Mcp\Schema\ResourceDefinition. No alias.
  • Renamed Mcp\Capability\Registry\Loader\ArrayLoader to Mcp\Capability\Registry\Loader\ReflectedElementLoader.
  • Bump default protocol version to 2025-11-25
  • Removed ElementReference::$isManual public property and the bool $isManual parameter from all *Reference constructors. Origin tracking is no longer carried on the element; manual-over-discovered precedence is encoded by loader execution order.
  • RegistryInterface::registerTool(), registerResource(), registerResourceTemplate(), registerPrompt() lost their trailing bool $isManual = false parameter. Callers using positional arguments must drop the flag.
  • Removed RegistryInterface::clear(), getDiscoveryState(), setDiscoveryState(). Rediscovery now goes through DiscoveryLoader::load() directly.
  • Builder::addResource() signature changed — $title parameter added between $name and $description. Callers using positional arguments must switch to named arguments.
  • Builder::addResourceTemplate() signature changed — $title parameter added between $name and $description. Callers using positional arguments must switch to named arguments.
  • StreamableHttpTransport constructor: $corsHeaders parameter removed; CORS is now configured via CorsMiddleware. The $middleware parameter is nullable — null (or omitted) installs the default stack; [] disables all defaults. Default Access-Control-Allow-Origin is no longer set (was *).
  • ResourceDefinition::__construct() signature changed — $title parameter added between $name and $description. Callers using positional arguments must switch to named arguments.
  • ResourceTemplate::__construct() signature changed — $title parameter added between $name and $description. Callers using positional arguments must switch to named arguments.
  • McpResource and McpResourceTemplate attribute signatures changed — $title parameter added between $name and $description. Callers using positional arguments must switch to named arguments.

New Contributors

Full Changelog: v0.5.0...v0.6.0