Raise the minimum PHP version to 8.3
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #65 de @e0ipso — fusionado
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 62/100
- Tipo de issue
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- php
- Área
- build-system, documentation
Línea de trabajo
Empieza con la restricción php en composer.json y la entrada symfony/polyfill-php81 en su bloque require, luego ejecuta composer update --lock para actualizar composer.lock. Confirma que array_is_list() es la única llamada con polyfill en src/ antes de eliminar el paquete, y actualiza la versión mínima de PHP en el README. Está terminado cuando composer.json requiere >=8.3, el polyfill ya no está y el CI pasa en PHP 8.3 y 8.4.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- JavaScript
- Estrellas
- 11
- Forks
- 5
- Merge medio
- 1 d 14 h
- PR fusionados (30 d)
- 12
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de e0ipso/schema-forms-php
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
e0ipso/schema-forms-php#37 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
e0ipso/schema-forms-php#29 ·
Los mantenedores suelen responder en 1 día
Todos los issues de e0ipso/schema-forms-php
Issues similares
-
[guide] AGENTS.md claims the coverage gate, e2e and full lint run on every PR after ADR 0011 focused validationPosiblemente ocupada @hivecommons-hive la tomó hoy. Abiertoagent/guide documentation hive/claimed-by-guide stage/040-covered-by-pr
Dificultad 2/5 1-3 horas Aptitud para principiantes 81/100
cncf/endusers#2006 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
check:passed feeds:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
all-contributors/cli#587 ·
Los mantenedores suelen responder en 1 día
-
RGAA5
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 8 días
-
feedback simulation workshop
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
githubnext/gh-aw-workshop#5157 ·
Los mantenedores suelen responder en 1 día