You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The package required guzzlehttp/guzzle: ^7.0, although it has not used Guzzle directly since v3.2.0, when the payment classes moved to Laravel's HTTP client. Laravel 13 accepts Guzzle 8, so a new Laravel 13 app installs it, and adding the package then failed unless Composer was allowed to downgrade Guzzle.
The Guzzle requirement is removed, leaving the version to Laravel. Laravel 11 and later require the Guzzle range their HTTP client supports (Guzzle 8 only from 13.x, whose client was adapted to it). Laravel 10 leaves Guzzle to the application, whose skeleton requires ^7.2, so the Laravel 10 test rows install it the same way, and the requirements docs say so. The suite passes on Guzzle 8.2.0 with Laravel 13.33 and on Guzzle 7 with Laravel 10.
A new CI job installs the package into a new Laravel 10–13 application whose dependencies are already installed, as in a real app. Run against master, it fails on Laravel 13 with the reported conflict; with this change it passes.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟢 Approval recommended
The dependency removal is consistent with the package’s actual requirements, and the added CI job appropriately guards against the reported Composer conflict scenario.
Review effort: Lite Findings: None
What changed in this PR
This PR removes an unused direct Composer dependency on guzzlehttp/guzzle to prevent installation conflicts in newer Laravel applications (notably Laravel 13, which allows Guzzle 8). It also extends CI to validate real-world installation by adding the package into freshly created Laravel apps across multiple Laravel versions.
Changes:
Removed guzzlehttp/guzzle from composer.json requirements (Laravel’s illuminate/http already constrains the appropriate Guzzle version per framework release).
Added a GitHub Actions job that creates a Laravel 10–13 app, installs its dependencies first, then requires this package via a local path repository to catch dependency conflicts.
File
Description
composer.json
Drops the unused direct Guzzle requirement to avoid Composer conflicts with Laravel-supported Guzzle versions.
.github/workflows/run-tests.yml
Adds an “install into fresh Laravel app” CI job to detect framework/package dependency constraint conflicts.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟢 Approval recommended
The change aligns the package’s declared dependencies with actual usage and adds CI coverage for the reported install conflict, with only minor follow-up improvements suggested.
The install job aims to mimic a real app with dependencies already installed/locked. Using composer install here more closely matches how a freshly created Laravel app is typically set up (using its shipped lock file) and avoids re-resolving/upgrading dependencies unnecessarily in CI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The package required
guzzlehttp/guzzle: ^7.0, although it has not used Guzzle directly since v3.2.0, when the payment classes moved to Laravel's HTTP client. Laravel 13 accepts Guzzle 8, so a new Laravel 13 app installs it, and adding the package then failed unless Composer was allowed to downgrade Guzzle.^7.2, so the Laravel 10 test rows install it the same way, and the requirements docs say so. The suite passes on Guzzle 8.2.0 with Laravel 13.33 and on Guzzle 7 with Laravel 10.Fixes
This fixes #100.