|
1 | | -## Unreleased |
| 1 | +## [0.3.1] – 2025-06-25 |
2 | 2 |
|
3 | 3 | ### Added |
4 | 4 | * **Enhanced Structured Logging System**: Production-ready logging framework with comprehensive observability features |
|
46 | 46 | - **Updated Main Documentation**: Enhanced README with security feature overview and quick start examples |
47 | 47 | - **CLAUDE.md Integration**: Updated project documentation with security architecture details |
48 | 48 |
|
49 | | -### Changed |
| 49 | +### Fixed |
| 50 | +* Added missing runtime dependencies to gemspec for proper gem installation |
| 51 | + - Added `jwt` gem dependency (~> 2.7) for JWT authentication strategy |
| 52 | + - Added `rack` gem dependency (~> 3.0) for SSE transport |
| 53 | + - Fixed JWT exception handling for compatibility with jwt gem 2.7+ |
50 | 54 |
|
51 | | -* **Code Quality Improvements**: Enhanced maintainability and consistency across the logging system |
52 | | - * **Constants Refactoring**: Extracted magic numbers to named constants for better maintainability |
53 | | - * Created `VectorMCP::Logging::Constants` module with self-documenting constant names |
54 | | - * Replaced hardcoded values (5, 3, 1000, etc.) with meaningful names (`MAX_SERIALIZATION_DEPTH`, `DEFAULT_MAX_MESSAGE_LENGTH`) |
55 | | - * Centralized configuration limits for JSON serialization, text formatting, and timestamp precision |
56 | | - * **Enhanced Error Handling**: Improved JSON serialization fallback mechanisms with data sanitization |
57 | | - * **Consistent Formatting**: Standardized width and truncation behavior across all formatters |
| 55 | +### Changed |
| 56 | +* Enhanced gemspec description for better gem discovery |
| 57 | +* Added CHANGELOG.md to packaged gem files |
| 58 | +* Improved gemspec metadata for RubyGems.org listing |
58 | 59 |
|
59 | 60 | * **Opt-In Security Design**: Security features are disabled by default for maximum compatibility |
60 | 61 | * Existing servers continue working without modification |
|
110 | 111 |
|
111 | 112 | ## [0.3.0] – 2025-06-20 |
112 | 113 |
|
| 114 | +### Added |
| 115 | +* **Comprehensive Input Schema Validation**: Two-layer validation system for enhanced security and developer experience |
| 116 | + - **Schema Validation**: Validates JSON Schema format during tool registration using `json-schema` gem |
| 117 | + - **Input Validation**: Validates user arguments against defined schemas during tool execution |
| 118 | + - Automatic validation for all tools with `input_schema` defined |
| 119 | + - Detailed error messages with specific validation failure details |
| 120 | + - Full backward compatibility - tools without schemas continue working unchanged |
| 121 | + - New `validate_schema_format!` method for registration-time validation |
| 122 | + - Renamed `validate_tool_arguments!` to `validate_input_arguments!` for clarity |
| 123 | + |
| 124 | +* **Enhanced Documentation and Examples** |
| 125 | + - Comprehensive README section on automatic input validation with security benefits |
| 126 | + - New `examples/validation_demo.rb` showcasing both validation types |
| 127 | + - Complete `examples/README.md` with descriptions of all example files |
| 128 | + - Updated documentation emphasizing security best practices |
| 129 | + |
| 130 | +### Changed |
| 131 | +* **Method Naming Improvements**: Clarified validation method names |
| 132 | + - `validate_tool_arguments!` → `validate_input_arguments!` (runtime validation) |
| 133 | + - Added `validate_schema_format!` (registration-time validation) |
| 134 | + |
| 135 | +### Security |
| 136 | +* **Injection Attack Prevention**: Centralized validation prevents malformed input from reaching tool handlers |
| 137 | +* **Type Safety**: Ensures all arguments match expected JSON Schema types and constraints |
| 138 | +* **Early Error Detection**: Invalid schemas caught during development, not runtime |
| 139 | + |
| 140 | +* **SSE Transport Implementation**: Complete HTTP/Server-Sent Events transport |
| 141 | + - New `VectorMCP::Transport::SSE` class with HTTP server capabilities |
| 142 | + - Puma-based HTTP server with concurrent request handling |
| 143 | + - Bi-directional communication: SSE for server-to-client, HTTP POST for client-to-server |
| 144 | + - Session management with unique session IDs and connection tracking |
| 145 | + - Support for web browsers and HTTP-based MCP clients |
| 146 | + - Configurable host, port, and path prefix options |
| 147 | + |
| 148 | +## [0.3.0] – 2025-06-20 |
| 149 | + |
113 | 150 | ### Added |
114 | 151 |
|
115 | 152 | * **Comprehensive Input Schema Validation**: Two-layer validation system for enhanced security and developer experience |
|
0 commit comments