* Add optional namePatterns capability to discovery so that the default scan for `*.php` files can be overridden. * add default to namePatterns docs * add an error check if we manage to pass in an empty list of patterns * add unit tests (and a static entry to classmap for composer.json so it autoloads from a non .php file for the test) * run php-cs-fixer * change how default namePatterns are set and make sure all the annotations are correct * Fix bad whitespace Co-authored-by: Christopher Hertel <mail@christopher-hertel.de> * switch to a const default instead of nullable with a check in the function to convert null to a default * make sure we handle empty arrays * formatting fixes * Apply suggestion from @chr-hertel Co-authored-by: Christopher Hertel <mail@christopher-hertel.de> * Add changelog entry --------- Co-authored-by: Christopher Hertel <mail@christopher-hertel.de>
70 lines
3.6 KiB
Markdown
70 lines
3.6 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to `mcp/sdk` will be documented in this file.
|
|
|
|
0.6.0
|
|
-----
|
|
|
|
* Allow overriding the default name pattern for Discovery
|
|
|
|
0.5.0
|
|
-----
|
|
|
|
* Add built-in authentication middleware for HTTP transport using OAuth
|
|
* Add client component for building MCP clients
|
|
* Add `Builder::setReferenceHandler()` to allow custom `ReferenceHandlerInterface` implementations (e.g. authorization decorators)
|
|
* Add elicitation enum schema types per SEP-1330: `TitledEnumSchemaDefinition`, `MultiSelectEnumSchemaDefinition`, `TitledMultiSelectEnumSchemaDefinition`
|
|
* [BC break] Make Symfony Finder component optional. Users would need to install `symfony/finder` now themselves
|
|
* Add `LenientOidcDiscoveryMetadataPolicy` for identity providers that omit `code_challenge_methods_supported` (e.g. FusionAuth, Microsoft Entra ID)
|
|
* Add OAuth 2.0 Dynamic Client Registration middleware (RFC 7591)
|
|
* Add optional `title` field to `Prompt` and `McpPrompt` for MCP spec compliance
|
|
* [BC Break] `Builder::addPrompt()` signature changed — `$title` parameter added between `$name` and `$description`. Callers using positional arguments for `$description` must switch to named arguments.
|
|
* Add optional `title` field to `Tool` and `McpTool` for MCP spec compliance
|
|
* [BC Break] `Tool::__construct()` signature changed — `$title` parameter added between `$name` and `$inputSchema`. Callers using positional arguments must switch to named arguments or pass `null` for `$title`.
|
|
* [BC Break] `McpTool` attribute signature changed — `$title` parameter added between `$name` and `$description`. Callers using positional arguments for `$description` must switch to named arguments.
|
|
* [BC Break] `Builder::addTool()` signature changed — `$title` parameter added between `$name` and `$description`. Callers using positional arguments for `$description` must switch to named arguments.
|
|
|
|
0.4.0
|
|
-----
|
|
|
|
* Rename `Mcp\Server\Session\Psr16StoreSession` to `Mcp\Server\Session\Psr16SessionStore`
|
|
* Add missing handlers for resource subscribe/unsubscribe and persist subscriptions via session
|
|
* Introduce `SessionManager` to encapsulate session handling (replaces `SessionFactory`) and move garbage collection logic from `Protocol`.
|
|
|
|
0.3.0
|
|
-----
|
|
|
|
* Add output schema support to MCP tools
|
|
* Add validation of the input parameters given to a Tool.
|
|
* Rename `Mcp\Capability\Registry\ResourceReference::$schema` to `Mcp\Capability\Registry\ResourceReference::$resource`.
|
|
* Introduce `SchemaGeneratorInterface` and `DiscovererInterface` to allow custom schema generation and discovery implementations.
|
|
* Remove `DocBlockParser::getSummary()` method, use `DocBlockParser::getDescription()` instead.
|
|
|
|
0.2.2
|
|
-----
|
|
|
|
* Throw exception when trying to inject parameter with the unsupported names `$_session` or `$_request`.
|
|
* `Throwable` objects are passed to log context instead of the exception message.
|
|
|
|
0.2.1
|
|
-----
|
|
|
|
* Add `RunnerControl` for `StdioTransport` to allow break out from continuously listening for new input.
|
|
* Open range of supported Symfony versions to include v5.4
|
|
|
|
0.2.0
|
|
-----
|
|
|
|
* Make `Protocol` stateless by decouple if from `TransportInterface`. Removed `Protocol::getTransport()`.
|
|
* Change signature of `Builder::addLoaders(...$loaders)` to `Builder::addLoaders(iterable $loaders)`.
|
|
* Removed `ClientAwareInterface` in favor of injecting a `RequestContext` with argument injection.
|
|
* The `ClientGateway` cannot be injected with argument injection anymore. Use `RequestContext` instead.
|
|
* Removed `ClientAwareTrait`
|
|
* Removed `Protocol::getTransport()`
|
|
* Added parameter for `TransportInterface` to `Protocol::processInput()`
|
|
|
|
0.1.0
|
|
-----
|
|
|
|
* First tagged release of package
|
|
* Support for implementing MCP server
|