new depecations
5) /builds/issue/drupal-3523596/core/lib/Drupal/Component/DependencyInjection/Container.php:150
Using null as an array offset is deprecated, use an empty string instead
Triggered by:
* Drupal\Tests\Component\DependencyInjection\ContainerTest::testGetForNonExistentNULLService
/builds/issue/drupal-3523596/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php:369
* Drupal\Tests\Component\DependencyInjection\PhpArrayContainerTest::testGetForNonExistentNULLService
/builds/issue/drupal-3523596/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php:369
6) /builds/issue/drupal-3523596/vendor/symfony/http-foundation/ResponseHeaderBag.php:162
Using null as an array offset is deprecated, use an empty string instead
and in unit tests
ERROR: PHP Deprecated: Method Drupal\sqlite\Driver\Database\sqlite\PDOConnection::sqliteCreateFunction() is deprecated since 8.5, use Pdo\Sqlite::createFunction() instead in /builds/issue/drupal-3523596/core/modules/sqlite/src/Driver/Database/sqlite/Connection.php on line 121
PHP Deprecated: Method Drupal\sqlite\Driver\Database\sqlite\PDOConnection::sqliteCreateFunction() is deprecated since 8.5, use Pdo\Sqlite::createFunction() instead in /builds/issue/drupal-3523596/core/modules/sqlite/src/Driver/Database/sqlite/Connection.php on line 122
PHP Deprecated: Method Drupal\sqlite\Driver\Database\sqlite\PDOConnection::sqliteCreateFunction() is deprecated since 8.5, use Pdo\Sqlite::createFunction() instead in /builds/issue/drupal-3523596/core/modules/sqlite/src/Driver/Database/sqlite/Connection.php on line 123
PHP Deprecated: Method Drupal\sqlite\Driver\Database\sqlite\PDOConnection::sqliteCreateFunction() is deprecated since 8.5, use Pdo\Sqlite::createFunction() instead in /builds/issue/drupal-3523596/core/modules/sqlite/src/Driver/Database/sqlite/Connection.php on line 124
PHP Deprecated: Method Drupal\sqlite\Driver\Database\sqlite\PDOConnection::sqliteCreateFunction() is deprecated since 8.5, use Pdo\Sqlite::createFunction() instead in /builds/issue/drupal-3523596/core/modules/sqlite/src/Driver/Database/sqlite/Connection.php on line 125
PHP Deprecated: Method Drupal\sqlite\Driver\Database\sqlite\PDOConnection::sqliteCreateFunction() is deprecated since 8.5, use Pdo\Sqlite::createFunct
Still make sence to implement clean-up from https://git.drupalcode.org/project/drupal/-/merge_requests/9085
The #Deprecated
attribute now allowed for traits to deprecate https://github.com/php/php-src/commit/34a6e86282508d3b3c592d7156727204aa...
trait could be deprecated via attribute https://github.com/php/php-src/commit/34a6e86282508d3b3c592d7156727204aa...
Thank you! surely 10.6 could fail to use PHP 8.5 but this changes are minimal )
the change looks backportable to 10.6
Thank you finding it, missed this change... btw curious how they added support without libheif
, cos they are not 100% compatible and very probably ubuntu:noble
has somehow outdated libavif.
I will check what GD library (which is bundled into PHP) supports to link to as Ubuntu contains libavif16 - 1.0.4 but upstream is 1.3.0 and starting with 1.2.0 it has experimental support for HEIF under experimental flag
Add experimental support for PixelInformationProperty syntax from HEIF 3rd Ed.
Amd2 behind the compilation flag AVIF_ENABLE_EXPERIMENTAL_EXTENDED_PIXI.
+1 RTBC as no code change just move and s/know/known test change
andypost → created an issue.
another example is Linux kernel https://lore.kernel.org/lkml/20250725175358.1989323-3-sashal@kernel.org/
Waiting for next composer release
maybe instead of inline comment better to update phpstan's baseline?
Filed for #5 📌 [12.x] Clean up PHP_VERSION_ID conditions for unsupported PHP versions Postponed
@mondrake yes, subclasses added in 8.4 so I checked and see that constants added as well
php -r 'echo \PDO\Mysql::ATTR_FOUND_ROWS;'
1005
so I lowered version check but phpstan probably has no valid stubs and can't find this classes, probably because it consuming PHP version from composer where it's 8.3
andypost → created an issue.
andypost → created an issue.
andypost → created an issue.
updated IS with new releases
Moreover in PHP 8.5 interpolation got changes so expectations maybe affected
I need to file new issues for mysql, migrate and chr(), probably last 2 could be done in one task
The biggest challenge is 🐛 Fix ToolkitGdTest n PHP 8.5 Active
PS: once justinrainbow/json-schema
will be merged, composer should create another release and it will fix package manager tests
btw runnign php's tests it reports no issues with AVIF, so probably something wrong in core's code or maybe we need to report something to php upstream
PS few more fixes for beta2 added in 📌 Discus adoption of #NoDiscard and PHP 8.5 Active and the only failures left because of composer's dependecy which should be fixed later this week https://github.com/jsonrainbow/json-schema/pull/840
rebased
I think BC layer should be added at least with condition PHP_VERSION_ID < 80500
AVIF should be working, it's added to CI images since PHP 8.1 so all images reports it\s supported, maybe needs better check but
$ docker run --rm drupalci/php-8.5-ubuntu-apache:production php --ri gd
gd
GD Support => enabled
GD Version => bundled (2.1.0 compatible)
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.13.2
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 8
PNG Support => enabled
libPNG Version => 1.6.43
WBMP Support => enabled
XBM Support => enabled
WebP Support => enabled
BMP Support => enabled
AVIF Support => enabled
TGA Read Support => enabled
Directive => Local Value => Master Value
gd.jpeg_ignore_warning => On => On
andypost → created an issue.
I see the rest of new deprecations require own issues so it's good to go as is... at least core will produce less noise in pipelines
tracking of deprecations https://github.com/php/php-src/issues/19468
as of beta2 new failures
1) /builds/issue/drupal-3523596/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.php:57
The predefined locally scoped $http_response_header variable is deprecated, call http_get_last_response_headers() instead
Beta2 is tagged and all tests fail again because PDO constants are deprecated
1 test triggered 3 PHP deprecations:
1) /builds/issue/drupal-3523596/core/modules/mysql/src/Driver/Database/mysql/Connection.php:124
Constant PDO::MYSQL_ATTR_USE_BUFFERED_QUERY is deprecated since 8.5, use Pdo\Mysql::ATTR_USE_BUFFERED_QUERY instead
Triggered by:
* Drupal\Tests\workflows\Kernel\ComplexWorkflowTypeTest::testLoadMultipleByType
/builds/issue/drupal-3523596/core/modules/workflows/tests/src/Kernel/ComplexWorkflowTypeTest.php:27
2) /builds/issue/drupal-3523596/core/modules/mysql/src/Driver/Database/mysql/Connection.php:128
Constant PDO::MYSQL_ATTR_FOUND_ROWS is deprecated since 8.5, use Pdo\Mysql::ATTR_FOUND_ROWS instead
Triggered by:
* Drupal\Tests\workflows\Kernel\ComplexWorkflowTypeTest::testLoadMultipleByType
/builds/issue/drupal-3523596/core/modules/workflows/tests/src/Kernel/ComplexWorkflowTypeTest.php:27
3) /builds/issue/drupal-3523596/core/modules/mysql/src/Driver/Database/mysql/Connection.php:133
Constant PDO::MYSQL_ATTR_MULTI_STATEMENTS is deprecated since 8.5, use Pdo\Mysql::ATTR_MULTI_STATEMENTS instead
Triggered by:
* Drupal\Tests\workflows\Kernel\ComplexWorkflowTypeTest::testLoadMultipleByType
/builds/issue/drupal-3523596/core/modules/workflows/tests/src/Kernel/ComplexWorkflowTypeTest.php:27
Last blockers are
- https://github.com/minkphp/MinkBrowserKitDriver/pull/185
- new release of prophecy
+---------------------+-------+--------+
| Production Changes | From | To |
+---------------------+-------+--------+
| guzzlehttp/guzzle | 7.9.3 | 7.10.0 |
| guzzlehttp/promises | 2.2.0 | 2.3.0 |
| guzzlehttp/psr7 | 2.7.1 | 2.8.0 |
+---------------------+-------+--------+
Filed separare issue for Guzzle upgrade 📌 Upgrade Guzzle to 7.10 for PHP 8.5 support Active
ready for review
Would be great to add updated compsoer https://getcomposer.org/changelog/2.8.11 (as it require newer react/promise)
andypost → created an issue.
I bet it require backport
New URI class commited https://wiki.php.net/rfc/url_parsing_api
will be fixed
┊ -'REPEATABLE-READ'
┊ +'READ-COMMITTED'
With sed -i 's/attach/offsetSet/' vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php # TODO: wait for release
the test pass
I think it's fine for me to RTBC !13038 as not an author
Moreover it needs backport to 10.x
Replaced comparison with session vs global isolation level
Yes it needs to fix
Installer Isolation Level Existing Settings (Drupal\Tests\mysql\Functional\InstallerIsolationLevelExistingSettings)
✘ Installer
┐
├ Failed asserting that two strings are equal.
┊ ---·Expected
┊ +++·Actual
┊ @@ @@
┊ -'REPEATABLE-READ'
┊ +'READ-COMMITTED'
│
│ /builds/issue/drupal-3539366/core/modules/mysql/tests/src/Functional/InstallerIsolationLevelExistingSettingsTest.php:58
┴
Default value is set, now only one broken test in core need to fix expectations
the issue was in tx_isolation
which should be the same as in Mysql transaction_isolation
Commited to production
Looking for reviews https://github.com/phpspec/prophecy/pull/647
one more deprecation
1) /builds/issue/drupal-3541427/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php:87
Method SplObjectStorage::attach() is deprecated since 8.5, use method SplObjectStorage::offsetSet() instead
Triggered by:
* Drupal\Tests\Core\Entity\EntityUnitTest::testPostSave
/builds/issue/drupal-3541427/core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php:411
* Drupal\Tests\Core\Entity\EntityUnitTest::testPostSaveBundle
/builds/issue/drupal-3541427/core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php:433
Somehow now 2 jobs fails in pipeline https://git.drupalcode.org/project/masquerade/-/pipelines/575664
Thank you, merged
PHP 8.5 changes are backported to 10.x so part of it should do too
Curious if the changes in table clean-up will help to close related #2949229: SQLite findTables Returns Empty Array on External DB. →
EDIT sadly no
Pushed one more commit as this upgrade is required
Please update https://github.com/Lullabot/php-webdriver/releases/tag/v2.0.7 as well as it makes more tests to pass
one more deprecation commited https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_passing_integers...
IIRC we fixed AVIF long time ago by using Ubuntu as a source for CI images
Thank you, looks like good idea but I think the rotation got changes(
Related in terms of PHP 8.5 🐛 Fix ToolkitGdTest n PHP 8.5 Active
Created testing branch with patches to run tests on 8.5 from 📌 Discus adoption of #NoDiscard and PHP 8.5 Active
I think we need to wait a bit for core's dependencies to be fixed as guzzle/kink produce too many warnings and contrib can't actually use it without patching like 📌 Discus adoption of #NoDiscard and PHP 8.5 Active
Updated IS with curent state
smustgrave → credited andypost → .
as core running fine
thank you!
follow-up for 10.x 📌 10.x backport - Inconsistent switch case syntax Active
Filed follow-up for 10.x backport 📌 10.x backport - Inconsistent switch case syntax Active
andypost → created an issue.
In 2 weeks next beta will arrive and probably core will have less issues (a lot of compatibility issues been fixed today)
looks like all php-files are inserting it before namespace but a lot of others doing it after `use` so probably makes sense to formalize it)
Thank you @jacktonkin it can catch!
moved after meaningful descrtiption
I think it's a good time to allow start testing as all deprecations already commited and beta 1 is out
I found only one tool to fix it https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/doc/rules/cast_...
Thank you, never know it could work like that)
this approach much cleaner!
thank you!
in core/modules/page_cache/tests/src/Functional/PageCacheTest.php
object is destroyed when leaving method
in core/tests/Drupal/FunctionalJavascriptTests/WebDriverCurlService.php
setting to null
andypost → created an issue.
https://github.com/nikic/PHP-Parser/commit/02dcdd74bb328ca0bd9b9e459ca25...
and one more
vendor/sebastian/recursion-context/src/Context.php:148
Method SplObjectStorage::contains() is deprecated since 8.5, use method SplObjectStorage::offsetExists() instead
A bit more deprecations
php message: PHP Deprecated: Case statements followed by a semicolon (;) are deprecated, use a colon (:) instead in /var/www/html/web/vendor/react/promise/src/functions.php on line 300
https://github.com/reactphp/promise/commit/d3998c8a5d3cff0b39b2f332da550...
php message: Failed to log error: Deprecated function: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in GuzzleHttp\Handler\CurlFactory->__destruct() (line 732 of /var/www/html/web/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php). #0 /var/www/html/web/core/includes/bootstrap.inc(104): _drupal_error_handler_real()
#1 /var/www/html/web/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(732): _drupal_error_handler()
#2 [internal function]: GuzzleHttp\Handler\CurlFactory->__destruct()
#3 {main}
need new issue for guzzle
cspell fix is required, see the job
Moreover PHP 8,5 beta1 CI image created and test run showing serious log pollution https://git.drupalcode.org/issue/drupal-3523596/-/jobs/6189639
follow-up to enable sniffer #2901831-36: Only use colons in case statements →
ready for review/commit
EDIT failed sniff https://git.drupalcode.org/issue/drupal-2901831/-/jobs/6176971
Code was fixed in 📌 Inconsistent switch case syntax Downport
but sniffer is not enabled https://github.com/PHPCSStandards/PHPCSExtra/commit/6f023adc8e28dbdcd21a...