Skip to content

Releases: php-mcp/server

v3.3.0

12 Jul 22:22
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.2.2...3.3.0

v3.2.2

09 Jul 12:21
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.2.1...3.2.2

v3.2.1

30 Jun 22:12
Compare
Choose a tag to compare

What's Changed

  • feat: use callable instead of Closure|array|string for handler type by @CodeWithKyrian in #41

Full Changelog: 3.2.0...3.2.1

v3.2.0

30 Jun 21:30
Compare
Choose a tag to compare

What's Changed

  • fix: resolve cache session handler index inconsistencies by @CodeWithKyrian in #36
  • feat: Add comprehensive callable handler support for closures, static methods, and invokable classes by @CodeWithKyrian in #38
  • feat: Enhanced Completion Providers with Values and Enum Support by @CodeWithKyrian in #40

Upgrade Guide

If you're using the CompletionProvider attribute with the named providerClass parameter, consider updating to the new provider parameter for consistency:

// Before (still works)
#[CompletionProvider(providerClass: UserProvider::class)]

// After (recommended)
#[CompletionProvider(provider: UserProvider::class)]

The old providerClass parameter continues to work for backward compatibility, but may be dropped in a future major version release.

Full Changelog: 3.1.1...3.2.0

v3.1.1

26 Jun 08:44
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.1.0...3.1.1

v3.1.0

25 Jun 22:57
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.0.2...3.1.0

v3.0.2

25 Jun 03:42
Compare
Choose a tag to compare

What's Changed

  • fix: Registry cache clearing bug preventing effective caching by @CodeWithKyrian in #29
  • Fix ServerBuilder error handling for manual element registration by @CodeWithKyrian in #30

Full Changelog: 3.0.1...3.0.2

v3.0.1

24 Jun 09:08
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.0.0...3.0.1

v3.0.0

21 Jun 19:12
Compare
Choose a tag to compare

This release brings support for the latest MCP protocol version along with enhanced schema generation, new transport capabilities, and streamlined APIs.

✨ New Features

  • StreamableHttpServerTransport: New transport with resumability, event sourcing, and JSON response mode for production deployments
  • Smart Schema Generation: Automatic JSON schema generation from method signatures with optional #[Schema] attribute enhancements
  • Completion Providers: #[CompletionProvider] attribute for auto-completion in resource templates and prompts
  • Batch Request Processing: Full support for JSON-RPC 2.0 batch requests
  • Enhanced Session Management: Multiple session backends (array, cache, custom) with persistence and garbage collection

🔥 Breaking Changes

  • Schema Package Integration: Now uses php-mcp/schema package for all DTOs, requests, responses, and content types
  • Session Management: ClientStateManager replaced with SessionManager and Session classes
  • Component Reorganization: Support\* classes moved to Utils\* namespace
  • Request Processing: RequestHandler renamed to Dispatcher

Note: Most of these changes are internal and won't affect your existing MCP element definitions and handlers.

🔧 Enhanced Features

  • Improved Schema System: The #[Schema] attribute can now be used at both method-level and parameter-level (previously parameter-level only)
  • Better Error Handling: Enhanced JSON-RPC error responses with proper status codes
  • PSR-20 Clock Interface: Time management with SystemClock implementation
  • Event Store Interface: Pluggable event storage for resumable connections

📦 Dependencies

  • Now requires php-mcp/schema ^1.0
  • Enhanced PSR compliance (PSR-3, PSR-11, PSR-16, PSR-20)

🚧 Migration Guide

Capabilities Configuration

Before:

->withCapabilities(Capabilities::forServer(
    resourcesEnabled: true,
    promptsEnabled: true,
    toolsEnabled: true,
    resourceSubscribe: true
))

After:

->withCapabilities(ServerCapabilities::make(
    resources: true,
    prompts: true,
    tools: true,
    resourcesSubscribe: true
))

Transport Upgrade (Optional)

For production HTTP deployments, consider upgrading to the new StreamableHttpServerTransport:

Before:

$transport = new HttpServerTransport(host: '127.0.0.1', port: 8080);

After:

$transport = new StreamableHttpServerTransport(host: '127.0.0.1',  port: 8080);

📚 Documentation

  • Complete README rewrite with comprehensive examples and deployment guides
  • New production deployment section covering VPS, Docker, and SSL setup
  • Enhanced schema generation documentation
  • Migration guide for v2.x users

Full Changelog: 2.3.1...3.0.0

v2.3.1

13 Jun 11:06
Compare
Choose a tag to compare

What's Changed

  • Streamline Registry Notifications and Add Discovery Suppression Support by @CodeWithKyrian in #22
  • Disable registry notifications during manual registrations to prevent unwanted triggers

Full Changelog: 2.3.0...2.3.1