diff --git a/.release-please-manifest.json b/.release-please-manifest.json index a2375392..862a05b6 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.2.3" + ".": "1.2.4" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 3665821f..188826aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 1.2.4 (2025-12-17) + +Full Changelog: [v1.2.3...v1.2.4](https://github.com/OneBusAway/ruby-sdk/compare/v1.2.3...v1.2.4) + +### Bug Fixes + +* calling `break` out of streams should be instantaneous ([649a4ca](https://github.com/OneBusAway/ruby-sdk/commit/649a4ca8c13aa15c28e5e41a9b1ae33cf63562b6)) + ## 1.2.3 (2025-11-21) Full Changelog: [v1.2.2...v1.2.3](https://github.com/OneBusAway/ruby-sdk/compare/v1.2.2...v1.2.3) diff --git a/Gemfile.lock b/Gemfile.lock index 7652d672..1c6ec84f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - onebusaway-sdk (1.2.3) + onebusaway-sdk (1.2.4) connection_pool GEM diff --git a/README.md b/README.md index 7a4c28cf..6cb45f2d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "onebusaway-sdk", "~> 1.2.3" +gem "onebusaway-sdk", "~> 1.2.4" ``` diff --git a/lib/onebusaway_sdk/internal/transport/pooled_net_requester.rb b/lib/onebusaway_sdk/internal/transport/pooled_net_requester.rb index b2c7a487..9889d414 100644 --- a/lib/onebusaway_sdk/internal/transport/pooled_net_requester.rb +++ b/lib/onebusaway_sdk/internal/transport/pooled_net_requester.rb @@ -153,17 +153,19 @@ def execute(request) end self.class.calibrate_socket_timeout(conn, deadline) - conn.request(req) do |rsp| - y << [req, rsp] - break if finished - - rsp.read_body do |bytes| - y << bytes.force_encoding(Encoding::BINARY) - break if finished - - self.class.calibrate_socket_timeout(conn, deadline) + ::Kernel.catch(:jump) do + conn.request(req) do |rsp| + y << [req, rsp] + ::Kernel.throw(:jump) if finished + + rsp.read_body do |bytes| + y << bytes.force_encoding(Encoding::BINARY) + ::Kernel.throw(:jump) if finished + + self.class.calibrate_socket_timeout(conn, deadline) + end + eof = true end - eof = true end end ensure diff --git a/lib/onebusaway_sdk/version.rb b/lib/onebusaway_sdk/version.rb index 57b99498..8b6451d6 100644 --- a/lib/onebusaway_sdk/version.rb +++ b/lib/onebusaway_sdk/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module OnebusawaySDK - VERSION = "1.2.3" + VERSION = "1.2.4" end