Skip to content

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

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

chore: allow utopia-php/cache ^5.0#943
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

Summary by CodeRabbit

  • Chores
    • Expanded cache component compatibility to support versions 4 and 5.

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>
@coderabbitai

coderabbitai Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 22600eea-995e-4971-9f11-7772fd402db0

📥 Commits

Reviewing files that changed from the base of the PR and between 5e5c8f2 and 175b6e7.

⛔ Files ignored due to path filters (1)
  • composer.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • composer.json

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The Composer dependency constraint for utopia-php/cache now accepts versions 4 and 5 instead of only version 4.

Changes

Cache dependency support

Layer / File(s) Summary
Cache version constraint
composer.json
The utopia-php/cache requirement now accepts ^4.0 or ^5.0.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 175b6

This change broadens the supported cache dependency range without introducing an actionable merge-blocking risk; it is merge-ready after normal checks and review.

Suggested reviewers: abnegate

🚥 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 summarizes the main change: allowing the package to use utopia-php/cache version 5.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/allow-cache-5

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.

@greptile-apps

greptile-apps Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR permits consumers to resolve either cache 4 or cache 5 while updating the development lockfile to exercise cache 5.

  • Broadens utopia-php/cache from ^4.0.0 to ^4.0 || ^5.0.
  • Updates the lockfile to cache 5.0.0 and its compatible circuit-breaker 0.4.0 dependency.

Confidence Score: 5/5

The PR appears safe to merge with no concrete blocking or non-blocking defects identified.

The widened constraint preserves cache 4 compatibility, while the lockfile consistently resolves cache 5 and its sole circuit-breaker dependency; repository code has no direct dependency on the changed circuit-breaker API.

Important Files Changed

Filename Overview
composer.json Broadens the cache dependency constraint without forcing existing consumers off cache 4.
composer.lock Resolves cache 5.0.0 and circuit-breaker 0.4.0 with internally consistent package requirements.

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

@loks0n
loks0n merged commit eaae8fd into main Aug 21, 2026
22 checks passed
@loks0n
loks0n deleted the chore/allow-cache-5 branch August 21, 2026 11:42
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