| 1 |
# Changelog |
| 2 |
|
| 3 |
All notable changes to this project will be documented in this file. |
| 4 |
|
| 5 |
The format is based on [](https://keepachangelog.com/en/1.1.0/Keep a Changelog](https://keepachangelog.com/en/1.1.0/](https://keepachangelog.com/en/1.1.0/), |
| 6 |
and this project adheres to [](https://semver.org/spec/v2.0.0.htmlSemantic Versioning](https://semver.org/spec/v2.0.0.html](https://semver.org/spec/v2.0.0.html). |
| 7 |
|
| 8 |
## [Unreleased] |
| 9 |
|
| 10 |
## [0.1.3] - 2026-08-10 |
| 11 |
|
| 12 |
### Fixed |
| 13 |
|
| 14 |
- Open MCP schema types now preserve unrecognized fields during `fromArray()` and `toArray()` round trips, including additional JSON Schema keywords such as `$defs` in tool input and output schemas. |
| 15 |
|
| 16 |
## [0.1.2] - 2026-06-05 |
| 17 |
|
| 18 |
### Fixed |
| 19 |
|
| 20 |
- `ToolInputSchema::toArray()` and `ToolOutputSchema::toArray()` now always emit the `properties` key as a JSON object, even for tools that declare no parameters. Parameter-less tools previously produced `{"type":"object"}` (key omitted) or `[]` (JSON array), both of which strict JSON Schema validators such as OpenAI strict function-calling mode reject with `object schema missing properties`. Tools with parameters are unchanged. The fix is mirrored in the TypeScript generator so a clean regeneration reproduces the patched output. |
| 21 |
|
| 22 |
## [0.1.1] - 2026-04-10 |
| 23 |
|
| 24 |
### Fixed |
| 25 |
|
| 26 |
- Exclude `skill/` directory from Composer dist archives. It contains dev-only helper scripts and reference docs that have no runtime purpose for package consumers and should not ship in the `vendor/` folder. |
| 27 |
- Exclude `CLAUDE.md` from Composer dist archives. It contains dev-only project instructions with no runtime purpose for package consumers. |
| 28 |
|
| 29 |
## [0.1.0] - 2026-03-02 |
| 30 |
|
| 31 |
### Added |
| 32 |
|
| 33 |
- PHP 7.4+ Data Transfer Objects (DTOs) for the Model Context Protocol (MCP) 2025-11-25 specification |
| 34 |
- `fromArray()` static factory methods for deserializing arrays into typed DTOs |
| 35 |
- `toArray()` methods for serializing DTOs to arrays suitable for `json_encode()` |
| 36 |
- Factory classes for union/polymorphic type resolution |
| 37 |
- Class-based enums for MCP enumerated values (PHP 7.4 compatible) |
| 38 |
- Complete MCP domain coverage: Server (Tools, Resources, Prompts, Logging), Client (Sampling, Elicitation, Roots), Common (JSON-RPC, Protocol, Content) |
| 39 |
- JSON-RPC 2.0 message types (Request, Notification, Result, Error) |
| 40 |
- PSR-4 autoloading under `WP\McpSchema\` namespace |
| 41 |
- PHPStan level max static analysis validation |
| 42 |
|