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

@loks0n loks0n commented Aug 21, 2026

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

greptile-apps Bot commented Aug 21, 2026

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

Filename Overview
composer.json Broadens the cache constraint to `^4.0
composer.lock Resolves 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 Greploop Fix All in Claude Code Fix 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 thread composer.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.

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

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 Code Fix in Codex

@loks0n
loks0n merged commit d5dbd6d into main Aug 21, 2026
9 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.

1 participant