Skip to content

chore: allow utopia-php/cache ^5.0 - #137

Merged
loks0n merged 1 commit into
mainfrom
chore/allow-cache-5
Aug 21, 2026
Merged

chore: allow utopia-php/cache ^5.0#137
loks0n merged 1 commit into
mainfrom
chore/allow-cache-5

Conversation

@loks0n

Copy link
Copy Markdown
Contributor

Why

utopia-php/cache 5.0.0 is out. This package pins ^4, and because Composer resolves the whole graph, that pin blocks every consumer downstream — appwrite/appwrite cannot move to cache 5 while any of its dependencies still require cache 4.

Why this is safe

Cache 5.0.0's major is not about the general cache API, which is unchanged. It is a major for two reasons:

  1. Redis\Multiplexing changed how a per-call read deadline is handled — a timeout no longer tears down the shared connection (utopia-php/monorepo#152).
  2. It now requires utopia-php/circuit-breaker ^0.4, which removed the threshold constructor argument in favour of a failure rate (utopia-php/monorepo#153).

This package uses neither. grep for Multiplexing and CircuitBreaker across src/ and tests/ returns nothing — only the generic Cache/Adapter surface is used, and that is identical between 4 and 5.

The constraint

^4.0 || ^5.0 rather than ^5.0, so this package does not force the upgrade on anyone still on cache 4. Consumers pick the version; this just stops being the thing that says no.

🤖 Generated with Claude Code

Cache 5.0.0 is released and this package pinned ^4, which blocks every consumer
downstream: appwrite cannot move to cache 5 while any dependency still requires
cache 4.
Nothing here needs to change to support it. Cache's major is for the
Redis\Multiplexing deadline behaviour and for requiring circuit-breaker ^0.4,
which dropped the threshold argument. This package uses neither — grep for
Multiplexing and CircuitBreaker across src/ and tests/ returns nothing, and the
generic Cache and Adapter surface is identical between 4 and 5.
Constrained as ^4.0 || ^5.0 rather than ^5.0 so this does not force the upgrade
on anyone still on cache 4.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR broadens the supported utopia-php/cache constraint to include versions 4 and 5 and refreshes the lockfile to cache 5.0.0 with circuit-breaker 0.4.0.

  • Preserves compatibility with consumers that remain on cache 4.
  • Updates the resolved cache and circuit-breaker packages.
  • Leaves the test container on PHP 8.3 even though the newly locked cache version requires PHP 8.4.

Confidence Score: 4/5

The PR appears safe to merge, but the test container should be upgraded to PHP 8.4 so CI validates cache 5 on a supported runtime.

The generic cache APIs used by the repository remain compatible, but the refreshed lockfile installs a PHP 8.4-only dependency into a PHP 8.3 test image by bypassing Composer platform checks.

Files Needing Attention: composer.lock and Dockerfile

Important Files Changed

FilenameOverview
composer.jsonBroadens the cache constraint to `^4.0
composer.lockResolves cache 5.0.0 and circuit-breaker 0.4.0, but cache 5's PHP 8.4 floor no longer matches the PHP 8.3 test container.

Fix all with GreploopFix All in Claude CodeFix All in Codex

Prompt To Fix All With AI
### Issue 1
composer.lock:1941
**Cache 5 exceeds test runtime**
The lockfile now installs cache 5.0.0, which requires PHP 8.4, while the test container runs PHP 8.3 and bypasses Composer platform checks. CI therefore exercises cache 5 on an unsupported runtime and does not validate the supported PHP 8.4 configuration.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "chore: allow utopia-php/cache ^5.0" | Re-trigger Greptile

Comment threadcomposer.lock
{
"name": "utopia-php/cache",
"version": "4.0.0",
"version": "5.0.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2Cache 5 exceeds test runtime

The lockfile now installs cache 5.0.0, which requires PHP 8.4, while the test container runs PHP 8.3 and bypasses Composer platform checks. CI therefore exercises cache 5 on an unsupported runtime and does not validate the supported PHP 8.4 configuration.

Prompt To Fix With AI
This is a comment left during a code review.
Path: composer.lock
Line: 1941
Comment:
**Cache 5 exceeds test runtime**
The lockfile now installs cache 5.0.0, which requires PHP 8.4, while the test container runs PHP 8.3 and bypasses Composer platform checks. CI therefore exercises cache 5 on an unsupported runtime and does not validate the supported PHP 8.4 configuration.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Claude CodeFix in Codex

@loks0n
loks0n merged commit d5dbd6d into mainAug 21, 2026
9 checks passed
Sign up for freeto 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.

1 participant

@loks0n