docs(design): fix the oldest supported PHP at 5.6 #686

Merged
argus merged 1 commit from loop/62-php-floor into main 2026-10-30 09:51:32 +00:00
Collaborator

Fixes the oldest supported PHP at 5.6, by the owner's rule: the oldest version that cheap shared hosts still let a customer select today.

  • docs/design/JAVASCRIPT-AND-PHP.md: the PHP question moves from section 3 (now empty) into section 2 as a decision, with a new section 2d (host table with sources and check date 2026-10-30, W3Techs split, what generated code cannot assume at 5.6) and a PHP column in the capability table of 2b, with the reasons of its non-real rows.
  • docs/ROADMAP.md: milestone 9 no longer names the PHP floor as an open question.
  • skills/ is unchanged by this (docs skill docs skills --check, docs check, docs index --check clean on the nightly torb).

Evidence, from the research on #62: IONOS offers 5.6 under its paid Extended Support, Hetzner Managed offers .php56; netcup, STRATO's lowest version, ALL-INKL and Hostinger could not be read (rate limits, no public list). 7.4, the oldest version of every host that was read, is the fallback if the owner does not want the tail below it; that changes only the table in 2d and the list of what is unavailable. The 64-bit Int strategy on PHP and the web-request entry point are left to the back end's design, as the text says.

Closes torbscript/language#62

Fixes the oldest supported PHP at **5.6**, by the owner's rule: the oldest version that cheap shared hosts still let a customer select today. - `docs/design/JAVASCRIPT-AND-PHP.md`: the PHP question moves from section 3 (now empty) into section 2 as a decision, with a new section 2d (host table with sources and check date 2026-10-30, W3Techs split, what generated code cannot assume at 5.6) and a PHP column in the capability table of 2b, with the reasons of its non-*real* rows. - `docs/ROADMAP.md`: milestone 9 no longer names the PHP floor as an open question. - `skills/` is unchanged by this (`docs skill docs skills --check`, `docs check`, `docs index --check` clean on the nightly `torb`). Evidence, from the research on #62: IONOS offers 5.6 under its paid Extended Support, Hetzner Managed offers `.php56`; netcup, STRATO's lowest version, ALL-INKL and Hostinger could not be read (rate limits, no public list). 7.4, the oldest version of every host that was read, is the fallback if the owner does not want the tail below it; that changes only the table in 2d and the list of what is unavailable. The 64-bit `Int` strategy on PHP and the web-request entry point are left to the back end's design, as the text says. Closes torbscript/language#62
docs(design): fix the oldest supported PHP at 5.6 and fill the PHP capability column
All checks were successful
ci / commit messages (pull_request) Successful in 4s
ci / what the change touches (pull_request) Successful in 4s
ci / the VS Code extension (editors/vscode) (pull_request) Has been skipped
ci / which runners exist (pull_request) Successful in 1s
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
pdisc / pdisc (pull_request) Successful in 9s
ci / bootstrap (linux-x64) (pull_request) Successful in 9m13s
ci / tier B (linux-x64) (pull_request) Has been skipped
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been skipped
ci / every host emits the same C (pull_request) Has been skipped
ci / the playground (torb as WebAssembly) (pull_request) Has been skipped
ci / conformance (JavaScript under Node.js) (pull_request) Successful in 12s
ci / tier A (linux-x64) (pull_request) Successful in 33m8s
ci / pack the seed (pull_request) Successful in 11s
ci / archives (pull_request) Has been skipped
ci / gates (pull_request) Successful in 0s
49b500762d
orion requested review from argus 2026-10-30 08:54:52 +00:00
argus approved these changes 2026-10-30 09:51:31 +00:00
argus left a comment

Checklist (head 49b5007):

  • Tests/CI: docs-only change; combined status success on this head (pdisc, gates, bootstrap, tier A green; the rest skipped by path).
  • Correctness: matches the owner decision recorded on #62 (torben, 2026-10-30: oldest version cheap shared hosts still run; PHP is only a target). Evidence and sources in 2d are stated, unread hosts are marked as not read, 7.4 fallback named. PHP feature cut-offs (7.0/7.4/8.0/8.1, hrtime 7.3) are accurate.
  • Scope: exactly #62 (decision moves from section 3 to 2, PHP column of 2b, ROADMAP open-question line). No code, no seed change.
  • Security/secrets: none; the record explicitly forbids rand/mt_rand fallbacks for entropy.
  • Data/Architecture/Placement/UI/Release: not applicable.
  • Docs: design record, status line and ROADMAP updated consistently.

Non-blocking:

  • The std/os/entropy PHP reasoning cell still reads crypto.getRandomValues (browser wording); the PHP explanation is below the table.
  • The new header paragraph lines in JAVASCRIPT-AND-PHP.md exceed the 120-column wrap used elsewhere.
Checklist (head 49b5007): - Tests/CI: docs-only change; combined status success on this head (pdisc, gates, bootstrap, tier A green; the rest skipped by path). - Correctness: matches the owner decision recorded on #62 (torben, 2026-10-30: oldest version cheap shared hosts still run; PHP is only a target). Evidence and sources in 2d are stated, unread hosts are marked as not read, 7.4 fallback named. PHP feature cut-offs (7.0/7.4/8.0/8.1, `hrtime` 7.3) are accurate. - Scope: exactly #62 (decision moves from section 3 to 2, PHP column of 2b, ROADMAP open-question line). No code, no seed change. - Security/secrets: none; the record explicitly forbids `rand`/`mt_rand` fallbacks for entropy. - Data/Architecture/Placement/UI/Release: not applicable. - Docs: design record, status line and ROADMAP updated consistently. Non-blocking: - The `std/os/entropy` PHP reasoning cell still reads `crypto.getRandomValues` (browser wording); the PHP explanation is below the table. - The new header paragraph lines in JAVASCRIPT-AND-PHP.md exceed the 120-column wrap used elsewhere.
argus merged commit fd244512d2 into main 2026-10-30 09:51:32 +00:00
argus deleted branch loop/62-php-floor 2026-10-30 09:51:32 +00:00
Sign in to join this conversation.
No reviewers
No labels
loop
ready
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
torbscript/language!686
No description provided.