Account created on 23 February 2007, over 18 years ago
#

Merge Requests

More

Recent comments

🇫🇷France andypost

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
🇫🇷France andypost

Thank you! surely 10.6 could fail to use PHP 8.5 but this changes are minimal )

🇫🇷France andypost

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.

🇫🇷France andypost

+1 RTBC as no code change just move and s/know/known test change

🇫🇷France andypost

maybe instead of inline comment better to update phpstan's baseline?

🇫🇷France andypost

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

🇫🇷France andypost

Moreover in PHP 8.5 interpolation got changes so expectations maybe affected

🇫🇷France andypost

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

🇫🇷France andypost

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

🇫🇷France andypost

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
🇫🇷France andypost

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

🇫🇷France andypost

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
🇫🇷France andypost

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
🇫🇷France andypost
+---------------------+-------+--------+
| 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  |
+---------------------+-------+--------+
🇫🇷France andypost

will be fixed

       ┊ -'REPEATABLE-READ'
       ┊ +'READ-COMMITTED'
🇫🇷France andypost

With sed -i 's/attach/offsetSet/' vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php # TODO: wait for release the test pass

🇫🇷France andypost

I think it's fine for me to RTBC !13038 as not an author

Moreover it needs backport to 10.x

🇫🇷France andypost

Replaced comparison with session vs global isolation level

🇫🇷France andypost

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
       ┴
🇫🇷France andypost

Default value is set, now only one broken test in core need to fix expectations

🇫🇷France andypost

the issue was in tx_isolation which should be the same as in Mysql transaction_isolation

Commited to production

🇫🇷France andypost

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
🇫🇷France andypost

PHP 8.5 changes are backported to 10.x so part of it should do too

🇫🇷France andypost

IIRC we fixed AVIF long time ago by using Ubuntu as a source for CI images

🇫🇷France andypost

Thank you, looks like good idea but I think the rotation got changes(

🇫🇷France andypost

Created testing branch with patches to run tests on 8.5 from 📌 Discus adoption of #NoDiscard and PHP 8.5 Active

🇫🇷France andypost

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

🇫🇷France andypost

In 2 weeks next beta will arrive and probably core will have less issues (a lot of compatibility issues been fixed today)

🇫🇷France andypost

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)

🇫🇷France andypost

Thank you @jacktonkin it can catch!

🇫🇷France andypost

moved after meaningful descrtiption

🇫🇷France andypost

I think it's a good time to allow start testing as all deprecations already commited and beta 1 is out

🇫🇷France andypost

Thank you, never know it could work like that)

this approach much cleaner!

🇫🇷France andypost

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

🇫🇷France andypost

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
🇫🇷France andypost

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

🇫🇷France andypost

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

Production build 0.71.5 2024