Upgrade chillerlan/php-qrcode to ^4.4 for PHP 8.4/8.5 compatibility#63
Merged
Conversation
php-qrcode 3.x pulls in php-settings-container 1.x which has implicit nullable parameters deprecated in PHP 8.4+. php-qrcode 4.4.2 requires php-settings-container ^3.3 which is clean. The QRCode API used by the library (ECC_L, OUTPUT_IMAGE_PNG, QROptions, render()) is unchanged between 3.x and 4.x.
pushok 0.16.x has implicit nullable parameters in Pushok\Payload\Alert (setTitleLocKey, setTitleLocArgs, setActionLocKey) and Pushok\Response (__construct) that are deprecated in PHP 8.4+. These classes are loaded during APNS push notification Behat tests, causing step failures. pushok 0.19.1 uses explicit nullable types. This also requires upgrading web-token/jwt-library from ^3 to ^4.
php-qrcode 4.x still calls imagedestroy() which is deprecated in PHP 8.5. 5.0.5 removes it. Bump constraint from ^4.4 to ^5.0.
Contributor
Author
|
Note: The PR description mentions |
kayjoosten
added a commit
to OpenConext/Stepup-tiqr
that referenced
this pull request
Jun 18, 2026
Prior to this change, Stepup-tiqr targeted PHP 8.4 and several vendor libraries contained PHP 8.4/8.5 deprecations (implicit nullable parameters, non-canonical casts, deprecated functions) that caused Behat test failures when PHP promoted them to exceptions. This change upgrades the base image to php85-apache2-node24, updates the composer platform to PHP 8.5, and fixes all deprecations: - Upgrade tiqr/tiqr-server-libphp to 4.4.2, which fixes implicit nullable params in Tiqr_DeviceStorage, Tiqr_OcraService, Tiqr_Service and Tiqr_Message exceptions, upgrades chillerlan/php-qrcode to ^5.0 (removes imagedestroy() and settings-container 1.x deprecations) and edamov/pushok to ^0.19 (fixes implicit nullable params in Pushok\Payload\Alert and Pushok\Response) - Fix non-canonical cast deprecation in FileLogger (League\Csv) - Fix phpcs Override attribute import - Revert new-without-parens syntax incompatible with phpmd/pdepend 2.x Upstream fixes: Tiqr/tiqr-server-libphp#62 Tiqr/tiqr-server-libphp#63 PR: #402
kayjoosten
added a commit
to OpenConext/Stepup-tiqr
that referenced
this pull request
Jun 22, 2026
Prior to this change, Stepup-tiqr targeted PHP 8.4 and several vendor libraries contained PHP 8.4/8.5 deprecations (implicit nullable parameters, non-canonical casts, deprecated functions) that caused Behat test failures when PHP promoted them to exceptions. This change upgrades the base image to php85-apache2-node24, updates the composer platform to PHP 8.5, and fixes all deprecations: - Upgrade tiqr/tiqr-server-libphp to 4.4.2, which fixes implicit nullable params in Tiqr_DeviceStorage, Tiqr_OcraService, Tiqr_Service and Tiqr_Message exceptions, upgrades chillerlan/php-qrcode to ^5.0 (removes imagedestroy() and settings-container 1.x deprecations) and edamov/pushok to ^0.19 (fixes implicit nullable params in Pushok\Payload\Alert and Pushok\Response) - Fix non-canonical cast deprecation in FileLogger (League\Csv) - Fix phpcs Override attribute import - Revert new-without-parens syntax incompatible with phpmd/pdepend 2.x Upstream fixes: Tiqr/tiqr-server-libphp#62 Tiqr/tiqr-server-libphp#63 PR: #402
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.
Problem
php-qrcode ^3.4depends onchillerlan/php-settings-container ^1.2.2. Version 1.x of that library has implicit nullable parameters deprecated in PHP 8.4+:This surfaces in consumers that promote deprecations to exceptions (e.g. Behat in Stepup-tiqr) and causes test failures on PHP 8.4+.
Fix
Upgrade to
chillerlan/php-qrcode ^4.4which requiresphp-settings-container ^3.3— fixed upstream. The API used by this library (QRCode::ECC_L,QRCode::OUTPUT_IMAGE_PNG,QROptions,->render()) is unchanged between 3.x and 4.x.Verification
find library -name '*.php' -exec php -l {} \;on PHP 8.5: zero deprecations./ci/qa/phpunit: OK (277 tests, 677 assertions)