Yuki Minamiya
c588582acc
Add range validation for MCP::Annotations#priority per MCP specification
...
## Motivation and Context
The MCP specification constrains `Annotations.priority` to the 0–1 range
(`@minimum 0`, `@maximum 1`), but the Ruby SDK accepts any value. The other
official SDKs already enforce this (TypeScript, Python, and PHP).
This follows the existing pattern in `MCP::Icon`, which validates its
constrained `theme` value in the constructor and raises `ArgumentError`.
## How Has This Been Tested?
Added tests in `test/mcp/annotations_test.rb`:
- valid `priority` at the lower (0) and upper (1) bounds is accepted
- out-of-range `priority` (above 1, below 0) raises `ArgumentError`
The full unit suite and RuboCop pass locally.
## Breaking Changes
Strictly speaking yes: a caller that currently passes an out-of-range
`priority` (e.g. `priority: 99`) will now get an `ArgumentError`. Such values
already violate the MCP specification, and `nil` / in-range values are
unaffected.
2026-06-16 00:33:10 +09:00
..
client
Merge pull request #395 from koic/rfc8414_well_known_suffix
2026-06-13 20:23:10 +09:00
prompt
Add _meta field to resource, content, and result classes
2026-04-11 15:08:55 +09:00
resource
Add _meta field to resource, content, and result classes
2026-04-11 15:08:55 +09:00
server
Support Capability Extensions per SEP-2133
2026-06-14 17:20:45 +09:00
tool
Speed Up Tool::Schema Validation by 5x to 100x
2026-06-01 21:47:30 +09:00
annotations.rb
Add range validation for MCP::Annotations#priority per MCP specification
2026-06-16 00:33:10 +09:00
cancellation.rb
Support notifications/cancelled per MCP specification
2026-05-03 04:02:22 +09:00
cancelled_error.rb
Support notifications/cancelled per MCP specification
2026-05-03 04:02:22 +09:00
client.rb
Support Capability Extensions per SEP-2133
2026-06-14 17:20:45 +09:00
configuration.rb
Default missing MCP-Protocol-Version to 2025-03-26 in StreamableHTTPTransport
2026-06-07 10:18:33 +09:00
content.rb
Add _meta field to resource, content, and result classes
2026-04-11 15:08:55 +09:00
icon.rb
Support icons parameter
2025-12-30 05:35:22 +09:00
instrumentation.rb
Add around_request hook for request instrumentation
2026-04-11 13:54:47 +09:00
logging_message_notification.rb
logging_message_notification: Remove unused require
2026-02-05 16:05:08 -05:00
methods.rb
Add roots/list and notifications/roots/list_changed support
2026-04-15 02:39:14 +09:00
progress.rb
Support POST response SSE streams for server-to-client messages
2026-04-04 19:20:31 +09:00
prompt.rb
Use autoload to defer loading of unused subsystems
2026-03-12 14:08:27 +09:00
resource.rb
Add annotations field to MCP::Resource and MCP::ResourceTemplate per MCP specification
2026-06-14 16:05:25 +09:00
resource_template.rb
Add annotations field to MCP::Resource and MCP::ResourceTemplate per MCP specification
2026-06-14 16:05:25 +09:00
server.rb
Support Capability Extensions per SEP-2133
2026-06-14 17:20:45 +09:00
server_context.rb
Support server-to-client ping per MCP specification
2026-05-22 11:28:51 +09:00
server_session.rb
Support server-to-client ping per MCP specification
2026-05-22 11:28:51 +09:00
string_utils.rb
Fix ReDoS vulnerability in StringUtils#underscore
2026-01-09 01:14:52 +09:00
tool.rb
Use autoload to defer loading of unused subsystems
2026-03-12 14:08:27 +09:00
trace_context.rb
Support W3C Trace Context Propagation via _meta per SEP-414
2026-06-12 14:36:24 +09:00
transport.rb
Auto-set server.transport in Transport#initialize
2026-04-09 12:08:55 +09:00
version.rb
Release 0.20.0
2026-06-14 16:58:51 +09:00