Skip to content

HQD-191: Update PHP image to 8.5 in Docker Compose configuration#347

Merged
SilverFire merged 1 commit into
hiqdev:masterfrom
tafid:HQD-191
Jun 12, 2026
Merged

HQD-191: Update PHP image to 8.5 in Docker Compose configuration#347
SilverFire merged 1 commit into
hiqdev:masterfrom
tafid:HQD-191

Conversation

@tafid

@tafid tafid commented Jun 3, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Chores
    • Updated PHP runtime version from 8.3 to 8.5 in container environment configuration.

@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Both docker-compose.yml.dev and docker-compose.yml.local update the php-fpm service Docker image from hiqdev/php:8.3-fpm-alpine to hiqdev/php:8.5-fpm-alpine. No other service configuration, networking, or environment variables are modified.

Changes

PHP Runtime Version Upgrade

Layer / File(s) Summary
PHP 8.5 Image Update in Development Configs
docker-compose.yml.dev, docker-compose.yml.local
The php-fpm service image is updated from hiqdev/php:8.3-fpm-alpine to hiqdev/php:8.5-fpm-alpine in both development and local Docker Compose configuration files.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 From eight-point-three to eight-point-five we hop,
The PHP version takes a little leap, never to stop,
Docker containers now wear the newest coat,
Development environments updated, note by note,
Faster rabbits code, with runtime so bright! 🚀

🚥 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 accurately summarizes the main change: updating the PHP Docker image from 8.3 to 8.5 in Docker Compose configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
docker-compose.yml.dev (1)

29-29: ⚡ Quick win

Consider updating Scrutinizer to PHP 8.5 for consistency.

The .scrutinizer.yml file is configured to use PHP 8.3.3 for static analysis. While this won't prevent the application from running, having different PHP versions between your development environment (8.5) and CI/static analysis (8.3.3) can lead to inconsistencies in detecting version-specific issues.

Once PHP 8.5 is confirmed stable and the dev environment is working well, consider updating .scrutinizer.yml to use PHP 8.5.x as well.

As per relevant code snippets, Scrutinizer is configured with PHP version 8.3.3 (source: .scrutinizer.yml:1-14).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docker-compose.yml.dev` at line 29, Update the PHP version used by
Scrutinizer to match the dev image: change the PHP version string in
.scrutinizer.yml (currently "8.3.3") to an appropriate 8.5.x value (e.g., "8.5"
or "8.5.x"), then run the Scrutinizer/CI checks to confirm no new issues; locate
the PHP version setting in .scrutinizer.yml (the "php" / "tools" version key) to
make the change.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docker-compose.yml.dev`:
- Line 29: Update the docker-compose reference and CI to explicitly validate PHP
8.5 compatibility: confirm the image tag used in docker-compose.yml.dev (the
image: hiqdev/php:8.5-fpm-alpine entry) is correct and, if desired, pin to a
specific digest to avoid silent drift; add CI matrix entries or a dedicated
workflow step to run unit/integration tests and static analysis against PHP 8.5
(in your repo’s CI config referencing the same hiqdev/php:8.5-fpm-alpine image),
and run deprecation/lint checks that catch 8.3→8.5 BC changes (search for
occurrences of disable_classes, backtick shell_exec usage, non-canonical casts,
etc.) and fix or add tests for any failing areas.

---

Nitpick comments:
In `@docker-compose.yml.dev`:
- Line 29: Update the PHP version used by Scrutinizer to match the dev image:
change the PHP version string in .scrutinizer.yml (currently "8.3.3") to an
appropriate 8.5.x value (e.g., "8.5" or "8.5.x"), then run the Scrutinizer/CI
checks to confirm no new issues; locate the PHP version setting in
.scrutinizer.yml (the "php" / "tools" version key) to make the change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 08757952-f658-4687-9f61-1aaa61a60a72

📥 Commits

Reviewing files that changed from the base of the PR and between 54c77ce and 96336ce.

📒 Files selected for processing (2)
  • docker-compose.yml.dev
  • docker-compose.yml.local

Comment thread docker-compose.yml.dev

php-fpm:
image: hiqdev/php:8.3-fpm-alpine
image: hiqdev/php:8.5-fpm-alpine

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify the hiqdev/php:8.5-fpm-alpine Docker image exists on Docker Hub

# Check if the image exists and get its metadata
curl -s "https://hub.docker.com/v2/repositories/hiqdev/php/tags/8.5-fpm-alpine" | jq '{name: .name, last_updated: .last_updated, images: .images | length}'

# Also check what tags are available for hiqdev/php
curl -s "https://hub.docker.com/v2/repositories/hiqdev/php/tags?page_size=100" | jq '.results[] | select(.name | contains("8.")) | {name: .name, last_updated: .last_updated}' | head -20

Repository: hiqdev/hipanel-core

Length of output: 556


🌐 Web query:

Has PHP 8.5 been officially released and what is its release date?

💡 Result:

Yes, PHP 8.5 has been officially released. It was released on November 20, 2025 [1][2][3].

Citations:


🌐 Web query:

What are the breaking changes and new features in PHP 8.5?

💡 Result:

Breaking changes / backward-compatibility breaks in PHP 8.5 (focused on what PHP explicitly flags as incompatibilities or warnings/deprecations) 1) Removed - The disable_classes INI setting has been removed (it “causes various engine assumptions to be broken”) [1]. 2) Deprecated (and in some cases become warnings/errors in later versions) - Backtick operator as an alias for shell_exec is deprecated [1]. - Non-canonical cast names (boolean, integer, double, binary) are deprecated; use (bool), (int), (float), and (string) instead [1]. - Terminating case statements with a semicolon instead of a colon is deprecated [1]. - Using null as an array offset and in array_key_exists is deprecated; use an empty string instead [1]. - class_alias can no longer use "array" and "callable" as class alias names [1]. - sleep and wakeup are soft-deprecated (use serialize and unserialize) [1]. - Casting NAN to other types now emits a warning [1]. - Destructuring non-array values (other than null) using [] or list now emits a warning [1]. - Casting floats (or float-like strings) to int when the value can’t be represented as one now emits a warning [1]. 3) Additional incompatibilities called out in the official Upgrading guide (examples) - It is no longer possible to use "array" and "callable" as class alias names in class_alias [2]. New features in PHP 8.5 1) URI extension (built-in URL handling) - PHP 8.5 includes a built-in “URI” extension to parse, normalize, and handle URLs following RFC 3986 and WHATWG URL standards [1][3]. 2) Pipe operator: |> - PHP 8.5 adds the pipe (|>) operator for chaining callables left-to-right [4][3]. 3) Clone-with syntax - PHP 8.5 adds the ability to “clone with” property updates (e.g., supporting the “with-er” pattern for readonly classes) [1][3]. 4) #[\NoDiscard] attribute - PHP 8.5 introduces the #[\NoDiscard] attribute [5][3]. 5) Closures and first-class callables in constant expressions - PHP 8.5 supports using closures and first-class callables in constant expressions (including as attribute parameters) [4][3]. 6) PHP 8.5 feature list details (from the migration “new features” page) - The migration guide’s “New Features” page lists, among other items: the pipe operator (|>), closure/first-class callable support in constant expressions, #[\NoDiscard], and additional changes such as curl/EXIF-related additions [4]. Sources: PHP 8.5 release announcement + official migration guides and RFC/upgrade notes [1][4][3][6][2].

Citations:


Confirm PHP 8.5 image/tag and focus on PHP 8.3→8.5 compatibility testing.

  • docker-compose.yml.dev line 29 (image: hiqdev/php:8.5-fpm-alpine) exists on Docker Hub (tag 8.5-fpm-alpine, last updated 2026-04-22, 2 images), so the “tag missing” risk is addressed.
  • PHP 8.5 is officially released (Nov 20, 2025), but a PHP 8.3→8.5 upgrade can still break runtime behavior—review the documented BC breaks (e.g., removed disable_classes INI; deprecated backtick alias for shell_exec; deprecated non-canonical cast names; other deprecations/incompatibilities called out in the 8.5 upgrading guide) and ensure the application is tested under PHP 8.5 (CI/tests/linting as applicable).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docker-compose.yml.dev` at line 29, Update the docker-compose reference and
CI to explicitly validate PHP 8.5 compatibility: confirm the image tag used in
docker-compose.yml.dev (the image: hiqdev/php:8.5-fpm-alpine entry) is correct
and, if desired, pin to a specific digest to avoid silent drift; add CI matrix
entries or a dedicated workflow step to run unit/integration tests and static
analysis against PHP 8.5 (in your repo’s CI config referencing the same
hiqdev/php:8.5-fpm-alpine image), and run deprecation/lint checks that catch
8.3→8.5 BC changes (search for occurrences of disable_classes, backtick
shell_exec usage, non-canonical casts, etc.) and fix or add tests for any
failing areas.

@SilverFire SilverFire merged commit ec4e69d into hiqdev:master Jun 12, 2026
1 of 3 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