|
2 | 2 |
|
3 | 3 | All notable changes to `mcp/sdk` will be documented in this file. |
4 | 4 |
|
| 5 | +0.9.0 |
| 6 | +----- |
| 7 | + |
| 8 | +* [BC Break] Split the root namespace into `Mcp\Schema`, `Mcp\Client` and `Mcp\Server` to prepare package slicing. `Mcp\Schema` depends on nothing, `Mcp\Client` and `Mcp\Server` depend on `Mcp\Schema` only — enforced by Deptrac (`make deptrac`). |
| 9 | + * `Mcp\Server` => `Mcp\Server\Server` |
| 10 | + * `Mcp\Client` => `Mcp\Client\Client` |
| 11 | + * `Mcp\Capability\*` => `Mcp\Server\Capability\*` (`Attribute`, `Completion`, `Discovery`, `Formatter`, `Logger`, `Registry`, `Tool`, plus `Registry` and `RegistryInterface`) |
| 12 | + * `Mcp\Event\*` => `Mcp\Server\Event\*` |
| 13 | + * `Mcp\JsonRpc\MessageFactory` => `Mcp\Schema\MessageFactory` |
| 14 | + * `Mcp\Server\Stateless\RequestMeta` => `Mcp\Schema\RequestMeta` |
| 15 | +* [BC Break] Distribute `Mcp\Exception\*` across the three namespaces. |
| 16 | + * `Mcp\Exception\{ExceptionInterface,InvalidArgumentException,LogicException,RuntimeException}` => the same names under `Mcp\Schema\Exception\`, `Mcp\Client\Exception\` and `Mcp\Server\Exception\` — pick the one matching the package you catch around |
| 17 | + * `Mcp\Exception\Exception` => `Mcp\Client\Exception\Exception` and `Mcp\Server\Exception\Exception` |
| 18 | + * `Mcp\Exception\{InvalidInputMessageException,MissingRequestMetaException}` => `Mcp\Schema\Exception\*` |
| 19 | + * `Mcp\Exception\{ConnectionException,ElicitationException,RequestException,RootsException,SamplingException}` => `Mcp\Client\Exception\*` |
| 20 | + * `Mcp\Exception\{BadMethodCallException,ClientException,ClientRegistrationException,ConfigurationException,ContainerException,InvalidCursorException,MissingRequiredClientCapabilityException,NotFoundExceptionInterface,PromptGetException,PromptNotFoundException,RegistryException,RequestStateException,ResourceNotFoundException,ResourceReadException,ServiceNotFoundException,ToolCallException,ToolNotFoundException}` => `Mcp\Server\Exception\*` |
| 21 | + * `Mcp\Exception\TimeoutException` and `Mcp\Exception\HandlerNotFoundException` are removed; both were unused. |
| 22 | + * `Mcp\Server\Exception\ExceptionInterface` and `Mcp\Client\Exception\ExceptionInterface` extend `Mcp\Schema\Exception\ExceptionInterface`, so catching the latter still catches any SDK exception. |
| 23 | + * The named exceptions now extend their package's `RuntimeException`/`InvalidArgumentException` instead of the global ones, so `catch (Mcp\Server\Exception\RuntimeException)` reaches `ToolCallException`, `PromptGetException` and friends. |
| 24 | + |
5 | 25 | 0.8.0 |
6 | 26 | ----- |
7 | 27 |
|
|
0 commit comments