Raise the minimum PHP version to 8.3
メンテナーはふだん 1 日以内に返信
関連するプルリクエストがすでにマージされています。
- #65 @e0ipso による — マージ済み
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 62/100
- issue の種類
- リファクタリング
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- php
調査の方向性
composer.json の php 制約と、その require ブロックにある symfony/polyfill-php81 のエントリから始めてください。次に composer update --lock を実行して composer.lock を更新します。パッケージを削除する前に、src/ でポリフィルされている呼び出しが array_is_list() だけであることを確認し、README の PHP の最小バージョンを更新してください。composer.json が >=8.3 を要求し、ポリフィルが削除され、CI が PHP 8.3 と 8.4 で成功すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Description
composer.json requires php >=7.4, but nothing checks that. CI runs PHP 8.3 and 8.4 only, config.platform.php is pinned to 8.3.0, and the dev dependencies (PHPUnit 10, drupal/core-dev ^11) do not install below 8.3. The test suite cannot run on the minimum we advertise.
I ran a smoke test on PHP 7.4.33 with Drupal 9.5.11 and PHPUnit 9.6. The code in src/ still works there: the README example renders as documented and 57 of 63 tests pass. The other 6 fail because tests/src/ArrayToStdClassTest.php already declares mixed parameters, which is PHP 8 syntax. So 7.4 support works by accident and will break without anyone noticing.
The only Drupal that runs on PHP 7.4 is Drupal 9, which is end of life. Composer refuses to install any 9.5 release by default because of open security advisories.
Raise the minimum to PHP 8.3. That is the oldest version CI tests, so the declared minimum and the tested minimum become the same.
Acceptance Criteria
-
composer.jsonrequires"php": ">=8.3"andcomposer.lockis refreshed withcomposer update --lock. -
symfony/polyfill-php81is removed fromrequire. The only functionsrc/uses from it isarray_is_list(), which is native since PHP 8.1. - The README states PHP 8.3 as the minimum.
-
composer testpasses in CI on PHP 8.3 and 8.4. - The commit is marked as a breaking change (
feat!:or aBREAKING CHANGE:footer) so semantic-release publishes 3.0.0 instead of a 2.x release.
Additional Context
Sites on PHP older than 8.3 keep getting 2.x, currently v2.5.3, through their existing Composer constraint.
Related and out of scope: src/RecursiveTypeCaster.php:153 uses a (boolean) cast, which PHP 8.5 deprecates in favour of (bool). CI does not run 8.5 yet.
- 主要言語
- JavaScript
- スター
- 11
- フォーク
- 5
- 平均マージ
- 1日 14時間
- マージ済み PR(30日)
- 12
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
e0ipso/schema-forms-php のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 55/100
e0ipso/schema-forms-php#37 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 30/100
e0ipso/schema-forms-php#29 ·
メンテナーはふだん 1 日以内に返信
e0ipso/schema-forms-php の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
account: profile bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 5 日以内に返信
-
ai-driven-fuzzing bug claude Minor
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
linagora/cozy-client#1777 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
NanmiCoder/dsh-agent-teams#326 ·
メンテナーはふだん 1 日以内に返信
-
[guide] AGENTS.md claims the coverage gate, e2e and full lint run on every PR after ADR 0011 focused validation対応中かも @hivecommons-hive が今日担当しました。 オープンagent/guide documentation hive/claimed-by-guide stage/040-covered-by-pr
難易度 2/5 1〜3時間 初心者へのやさしさ 81/100
cncf/endusers#2006 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信