Skip to content

Align documented PHP minimum with the PHP 8.4 requirement - #646

Merged
mambax7 merged 2 commits into
masterfrom
chore/php-84-minimum-docs
Oct 9, 2026
Merged

mambax7 merged 2 commits into
masterfrom
chore/php-84-minimum-docs

Conversation

@mambax7

@mambax7 mambax7 commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

composer.json.dist requires PHP ^8.4, but the rest of the repo still advertised much older versions, so someone could follow the docs onto a PHP that Composer then refuses.

  • README: development environment needs PHP 8.4 (was 7.2)
  • Installer: xoPhpVersion() flags PHP below 8.4 on the requirements page (was 7.1). It is the same red/green check and still does not block installation
  • Bug-report template: the PHP version dropdown offers only the supported 8.4 and 8.5 (was 7.2 through 8.5)

docs/release_notes.txt is left as is; it is the historical Alpha 1 announcement.

Summary by Sourcery

Align repository documentation, tooling guidance, and installer checks with the PHP 8.4 minimum requirement.

Enhancements:

  • Align project guidance and runtime requirements with the PHP 8.4 minimum declared by Composer.
  • Update installation diagnostics and issue-reporting options to recognize only supported PHP versions.

Documentation:

  • Update the README and contributor guidance to document PHP 8.4 as the minimum supported version.

Summary by CodeRabbit

  • Requirements
    • Developer setup and installation checks now require PHP 8.4 or later. PHP versions below 8.4 are no longer accepted by the installation check.
  • Documentation
    • Updated the bug-report form’s PHP version options to list only PHP 8.4 and 8.5.
    • Updated PHP compatibility guidance and testing requirements to target PHP 8.4 or later.

composer.json.dist requires PHP ^8.4, but the README still said 7.2,
the installer accepted 7.1, and the bug-report template listed 7.2-8.3.

- README: require PHP 8.4
- Installer: flag PHP versions below 8.4 on the requirements page
- Bug-report template: offer only the supported 8.4 and 8.5
Copilot AI balanced review requested due to automatic review settings October 9, 2026 07:53
@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

This pull request changes a CodeRabbit configuration file. Because it comes from a fork or its author is not a repository collaborator, reviews use only the configuration from the target branch. The proposed configuration will take effect after it is merged.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: XOOPS/XoopsCore26/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Essentials
  • Run ID: 9a453ccf-4fec-45be-9ac3-b9c7b566c45b

📥 Commits

Reviewing files that changed from the base of the PR and between 363942f and d514ee7.


📒 Files selected for processing (2)
  • .coderabbit.yaml
  • .github/copilot-instructions.md

Included review availability: This review used your included allowance. Your plan provides up to 5 included reviews per hour; 1 remain after this review.



Walkthrough

The PR aligns the issue template, README, and installer check with a PHP minimum of 8.4. It also updates code review guidance and the pull request checklist to target PHP 8.4 and later.

Changes

PHP minimum version

Layer / File(s) Summary
PHP version requirement
.github/ISSUE_TEMPLATE/bug-report.yml, README.md, htdocs/install/include/functions.php
The issue template and README specify PHP 8.4 or later. xoPhpVersion() reports failure for PHP versions below 8.4.0.
PHP compatibility guidance
.coderabbit.yaml, .github/copilot-instructions.md
The review guidance targets PHP 8.4 and later and no longer flags PHP 7.x or PHP 8.0–8.3 compatibility. The pull request checklist specifies tests on PHP 8.4.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to d514e

The change aligns the documented and checked PHP minimum with 8.4, while allowing installation to proceed after a warning on older versions. No actionable merge-blocking risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: updating the documented PHP minimum to PHP 8.4.
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (2 skipped: 2 …
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@sourcery-ai

sourcery-ai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Updates documentation, issue-report metadata, and the installer requirements diagnostic so the repository consistently communicates and checks PHP 8.4+ support, while leaving historical release notes unchanged.

File-Level Changes

Change Details Files
Align user-facing PHP support guidance with the PHP 8.4 Composer requirement.
  • Raise the documented minimum development PHP version to 8.4.
  • Restrict bug-report version choices to supported PHP 8.4 and 8.5 releases.
README.md
.github/ISSUE_TEMPLATE/bug-report.yml
Update the installer’s PHP requirement diagnostic to recognize PHP 8.4 as the minimum.
  • Change the version check threshold from PHP 7.1.0 to 8.4.0.
  • Preserve the existing red/green diagnostic behavior without preventing installation.
htdocs/install/include/functions.php

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@gitar-bot

gitar-bot Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Gitar is working

Gitar

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Contributor documentation and the installer welcome page still advertise obsolete PHP minimums.

2 open findings
What changed in this PR

Aligns user-facing PHP requirements with Composer’s PHP 8.4 minimum.

Changes:

  • Updates development and installer requirements to PHP 8.4.
  • Limits bug reports to PHP 8.4 and 8.5.
File Description
README.md Updates the development requirement.
htdocs/​install/​include/​functions.php Updates installer diagnostics.
.github/​ISSUE_TEMPLATE/​bug-report.yml Updates supported PHP options.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread README.md
Here is an outline of what you need to participate in XOOPS development:

You will need a development environment with at least PHP 7.2 and MySQL 5.6 or equivalent MariaDB.
You will need a development environment with at least PHP 8.4 and MySQL 5.6 or equivalent MariaDB.
function xoPhpVersion()
{
if (version_compare(phpversion(), '7.1.0', '>=')) {
if (version_compare(phpversion(), '8.4.0', '>=')) {

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 2 issues

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="htdocs/install/include/functions.php" line_range="233" />
<code_context>
 function xoPhpVersion()
 {
-    if (version_compare(phpversion(), '7.1.0', '>=')) {
+    if (version_compare(phpversion(), '8.4.0', '>=')) {
         return xoDiag(1, phpversion());
     } else {
</code_context>
<issue_to_address>
**Welcome page permits unsupported PHP**

When a user reads the installer welcome page while using PHP 7.1–8.3, the welcome page says PHP 7.1 or higher meets the requirement, while `xoPhpVersion()` marks PHP below 8.4 as unsupported and Composer rejects it; users are told they can proceed with an unsupported runtime and later encounter the requirement failure.

Update the welcome page’s PHP requirement to match the 8.4 minimum checked by the installer and Composer.
</issue_to_address>

### Comment 2
<location path="README.md" line_range="17" />
<code_context>
 Here is an outline of what you need to participate in XOOPS development:

-You will need a development environment with at least PHP 7.2 and MySQL 5.6 or equivalent MariaDB.
+You will need a development environment with at least PHP 8.4 and MySQL 5.6 or equivalent MariaDB.

 You will need to interact with [GitHub.com](https://guides.github.com/)
</code_context>
<issue_to_address>
**Contributor guidance targets unsupported PHP**

When a contributor follows the repository’s AI, Copilot, or CodeRabbit coding or review guidance, the guidance still presents PHP 7.2 as supported, and some instructions prohibit PHP 8+ features, so contributors target or test a runtime Composer rejects and avoid features supported by the project’s PHP 8.4 minimum.

Update the AI and review instructions, including the reusable Copilot template, to state the PHP 8.4 minimum and remove incompatible PHP 7.2 guidance.
</issue_to_address>

Sourcery assessment

Approval pending. 2 findings to address first.

Blocking findings: htdocs/install/include/functions.php:233, README.md:17


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

function xoPhpVersion()
{
if (version_compare(phpversion(), '7.1.0', '>=')) {
if (version_compare(phpversion(), '8.4.0', '>=')) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Medium · Welcome page permits unsupported PHP

When a user reads the installer welcome page while using PHP 7.1–8.3, the welcome page says PHP 7.1 or higher meets the requirement, while xoPhpVersion() marks PHP below 8.4 as unsupported and Composer rejects it; users are told they can proceed with an unsupported runtime and later encounter the requirement failure.

Update the welcome page’s PHP requirement to match the 8.4 minimum checked by the installer and Composer.

Prompt for AI agents
In `htdocs/install/include/functions.php` at line 233:

**Welcome page permits unsupported PHP**

When a user reads the installer welcome page while using PHP 7.1–8.3, the welcome page says PHP 7.1 or higher meets the requirement, while `xoPhpVersion()` marks PHP below 8.4 as unsupported and Composer rejects it; users are told they can proceed with an unsupported runtime and later encounter the requirement failure.

Update the welcome page’s PHP requirement to match the 8.4 minimum checked by the installer and Composer.

Comment thread README.md
Here is an outline of what you need to participate in XOOPS development:

You will need a development environment with at least PHP 7.2 and MySQL 5.6 or equivalent MariaDB.
You will need a development environment with at least PHP 8.4 and MySQL 5.6 or equivalent MariaDB.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Medium · Contributor guidance targets unsupported PHP

When a contributor follows the repository’s AI, Copilot, or CodeRabbit coding or review guidance, the guidance still presents PHP 7.2 as supported, and some instructions prohibit PHP 8+ features, so contributors target or test a runtime Composer rejects and avoid features supported by the project’s PHP 8.4 minimum.

Update the AI and review instructions, including the reusable Copilot template, to state the PHP 8.4 minimum and remove incompatible PHP 7.2 guidance.

Prompt for AI agents
In `README.md` at line 17:

**Contributor guidance targets unsupported PHP**

When a contributor follows the repository’s AI, Copilot, or CodeRabbit coding or review guidance, the guidance still presents PHP 7.2 as supported, and some instructions prohibit PHP 8+ features, so contributors target or test a runtime Composer rejects and avoid features supported by the project’s PHP 8.4 minimum.

Update the AI and review instructions, including the reusable Copilot template, to state the PHP 8.4 minimum and remove incompatible PHP 7.2 guidance.

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Qodana for PHP

It seems all right 👌

No new problems were found according to the checks applied

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Detected 54 dependencies

Third-party software list

This page lists the third-party software dependencies used in project

Dependency Version Licenses
assetic/framework v3.2.3 MIT
bacon/bacon-qr-code v3.1.1 BSD-2-Clause
composer/ca-bundle 1.5.14 MIT
dasprid/enum 1.0.7 BSD-2-Clause
dflydev/apache-mime-types v1.0.1 MIT
doctrine/dbal 4.5.0 MIT
doctrine/deprecations 1.1.6 MIT
embed/embed v4.4.19 MIT
endroid/qr-code 6.1.3 MIT
ezyang/htmlpurifier v4.19.1 LGPL-2.1-or-later
firebase/php-jwt v7.2.1 BSD-3-Clause
geekwright/po v2.0.2 GPL-2.0-or-later
kint-php/kint 6.1.0 MIT
league/container 4.2.5 MIT
league/uri-interfaces 7.8.1 MIT
league/uri 7.8.1 MIT
matthiasmullie/minify 1.3.75 MIT
matthiasmullie/path-converter 1.1.3 MIT
ml/iri 1.1.4 MIT
ml/json-ld 1.2.1 MIT
moneyphp/money v4.9.0 MIT
monolog/monolog 3.12.1 MIT
oscarotero/html-parser v0.1.8 MIT
php-debugbar/php-debugbar v3.8.0 MIT
phpmailer/phpmailer v6.12.0 LGPL-2.1-only
psr/cache 3.0.0 MIT
psr/container 2.0.2 MIT
psr/http-client 1.0.3 MIT
psr/http-factory 1.1.0 MIT
psr/http-message 2.0 MIT
psr/log 3.0.2 MIT
ptachoire/cssembed v1.0.2 MIT
punic/punic 3.8.2 MIT
scssphp/scssphp v2.1.0 MIT
scssphp/source-span v1.1.0 MIT
smarty/smarty v4.5.8 LGPL-3.0-only
stefangabos/zebra_image 2.8.2 LGPL-3.0-only
symfony/console v7.4.20 MIT
symfony/deprecation-contracts v3.7.1 MIT
symfony/filesystem v8.0.15 MIT
symfony/polyfill-ctype v1.37.0 MIT
symfony/polyfill-intl-grapheme v1.43.0 MIT
symfony/polyfill-intl-normalizer v1.43.0 MIT
symfony/polyfill-mbstring v1.43.0 MIT
symfony/process v7.4.19 MIT
symfony/service-contracts v3.7.3 MIT
symfony/string v8.0.15 MIT
symfony/var-dumper v8.0.15 MIT
symfony/yaml v7.4.20 MIT
tecnickcom/tcpdf 6.11.4 LGPL-3.0-or-later
tedivm/stash v1.2.2 BSD-3-Clause
webmozart/assert 1.12.1 MIT
wikimedia/less.php v5.5.1 Apache-2.0
xoops/regdom v2.1.1 Apache-2.0
MPL-2.0
Contact Qodana team

Contact us at qodana-support@jetbrains.com

.coderabbit.yaml and copilot-instructions.md still described a
PHP 7.2-8.5 target, so reviewers flagged PHP 8 syntax as errors.
@sonarqubecloud

sonarqubecloud Bot commented Oct 9, 2026

Copy link
Copy Markdown

@sonarqubecloud

sonarqubecloud Bot commented Oct 9, 2026

Copy link
Copy Markdown

@mambax7
mambax7 merged commit 76803e2 into master Oct 9, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants