|
1 | 1 | # Release Notes |
2 | 2 |
|
3 | | -## [Unreleased](https://github.com/laravel/mcp/compare/v0.3.4...main) |
| 3 | +## [Unreleased](https://github.com/laravel/mcp/compare/v0.4.0...main) |
| 4 | + |
| 5 | +## [v0.4.0](https://github.com/laravel/mcp/compare/v0.3.4...v0.4.0) - 2025-12-01 |
| 6 | + |
| 7 | +### What's Changed |
| 8 | + |
| 9 | +* Add Annotation Support on Resources by [@pushpak1300](https://github.com/pushpak1300) in https://github.com/laravel/mcp/pull/111 |
| 10 | +* Add structuredContent & outputSchema Support by [@macbookandrew](https://github.com/macbookandrew) in https://github.com/laravel/mcp/pull/83 |
| 11 | +* Standardise `Role` case names by [@pushpak1300](https://github.com/pushpak1300) in https://github.com/laravel/mcp/pull/116 |
| 12 | +* Test Improvements by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/mcp/pull/115 |
| 13 | +* PHP 8.5 Compatibility by [@pushpak1300](https://github.com/pushpak1300) in https://github.com/laravel/mcp/pull/114 |
| 14 | +* Fix casing for keys in OAuthRegisterController response by [@pushpak1300](https://github.com/pushpak1300) in https://github.com/laravel/mcp/pull/117 |
| 15 | +* Update JsonSchema usage by [@pushpak1300](https://github.com/pushpak1300) in https://github.com/laravel/mcp/pull/120 |
| 16 | +* Add Support For Resource Templates by [@pushpak1300](https://github.com/pushpak1300) in https://github.com/laravel/mcp/pull/113 |
| 17 | +* Remove unused `resource-template` stub and update `JsonSchema` import by [@pushpak1300](https://github.com/pushpak1300) in https://github.com/laravel/mcp/pull/122 |
| 18 | + |
| 19 | +### New Contributors |
| 20 | + |
| 21 | +* [@macbookandrew](https://github.com/macbookandrew) made their first contribution in https://github.com/laravel/mcp/pull/83 |
| 22 | +* [@crynobone](https://github.com/crynobone) made their first contribution in https://github.com/laravel/mcp/pull/115 |
| 23 | + |
| 24 | +### Breaking Change |
| 25 | + |
| 26 | +#### 1. Case Name Updates (https://github.com/laravel/mcp/pull/116) |
| 27 | + |
| 28 | +Applications referencing the previous case names will need manual updates. |
| 29 | + |
| 30 | +**Required changes** |
| 31 | + |
| 32 | +* `Role::ASSISTANT` should be updated to `Role::Assistant` |
| 33 | +* `Role::USER` should be updated to `Role::User` |
| 34 | + |
| 35 | +Make sure your codebase reflects these changes before upgrading to avoid build or runtime errors. |
| 36 | + |
| 37 | +#### 2. JsonSchema Contract Change (https://github.com/laravel/mcp/pull/120) |
| 38 | + |
| 39 | +Tool implementations that explicitly type hint `Illuminate\JsonSchema\JsonSchema` in their `schema()` or `outputSchema()` methods must update to use the contract interface `Illuminate\Contracts\JsonSchema\JsonSchema`. |
| 40 | + |
| 41 | +##### Migration Guide |
| 42 | + |
| 43 | +**Before** |
| 44 | + |
| 45 | +```php |
| 46 | +use Illuminate\JsonSchema\JsonSchema; |
| 47 | + |
| 48 | +public function schema(JsonSchema $schema): array |
| 49 | +{ |
| 50 | + // |
| 51 | +} |
| 52 | + |
| 53 | + |
| 54 | +``` |
| 55 | +**After** |
| 56 | + |
| 57 | +```php |
| 58 | +use Illuminate\Contracts\JsonSchema\JsonSchema; |
| 59 | + |
| 60 | +public function schema(JsonSchema $schema): array |
| 61 | +{ |
| 62 | + // |
| 63 | +} |
| 64 | + |
| 65 | + |
| 66 | +``` |
| 67 | +This affects only custom tool classes that override the schema methods. The update is minimal, requiring only the import change to the contract interface. |
| 68 | + |
| 69 | +**Full Changelog**: https://github.com/laravel/mcp/compare/v0.3.4...v0.4.0 |
4 | 70 |
|
5 | 71 | ## [v0.3.4](https://github.com/laravel/mcp/compare/v0.3.3...v0.3.4) - 2025-11-18 |
6 | 72 |
|
|
0 commit comments