Skip to content

chore: require utopia-php/client 0.4 - #5

Merged
loks0n merged 4 commits into
utopia-php:mainfrom
ChiragAgg5k:chore/allow-client-0.4
Sep 7, 2026
Merged

chore: require utopia-php/client 0.4#5
loks0n merged 4 commits into
utopia-php:mainfrom
ChiragAgg5k:chore/allow-client-0.4

Conversation

@ChiragAgg5k

@ChiragAgg5k ChiragAgg5k commented Sep 6, 2026

Copy link
Copy Markdown
Member

appwrite-labs/sdk-for-manager 5.0.0 requires utopia-php/client ^0.4.1. Consumers that install it next to utopia-php/feed (appwrite-labs/edge) cannot resolve because feed pins the client to 0.3.

Client 0.4 only adds withFollowRedirects() to the Adapter contract (redirects stay off by default), so the FakeClient test double gains that method. composer test, composer lint, and PHPStan pass against client 0.4.3.

A 1.2.0 tag is needed once merged so edge can pick it up.

appwrite-labs/sdk-for-manager 5.0.0 requires utopia-php/client ^0.4.1, and consumers such as appwrite-labs/edge install feed alongside it. Client 0.4 adds withFollowRedirects() to the Adapter contract, so the FakeClient test double gains it; the suite passes against 0.4.3.
@greptile-apps

greptile-apps Bot commented Sep 6, 2026

Copy link
Copy Markdown

Greptile Summary

Updates utopia-php/client from 0.3 to 0.4 and adapts the test client to the expanded adapter contract.

  • Regenerates the lock file with utopia-php/client 0.4.3 and utopia-php/psr7 0.2.2.
  • Adds withFollowRedirects() to the FakeClient test double.
  • Broadens the manifest constraint beyond the validated 0.4 release line.

Confidence Score: 4/5

The PR should not merge until the client constraint is restricted to the validated 0.4 release line.

The lock file now correctly selects client 0.4.3, so the prior manually resolved finding is fixed. However, the subsequent change from 0.4.* to ^0.4 allows future pre-1.0 minor versions whose compatibility has not been established.

Files Needing Attention: composer.json

Important Files Changed

Filename Overview
composer.json Updates the client dependency, but ^0.4 also permits unvalidated 0.5–0.x releases.
composer.lock Regenerates the lock file with client 0.4.3, fully addressing the previously reported stale-lock issue.
tests/Feed/Support/FakeClient.php Adds the method required by the client 0.4 adapter contract while preserving immutable test-double behavior.

Fix all with Greploop Fix All in Claude Code Fix All in Codex

Prompt To Fix All With AI
### Issue 1
composer.json:48
**Constraint permits untested versions**

Using `^0.4` permits releases from 0.4.0 up to, but excluding, 1.0.0, including potentially incompatible 0.5+ releases of this pre-1.0 dependency. Compatibility was established only for the 0.4 contract, so future installs could select an untested minor version. Keep the dependency on the validated 0.4 release line.

```suggestion
        "utopia-php/client": "0.4.*",
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (4): Last reviewed commit: "chore: use caret range for utopia-php/cl..." | Re-trigger Greptile

A single range keeps the resolver's job simple; 0.3 support is dropped rather than kept as an alternative.
@ChiragAgg5k ChiragAgg5k changed the title chore: allow utopia-php/client 0.4 chore: require utopia-php/client 0.4 Sep 6, 2026
Comment thread composer.json Outdated
CI installs from the lock file, so the constraint change needs the matching lock update.
Comment thread composer.json
@loks0n
loks0n merged commit 71eaae8 into utopia-php:main Sep 7, 2026
10 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