Skip to content

[pull] master from ruby:master - #1347

Merged
pull[bot] merged 9 commits into
turkdevops:masterfrom
ruby:master
Aug 25, 2026
Merged

[pull] master from ruby:master#1347
pull[bot] merged 9 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Aug 25, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

… reads

BufferedIO#readuntil resumed searching at the previous buffer end, so a
multi-byte terminator split across two fills, such as "\r" ending one
chunk and "\n" starting the next, was never matched and readuntil
returned data past the terminator. Rewind the search by
terminator.bytesize - 1 before refilling, floored at @rbuf_offset.

ruby/net-protocol@84ef3aba09

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Cover a terminator split across two reads and across more than two, the
negative rewind the floor clamps, the floor keeping the search out of
consumed bytes, and the ignore_eof branch that returns data without a
terminator. FakeReadPartialIO now signals EOF instead of raising
TypeError, and hands out binary chunks so @rbuf stays binary the way a
real IO leaves it.

ruby/net-protocol@215cc35666

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The bundled_gems workflow has failed every day since 2026-08-16 because
rbs 4.0.3's Ripper_test.rb no longer finds Ripper on master. rbs 4.2.0
picks up the upstream fix that requires "ripper" in the stdlib tests.
typeprof 0.32.0 never finishes load_core_rbs against rbs 4.2.0, so it is
pinned to a master revision until the next release, and the newly added
collection_install test is skipped because rbs's bundle_install helper
runs whichever bundle comes first on PATH.
rbs was pinned in March 2026 while the 4.0 series was breaking CI. Now
that 4.2.0 is in gems/bundled_gems and the tests pass again, the daily
workflow can pick up later rbs releases on its own.
rbs 4.2.0 adds Etc and IO#pathconf stdlib tests that need getpwent(),
getgrent() and the pathconf constants, none of which exist on Windows,
so they go in the Windows-only list. OpenURISingletonTest reaches
www.ruby-lang.org and now fails on Ubuntu as well, so its skip moves out
of the Windows list into the shared one.
readuntil buffers until the terminator arrives, so a peer that never
sends one grows the read buffer without bound. The limit lets a protocol
implementation cap what a single read may return, raising the new
Net::ReadLimitExceeded instead of reading on.

The exception derives from ProtocolError because an over-long line is
the peer violating the protocol rather than an I/O failure, and because
IOError would place it in the generic socket-error rescue that Net::HTTP
retries on.

ruby/net-http#315

ruby/net-protocol@e1b38d98b7

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The floor's two reasons fit in one block, and the two tests that
restated them are named for what they cover.

ruby/net-protocol@6ffd258b7c

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Aug 25, 2026
@pull pull Bot added the ⤵️ pull label Aug 25, 2026
@pull
pull Bot merged commit c344021 into turkdevops:master Aug 25, 2026
0 of 3 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants