chore: release v0.2.0 - #300

Merged
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z
Jul 2, 2025
Merged

chore: release v0.2.0#300
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 New release

  • rmcp-macros: 0.1.5 -> 0.2.0
  • rmcp: 0.1.5 -> 0.2.0 (⚠ API breaking changes)

rmcp breaking changes

--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type RequestNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type RequestNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ServerNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type ClientNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type ServerRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Request is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Notification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type Notification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type ClientRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
type NotificationNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field ServerCapabilities.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:85
field Request.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:291
field ServerCapabilitiesBuilder.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:199
field NotificationNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:385
field RequestContext.meta in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:496
field RequestContext.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:497
field RequestHandle.progress_token in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:247
field ProgressNotificationParam.message in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:770
field RequestNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:344
field SseServerConfig.sse_keep_alive in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/transport/sse_server.rs:223
field Tool.annotations in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/tool.rs:24
field Notification.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:364
--- failure declarative_macro_missing: macro_rules declaration removed or renamed ---
Description:
A `macro_rules!` declarative macro cannot be invoked by its prior name. The macro may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/declarative_macro_missing.ron
Failed in:
macro tool_box, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:427
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type RequestNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1320
type ClientNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason no longer derives Clone, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Copy, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Eq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Hash, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type ServerResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1350
type Notification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure enum_discriminants_undefined_non_unit_variant: enum's variants no longer have defined discriminants due to non-unit variant ---
Description:
An enum's variants no longer have well-defined discriminant values due to a tuple or struct variant in the enum. This breaks downstream code that accesses discriminants via a numeric cast like `as isize`.
ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_discriminants_undefined_non_unit_variant.ron
Failed in:
enum QuitReason in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_missing.ron
Failed in:
enum rmcp::transport::io::JsonRpcMessageCodecError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:122
enum rmcp::transport::sse::SseTransportError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:15
enum rmcp::service::PeerSinkMessage, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:278
enum rmcp::model::Message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:324
enum rmcp::transport::io::TransportAdapterAsyncCombinedRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:44
enum rmcp::model::ProgressToken, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:126
enum rmcp::transport::TransportAdapterStreamSink, previously in file /tmp/.tmprcKU8o/rmcp/src/transport.rs:83
enum rmcp::transport::io::TransportAdapterAsyncRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:26
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron
Failed in:
variant JsonRpcMessage:BatchRequest in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:541
variant JsonRpcMessage:BatchResponse in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:543
variant RawContent:Audio in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/content.rs:60
variant QuitReason:JoinError in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:487
--- failure enum_variant_missing: pub enum variant removed or renamed ---
Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_missing.ron
Failed in:
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
--- failure feature_missing: package feature removed or renamed ---
Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/feature_missing.ron
Failed in:
feature transport-sse in the package's Cargo.toml
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/function_missing.ron
Failed in:
function rmcp::transport::io::from_async_read, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:62
function rmcp::transport::io::from_async_write, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:71
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/inherent_method_missing.ron
Failed in:
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
JsonRpcMessage::into_message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:307
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/module_missing.ron
Failed in:
mod rmcp::transport::sse, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:2
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_missing.ron
Failed in:
struct rmcp::transport::io::JsonRpcMessageCodec, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:78
struct rmcp::transport::sse::SseTransportRetryCofnig, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:45
struct rmcp::handler::server::tool::Parameter, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:163
struct rmcp::transport::sse::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::transport::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::model::PaginatedRequestParamInner, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:497
struct rmcp::model::WithMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:172
struct rmcp::handler::server::tool::ToolBoxItem, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:365
struct rmcp::handler::server::tool::Callee, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:182
struct rmcp::handler::server::tool::ToolBox, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:390
struct rmcp::model::RequestMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:181
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_pub_field_missing.ron
Failed in:
field peer of struct TowerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/service/tower.rs:10
--- failure trait_associated_type_added: non-sealed public trait added associated type without default value ---
Description:
A non-sealed trait has gained an associated type without a default value, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_associated_type_added.ron
Failed in:
trait associated type rmcp::service::ServiceRole::InitializeError in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:82
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_missing.ron
Failed in:
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:165
method set_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:166
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---
Description:
A trait method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_parameter_count_changed.ron
Failed in:
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
DynService::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:167
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
--- failure trait_mismatched_generic_lifetimes: trait now takes a different number of generic lifetimes ---
Description:
A trait now takes a different number of generic lifetime parameters. Uses of this trait that name the previous number of parameters, such as in trait bounds, will be broken.
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_mismatched_generic_lifetimes.ron
Failed in:
trait FromToolCallContextPart (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:95
trait CallToolHandler (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:168
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type CallToolHandler::Fut, previously at /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:155
Changelog

rmcp-macros

0.2.0 - 2025-07-02

Added

  • add progress notification handling and related structures (#282)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (transport) support streamable http server (#152)
  • (rmcp-macro) generate description from docs (#141)
  • revision-2025-03-26 without streamable http (#84)

Fixed

  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • cleanup zombie processes for child process client (#156)
  • (rmcp-macros) fix extract_doc_line code (#142)
  • (macros) add error deal (#109)
  • (macro) add generics marco types support (#98)
  • (typo) s/marcos/macros/ (#85)
  • (test) fix tool deserialization error (#68)

Other

  • refactor tool macros and router implementation (#261)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add spell check (#82)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • fmt the project (#54)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit

rmcp

0.2.0 - 2025-07-02

Added

  • mark boxed http body as sync (#291)
  • add progress notification handling and related structures (#282)
  • allow failable service creation in streamable HTTP tower service (#244)
  • provide more context information (#236)
  • stateless mode of streamable http client (#233)
  • add cancellation_token method to RunningService (#218)
  • better http server support (#199)
  • throw initialize error detail (#192)
  • sse client optionally skip the endpoint event (#187)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (openapi) add OpenAPI v3 compatibility and test for nullable field schema workaround (#135) (#137)
  • (extension) extract http request part into rmcp extension (#163)
  • (transport) support streamable http server (#152)
  • (oauth) fixes + cache client credentials (#157)
  • allow use of reqwest without ring provider (#155)
  • extensions to context (#102)
  • revision-2025-03-26 without streamable http (#84)
  • (tool) allow tool call return a serializable value in json format (#75) (#78)
  • Sse server auto ping (#74)
  • (transport) Sse client transport trait (#67)

Fixed

  • let users decide what to wrap in child process command (#279)
  • cancellable initialization process (#280)
  • inject part into extension when handing init req (#275)
  • streamable http server close request channel on response(#266) (#270)
  • streamable http client close on response (#268)
  • expose TokioChildWrapper::id() in TokioChildProcess and TokioChildProcessOut (#254)
  • add compatibility handling for non-standard notifications in async_rw (#247)
  • allow SSE server router to be nested (#240)
  • error for status in post method of streamable http client (#238)
  • disable wasmbind in chrono for wasm32-unknown-unknown (#234)
  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • comment error (#215)
  • resolve the server 406 error in API calls (#203)
  • sse endpoint build follow js's new URL(url, base) (#197)
  • more friendly interface to get service error (#190)
  • cleanup zombie processes for child process client (#156)
  • (schemar) use self-defined settings (#180)
  • (transport-sse-server) cleanup on connection drop (#165)
  • (test) skip serialize tool's annotation if empty (#160)
  • fix resource leak (#136)
  • (handler) do call handler methods when initialize server (#118)
  • (server) schemars compilation errors (#104)
  • (test) fix test introduced by test(context): test context requests  #97 (#101)
  • (macro) add generics marco types support (#98)
  • (typo) nit language corrections (#90)
  • (typo) s/marcos/macros/ (#85)
  • (client) add error enum while deal client info (#76)
  • (notification) fix wrongly error report in notification (#70)
  • (test) fix tool deserialization error (#68)
  • (server) add error enum while deal server info (#51)

Other

  • add simpling example and test (#289)
  • add update for test_message_schema (#286)
  • add notion clear in model.rs (#284)
  • cov settings, and fix serveral building warnings (#281)
  • refactor tool macros and router implementation (#261)
  • fix regression in URL joining (#265)
  • remove erroneous definitions_path (#264)
  • allow using a TokioCommandWrap for TokioChildProcess::new closesStdio doesn't seem to respect cmd flags anymore #243 (#245)
  • Fix typo (#249)
  • provide http server as tower service (#228)
  • (deps) update sse-stream requirement from 0.1.4 to 0.2.0 (#230)
  • Server info is only retrieved once during initialization (#214)
  • (deps) update base64 requirement from 0.21 to 0.22 (#209)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • fix error introduced by merge, and reorganize feature (#185)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • remove un-used tower.rs (#125)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add an overview to rmcp/src/lib.rs (#116)
  • (context) test context request handling and refactor for reusable client-server tests (#97)
  • (logging) Add tests for logging (#96)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • add test with js server (#65)
  • fmt the project (#54)
  • (sse_server) separate router and server startup (#52)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit


This PR was generated with release-plz.

@alexhancock
alexhancock self-requested a review July 2, 2025 18:50
@alexhancock
alexhancock merged commit c0f3720 into mainJul 2, 2025
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 3, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 9, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@DaleSeo
DaleSeo deleted the release-plz-2025-07-02T18-45-31Z branch February 20, 2026 21:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdio doesn't seem to respect cmd flags anymore

1 participant

@alexhancock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore: release v0.2.0 - #300

Merged
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z
Jul 2, 2025
Merged

chore: release v0.2.0#300
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 New release

  • rmcp-macros: 0.1.5 -> 0.2.0
  • rmcp: 0.1.5 -> 0.2.0 (⚠ API breaking changes)

rmcp breaking changes

--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type RequestNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type RequestNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ServerNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type ClientNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type ServerRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Request is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Notification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type Notification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type ClientRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
type NotificationNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field ServerCapabilities.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:85
field Request.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:291
field ServerCapabilitiesBuilder.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:199
field NotificationNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:385
field RequestContext.meta in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:496
field RequestContext.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:497
field RequestHandle.progress_token in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:247
field ProgressNotificationParam.message in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:770
field RequestNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:344
field SseServerConfig.sse_keep_alive in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/transport/sse_server.rs:223
field Tool.annotations in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/tool.rs:24
field Notification.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:364
--- failure declarative_macro_missing: macro_rules declaration removed or renamed ---
Description:
A `macro_rules!` declarative macro cannot be invoked by its prior name. The macro may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/declarative_macro_missing.ron
Failed in:
macro tool_box, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:427
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type RequestNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1320
type ClientNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason no longer derives Clone, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Copy, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Eq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Hash, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type ServerResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1350
type Notification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure enum_discriminants_undefined_non_unit_variant: enum's variants no longer have defined discriminants due to non-unit variant ---
Description:
An enum's variants no longer have well-defined discriminant values due to a tuple or struct variant in the enum. This breaks downstream code that accesses discriminants via a numeric cast like `as isize`.
ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_discriminants_undefined_non_unit_variant.ron
Failed in:
enum QuitReason in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_missing.ron
Failed in:
enum rmcp::transport::io::JsonRpcMessageCodecError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:122
enum rmcp::transport::sse::SseTransportError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:15
enum rmcp::service::PeerSinkMessage, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:278
enum rmcp::model::Message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:324
enum rmcp::transport::io::TransportAdapterAsyncCombinedRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:44
enum rmcp::model::ProgressToken, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:126
enum rmcp::transport::TransportAdapterStreamSink, previously in file /tmp/.tmprcKU8o/rmcp/src/transport.rs:83
enum rmcp::transport::io::TransportAdapterAsyncRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:26
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron
Failed in:
variant JsonRpcMessage:BatchRequest in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:541
variant JsonRpcMessage:BatchResponse in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:543
variant RawContent:Audio in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/content.rs:60
variant QuitReason:JoinError in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:487
--- failure enum_variant_missing: pub enum variant removed or renamed ---
Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_missing.ron
Failed in:
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
--- failure feature_missing: package feature removed or renamed ---
Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/feature_missing.ron
Failed in:
feature transport-sse in the package's Cargo.toml
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/function_missing.ron
Failed in:
function rmcp::transport::io::from_async_read, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:62
function rmcp::transport::io::from_async_write, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:71
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/inherent_method_missing.ron
Failed in:
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
JsonRpcMessage::into_message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:307
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/module_missing.ron
Failed in:
mod rmcp::transport::sse, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:2
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_missing.ron
Failed in:
struct rmcp::transport::io::JsonRpcMessageCodec, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:78
struct rmcp::transport::sse::SseTransportRetryCofnig, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:45
struct rmcp::handler::server::tool::Parameter, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:163
struct rmcp::transport::sse::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::transport::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::model::PaginatedRequestParamInner, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:497
struct rmcp::model::WithMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:172
struct rmcp::handler::server::tool::ToolBoxItem, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:365
struct rmcp::handler::server::tool::Callee, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:182
struct rmcp::handler::server::tool::ToolBox, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:390
struct rmcp::model::RequestMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:181
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_pub_field_missing.ron
Failed in:
field peer of struct TowerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/service/tower.rs:10
--- failure trait_associated_type_added: non-sealed public trait added associated type without default value ---
Description:
A non-sealed trait has gained an associated type without a default value, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_associated_type_added.ron
Failed in:
trait associated type rmcp::service::ServiceRole::InitializeError in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:82
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_missing.ron
Failed in:
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:165
method set_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:166
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---
Description:
A trait method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_parameter_count_changed.ron
Failed in:
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
DynService::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:167
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
--- failure trait_mismatched_generic_lifetimes: trait now takes a different number of generic lifetimes ---
Description:
A trait now takes a different number of generic lifetime parameters. Uses of this trait that name the previous number of parameters, such as in trait bounds, will be broken.
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_mismatched_generic_lifetimes.ron
Failed in:
trait FromToolCallContextPart (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:95
trait CallToolHandler (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:168
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type CallToolHandler::Fut, previously at /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:155
Changelog

rmcp-macros

0.2.0 - 2025-07-02

Added

  • add progress notification handling and related structures (#282)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (transport) support streamable http server (#152)
  • (rmcp-macro) generate description from docs (#141)
  • revision-2025-03-26 without streamable http (#84)

Fixed

  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • cleanup zombie processes for child process client (#156)
  • (rmcp-macros) fix extract_doc_line code (#142)
  • (macros) add error deal (#109)
  • (macro) add generics marco types support (#98)
  • (typo) s/marcos/macros/ (#85)
  • (test) fix tool deserialization error (#68)

Other

  • refactor tool macros and router implementation (#261)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add spell check (#82)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • fmt the project (#54)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit

rmcp

0.2.0 - 2025-07-02

Added

  • mark boxed http body as sync (#291)
  • add progress notification handling and related structures (#282)
  • allow failable service creation in streamable HTTP tower service (#244)
  • provide more context information (#236)
  • stateless mode of streamable http client (#233)
  • add cancellation_token method to RunningService (#218)
  • better http server support (#199)
  • throw initialize error detail (#192)
  • sse client optionally skip the endpoint event (#187)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (openapi) add OpenAPI v3 compatibility and test for nullable field schema workaround (#135) (#137)
  • (extension) extract http request part into rmcp extension (#163)
  • (transport) support streamable http server (#152)
  • (oauth) fixes + cache client credentials (#157)
  • allow use of reqwest without ring provider (#155)
  • extensions to context (#102)
  • revision-2025-03-26 without streamable http (#84)
  • (tool) allow tool call return a serializable value in json format (#75) (#78)
  • Sse server auto ping (#74)
  • (transport) Sse client transport trait (#67)

Fixed

  • let users decide what to wrap in child process command (#279)
  • cancellable initialization process (#280)
  • inject part into extension when handing init req (#275)
  • streamable http server close request channel on response(#266) (#270)
  • streamable http client close on response (#268)
  • expose TokioChildWrapper::id() in TokioChildProcess and TokioChildProcessOut (#254)
  • add compatibility handling for non-standard notifications in async_rw (#247)
  • allow SSE server router to be nested (#240)
  • error for status in post method of streamable http client (#238)
  • disable wasmbind in chrono for wasm32-unknown-unknown (#234)
  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • comment error (#215)
  • resolve the server 406 error in API calls (#203)
  • sse endpoint build follow js's new URL(url, base) (#197)
  • more friendly interface to get service error (#190)
  • cleanup zombie processes for child process client (#156)
  • (schemar) use self-defined settings (#180)
  • (transport-sse-server) cleanup on connection drop (#165)
  • (test) skip serialize tool's annotation if empty (#160)
  • fix resource leak (#136)
  • (handler) do call handler methods when initialize server (#118)
  • (server) schemars compilation errors (#104)
  • (test) fix test introduced by test(context): test context requests  #97 (#101)
  • (macro) add generics marco types support (#98)
  • (typo) nit language corrections (#90)
  • (typo) s/marcos/macros/ (#85)
  • (client) add error enum while deal client info (#76)
  • (notification) fix wrongly error report in notification (#70)
  • (test) fix tool deserialization error (#68)
  • (server) add error enum while deal server info (#51)

Other

  • add simpling example and test (#289)
  • add update for test_message_schema (#286)
  • add notion clear in model.rs (#284)
  • cov settings, and fix serveral building warnings (#281)
  • refactor tool macros and router implementation (#261)
  • fix regression in URL joining (#265)
  • remove erroneous definitions_path (#264)
  • allow using a TokioCommandWrap for TokioChildProcess::new closesStdio doesn't seem to respect cmd flags anymore #243 (#245)
  • Fix typo (#249)
  • provide http server as tower service (#228)
  • (deps) update sse-stream requirement from 0.1.4 to 0.2.0 (#230)
  • Server info is only retrieved once during initialization (#214)
  • (deps) update base64 requirement from 0.21 to 0.22 (#209)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • fix error introduced by merge, and reorganize feature (#185)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • remove un-used tower.rs (#125)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add an overview to rmcp/src/lib.rs (#116)
  • (context) test context request handling and refactor for reusable client-server tests (#97)
  • (logging) Add tests for logging (#96)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • add test with js server (#65)
  • fmt the project (#54)
  • (sse_server) separate router and server startup (#52)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit


This PR was generated with release-plz.

@alexhancock
alexhancock self-requested a review July 2, 2025 18:50
@alexhancock
alexhancock merged commit c0f3720 into mainJul 2, 2025
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 3, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 9, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@DaleSeo
DaleSeo deleted the release-plz-2025-07-02T18-45-31Z branch February 20, 2026 21:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdio doesn't seem to respect cmd flags anymore

1 participant

@alexhancock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: release v0.2.0 - #300

Merged
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z
Jul 2, 2025
Merged

chore: release v0.2.0#300
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 New release

  • rmcp-macros: 0.1.5 -> 0.2.0
  • rmcp: 0.1.5 -> 0.2.0 (⚠ API breaking changes)

rmcp breaking changes

--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type RequestNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type RequestNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ServerNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type ClientNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type ServerRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Request is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Notification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type Notification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type ClientRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
type NotificationNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field ServerCapabilities.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:85
field Request.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:291
field ServerCapabilitiesBuilder.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:199
field NotificationNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:385
field RequestContext.meta in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:496
field RequestContext.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:497
field RequestHandle.progress_token in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:247
field ProgressNotificationParam.message in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:770
field RequestNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:344
field SseServerConfig.sse_keep_alive in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/transport/sse_server.rs:223
field Tool.annotations in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/tool.rs:24
field Notification.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:364
--- failure declarative_macro_missing: macro_rules declaration removed or renamed ---
Description:
A `macro_rules!` declarative macro cannot be invoked by its prior name. The macro may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/declarative_macro_missing.ron
Failed in:
macro tool_box, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:427
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type RequestNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1320
type ClientNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason no longer derives Clone, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Copy, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Eq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Hash, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type ServerResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1350
type Notification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure enum_discriminants_undefined_non_unit_variant: enum's variants no longer have defined discriminants due to non-unit variant ---
Description:
An enum's variants no longer have well-defined discriminant values due to a tuple or struct variant in the enum. This breaks downstream code that accesses discriminants via a numeric cast like `as isize`.
ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_discriminants_undefined_non_unit_variant.ron
Failed in:
enum QuitReason in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_missing.ron
Failed in:
enum rmcp::transport::io::JsonRpcMessageCodecError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:122
enum rmcp::transport::sse::SseTransportError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:15
enum rmcp::service::PeerSinkMessage, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:278
enum rmcp::model::Message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:324
enum rmcp::transport::io::TransportAdapterAsyncCombinedRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:44
enum rmcp::model::ProgressToken, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:126
enum rmcp::transport::TransportAdapterStreamSink, previously in file /tmp/.tmprcKU8o/rmcp/src/transport.rs:83
enum rmcp::transport::io::TransportAdapterAsyncRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:26
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron
Failed in:
variant JsonRpcMessage:BatchRequest in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:541
variant JsonRpcMessage:BatchResponse in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:543
variant RawContent:Audio in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/content.rs:60
variant QuitReason:JoinError in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:487
--- failure enum_variant_missing: pub enum variant removed or renamed ---
Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_missing.ron
Failed in:
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
--- failure feature_missing: package feature removed or renamed ---
Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/feature_missing.ron
Failed in:
feature transport-sse in the package's Cargo.toml
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/function_missing.ron
Failed in:
function rmcp::transport::io::from_async_read, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:62
function rmcp::transport::io::from_async_write, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:71
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/inherent_method_missing.ron
Failed in:
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
JsonRpcMessage::into_message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:307
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/module_missing.ron
Failed in:
mod rmcp::transport::sse, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:2
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_missing.ron
Failed in:
struct rmcp::transport::io::JsonRpcMessageCodec, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:78
struct rmcp::transport::sse::SseTransportRetryCofnig, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:45
struct rmcp::handler::server::tool::Parameter, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:163
struct rmcp::transport::sse::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::transport::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::model::PaginatedRequestParamInner, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:497
struct rmcp::model::WithMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:172
struct rmcp::handler::server::tool::ToolBoxItem, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:365
struct rmcp::handler::server::tool::Callee, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:182
struct rmcp::handler::server::tool::ToolBox, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:390
struct rmcp::model::RequestMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:181
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_pub_field_missing.ron
Failed in:
field peer of struct TowerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/service/tower.rs:10
--- failure trait_associated_type_added: non-sealed public trait added associated type without default value ---
Description:
A non-sealed trait has gained an associated type without a default value, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_associated_type_added.ron
Failed in:
trait associated type rmcp::service::ServiceRole::InitializeError in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:82
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_missing.ron
Failed in:
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:165
method set_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:166
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---
Description:
A trait method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_parameter_count_changed.ron
Failed in:
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
DynService::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:167
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
--- failure trait_mismatched_generic_lifetimes: trait now takes a different number of generic lifetimes ---
Description:
A trait now takes a different number of generic lifetime parameters. Uses of this trait that name the previous number of parameters, such as in trait bounds, will be broken.
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_mismatched_generic_lifetimes.ron
Failed in:
trait FromToolCallContextPart (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:95
trait CallToolHandler (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:168
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type CallToolHandler::Fut, previously at /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:155
Changelog

rmcp-macros

0.2.0 - 2025-07-02

Added

  • add progress notification handling and related structures (#282)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (transport) support streamable http server (#152)
  • (rmcp-macro) generate description from docs (#141)
  • revision-2025-03-26 without streamable http (#84)

Fixed

  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • cleanup zombie processes for child process client (#156)
  • (rmcp-macros) fix extract_doc_line code (#142)
  • (macros) add error deal (#109)
  • (macro) add generics marco types support (#98)
  • (typo) s/marcos/macros/ (#85)
  • (test) fix tool deserialization error (#68)

Other

  • refactor tool macros and router implementation (#261)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add spell check (#82)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • fmt the project (#54)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit

rmcp

0.2.0 - 2025-07-02

Added

  • mark boxed http body as sync (#291)
  • add progress notification handling and related structures (#282)
  • allow failable service creation in streamable HTTP tower service (#244)
  • provide more context information (#236)
  • stateless mode of streamable http client (#233)
  • add cancellation_token method to RunningService (#218)
  • better http server support (#199)
  • throw initialize error detail (#192)
  • sse client optionally skip the endpoint event (#187)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (openapi) add OpenAPI v3 compatibility and test for nullable field schema workaround (#135) (#137)
  • (extension) extract http request part into rmcp extension (#163)
  • (transport) support streamable http server (#152)
  • (oauth) fixes + cache client credentials (#157)
  • allow use of reqwest without ring provider (#155)
  • extensions to context (#102)
  • revision-2025-03-26 without streamable http (#84)
  • (tool) allow tool call return a serializable value in json format (#75) (#78)
  • Sse server auto ping (#74)
  • (transport) Sse client transport trait (#67)

Fixed

  • let users decide what to wrap in child process command (#279)
  • cancellable initialization process (#280)
  • inject part into extension when handing init req (#275)
  • streamable http server close request channel on response(#266) (#270)
  • streamable http client close on response (#268)
  • expose TokioChildWrapper::id() in TokioChildProcess and TokioChildProcessOut (#254)
  • add compatibility handling for non-standard notifications in async_rw (#247)
  • allow SSE server router to be nested (#240)
  • error for status in post method of streamable http client (#238)
  • disable wasmbind in chrono for wasm32-unknown-unknown (#234)
  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • comment error (#215)
  • resolve the server 406 error in API calls (#203)
  • sse endpoint build follow js's new URL(url, base) (#197)
  • more friendly interface to get service error (#190)
  • cleanup zombie processes for child process client (#156)
  • (schemar) use self-defined settings (#180)
  • (transport-sse-server) cleanup on connection drop (#165)
  • (test) skip serialize tool's annotation if empty (#160)
  • fix resource leak (#136)
  • (handler) do call handler methods when initialize server (#118)
  • (server) schemars compilation errors (#104)
  • (test) fix test introduced by test(context): test context requests  #97 (#101)
  • (macro) add generics marco types support (#98)
  • (typo) nit language corrections (#90)
  • (typo) s/marcos/macros/ (#85)
  • (client) add error enum while deal client info (#76)
  • (notification) fix wrongly error report in notification (#70)
  • (test) fix tool deserialization error (#68)
  • (server) add error enum while deal server info (#51)

Other

  • add simpling example and test (#289)
  • add update for test_message_schema (#286)
  • add notion clear in model.rs (#284)
  • cov settings, and fix serveral building warnings (#281)
  • refactor tool macros and router implementation (#261)
  • fix regression in URL joining (#265)
  • remove erroneous definitions_path (#264)
  • allow using a TokioCommandWrap for TokioChildProcess::new closesStdio doesn't seem to respect cmd flags anymore #243 (#245)
  • Fix typo (#249)
  • provide http server as tower service (#228)
  • (deps) update sse-stream requirement from 0.1.4 to 0.2.0 (#230)
  • Server info is only retrieved once during initialization (#214)
  • (deps) update base64 requirement from 0.21 to 0.22 (#209)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • fix error introduced by merge, and reorganize feature (#185)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • remove un-used tower.rs (#125)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add an overview to rmcp/src/lib.rs (#116)
  • (context) test context request handling and refactor for reusable client-server tests (#97)
  • (logging) Add tests for logging (#96)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • add test with js server (#65)
  • fmt the project (#54)
  • (sse_server) separate router and server startup (#52)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit


This PR was generated with release-plz.

@alexhancock
alexhancock self-requested a review July 2, 2025 18:50
@alexhancock
alexhancock merged commit c0f3720 into mainJul 2, 2025
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 3, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 9, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@DaleSeo
DaleSeo deleted the release-plz-2025-07-02T18-45-31Z branch February 20, 2026 21:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdio doesn't seem to respect cmd flags anymore

1 participant

@alexhancock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: release v0.2.0 - #300

Merged
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z
Jul 2, 2025
Merged

chore: release v0.2.0#300
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 New release

  • rmcp-macros: 0.1.5 -> 0.2.0
  • rmcp: 0.1.5 -> 0.2.0 (⚠ API breaking changes)

rmcp breaking changes

--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type RequestNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type RequestNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ServerNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type ClientNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type ServerRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Request is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Notification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type Notification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type ClientRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
type NotificationNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field ServerCapabilities.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:85
field Request.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:291
field ServerCapabilitiesBuilder.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:199
field NotificationNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:385
field RequestContext.meta in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:496
field RequestContext.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:497
field RequestHandle.progress_token in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:247
field ProgressNotificationParam.message in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:770
field RequestNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:344
field SseServerConfig.sse_keep_alive in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/transport/sse_server.rs:223
field Tool.annotations in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/tool.rs:24
field Notification.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:364
--- failure declarative_macro_missing: macro_rules declaration removed or renamed ---
Description:
A `macro_rules!` declarative macro cannot be invoked by its prior name. The macro may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/declarative_macro_missing.ron
Failed in:
macro tool_box, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:427
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type RequestNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1320
type ClientNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason no longer derives Clone, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Copy, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Eq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Hash, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type ServerResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1350
type Notification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure enum_discriminants_undefined_non_unit_variant: enum's variants no longer have defined discriminants due to non-unit variant ---
Description:
An enum's variants no longer have well-defined discriminant values due to a tuple or struct variant in the enum. This breaks downstream code that accesses discriminants via a numeric cast like `as isize`.
ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_discriminants_undefined_non_unit_variant.ron
Failed in:
enum QuitReason in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_missing.ron
Failed in:
enum rmcp::transport::io::JsonRpcMessageCodecError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:122
enum rmcp::transport::sse::SseTransportError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:15
enum rmcp::service::PeerSinkMessage, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:278
enum rmcp::model::Message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:324
enum rmcp::transport::io::TransportAdapterAsyncCombinedRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:44
enum rmcp::model::ProgressToken, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:126
enum rmcp::transport::TransportAdapterStreamSink, previously in file /tmp/.tmprcKU8o/rmcp/src/transport.rs:83
enum rmcp::transport::io::TransportAdapterAsyncRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:26
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron
Failed in:
variant JsonRpcMessage:BatchRequest in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:541
variant JsonRpcMessage:BatchResponse in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:543
variant RawContent:Audio in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/content.rs:60
variant QuitReason:JoinError in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:487
--- failure enum_variant_missing: pub enum variant removed or renamed ---
Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_missing.ron
Failed in:
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
--- failure feature_missing: package feature removed or renamed ---
Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/feature_missing.ron
Failed in:
feature transport-sse in the package's Cargo.toml
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/function_missing.ron
Failed in:
function rmcp::transport::io::from_async_read, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:62
function rmcp::transport::io::from_async_write, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:71
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/inherent_method_missing.ron
Failed in:
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
JsonRpcMessage::into_message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:307
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/module_missing.ron
Failed in:
mod rmcp::transport::sse, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:2
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_missing.ron
Failed in:
struct rmcp::transport::io::JsonRpcMessageCodec, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:78
struct rmcp::transport::sse::SseTransportRetryCofnig, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:45
struct rmcp::handler::server::tool::Parameter, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:163
struct rmcp::transport::sse::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::transport::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::model::PaginatedRequestParamInner, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:497
struct rmcp::model::WithMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:172
struct rmcp::handler::server::tool::ToolBoxItem, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:365
struct rmcp::handler::server::tool::Callee, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:182
struct rmcp::handler::server::tool::ToolBox, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:390
struct rmcp::model::RequestMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:181
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_pub_field_missing.ron
Failed in:
field peer of struct TowerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/service/tower.rs:10
--- failure trait_associated_type_added: non-sealed public trait added associated type without default value ---
Description:
A non-sealed trait has gained an associated type without a default value, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_associated_type_added.ron
Failed in:
trait associated type rmcp::service::ServiceRole::InitializeError in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:82
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_missing.ron
Failed in:
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:165
method set_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:166
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---
Description:
A trait method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_parameter_count_changed.ron
Failed in:
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
DynService::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:167
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
--- failure trait_mismatched_generic_lifetimes: trait now takes a different number of generic lifetimes ---
Description:
A trait now takes a different number of generic lifetime parameters. Uses of this trait that name the previous number of parameters, such as in trait bounds, will be broken.
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_mismatched_generic_lifetimes.ron
Failed in:
trait FromToolCallContextPart (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:95
trait CallToolHandler (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:168
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type CallToolHandler::Fut, previously at /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:155
Changelog

rmcp-macros

0.2.0 - 2025-07-02

Added

  • add progress notification handling and related structures (#282)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (transport) support streamable http server (#152)
  • (rmcp-macro) generate description from docs (#141)
  • revision-2025-03-26 without streamable http (#84)

Fixed

  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • cleanup zombie processes for child process client (#156)
  • (rmcp-macros) fix extract_doc_line code (#142)
  • (macros) add error deal (#109)
  • (macro) add generics marco types support (#98)
  • (typo) s/marcos/macros/ (#85)
  • (test) fix tool deserialization error (#68)

Other

  • refactor tool macros and router implementation (#261)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add spell check (#82)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • fmt the project (#54)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit

rmcp

0.2.0 - 2025-07-02

Added

  • mark boxed http body as sync (#291)
  • add progress notification handling and related structures (#282)
  • allow failable service creation in streamable HTTP tower service (#244)
  • provide more context information (#236)
  • stateless mode of streamable http client (#233)
  • add cancellation_token method to RunningService (#218)
  • better http server support (#199)
  • throw initialize error detail (#192)
  • sse client optionally skip the endpoint event (#187)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (openapi) add OpenAPI v3 compatibility and test for nullable field schema workaround (#135) (#137)
  • (extension) extract http request part into rmcp extension (#163)
  • (transport) support streamable http server (#152)
  • (oauth) fixes + cache client credentials (#157)
  • allow use of reqwest without ring provider (#155)
  • extensions to context (#102)
  • revision-2025-03-26 without streamable http (#84)
  • (tool) allow tool call return a serializable value in json format (#75) (#78)
  • Sse server auto ping (#74)
  • (transport) Sse client transport trait (#67)

Fixed

  • let users decide what to wrap in child process command (#279)
  • cancellable initialization process (#280)
  • inject part into extension when handing init req (#275)
  • streamable http server close request channel on response(#266) (#270)
  • streamable http client close on response (#268)
  • expose TokioChildWrapper::id() in TokioChildProcess and TokioChildProcessOut (#254)
  • add compatibility handling for non-standard notifications in async_rw (#247)
  • allow SSE server router to be nested (#240)
  • error for status in post method of streamable http client (#238)
  • disable wasmbind in chrono for wasm32-unknown-unknown (#234)
  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • comment error (#215)
  • resolve the server 406 error in API calls (#203)
  • sse endpoint build follow js's new URL(url, base) (#197)
  • more friendly interface to get service error (#190)
  • cleanup zombie processes for child process client (#156)
  • (schemar) use self-defined settings (#180)
  • (transport-sse-server) cleanup on connection drop (#165)
  • (test) skip serialize tool's annotation if empty (#160)
  • fix resource leak (#136)
  • (handler) do call handler methods when initialize server (#118)
  • (server) schemars compilation errors (#104)
  • (test) fix test introduced by test(context): test context requests  #97 (#101)
  • (macro) add generics marco types support (#98)
  • (typo) nit language corrections (#90)
  • (typo) s/marcos/macros/ (#85)
  • (client) add error enum while deal client info (#76)
  • (notification) fix wrongly error report in notification (#70)
  • (test) fix tool deserialization error (#68)
  • (server) add error enum while deal server info (#51)

Other

  • add simpling example and test (#289)
  • add update for test_message_schema (#286)
  • add notion clear in model.rs (#284)
  • cov settings, and fix serveral building warnings (#281)
  • refactor tool macros and router implementation (#261)
  • fix regression in URL joining (#265)
  • remove erroneous definitions_path (#264)
  • allow using a TokioCommandWrap for TokioChildProcess::new closesStdio doesn't seem to respect cmd flags anymore #243 (#245)
  • Fix typo (#249)
  • provide http server as tower service (#228)
  • (deps) update sse-stream requirement from 0.1.4 to 0.2.0 (#230)
  • Server info is only retrieved once during initialization (#214)
  • (deps) update base64 requirement from 0.21 to 0.22 (#209)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • fix error introduced by merge, and reorganize feature (#185)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • remove un-used tower.rs (#125)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add an overview to rmcp/src/lib.rs (#116)
  • (context) test context request handling and refactor for reusable client-server tests (#97)
  • (logging) Add tests for logging (#96)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • add test with js server (#65)
  • fmt the project (#54)
  • (sse_server) separate router and server startup (#52)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit


This PR was generated with release-plz.

@alexhancock
alexhancock self-requested a review July 2, 2025 18:50
@alexhancock
alexhancock merged commit c0f3720 into mainJul 2, 2025
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 3, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 9, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@DaleSeo
DaleSeo deleted the release-plz-2025-07-02T18-45-31Z branch February 20, 2026 21:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdio doesn't seem to respect cmd flags anymore

1 participant

@alexhancock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore: release v0.2.0 - #300

Merged
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z
Jul 2, 2025
Merged

chore: release v0.2.0#300
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 New release

  • rmcp-macros: 0.1.5 -> 0.2.0
  • rmcp: 0.1.5 -> 0.2.0 (⚠ API breaking changes)

rmcp breaking changes

--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type RequestNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type RequestNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ServerNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type ClientNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type ServerRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Request is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Notification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type Notification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type ClientRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
type NotificationNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field ServerCapabilities.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:85
field Request.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:291
field ServerCapabilitiesBuilder.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:199
field NotificationNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:385
field RequestContext.meta in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:496
field RequestContext.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:497
field RequestHandle.progress_token in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:247
field ProgressNotificationParam.message in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:770
field RequestNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:344
field SseServerConfig.sse_keep_alive in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/transport/sse_server.rs:223
field Tool.annotations in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/tool.rs:24
field Notification.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:364
--- failure declarative_macro_missing: macro_rules declaration removed or renamed ---
Description:
A `macro_rules!` declarative macro cannot be invoked by its prior name. The macro may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/declarative_macro_missing.ron
Failed in:
macro tool_box, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:427
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type RequestNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1320
type ClientNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason no longer derives Clone, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Copy, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Eq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Hash, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type ServerResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1350
type Notification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure enum_discriminants_undefined_non_unit_variant: enum's variants no longer have defined discriminants due to non-unit variant ---
Description:
An enum's variants no longer have well-defined discriminant values due to a tuple or struct variant in the enum. This breaks downstream code that accesses discriminants via a numeric cast like `as isize`.
ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_discriminants_undefined_non_unit_variant.ron
Failed in:
enum QuitReason in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_missing.ron
Failed in:
enum rmcp::transport::io::JsonRpcMessageCodecError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:122
enum rmcp::transport::sse::SseTransportError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:15
enum rmcp::service::PeerSinkMessage, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:278
enum rmcp::model::Message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:324
enum rmcp::transport::io::TransportAdapterAsyncCombinedRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:44
enum rmcp::model::ProgressToken, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:126
enum rmcp::transport::TransportAdapterStreamSink, previously in file /tmp/.tmprcKU8o/rmcp/src/transport.rs:83
enum rmcp::transport::io::TransportAdapterAsyncRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:26
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron
Failed in:
variant JsonRpcMessage:BatchRequest in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:541
variant JsonRpcMessage:BatchResponse in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:543
variant RawContent:Audio in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/content.rs:60
variant QuitReason:JoinError in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:487
--- failure enum_variant_missing: pub enum variant removed or renamed ---
Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_missing.ron
Failed in:
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
--- failure feature_missing: package feature removed or renamed ---
Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/feature_missing.ron
Failed in:
feature transport-sse in the package's Cargo.toml
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/function_missing.ron
Failed in:
function rmcp::transport::io::from_async_read, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:62
function rmcp::transport::io::from_async_write, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:71
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/inherent_method_missing.ron
Failed in:
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
JsonRpcMessage::into_message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:307
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/module_missing.ron
Failed in:
mod rmcp::transport::sse, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:2
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_missing.ron
Failed in:
struct rmcp::transport::io::JsonRpcMessageCodec, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:78
struct rmcp::transport::sse::SseTransportRetryCofnig, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:45
struct rmcp::handler::server::tool::Parameter, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:163
struct rmcp::transport::sse::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::transport::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::model::PaginatedRequestParamInner, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:497
struct rmcp::model::WithMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:172
struct rmcp::handler::server::tool::ToolBoxItem, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:365
struct rmcp::handler::server::tool::Callee, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:182
struct rmcp::handler::server::tool::ToolBox, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:390
struct rmcp::model::RequestMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:181
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_pub_field_missing.ron
Failed in:
field peer of struct TowerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/service/tower.rs:10
--- failure trait_associated_type_added: non-sealed public trait added associated type without default value ---
Description:
A non-sealed trait has gained an associated type without a default value, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_associated_type_added.ron
Failed in:
trait associated type rmcp::service::ServiceRole::InitializeError in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:82
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_missing.ron
Failed in:
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:165
method set_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:166
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---
Description:
A trait method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_parameter_count_changed.ron
Failed in:
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
DynService::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:167
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
--- failure trait_mismatched_generic_lifetimes: trait now takes a different number of generic lifetimes ---
Description:
A trait now takes a different number of generic lifetime parameters. Uses of this trait that name the previous number of parameters, such as in trait bounds, will be broken.
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_mismatched_generic_lifetimes.ron
Failed in:
trait FromToolCallContextPart (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:95
trait CallToolHandler (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:168
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type CallToolHandler::Fut, previously at /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:155
Changelog

rmcp-macros

0.2.0 - 2025-07-02

Added

  • add progress notification handling and related structures (#282)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (transport) support streamable http server (#152)
  • (rmcp-macro) generate description from docs (#141)
  • revision-2025-03-26 without streamable http (#84)

Fixed

  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • cleanup zombie processes for child process client (#156)
  • (rmcp-macros) fix extract_doc_line code (#142)
  • (macros) add error deal (#109)
  • (macro) add generics marco types support (#98)
  • (typo) s/marcos/macros/ (#85)
  • (test) fix tool deserialization error (#68)

Other

  • refactor tool macros and router implementation (#261)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add spell check (#82)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • fmt the project (#54)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit

rmcp

0.2.0 - 2025-07-02

Added

  • mark boxed http body as sync (#291)
  • add progress notification handling and related structures (#282)
  • allow failable service creation in streamable HTTP tower service (#244)
  • provide more context information (#236)
  • stateless mode of streamable http client (#233)
  • add cancellation_token method to RunningService (#218)
  • better http server support (#199)
  • throw initialize error detail (#192)
  • sse client optionally skip the endpoint event (#187)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (openapi) add OpenAPI v3 compatibility and test for nullable field schema workaround (#135) (#137)
  • (extension) extract http request part into rmcp extension (#163)
  • (transport) support streamable http server (#152)
  • (oauth) fixes + cache client credentials (#157)
  • allow use of reqwest without ring provider (#155)
  • extensions to context (#102)
  • revision-2025-03-26 without streamable http (#84)
  • (tool) allow tool call return a serializable value in json format (#75) (#78)
  • Sse server auto ping (#74)
  • (transport) Sse client transport trait (#67)

Fixed

  • let users decide what to wrap in child process command (#279)
  • cancellable initialization process (#280)
  • inject part into extension when handing init req (#275)
  • streamable http server close request channel on response(#266) (#270)
  • streamable http client close on response (#268)
  • expose TokioChildWrapper::id() in TokioChildProcess and TokioChildProcessOut (#254)
  • add compatibility handling for non-standard notifications in async_rw (#247)
  • allow SSE server router to be nested (#240)
  • error for status in post method of streamable http client (#238)
  • disable wasmbind in chrono for wasm32-unknown-unknown (#234)
  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • comment error (#215)
  • resolve the server 406 error in API calls (#203)
  • sse endpoint build follow js's new URL(url, base) (#197)
  • more friendly interface to get service error (#190)
  • cleanup zombie processes for child process client (#156)
  • (schemar) use self-defined settings (#180)
  • (transport-sse-server) cleanup on connection drop (#165)
  • (test) skip serialize tool's annotation if empty (#160)
  • fix resource leak (#136)
  • (handler) do call handler methods when initialize server (#118)
  • (server) schemars compilation errors (#104)
  • (test) fix test introduced by test(context): test context requests  #97 (#101)
  • (macro) add generics marco types support (#98)
  • (typo) nit language corrections (#90)
  • (typo) s/marcos/macros/ (#85)
  • (client) add error enum while deal client info (#76)
  • (notification) fix wrongly error report in notification (#70)
  • (test) fix tool deserialization error (#68)
  • (server) add error enum while deal server info (#51)

Other

  • add simpling example and test (#289)
  • add update for test_message_schema (#286)
  • add notion clear in model.rs (#284)
  • cov settings, and fix serveral building warnings (#281)
  • refactor tool macros and router implementation (#261)
  • fix regression in URL joining (#265)
  • remove erroneous definitions_path (#264)
  • allow using a TokioCommandWrap for TokioChildProcess::new closesStdio doesn't seem to respect cmd flags anymore #243 (#245)
  • Fix typo (#249)
  • provide http server as tower service (#228)
  • (deps) update sse-stream requirement from 0.1.4 to 0.2.0 (#230)
  • Server info is only retrieved once during initialization (#214)
  • (deps) update base64 requirement from 0.21 to 0.22 (#209)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • fix error introduced by merge, and reorganize feature (#185)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • remove un-used tower.rs (#125)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add an overview to rmcp/src/lib.rs (#116)
  • (context) test context request handling and refactor for reusable client-server tests (#97)
  • (logging) Add tests for logging (#96)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • add test with js server (#65)
  • fmt the project (#54)
  • (sse_server) separate router and server startup (#52)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit


This PR was generated with release-plz.

@alexhancock
alexhancock self-requested a review July 2, 2025 18:50
@alexhancock
alexhancock merged commit c0f3720 into mainJul 2, 2025
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 3, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 9, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@DaleSeo
DaleSeo deleted the release-plz-2025-07-02T18-45-31Z branch February 20, 2026 21:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdio doesn't seem to respect cmd flags anymore

1 participant

@alexhancock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: release v0.2.0 - #300

Merged
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z
Jul 2, 2025
Merged

chore: release v0.2.0#300
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 New release

  • rmcp-macros: 0.1.5 -> 0.2.0
  • rmcp: 0.1.5 -> 0.2.0 (⚠ API breaking changes)

rmcp breaking changes

--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type RequestNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type RequestNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ServerNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type ClientNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type ServerRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Request is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Notification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type Notification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type ClientRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
type NotificationNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field ServerCapabilities.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:85
field Request.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:291
field ServerCapabilitiesBuilder.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:199
field NotificationNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:385
field RequestContext.meta in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:496
field RequestContext.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:497
field RequestHandle.progress_token in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:247
field ProgressNotificationParam.message in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:770
field RequestNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:344
field SseServerConfig.sse_keep_alive in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/transport/sse_server.rs:223
field Tool.annotations in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/tool.rs:24
field Notification.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:364
--- failure declarative_macro_missing: macro_rules declaration removed or renamed ---
Description:
A `macro_rules!` declarative macro cannot be invoked by its prior name. The macro may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/declarative_macro_missing.ron
Failed in:
macro tool_box, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:427
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type RequestNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1320
type ClientNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason no longer derives Clone, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Copy, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Eq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Hash, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type ServerResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1350
type Notification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure enum_discriminants_undefined_non_unit_variant: enum's variants no longer have defined discriminants due to non-unit variant ---
Description:
An enum's variants no longer have well-defined discriminant values due to a tuple or struct variant in the enum. This breaks downstream code that accesses discriminants via a numeric cast like `as isize`.
ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_discriminants_undefined_non_unit_variant.ron
Failed in:
enum QuitReason in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_missing.ron
Failed in:
enum rmcp::transport::io::JsonRpcMessageCodecError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:122
enum rmcp::transport::sse::SseTransportError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:15
enum rmcp::service::PeerSinkMessage, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:278
enum rmcp::model::Message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:324
enum rmcp::transport::io::TransportAdapterAsyncCombinedRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:44
enum rmcp::model::ProgressToken, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:126
enum rmcp::transport::TransportAdapterStreamSink, previously in file /tmp/.tmprcKU8o/rmcp/src/transport.rs:83
enum rmcp::transport::io::TransportAdapterAsyncRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:26
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron
Failed in:
variant JsonRpcMessage:BatchRequest in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:541
variant JsonRpcMessage:BatchResponse in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:543
variant RawContent:Audio in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/content.rs:60
variant QuitReason:JoinError in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:487
--- failure enum_variant_missing: pub enum variant removed or renamed ---
Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_missing.ron
Failed in:
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
--- failure feature_missing: package feature removed or renamed ---
Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/feature_missing.ron
Failed in:
feature transport-sse in the package's Cargo.toml
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/function_missing.ron
Failed in:
function rmcp::transport::io::from_async_read, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:62
function rmcp::transport::io::from_async_write, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:71
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/inherent_method_missing.ron
Failed in:
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
JsonRpcMessage::into_message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:307
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/module_missing.ron
Failed in:
mod rmcp::transport::sse, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:2
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_missing.ron
Failed in:
struct rmcp::transport::io::JsonRpcMessageCodec, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:78
struct rmcp::transport::sse::SseTransportRetryCofnig, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:45
struct rmcp::handler::server::tool::Parameter, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:163
struct rmcp::transport::sse::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::transport::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::model::PaginatedRequestParamInner, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:497
struct rmcp::model::WithMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:172
struct rmcp::handler::server::tool::ToolBoxItem, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:365
struct rmcp::handler::server::tool::Callee, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:182
struct rmcp::handler::server::tool::ToolBox, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:390
struct rmcp::model::RequestMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:181
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_pub_field_missing.ron
Failed in:
field peer of struct TowerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/service/tower.rs:10
--- failure trait_associated_type_added: non-sealed public trait added associated type without default value ---
Description:
A non-sealed trait has gained an associated type without a default value, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_associated_type_added.ron
Failed in:
trait associated type rmcp::service::ServiceRole::InitializeError in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:82
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_missing.ron
Failed in:
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:165
method set_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:166
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---
Description:
A trait method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_parameter_count_changed.ron
Failed in:
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
DynService::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:167
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
--- failure trait_mismatched_generic_lifetimes: trait now takes a different number of generic lifetimes ---
Description:
A trait now takes a different number of generic lifetime parameters. Uses of this trait that name the previous number of parameters, such as in trait bounds, will be broken.
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_mismatched_generic_lifetimes.ron
Failed in:
trait FromToolCallContextPart (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:95
trait CallToolHandler (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:168
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type CallToolHandler::Fut, previously at /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:155
Changelog

rmcp-macros

0.2.0 - 2025-07-02

Added

  • add progress notification handling and related structures (#282)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (transport) support streamable http server (#152)
  • (rmcp-macro) generate description from docs (#141)
  • revision-2025-03-26 without streamable http (#84)

Fixed

  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • cleanup zombie processes for child process client (#156)
  • (rmcp-macros) fix extract_doc_line code (#142)
  • (macros) add error deal (#109)
  • (macro) add generics marco types support (#98)
  • (typo) s/marcos/macros/ (#85)
  • (test) fix tool deserialization error (#68)

Other

  • refactor tool macros and router implementation (#261)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add spell check (#82)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • fmt the project (#54)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit

rmcp

0.2.0 - 2025-07-02

Added

  • mark boxed http body as sync (#291)
  • add progress notification handling and related structures (#282)
  • allow failable service creation in streamable HTTP tower service (#244)
  • provide more context information (#236)
  • stateless mode of streamable http client (#233)
  • add cancellation_token method to RunningService (#218)
  • better http server support (#199)
  • throw initialize error detail (#192)
  • sse client optionally skip the endpoint event (#187)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (openapi) add OpenAPI v3 compatibility and test for nullable field schema workaround (#135) (#137)
  • (extension) extract http request part into rmcp extension (#163)
  • (transport) support streamable http server (#152)
  • (oauth) fixes + cache client credentials (#157)
  • allow use of reqwest without ring provider (#155)
  • extensions to context (#102)
  • revision-2025-03-26 without streamable http (#84)
  • (tool) allow tool call return a serializable value in json format (#75) (#78)
  • Sse server auto ping (#74)
  • (transport) Sse client transport trait (#67)

Fixed

  • let users decide what to wrap in child process command (#279)
  • cancellable initialization process (#280)
  • inject part into extension when handing init req (#275)
  • streamable http server close request channel on response(#266) (#270)
  • streamable http client close on response (#268)
  • expose TokioChildWrapper::id() in TokioChildProcess and TokioChildProcessOut (#254)
  • add compatibility handling for non-standard notifications in async_rw (#247)
  • allow SSE server router to be nested (#240)
  • error for status in post method of streamable http client (#238)
  • disable wasmbind in chrono for wasm32-unknown-unknown (#234)
  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • comment error (#215)
  • resolve the server 406 error in API calls (#203)
  • sse endpoint build follow js's new URL(url, base) (#197)
  • more friendly interface to get service error (#190)
  • cleanup zombie processes for child process client (#156)
  • (schemar) use self-defined settings (#180)
  • (transport-sse-server) cleanup on connection drop (#165)
  • (test) skip serialize tool's annotation if empty (#160)
  • fix resource leak (#136)
  • (handler) do call handler methods when initialize server (#118)
  • (server) schemars compilation errors (#104)
  • (test) fix test introduced by test(context): test context requests  #97 (#101)
  • (macro) add generics marco types support (#98)
  • (typo) nit language corrections (#90)
  • (typo) s/marcos/macros/ (#85)
  • (client) add error enum while deal client info (#76)
  • (notification) fix wrongly error report in notification (#70)
  • (test) fix tool deserialization error (#68)
  • (server) add error enum while deal server info (#51)

Other

  • add simpling example and test (#289)
  • add update for test_message_schema (#286)
  • add notion clear in model.rs (#284)
  • cov settings, and fix serveral building warnings (#281)
  • refactor tool macros and router implementation (#261)
  • fix regression in URL joining (#265)
  • remove erroneous definitions_path (#264)
  • allow using a TokioCommandWrap for TokioChildProcess::new closesStdio doesn't seem to respect cmd flags anymore #243 (#245)
  • Fix typo (#249)
  • provide http server as tower service (#228)
  • (deps) update sse-stream requirement from 0.1.4 to 0.2.0 (#230)
  • Server info is only retrieved once during initialization (#214)
  • (deps) update base64 requirement from 0.21 to 0.22 (#209)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • fix error introduced by merge, and reorganize feature (#185)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • remove un-used tower.rs (#125)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add an overview to rmcp/src/lib.rs (#116)
  • (context) test context request handling and refactor for reusable client-server tests (#97)
  • (logging) Add tests for logging (#96)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • add test with js server (#65)
  • fmt the project (#54)
  • (sse_server) separate router and server startup (#52)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit


This PR was generated with release-plz.

@alexhancock
alexhancock self-requested a review July 2, 2025 18:50
@alexhancock
alexhancock merged commit c0f3720 into mainJul 2, 2025
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 3, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 9, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@DaleSeo
DaleSeo deleted the release-plz-2025-07-02T18-45-31Z branch February 20, 2026 21:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdio doesn't seem to respect cmd flags anymore

1 participant

@alexhancock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: release v0.2.0 - #300

Merged
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z
Jul 2, 2025
Merged

chore: release v0.2.0#300
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 New release

  • rmcp-macros: 0.1.5 -> 0.2.0
  • rmcp: 0.1.5 -> 0.2.0 (⚠ API breaking changes)

rmcp breaking changes

--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type RequestNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type RequestNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ServerNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type ClientNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type ServerRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Request is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Notification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type Notification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type ClientRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
type NotificationNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field ServerCapabilities.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:85
field Request.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:291
field ServerCapabilitiesBuilder.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:199
field NotificationNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:385
field RequestContext.meta in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:496
field RequestContext.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:497
field RequestHandle.progress_token in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:247
field ProgressNotificationParam.message in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:770
field RequestNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:344
field SseServerConfig.sse_keep_alive in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/transport/sse_server.rs:223
field Tool.annotations in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/tool.rs:24
field Notification.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:364
--- failure declarative_macro_missing: macro_rules declaration removed or renamed ---
Description:
A `macro_rules!` declarative macro cannot be invoked by its prior name. The macro may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/declarative_macro_missing.ron
Failed in:
macro tool_box, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:427
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type RequestNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1320
type ClientNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason no longer derives Clone, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Copy, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Eq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Hash, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type ServerResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1350
type Notification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure enum_discriminants_undefined_non_unit_variant: enum's variants no longer have defined discriminants due to non-unit variant ---
Description:
An enum's variants no longer have well-defined discriminant values due to a tuple or struct variant in the enum. This breaks downstream code that accesses discriminants via a numeric cast like `as isize`.
ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_discriminants_undefined_non_unit_variant.ron
Failed in:
enum QuitReason in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_missing.ron
Failed in:
enum rmcp::transport::io::JsonRpcMessageCodecError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:122
enum rmcp::transport::sse::SseTransportError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:15
enum rmcp::service::PeerSinkMessage, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:278
enum rmcp::model::Message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:324
enum rmcp::transport::io::TransportAdapterAsyncCombinedRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:44
enum rmcp::model::ProgressToken, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:126
enum rmcp::transport::TransportAdapterStreamSink, previously in file /tmp/.tmprcKU8o/rmcp/src/transport.rs:83
enum rmcp::transport::io::TransportAdapterAsyncRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:26
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron
Failed in:
variant JsonRpcMessage:BatchRequest in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:541
variant JsonRpcMessage:BatchResponse in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:543
variant RawContent:Audio in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/content.rs:60
variant QuitReason:JoinError in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:487
--- failure enum_variant_missing: pub enum variant removed or renamed ---
Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_missing.ron
Failed in:
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
--- failure feature_missing: package feature removed or renamed ---
Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/feature_missing.ron
Failed in:
feature transport-sse in the package's Cargo.toml
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/function_missing.ron
Failed in:
function rmcp::transport::io::from_async_read, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:62
function rmcp::transport::io::from_async_write, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:71
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/inherent_method_missing.ron
Failed in:
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
JsonRpcMessage::into_message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:307
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/module_missing.ron
Failed in:
mod rmcp::transport::sse, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:2
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_missing.ron
Failed in:
struct rmcp::transport::io::JsonRpcMessageCodec, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:78
struct rmcp::transport::sse::SseTransportRetryCofnig, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:45
struct rmcp::handler::server::tool::Parameter, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:163
struct rmcp::transport::sse::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::transport::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::model::PaginatedRequestParamInner, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:497
struct rmcp::model::WithMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:172
struct rmcp::handler::server::tool::ToolBoxItem, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:365
struct rmcp::handler::server::tool::Callee, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:182
struct rmcp::handler::server::tool::ToolBox, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:390
struct rmcp::model::RequestMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:181
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_pub_field_missing.ron
Failed in:
field peer of struct TowerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/service/tower.rs:10
--- failure trait_associated_type_added: non-sealed public trait added associated type without default value ---
Description:
A non-sealed trait has gained an associated type without a default value, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_associated_type_added.ron
Failed in:
trait associated type rmcp::service::ServiceRole::InitializeError in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:82
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_missing.ron
Failed in:
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:165
method set_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:166
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---
Description:
A trait method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_parameter_count_changed.ron
Failed in:
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
DynService::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:167
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
--- failure trait_mismatched_generic_lifetimes: trait now takes a different number of generic lifetimes ---
Description:
A trait now takes a different number of generic lifetime parameters. Uses of this trait that name the previous number of parameters, such as in trait bounds, will be broken.
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_mismatched_generic_lifetimes.ron
Failed in:
trait FromToolCallContextPart (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:95
trait CallToolHandler (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:168
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type CallToolHandler::Fut, previously at /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:155
Changelog

rmcp-macros

0.2.0 - 2025-07-02

Added

  • add progress notification handling and related structures (#282)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (transport) support streamable http server (#152)
  • (rmcp-macro) generate description from docs (#141)
  • revision-2025-03-26 without streamable http (#84)

Fixed

  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • cleanup zombie processes for child process client (#156)
  • (rmcp-macros) fix extract_doc_line code (#142)
  • (macros) add error deal (#109)
  • (macro) add generics marco types support (#98)
  • (typo) s/marcos/macros/ (#85)
  • (test) fix tool deserialization error (#68)

Other

  • refactor tool macros and router implementation (#261)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add spell check (#82)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • fmt the project (#54)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit

rmcp

0.2.0 - 2025-07-02

Added

  • mark boxed http body as sync (#291)
  • add progress notification handling and related structures (#282)
  • allow failable service creation in streamable HTTP tower service (#244)
  • provide more context information (#236)
  • stateless mode of streamable http client (#233)
  • add cancellation_token method to RunningService (#218)
  • better http server support (#199)
  • throw initialize error detail (#192)
  • sse client optionally skip the endpoint event (#187)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (openapi) add OpenAPI v3 compatibility and test for nullable field schema workaround (#135) (#137)
  • (extension) extract http request part into rmcp extension (#163)
  • (transport) support streamable http server (#152)
  • (oauth) fixes + cache client credentials (#157)
  • allow use of reqwest without ring provider (#155)
  • extensions to context (#102)
  • revision-2025-03-26 without streamable http (#84)
  • (tool) allow tool call return a serializable value in json format (#75) (#78)
  • Sse server auto ping (#74)
  • (transport) Sse client transport trait (#67)

Fixed

  • let users decide what to wrap in child process command (#279)
  • cancellable initialization process (#280)
  • inject part into extension when handing init req (#275)
  • streamable http server close request channel on response(#266) (#270)
  • streamable http client close on response (#268)
  • expose TokioChildWrapper::id() in TokioChildProcess and TokioChildProcessOut (#254)
  • add compatibility handling for non-standard notifications in async_rw (#247)
  • allow SSE server router to be nested (#240)
  • error for status in post method of streamable http client (#238)
  • disable wasmbind in chrono for wasm32-unknown-unknown (#234)
  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • comment error (#215)
  • resolve the server 406 error in API calls (#203)
  • sse endpoint build follow js's new URL(url, base) (#197)
  • more friendly interface to get service error (#190)
  • cleanup zombie processes for child process client (#156)
  • (schemar) use self-defined settings (#180)
  • (transport-sse-server) cleanup on connection drop (#165)
  • (test) skip serialize tool's annotation if empty (#160)
  • fix resource leak (#136)
  • (handler) do call handler methods when initialize server (#118)
  • (server) schemars compilation errors (#104)
  • (test) fix test introduced by test(context): test context requests  #97 (#101)
  • (macro) add generics marco types support (#98)
  • (typo) nit language corrections (#90)
  • (typo) s/marcos/macros/ (#85)
  • (client) add error enum while deal client info (#76)
  • (notification) fix wrongly error report in notification (#70)
  • (test) fix tool deserialization error (#68)
  • (server) add error enum while deal server info (#51)

Other

  • add simpling example and test (#289)
  • add update for test_message_schema (#286)
  • add notion clear in model.rs (#284)
  • cov settings, and fix serveral building warnings (#281)
  • refactor tool macros and router implementation (#261)
  • fix regression in URL joining (#265)
  • remove erroneous definitions_path (#264)
  • allow using a TokioCommandWrap for TokioChildProcess::new closesStdio doesn't seem to respect cmd flags anymore #243 (#245)
  • Fix typo (#249)
  • provide http server as tower service (#228)
  • (deps) update sse-stream requirement from 0.1.4 to 0.2.0 (#230)
  • Server info is only retrieved once during initialization (#214)
  • (deps) update base64 requirement from 0.21 to 0.22 (#209)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • fix error introduced by merge, and reorganize feature (#185)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • remove un-used tower.rs (#125)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add an overview to rmcp/src/lib.rs (#116)
  • (context) test context request handling and refactor for reusable client-server tests (#97)
  • (logging) Add tests for logging (#96)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • add test with js server (#65)
  • fmt the project (#54)
  • (sse_server) separate router and server startup (#52)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit


This PR was generated with release-plz.

@alexhancock
alexhancock self-requested a review July 2, 2025 18:50
@alexhancock
alexhancock merged commit c0f3720 into mainJul 2, 2025
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 3, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 9, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@DaleSeo
DaleSeo deleted the release-plz-2025-07-02T18-45-31Z branch February 20, 2026 21:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdio doesn't seem to respect cmd flags anymore

1 participant

@alexhancock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore: release v0.2.0 - #300

Merged
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z
Jul 2, 2025
Merged

chore: release v0.2.0#300
alexhancock merged 1 commit into
mainfrom
release-plz-2025-07-02T18-45-31Z

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 New release

  • rmcp-macros: 0.1.5 -> 0.2.0
  • rmcp: 0.1.5 -> 0.2.0 (⚠ API breaking changes)

rmcp breaking changes

--- failure auto_trait_impl_removed: auto trait no longer implemented ---
Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/auto_trait_impl_removed.ron
Failed in:
type RequestNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type RequestNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ServerNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientNotification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type ClientNotification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type ServerRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Request is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type Notification is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type Notification is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type ClientRequest is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam is no longer UnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
type NotificationNoParam is no longer RefUnwindSafe, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field ServerCapabilities.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:85
field Request.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:291
field ServerCapabilitiesBuilder.completions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/capabilities.rs:199
field NotificationNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:385
field RequestContext.meta in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:496
field RequestContext.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:497
field RequestHandle.progress_token in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:247
field ProgressNotificationParam.message in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:770
field RequestNoParam.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:344
field SseServerConfig.sse_keep_alive in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/transport/sse_server.rs:223
field Tool.annotations in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/tool.rs:24
field Notification.extensions in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:364
--- failure declarative_macro_missing: macro_rules declaration removed or renamed ---
Description:
A `macro_rules!` declarative macro cannot be invoked by its prior name. The macro may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/declarative_macro_missing.ron
Failed in:
macro tool_box, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:427
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type RequestNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:338
type ServerNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1339
type ClientResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1320
type ClientNotification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1312
type QuitReason no longer derives Clone, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Copy, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Eq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type QuitReason no longer derives Hash, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
type ServerRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1332
type Request no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:284
type ServerResult no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1350
type Notification no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:357
type ClientRequest no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:1295
type NotificationNoParam no longer derives PartialEq, in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:379
--- failure enum_discriminants_undefined_non_unit_variant: enum's variants no longer have defined discriminants due to non-unit variant ---
Description:
An enum's variants no longer have well-defined discriminant values due to a tuple or struct variant in the enum. This breaks downstream code that accesses discriminants via a numeric cast like `as isize`.
ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_discriminants_undefined_non_unit_variant.ron
Failed in:
enum QuitReason in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:484
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_missing.ron
Failed in:
enum rmcp::transport::io::JsonRpcMessageCodecError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:122
enum rmcp::transport::sse::SseTransportError, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:15
enum rmcp::service::PeerSinkMessage, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:278
enum rmcp::model::Message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:324
enum rmcp::transport::io::TransportAdapterAsyncCombinedRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:44
enum rmcp::model::ProgressToken, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:126
enum rmcp::transport::TransportAdapterStreamSink, previously in file /tmp/.tmprcKU8o/rmcp/src/transport.rs:83
enum rmcp::transport::io::TransportAdapterAsyncRW, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:26
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron
Failed in:
variant JsonRpcMessage:BatchRequest in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:541
variant JsonRpcMessage:BatchResponse in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model.rs:543
variant RawContent:Audio in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/model/content.rs:60
variant QuitReason:JoinError in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:487
--- failure enum_variant_missing: pub enum variant removed or renamed ---
Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_missing.ron
Failed in:
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
variant ServiceError::Transport, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:29
--- failure feature_missing: package feature removed or renamed ---
Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/feature_missing.ron
Failed in:
feature transport-sse in the package's Cargo.toml
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/function_missing.ron
Failed in:
function rmcp::transport::io::from_async_read, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:62
function rmcp::transport::io::from_async_write, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:71
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/inherent_method_missing.ron
Failed in:
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
Peer::new, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:323
JsonRpcMessage::into_message, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:307
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/module_missing.ron
Failed in:
mod rmcp::transport::sse, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:2
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_missing.ron
Failed in:
struct rmcp::transport::io::JsonRpcMessageCodec, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/io.rs:78
struct rmcp::transport::sse::SseTransportRetryCofnig, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:45
struct rmcp::handler::server::tool::Parameter, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:163
struct rmcp::transport::sse::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::transport::SseTransport, previously in file /tmp/.tmprcKU8o/rmcp/src/transport/sse.rs:66
struct rmcp::model::PaginatedRequestParamInner, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:497
struct rmcp::model::WithMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:172
struct rmcp::handler::server::tool::ToolBoxItem, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:365
struct rmcp::handler::server::tool::Callee, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:182
struct rmcp::handler::server::tool::ToolBox, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:390
struct rmcp::model::RequestMeta, previously in file /tmp/.tmprcKU8o/rmcp/src/model.rs:181
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/struct_pub_field_missing.ron
Failed in:
field peer of struct TowerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/service/tower.rs:10
--- failure trait_associated_type_added: non-sealed public trait added associated type without default value ---
Description:
A non-sealed trait has gained an associated type without a default value, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_associated_type_added.ron
Failed in:
trait associated type rmcp::service::ServiceRole::InitializeError in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:82
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_missing.ron
Failed in:
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:95
method set_peer of trait Service, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:96
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:219
method set_peer of trait ServerHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/server.rs:223
method get_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:165
method set_peer of trait DynService, previously in file /tmp/.tmprcKU8o/rmcp/src/service.rs:166
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
method get_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:126
method set_peer of trait ClientHandler, previously in file /tmp/.tmprcKU8o/rmcp/src/handler/client.rs:128
--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---
Description:
A trait method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_method_parameter_count_changed.ron
Failed in:
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
Service::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:102
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
ServerHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:198
ServerHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:205
ServerHandler::on_initialized now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:212
ServerHandler::on_roots_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server.rs:219
DynService::handle_notification now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/service.rs:167
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
ClientHandler::on_cancelled now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:89
ClientHandler::on_progress now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:96
ClientHandler::on_logging_message now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:103
ClientHandler::on_resource_updated now takes 3 instead of 2 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:110
ClientHandler::on_resource_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:117
ClientHandler::on_tool_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:123
ClientHandler::on_prompt_list_changed now takes 2 instead of 1 parameters, in file /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/client.rs:129
--- failure trait_mismatched_generic_lifetimes: trait now takes a different number of generic lifetimes ---
Description:
A trait now takes a different number of generic lifetime parameters. Uses of this trait that name the previous number of parameters, such as in trait bounds, will be broken.
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_mismatched_generic_lifetimes.ron
Failed in:
trait FromToolCallContextPart (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:95
trait CallToolHandler (1 -> 0 lifetime params) in /tmp/.tmpkgrbSN/rust-sdk/crates/rmcp/src/handler/server/tool.rs:168
--- failure trait_removed_associated_type: trait's associated type was removed ---
Description:
A public trait's associated type was removed or renamed.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_removed_associated_type.ron
Failed in:
associated type CallToolHandler::Fut, previously at /tmp/.tmprcKU8o/rmcp/src/handler/server/tool.rs:155
Changelog

rmcp-macros

0.2.0 - 2025-07-02

Added

  • add progress notification handling and related structures (#282)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (transport) support streamable http server (#152)
  • (rmcp-macro) generate description from docs (#141)
  • revision-2025-03-26 without streamable http (#84)

Fixed

  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • cleanup zombie processes for child process client (#156)
  • (rmcp-macros) fix extract_doc_line code (#142)
  • (macros) add error deal (#109)
  • (macro) add generics marco types support (#98)
  • (typo) s/marcos/macros/ (#85)
  • (test) fix tool deserialization error (#68)

Other

  • refactor tool macros and router implementation (#261)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add spell check (#82)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • fmt the project (#54)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit

rmcp

0.2.0 - 2025-07-02

Added

  • mark boxed http body as sync (#291)
  • add progress notification handling and related structures (#282)
  • allow failable service creation in streamable HTTP tower service (#244)
  • provide more context information (#236)
  • stateless mode of streamable http client (#233)
  • add cancellation_token method to RunningService (#218)
  • better http server support (#199)
  • throw initialize error detail (#192)
  • sse client optionally skip the endpoint event (#187)
  • (server) add annotation to tool macro (#184)
  • (model) add json schema generation support for all model types (#176)
  • (openapi) add OpenAPI v3 compatibility and test for nullable field schema workaround (#135) (#137)
  • (extension) extract http request part into rmcp extension (#163)
  • (transport) support streamable http server (#152)
  • (oauth) fixes + cache client credentials (#157)
  • allow use of reqwest without ring provider (#155)
  • extensions to context (#102)
  • revision-2025-03-26 without streamable http (#84)
  • (tool) allow tool call return a serializable value in json format (#75) (#78)
  • Sse server auto ping (#74)
  • (transport) Sse client transport trait (#67)

Fixed

  • let users decide what to wrap in child process command (#279)
  • cancellable initialization process (#280)
  • inject part into extension when handing init req (#275)
  • streamable http server close request channel on response(#266) (#270)
  • streamable http client close on response (#268)
  • expose TokioChildWrapper::id() in TokioChildProcess and TokioChildProcessOut (#254)
  • add compatibility handling for non-standard notifications in async_rw (#247)
  • allow SSE server router to be nested (#240)
  • error for status in post method of streamable http client (#238)
  • disable wasmbind in chrono for wasm32-unknown-unknown (#234)
  • (examples) add clients in examples's readme (#225)
  • generic ServerHandler (#223)
  • comment error (#215)
  • resolve the server 406 error in API calls (#203)
  • sse endpoint build follow js's new URL(url, base) (#197)
  • more friendly interface to get service error (#190)
  • cleanup zombie processes for child process client (#156)
  • (schemar) use self-defined settings (#180)
  • (transport-sse-server) cleanup on connection drop (#165)
  • (test) skip serialize tool's annotation if empty (#160)
  • fix resource leak (#136)
  • (handler) do call handler methods when initialize server (#118)
  • (server) schemars compilation errors (#104)
  • (test) fix test introduced by test(context): test context requests  #97 (#101)
  • (macro) add generics marco types support (#98)
  • (typo) nit language corrections (#90)
  • (typo) s/marcos/macros/ (#85)
  • (client) add error enum while deal client info (#76)
  • (notification) fix wrongly error report in notification (#70)
  • (test) fix tool deserialization error (#68)
  • (server) add error enum while deal server info (#51)

Other

  • add simpling example and test (#289)
  • add update for test_message_schema (#286)
  • add notion clear in model.rs (#284)
  • cov settings, and fix serveral building warnings (#281)
  • refactor tool macros and router implementation (#261)
  • fix regression in URL joining (#265)
  • remove erroneous definitions_path (#264)
  • allow using a TokioCommandWrap for TokioChildProcess::new closesStdio doesn't seem to respect cmd flags anymore #243 (#245)
  • Fix typo (#249)
  • provide http server as tower service (#228)
  • (deps) update sse-stream requirement from 0.1.4 to 0.2.0 (#230)
  • Server info is only retrieved once during initialization (#214)
  • (deps) update base64 requirement from 0.21 to 0.22 (#209)
  • revert badge (#202)
  • use hierarchical readme for publishing (#198)
  • Ci/coverage badge (#191)
  • fix error introduced by merge, and reorganize feature (#185)
  • Transport trait and worker transport, and streamable http client with those new features. (#167)
  • add oauth2 support (#130)
  • remove un-used tower.rs (#125)
  • update calculator example description (#115)
  • fix the url (#120)
  • add a simple chat client for example (#119)
  • add an overview to rmcp/src/lib.rs (#116)
  • (context) test context request handling and refactor for reusable client-server tests (#97)
  • (logging) Add tests for logging (#96)
  • Adopt Devcontainer for Development Environment (#81)
  • fix typos (#79)
  • format and fix typo (#72)
  • add documentation generation job (#59)
  • add test with js server (#65)
  • fmt the project (#54)
  • (sse_server) separate router and server startup (#52)
  • fix broken link (#53)
  • fix the branch name for git dependency (#46)
  • Move whole rmcp crate to offcial rust sdk (#44)
  • Initial commit


This PR was generated with release-plz.

@alexhancock
alexhancock self-requested a review July 2, 2025 18:50
@alexhancock
alexhancock merged commit c0f3720 into mainJul 2, 2025
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 3, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bug-ops pushed a commit to bug-ops/rust-sdk that referenced this pull request Jul 9, 2025
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@DaleSeo
DaleSeo deleted the release-plz-2025-07-02T18-45-31Z branch February 20, 2026 21:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdio doesn't seem to respect cmd flags anymore

1 participant

@alexhancock