fix(dependencies): Update PHP requirement to 8.2 in composer.json and adjust PHP versions in build.yml.#237
Conversation
… and adjust PHP versions in `build.yml`.
|
No actionable comments were generated in the recent review. 🎉 📜 Recent review detailsConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (1)📓 Common learnings⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🔇 Additional comments (1)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis PR bumps the minimum PHP requirement to 8.2 across config and docs, updates README/Yii badges, adds a php-version matrix (8.2–8.5) to the GitHub Actions codeception job, and records the change in the changelog. (No behavior or public API changes.) Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
.github/workflows/build.ymlCHANGELOG.mdREADME.mdcomposer.jsondocs/installation.md
🧰 Additional context used
🧠 Learnings (14)
📓 Common learnings
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 142
File: docs/installation.md:21-23
Timestamp: 2025-08-31T15:29:19.131Z
Learning: In yii2-extensions/app-basic project, the composer.json file has "minimum-stability": "dev" configured, which allows Composer to install dev versions automatically without requiring --stability=dev flag in create-project commands.
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 128
File: docs/installation.md:7-7
Timestamp: 2025-08-25T21:03:02.960Z
Learning: The yii2-extensions/app-basic project uses php-forge/foxy Composer plugin which automatically runs npm install during composer install/update, making npm a required system dependency rather than optional. The documentation correctly lists npm in system requirements due to this integration.
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 129
File: web/index.php:11-12
Timestamp: 2025-08-30T20:31:00.860Z
Learning: User terabytesoftw prefers using dotenv for environment variable management and may not immediately see the need for additional type conversion when environment variables are already managed through .env files.
📚 Learning: 2025-07-09T14:52:41.210Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 97
File: docs/installation.md:5-8
Timestamp: 2025-07-09T14:52:41.210Z
Learning: The Yii2 framework has multiple active branches including the 2.0.x branch (maintenance/LTS) and the 22.0 branch (development). When specifying version requirements, "2.0.53+ or 22.x" is accurate and should not be changed to only reference the 2.x branch.
Applied to files:
docs/installation.mdREADME.md
📚 Learning: 2025-08-25T21:03:02.960Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 128
File: docs/installation.md:7-7
Timestamp: 2025-08-25T21:03:02.960Z
Learning: The yii2-extensions/app-basic project uses php-forge/foxy Composer plugin which automatically runs npm install during composer install/update, making npm a required system dependency rather than optional. The documentation correctly lists npm in system requirements due to this integration.
Applied to files:
docs/installation.mdcomposer.json
📚 Learning: 2025-08-25T21:03:02.960Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 128
File: docs/installation.md:7-7
Timestamp: 2025-08-25T21:03:02.960Z
Learning: In yii2-extensions/app-basic project, npm is listed as a system requirement in docs/installation.md because the composer.json file contains scripts that depend on npm commands for frontend asset management and build processes.
Applied to files:
docs/installation.mdREADME.md
📚 Learning: 2025-08-31T15:29:19.131Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 142
File: docs/installation.md:21-23
Timestamp: 2025-08-31T15:29:19.131Z
Learning: In yii2-extensions/app-basic project, the composer.json file has "minimum-stability": "dev" configured, which allows Composer to install dev versions automatically without requiring --stability=dev flag in create-project commands.
Applied to files:
docs/installation.mdcomposer.jsonREADME.md
📚 Learning: 2025-09-03T09:48:15.765Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 181
File: docker/nginx/Dockerfile:22-30
Timestamp: 2025-09-03T09:48:15.765Z
Learning: For demo templates in yii2-extensions repositories, terabytesoftw is comfortable with using the NodeSource setup script without strict version pinning, prioritizing ease of use over strict reproducibility.
Applied to files:
docs/installation.md
📚 Learning: 2025-09-02T15:21:03.207Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 170
File: docker/apache/Dockerfile:27-35
Timestamp: 2025-09-02T15:21:03.207Z
Learning: In yii2-extensions/app-basic, this is a demo template where simplicity and ease of use are prioritized over production-grade security hardening. Security trade-offs like using curl | bash for Node.js installation are acceptable for demonstration purposes.
Applied to files:
docs/installation.mdREADME.md
📚 Learning: 2026-01-25T02:35:48.518Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 230
File: docs/testing.md:13-19
Timestamp: 2026-01-25T02:35:48.518Z
Learning: In yii2-extensions/app-basic project, rector/rector is available as a transitive dependency through php-forge/coding-standard package (which is in require-dev), so rector/rector does not need to be added directly to composer.json.
Applied to files:
docs/installation.md
📚 Learning: 2026-01-25T02:35:41.602Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 230
File: docs/testing.md:13-19
Timestamp: 2026-01-25T02:35:41.602Z
Learning: Do not add rector/rector directly to composer.json when it is already a transitive dependency via php-forge/coding-standard in require-dev. This guideline applies to PHP projects in general (e.g., yii2-extensions/app-basic). Verify the dependency graph and rely on transitive dependencies; if upgrades are needed, ensure compatibility and update composer.lock with a composer update.
Applied to files:
composer.json
📚 Learning: 2025-09-02T15:23:37.645Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 170
File: docker/init.sh:26-49
Timestamp: 2025-09-02T15:23:37.645Z
Learning: The yii2-extensions/app-basic repository is a demo template where practical functionality and ease of setup take priority over security hardening measures.
Applied to files:
README.md
📚 Learning: 2025-08-31T15:34:39.060Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 142
File: README.md:0-0
Timestamp: 2025-08-31T15:34:39.060Z
Learning: In yii2-extensions/app-basic project, the dev-road-runner branch is treated as the main configuration branch with no stable releases available. Static badges pointing to dev branches are intentionally used to direct users to the development version.
Applied to files:
README.md
📚 Learning: 2025-09-02T15:20:17.124Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 170
File: config/web/modules.php:14-15
Timestamp: 2025-09-02T15:20:17.124Z
Learning: In the yii2-extensions/app-basic repository, this is a demo template where permissive development settings like allowedIPs => ['*'] for debug and gii modules are acceptable for ease of setup and demonstration purposes.
Applied to files:
README.md
📚 Learning: 2025-09-02T09:36:57.071Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 166
File: .github/workflows/build.yml:31-33
Timestamp: 2025-09-02T09:36:57.071Z
Learning: The yii2-extensions/app-basic repository is a demo template that includes pre-generated SSL certificates using mkcert, designed to provide a "one-click" transparent demo experience for users.
Applied to files:
README.md
📚 Learning: 2025-09-02T15:23:30.956Z
Learnt from: terabytesoftw
Repo: yii2-extensions/app-basic PR: 170
File: docker/init.sh:1-1
Timestamp: 2025-09-02T15:23:30.956Z
Learning: In yii2-extensions/app-basic repository, the maintainer terabytesoftw prefers to keep demo template scripts simple without additional bash safety measures like strict mode (set -Eeuo pipefail), as they consider different quality standards appropriate for demo/template code versus production code.
Applied to files:
README.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: linter / Super Linter
- GitHub Check: composer-require-checker / PHP 8.5-ubuntu-latest
- GitHub Check: linter / Super Linter
- GitHub Check: composer-require-checker / PHP 8.5-ubuntu-latest
🔇 Additional comments (3)
.github/workflows/build.yml (1)
28-28: LGTM — PHP version matrix is correct and complete.PHP 8.5 was released on November 20, 2025 and the latest patch is 8.5.3 (2026-01-29), so all four versions in the matrix (
8.2,8.3,8.4,8.5) are stable and available. The JSON array string format is the idiomatic way to pass matrix inputs to a reusable workflow in GitHub Actions.README.md (1)
158-159: LGTM — badges are consistent withcomposer.jsonanddocs/installation.md.The PHP badge correctly reflects
>=8.2and the Yii 2.0.x badge links to the2.0.54tag, both aligned with the constraint updates. The Yii 22.0.x badge is intentionally left unchanged.docs/installation.md (1)
5-8: LGTM — requirements are consistent across the PR.Both the PHP version (
8.2 or higher) and Yii2 minimum (2.0.54+ or 22.x) match thecomposer.jsonconstraint and the README badges. Based on learnings, explicitly listing both the2.0.xLTS and22.xdevelopment branches is the established convention for this project.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@CHANGELOG.md`:
- Line 17: The CHANGELOG entry currently labels the change as "Bug `#237`: Update
PHP requirement to `8.2`..." but the PR is a feature/requirement bump and should
use the Enh prefix; update the entry by replacing the "Bug `#237`" label with "Enh
`#237`" so it matches the repository's convention and other entries (e.g., "Enh
`#229`", "Enh `#236`").
In `@composer.json`:
- Line 14: The change to composer.json raising the PHP platform requirement from
">=8.1" to ">=8.2" is a BC break; either revert the "php" constraint back to
">=8.1" in composer.json (if you intend to preserve BC) or, if you must require
8.2, update the release metadata to reflect a breaking change (bump major
version per your versioning policy and set "Breaks BC?: ✔" or equivalent).
Locate the "php" entry in composer.json and adjust it accordingly and make the
corresponding metadata/versioning change so the PR's BC flag and version
semantics are consistent.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #237 +/- ##
===========================================
Coverage 100.00% 100.00%
Complexity 7 7
===========================================
Files 12 12
Lines 160 160
===========================================
Hits 160 160 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Pull Request