Skip to content

Commit 3b44ec4

Browse files
committed
Release 1.5.1
This release keeps the HTTP client working with json 3.0, which accepts the options of `JSON.parse` as keywords only. Faraday's JSON response middleware, through 2.14.3, passes them as a positional Hash that Ruby 3 no longer converts, so every JSON body the client received failed as an internal error. The client now parses response bodies itself, the way it already handled streamed ones, and no longer registers the middleware. The one visible difference: a malformed JSON body delivered whole by an adapter without streaming support now raises `RequestHandlerError` with `error_type: :parse_error`, as the streamed path already did, instead of `:internal_error` wrapping a `Faraday::ParsingError`.
1 parent d0b22ef commit 3b44ec4

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

‎CHANGELOG.md‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.5.1] - 2026-09-09
11+
12+
This release keeps the HTTP client working with json 3.0. That release accepts the options of `JSON.parse`
13+
as keywords only, and Faraday's JSON response middleware, through 2.14.3, passes them as a positional Hash,
14+
which Ruby 3 no longer converts, so every JSON body the client received failed as an internal error.
15+
The client now parses response bodies itself, the way it already handled streamed ones, and no longer
16+
registers the middleware. A malformed JSON body delivered whole by an adapter without streaming support
17+
now raises `RequestHandlerError` with `error_type: :parse_error`, as the streamed path already did.
18+
19+
### Fixed
20+
21+
- Parse HTTP client response bodies without Faraday's JSON middleware, which json 3.0 breaks (#546)
22+
1023
## [1.5.0] - 2026-09-05
1124

1225
This release makes the client answer a server's `ping` with the empty result the specification requires.

‎lib/mcp/version.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module MCP
4-
VERSION = "1.5.0"
4+
VERSION = "1.5.1"
55
end

0 commit comments

Comments
 (0)