Skip to content

fix(dependencies): Update PHP requirement to 8.2 in composer.json and adjust PHP versions in build.yml.#237

Merged
terabytesoftw merged 2 commits intomainfrom
feature_3
Feb 21, 2026
Merged

fix(dependencies): Update PHP requirement to 8.2 in composer.json and adjust PHP versions in build.yml.#237
terabytesoftw merged 2 commits intomainfrom
feature_3

Conversation

@terabytesoftw
Copy link
Member

@terabytesoftw terabytesoftw commented Feb 21, 2026

Pull Request

Q A
Is bugfix?
New feature? ✔️
Breaks BC? ✔️

@coderabbitai
Copy link

coderabbitai bot commented Feb 21, 2026

No actionable comments were generated in the recent review. 🎉

📜 Recent review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dfee744 and 81624d9.

📒 Files selected for processing (1)
  • CHANGELOG.md
🧰 Additional context used
🧠 Learnings (1)
📓 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.
⏰ 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)
  • GitHub Check: linter / Super Linter
  • GitHub Check: easy-coding-standard / PHP 8.5-ubuntu-latest
  • GitHub Check: linter / Super Linter
🔇 Additional comments (1)
CHANGELOG.md (1)

17-17: LGTM — previously flagged prefix correction has been applied.

Line 17 now correctly uses Enh #237``, consistent with the repository's changelog convention and resolving the past review comment.


📝 Walkthrough

Summary by CodeRabbit

  • Chores

    • Increased minimum PHP version requirement from 8.1 to 8.2.
    • Updated minimum Yii 2.0 version from 2.0.53 to 2.0.54.
    • Added support for PHP 8.3, 8.4, and 8.5 in CI/CD pipeline.
  • Documentation

    • Updated installation and package documentation to reflect new version requirements.

Walkthrough

This 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

Cohort / File(s) Summary
Configuration / CI
composer.json, .github/workflows/build.yml
PHP platform requirement changed from >=8.1 to >=8.2; CI codeception job now tests PHP 8.2, 8.3, 8.4, 8.5.
Documentation & Metadata
README.md, docs/installation.md, CHANGELOG.md
Updated PHP badge/requirements to >=8.2 and Yii version to 2.0.54; added changelog entry for the version bump (Enh #237).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 A tiny hop, a version new,
From eight-one to eight-two I flew.
Tests now run on five bright lanes,
8.2–8.5, hopping through the plains.
Nibble, commit, and off I stew.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main changes: updating PHP requirement to 8.2 in composer.json and adjusting PHP versions in build.yml, which aligns with the raw summary.
Description check ✅ Passed The description provides relevant context about the PR being a new feature with breaking changes, though it lacks detailed explanation of the specific changes made.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature_3

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.

❤️ Share

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

@coderabbitai coderabbitai bot added the enhancement New feature or request label Feb 21, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f49cce5 and dfee744.

📒 Files selected for processing (5)
  • .github/workflows/build.yml
  • CHANGELOG.md
  • README.md
  • composer.json
  • docs/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.md
  • README.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.md
  • composer.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.md
  • README.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.md
  • composer.json
  • README.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.md
  • README.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 with composer.json and docs/installation.md.

The PHP badge correctly reflects >=8.2 and the Yii 2.0.x badge links to the 2.0.54 tag, 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 the composer.json constraint and the README badges. Based on learnings, explicitly listing both the 2.0.x LTS and 22.x development 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.

@terabytesoftw terabytesoftw merged commit 5a2cbd5 into main Feb 21, 2026
35 checks passed
@terabytesoftw terabytesoftw deleted the feature_3 branch February 21, 2026 00:22
@codecov
Copy link

codecov bot commented Feb 21, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (f49cce5) to head (81624d9).
⚠️ Report is 1 commits behind head on main.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant