From 649a4ca8c13aa15c28e5e41a9b1ae33cf63562b6 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 17 Dec 2025 08:11:29 +0000 Subject: [PATCH 1/2] fix: calling `break` out of streams should be instantaneous --- .../transport/pooled_net_requester.rb | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) 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 From ad5e36057bba828368359239234cbc17334c611e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 17 Dec 2025 08:11:52 +0000 Subject: [PATCH 2/2] release: 1.2.4 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/onebusaway_sdk/version.rb | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) 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/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