Skip to content

[3.0] Records what release-2.1 means, and that a removed check may be deliberate - #9538

Merged
Sesquipedalian merged 1 commit into
SimpleMachines:release-3.0from
albertlast:docs/agents_compat_and_removed_checks
Aug 19, 2026
Merged

[3.0] Records what release-2.1 means, and that a removed check may be deliberate#9538
Sesquipedalian merged 1 commit into
SimpleMachines:release-3.0from
albertlast:docs/agents_compat_and_removed_checks

Conversation

@albertlast

Copy link
Copy Markdown
Collaborator

Description

@Sesquipedalian left a comment on #9535 addressed "FYI for the AI", correcting two things
I had argued for. Both corrections are worth keeping, because in both cases the wrong
conclusion looks perfectly reasonable from inside the repository — so the next agent will
reach it too unless it is written down.

release-2.1 is not the same thing as released 2.1.

I checked whether make_fetch_safe() needed preserving in Subs-Compat.php by looking for
it on the release-2.1 branch, found it, and concluded it was 2.1 public API. It is not —
it was added to the branch on 2026-08-04 and has never shipped:

v2.1.5   no make_fetch_safe
v2.1.6   no make_fetch_safe
v2.1.7   no make_fetch_safe

Subs-Compat.php exists to keep working the names that mods actually call, and a mod can
only call what was in a release. So the note says to check the tags, not the branch, and
gives the two commands that do it.

A removed check is not automatically a regression.

FtpConnection::passive() had a check that the PASV address was globally routable, and
this PR removes it. I read that as a dropped SSRF guard, since that is exactly what it
looks like. But FtpConnection is how the Package Manager reaches an FTP server the admin
nominated, which is commonly on the LAN or on localhost — so the check broke the ordinary
case, and it belongs on FtpFetcher, which does fetch from the open web.

The generalisable part, and the reason it is worth a note rather than just a fix: a class
that fetches from the open web and a class that talks to infrastructure the admin
configured want opposite defaults. Working out which one you are looking at comes before
arguing a guard back in.

Both entries quote the review verbatim, the way the bug-reporting section already quotes
#9520.

Testing

Documentation only — no code changes, nothing to run. LF endings, no trailing whitespace.

Note for whoever merges: #9511 also touches AGENTS.md, in a different section (it
documents when the unit suite can cover a change). The two should not collide, but they
have not been merged together.

Issues References (Fixes|Related|Closes)

  1. Related [3.0] Fixes broken SNI resolution #9535

Both from the review on SimpleMachines#9535, and both cases where the wrong conclusion
looks perfectly reasonable from inside the repository.

Checking whether a name needs a compatibility shim by looking at the
release-2.1 branch finds things that were added to it last month and have
never shipped. A mod can only call what was in a release, so the tags are
the thing to check, not the branch.

And a check that has been taken out is not automatically a regression.
FtpConnection::passive() had grown one that reads exactly like SSRF
protection, and would be, if FtpConnection fetched from the open web. It
does not: it is how the Package Manager reaches an FTP server the admin
nominated, which is usually on the LAN, so the check broke the ordinary
case. That belongs on FtpFetcher instead.

Quotes the review in both places, the way the bug reporting section
already quotes SimpleMachines#9520.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
@Sesquipedalian
Sesquipedalian merged commit 89f73e1 into SimpleMachines:release-3.0 Aug 19, 2026
5 checks passed
@jdarwood007 jdarwood007 added the Meta Repository tools label Aug 20, 2026
@jdarwood007 jdarwood007 added this to the 3.0 Alpha 5 milestone Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Meta Repository tools

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants