|
1 | 1 | ## Unreleased |
2 | 2 |
|
| 3 | +## [0.3.0] – 2025-06-20 |
| 4 | + |
| 5 | +### Added |
| 6 | +* **Comprehensive Input Schema Validation**: Two-layer validation system for enhanced security and developer experience |
| 7 | + - **Schema Validation**: Validates JSON Schema format during tool registration using `json-schema` gem |
| 8 | + - **Input Validation**: Validates user arguments against defined schemas during tool execution |
| 9 | + - Automatic validation for all tools with `input_schema` defined |
| 10 | + - Detailed error messages with specific validation failure details |
| 11 | + - Full backward compatibility - tools without schemas continue working unchanged |
| 12 | + - New `validate_schema_format!` method for registration-time validation |
| 13 | + - Renamed `validate_tool_arguments!` to `validate_input_arguments!` for clarity |
| 14 | + |
| 15 | +* **Enhanced Documentation and Examples** |
| 16 | + - Comprehensive README section on automatic input validation with security benefits |
| 17 | + - New `examples/validation_demo.rb` showcasing both validation types |
| 18 | + - Complete `examples/README.md` with descriptions of all example files |
| 19 | + - Updated documentation emphasizing security best practices |
| 20 | + |
| 21 | +### Changed |
| 22 | +* **Method Naming Improvements**: Clarified validation method names |
| 23 | + - `validate_tool_arguments!` → `validate_input_arguments!` (runtime validation) |
| 24 | + - Added `validate_schema_format!` (registration-time validation) |
| 25 | + |
| 26 | +### Security |
| 27 | +* **Injection Attack Prevention**: Centralized validation prevents malformed input from reaching tool handlers |
| 28 | +* **Type Safety**: Ensures all arguments match expected JSON Schema types and constraints |
| 29 | +* **Early Error Detection**: Invalid schemas caught during development, not runtime |
| 30 | + |
3 | 31 | * **SSE Transport Implementation**: Complete HTTP/Server-Sent Events transport |
4 | 32 | - New `VectorMCP::Transport::SSE` class with HTTP server capabilities |
5 | 33 | - Puma-based HTTP server with concurrent request handling |
|
0 commit comments