feat(CPD-31586)!: chillerlan/php-qrcode from v4 to v5 — release as 4.0.0 - #72
Merged
salkhwlani merged 2 commits intoAug 20, 2026
Merged
Conversation
Reverts the v4 -> v5 upgrade released in 3.0.5. Restores the `^4.3` constraint and the plain QROptions render path, dropping the GDIMAGE_PNG/imageTransparent defaults that only exist in v5. The explicit `?string $file` nullable type is kept, since it is independent of the qrcode major version and avoids a PHP 8.4+ deprecation notice. Reverts a296af9 (#65)
Re-applies the upgrade that shipped in 3.0.5 and was reverted in #71, so it can be released under a major version instead of a patch. Restores the `^5.0` constraint, the QROutputInterface import and the GDIMAGE_PNG/imageTransparent defaults in render(). Also updates the CLAUDE.md stack list, which still referenced ^4.3. BREAKING CHANGE: chillerlan/php-qrcode v5 renames the QROptions keys and output constants used by GenerateQrCode::render(). Callers passing v4-style options must migrate. Release this as 4.0.0, not 3.0.x. Reverts 76b4637 (#71), reinstating a296af9 (#65)
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
| Duplication | ✅ 0 (≤ 2 duplication) |
AI Reviewer: run a review on demand. To trigger the first review automatically, go to your organization or repository integration settings. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
thaifanisalla
marked this pull request as ready for review
August 19, 2026 17:46
Base automatically changed from
feature/CPD-31586-revert-upgrade-3.0.5
to
master
August 20, 2026 10:42
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Re-applies the
chillerlan/php-qrcodev4 → v5 upgrade that shipped in 3.0.5 and was reverted in #71, so it can be released under a major version instead of a patch.The upgrade is a breaking change for consumers, but 3.0.5 released it as a patch. The fix is a two-step:
chillerlan/php-qrcodeback to v4 #71 — revert v5 on the 3.x line, released as a patch so existing consumers get a working^4.3back.Changes
composer.json:chillerlan/php-qrcode^4.3→^5.0src/GenerateQrCode.php: restores theQROutputInterfaceimport and theGDIMAGE_PNG/imageTransparentdefaults inrender()CLAUDE.md: stack list updated from^4.3to^5.0(was stale — the original chore:chillerlan/php-qrcode: from v4 to v5 #65 missed it)The
composer.jsonandGenerateQrCode.phpcontent is byte-identical to the 3.0.5 state (a296af9); verified withgit diff a296af9, which returns empty.Breaking change
chillerlan/php-qrcodev5 renames theQROptionskeys and output constants consumed byGenerateQrCode::render(). Callers passing v4-style option arrays must migrate.Important
Tag this as
4.0.0. This repo has noversionfield incomposer.json— releases are purely tag-driven, so the major bump must be applied manually at release time.Downstream impact
some internal projects consume
salla/zatca. Neither picks up v5 until their constraint is widened to^4.0; both should be checked for v4-stylerender()option usage before this is tagged.Test plan
composer update chillerlan/php-qrcoderesolves to 5.0.5composer test— 8 tests, 26 assertions, all passing, no deprecation noticeschillerlan/php-qrcodeback to v4 #71 is merged and the 3.x patch is released firstBase branch
Stacked on
feature/CPD-31586-revert-upgrade-3.0.5(#71) so the diff shows only the re-application. GitHub retargets this tomasterautomatically once #71 merges.Greptile Summary
The PR reapplies the QR-code dependency’s v5 upgrade as a deliberate major release.
chillerlan/php-qrcodefrom^4.3to^5.0.GenerateQrCode::render().Confidence Score: 5/5
The PR appears safe to merge because no eligible blocking failure remains.
No blocking failure remains.
Important Files Changed
Reviews (2): Last reviewed commit: "feat(CPD-31586)!: `chillerlan/php-qrcode..." | Re-trigger Greptile