# v0.3 Features Checklist

This document tracks features implemented for the v0.3 release of pmcp.

## Completed Features ✅

### High Priority
- [x] **Server-side subscription handling** - Subscribe/unsubscribe to resource updates with notification support
- [x] **WebSocket server transport** - Accept incoming WebSocket connections for server implementations
- [x] **Server-side roots support** - Register and manage root directories with notification on changes
- [x] **Request cancellation handling** - Cancel long-running operations with cancellation tokens

### Medium Priority
- [x] **Request cancellation** - Added RequestHandlerExtra with cancellation token support

## In Progress Features 🚧

### High Priority
- [ ] **Batch request support** - Handle multiple JSON-RPC requests in a single message
- [ ] **Comprehensive test suite** - Tests for WebSocket transport, roots, and subscriptions

## Pending Features 📋

### Medium Priority
- [ ] **Progress tracking helper methods** - Send progress notifications during long operations
- [ ] **Resource watching with file system monitoring** - Watch for file changes and notify subscribers
- [ ] **Connection state management** - Handle connection drops and automatic reconnection

### Low Priority
- [ ] **Enhanced metadata utilities** - Additional utilities for working with metadata
- [ ] **Rate limiting for MCP endpoints** - Prevent abuse by limiting request rates

## Feature Details

### Batch Request Support
- Accept arrays of JSON-RPC requests
- Process requests concurrently where possible
- Return array of responses in same order
- Handle partial failures gracefully

### Comprehensive Test Suite
- WebSocket server transport tests
- Roots management tests
- Subscription system tests
- Integration tests for new features

### Progress Tracking (Future)
- Helper methods to send progress notifications
- Progress percentage and message support
- Integration with long-running operations

### Resource Watching (Future)
- File system watcher integration
- Automatic notifications on file changes
- Efficient change detection
- Configurable watch patterns

## Release Criteria for v0.3

1. All high priority features completed
2. All tests passing
3. Documentation updated
4. Quality gate passing
5. Changelog updated
6. Version bumped to 0.3.0