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

Merge Requests

More

Recent comments

🇫🇷France andypost

One more strong reason is that PHPUnit 10 no longer has bugfix support (since Feb'25) https://phpunit.de/supported-versions.html

So moving to 11 is required step to start transition to 12

🇫🇷France andypost

for example upgrade of composer/composer require to update justinrainbow/json-schema to new major and adds new dependency

🇫🇷France andypost

I set it draft because there's other updates (

Color legend:
- patch or minor release available - update recommended
- major release available - update possible

Direct dependencies required in composer.json:
composer/composer                  2.8.6   2.8.9  Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.
drupal/coder                       8.3.26  8.3.30 Coder is a library to review Drupal code.
justinrainbow/json-schema          5.3.0   6.4.1  A library to validate a json schema.
mglaman/phpstan-drupal             2.0.5   2.0.7  Drupal extension and rules for PHPStan
phpspec/prophecy-phpunit           2.3.0   2.4.0  Integrating the Prophecy mocking library in PHPUnit test cases
phpstan/phpstan                    2.1.14  2.1.17 PHPStan - PHP Static Analysis Tool
phpunit/phpunit                    10.5.46 12.1.6 The PHP Unit Testing framework.

Transitive dependencies not required in composer.json:
brick/math                         0.12.3  0.13.1 Arbitrary-precision arithmetic library
doctrine/lexer                     2.1.1   3.0.1  PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.
google/protobuf                    4.30.2  4.31.1 proto library for PHP
phpstan/phpstan-deprecation-rules  2.0.2   2.0.3  PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.
phpunit/php-code-coverage          10.1.16 12.3.0 Library that provides collection, processing, and rendering functionality for PHP code coverage information.
phpunit/php-file-iterator          4.1.0   6.0.0  FilterIterator implementation that filters files based on a list of suffixes.
phpunit/php-invoker                4.0.0   6.0.0  Invoke callables with a timeout
phpunit/php-text-template          3.0.1   5.0.0  Simple template engine.
phpunit/php-timer                  6.0.0   8.0.0  Utility class for timing
sebastian/cli-parser               2.0.1   4.0.0  Library for parsing CLI options
sebastian/code-unit                2.0.0   3.0.3  Collection of value objects that represent the PHP code units
sebastian/code-unit-reverse-lookup 3.0.0   4.0.1  Looks up which function or method a line of code belongs to
sebastian/comparator               5.0.3   7.0.1  Provides the functionality to compare PHP values for equality
sebastian/complexity               3.2.0   5.0.0  Library for calculating the complexity of PHP code units
sebastian/diff                     5.1.1   7.0.0  Diff implementation
sebastian/environment              6.1.0   8.0.2  Provides functionality to handle HHVM/PHP environments
sebastian/exporter                 5.1.2   7.0.0  Provides the functionality to export PHP variables for visualization
sebastian/global-state             6.0.2   8.0.0  Snapshotting of global state
sebastian/lines-of-code            2.0.2   4.0.0  Library for counting the lines of code in PHP source code
sebastian/object-enumerator        5.0.0   7.0.0  Traverses array structures and object graphs to enumerate all referenced objects
sebastian/object-reflector         3.0.0   5.0.0  Allows reflection of object attributes, including inherited and non-public ones
sebastian/recursion-context        5.0.0   7.0.0  Provides functionality to recursively process PHP variables
sebastian/type                     4.0.0   6.0.2  Collection of value objects that represent the types of the PHP type system
sebastian/version                  4.0.1   6.0.0  Library that helps with managing the version number of Git-hosted PHP projects
slevomat/coding-standard           8.18.0  8.18.1 Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.
squizlabs/php_codesniffer          3.12.2  3.13.0 PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.
🇫🇷France andypost

updated

cld --from 11.x
+------------------------------------+--------------+--------+
| Production Changes                 | From         | To     |
+------------------------------------+--------------+--------+
| symfony/console                    | v7.3.0-BETA1 | v7.3.0 |
| symfony/dependency-injection       | v7.3.0-BETA1 | v7.3.0 |
| symfony/deprecation-contracts      | v3.5.1       | v3.6.0 |
| symfony/error-handler              | v7.3.0-BETA1 | v7.3.0 |
| symfony/event-dispatcher           | v7.3.0-BETA1 | v7.3.0 |
| symfony/event-dispatcher-contracts | v3.5.1       | v3.6.0 |
| symfony/filesystem                 | v7.3.0-BETA1 | v7.3.0 |
| symfony/finder                     | v7.3.0-BETA1 | v7.3.0 |
| symfony/http-foundation            | v7.3.0-BETA1 | v7.3.0 |
| symfony/http-kernel                | v7.3.0-BETA1 | v7.3.0 |
| symfony/mailer                     | v7.3.0-BETA1 | v7.3.0 |
| symfony/mime                       | v7.3.0-BETA1 | v7.3.0 |
| symfony/process                    | v7.3.0-BETA1 | v7.3.0 |
| symfony/psr-http-message-bridge    | v7.3.0-BETA1 | v7.3.0 |
| symfony/routing                    | v7.3.0-BETA1 | v7.3.0 |
| symfony/serializer                 | v7.3.0-BETA1 | v7.3.0 |
| symfony/service-contracts          | v3.5.1       | v3.6.0 |
| symfony/string                     | v7.3.0-BETA1 | v7.3.0 |
| symfony/translation-contracts      | v3.5.1       | v3.6.0 |
| symfony/validator                  | v7.3.0-BETA1 | v7.3.0 |
| symfony/var-dumper                 | v7.3.0-BETA1 | v7.3.0 |
| symfony/var-exporter               | v7.3.0-BETA1 | v7.3.0 |
| symfony/yaml                       | v7.3.0-BETA1 | v7.3.0 |
+------------------------------------+--------------+--------+

+------------------------------+--------------+--------+
| Dev Changes                  | From         | To     |
+------------------------------+--------------+--------+
| composer/ca-bundle           | 1.5.6        | 1.5.7  |
| composer/spdx-licenses       | 1.5.8        | 1.5.9  |
| open-telemetry/api           | 1.2.3        | 1.3.0  |
| open-telemetry/exporter-otlp | 1.2.1        | 1.3.1  |
| open-telemetry/sdk           | 1.3.0        | 1.5.0  |
| symfony/browser-kit          | v7.3.0-BETA1 | v7.3.0 |
| symfony/css-selector         | v7.3.0-BETA1 | v7.3.0 |
| symfony/dom-crawler          | v7.3.0-BETA1 | v7.3.0 |
| symfony/lock                 | v7.3.0-BETA1 | v7.3.0 |
+------------------------------+--------------+--------+
🇫🇷France andypost

a bit more

+---------------------------+------+----------+
| Production Changes        | From | To       |
+---------------------------+------+----------+
| drupal/core-recipe-unpack | NEW  | 11.x-dev |
+---------------------------+------+----------+

+------------------------------+-------+-------+
| Dev Changes                  | From  | To    |
+------------------------------+-------+-------+
| composer/ca-bundle           | 1.5.6 | 1.5.7 |
| composer/spdx-licenses       | 1.5.8 | 1.5.9 |
| open-telemetry/api           | 1.2.3 | 1.3.0 |
| open-telemetry/exporter-otlp | 1.2.1 | 1.3.1 |
| open-telemetry/sdk           | 1.3.0 | 1.5.0 |
+------------------------------+-------+-------+
🇫🇷France andypost

SF update

+------------------------------------+--------------+------------+
| Production Changes                 | From         | To         |
+------------------------------------+--------------+------------+
| symfony/console                    | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/dependency-injection       | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/deprecation-contracts      | v3.5.1       | v3.6.0     |
| symfony/error-handler              | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/event-dispatcher           | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/event-dispatcher-contracts | v3.5.1       | v3.6.0     |
| symfony/filesystem                 | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/finder                     | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/http-foundation            | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/http-kernel                | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/mailer                     | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/mime                       | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/process                    | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/psr-http-message-bridge    | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/routing                    | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/serializer                 | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/service-contracts          | v3.5.1       | v3.6.0     |
| symfony/string                     | v7.3.0-BETA1 | v7.2.6     |
| symfony/translation-contracts      | v3.5.1       | v3.6.0     |
| symfony/validator                  | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/var-dumper                 | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/var-exporter               | v7.3.0-BETA1 | v7.2.6     |
| symfony/yaml                       | v7.3.0-BETA1 | v7.3.0-RC1 |
| drupal/core-recipe-unpack          | NEW          | 11.x-dev   |
+------------------------------------+--------------+------------+

+----------------------+--------------+------------+
| Dev Changes          | From         | To         |
+----------------------+--------------+------------+
| symfony/browser-kit  | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/css-selector | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/dom-crawler  | v7.3.0-BETA1 | v7.3.0-RC1 |
| symfony/lock         | v7.3.0-BETA1 | v7.3.0-RC1 |
+----------------------+--------------+------------+
🇫🇷France andypost

Looks like only 2 issues from summary make sense now

🇫🇷France andypost

Thank you! as follow-up created let's get it in and speed-up 11.2)

🇫🇷France andypost

This guard is required

/var/www/html/web $ php -r 'var_dump(function_exists("imageavif"));'
bool(true)
/var/www/html/web $ php -d disable_functions=imageavif -r 'var_dump(function_exists("imageavif"));'
bool(false)
🇫🇷France andypost

Not clear how it possible to by-pass guard function_exists('imageavif') maybe this function exists but disabled somehow

🇫🇷France andypost

back to RTBC as changes reflect latest core commits

🇫🇷France andypost

not the same

yes, this settings enabling aggregation, now having aggregated assets core applies compression

🇫🇷France andypost

Fixed https://www.drupal.org/node/3526344/revisions/view/14005103/14005483

It talks about a setting on /admin/config/development/performance but I see no such setting.

this is where aggregate js/css checkboxes are

🇫🇷France andypost

Thank you! Let's get it in and discover perf issues in follow-up as jobs on mysqli looks little bit slower

🇫🇷France andypost

It looks great idea to git in for D12!

btw it will raise a question of DI for elements as related still)

🇫🇷France andypost

now all 8.3-8.5 images has igbinary PECL enabled

🇫🇷France andypost

added and enabled all 3 extensions

🇫🇷France andypost

andypost made their first commit to this issue’s fork.

🇫🇷France andypost

I think we need to add PECL extension to CI images to make ball roll

🇫🇷France andypost

RTBC as it's green, curious if other jobs also has broken order of dealing with codebase

from slack

...a problem with the sequence of the steps: composer was getting called after the codebase had been already moved to /build

that for some reason makes the update script override core with the HEAD version

that does not occur if you call composer on the gitlab project directory, as the phpunit jobs do

🇫🇷France andypost

Moving issue as I just send message via contact form according to https://www.drupal.org/node/3328294

🇫🇷France andypost

Sure, let's focus the issue on title and there's so many "needs" tags so not sure it fits into 11.2

🇫🇷France andypost

still no support from Safari but all major browsers support it https://caniuse.com/zstd

🇫🇷France andypost

Added both brotli and zstd to dev images, rebased and looks like tests passed

PS: probably zstd could be added in

🇫🇷France andypost

pushed dev image for PHP 8.3 (default core testing) and will rebuild 8.4/8.5 later after testing

🇫🇷France andypost

andypost made their first commit to this issue’s fork.

🇫🇷France andypost

Maybe bump PHPstan in separate issue?

🇫🇷France andypost

just 5c as help module maintainer - why not #[HelpTopic]?

🇫🇷France andypost

I think it will be easy to close the issue as fixing comments looks like endless loop

🇫🇷France andypost

curious to compare performance of both methods

🇫🇷France andypost

yep, rector rule + php85 sounds a good fit here

🇫🇷France andypost

Thank you! now deprecated attribute is available for core even on PHP 8.3 - Adopt #[Deprecated] attribute Active

🇫🇷France andypost

Looks it should be simple rector rule as there's only value, type and position are actually used by core as test-only MR showing all is compatible

🇫🇷France andypost

and maybe a middlegroud is to add middleware to append query string when header provided

🇫🇷France andypost

btw that's exactly a place to extend because attachments also should be delivered and merged, and not sure about "ajax_page_state"

🇫🇷France andypost

+1 to #14 it will use seriously less code selecting renderer earlier

btw about messages ...hope it covered with drupal.message since 8.7

🇫🇷France andypost

the only question when we can drop 5.x of it

🇫🇷France andypost

rebased and added snipped

🇫🇷France andypost

btw maybe it's useful to add forward compatibility with 8.5 as we already has testing it via nightly and new array/error functions has polyfills and attributes implemented

🇫🇷France andypost

@quietone thank you, downgraded for it

removed coder from summary

🇫🇷France andypost
cld --from 11.x
+-----------------------+--------+--------------+
| Production Changes    | From   | To           |
+-----------------------+--------+--------------+
| symfony/error-handler | v7.2.5 | v7.3.0-BETA1 |
| symfony/var-dumper    | v7.2.6 | v7.3.0-BETA1 |
+-----------------------+--------+--------------+

+----------------------+--------+--------------+
| Dev Changes          | From   | To           |
+----------------------+--------+--------------+
| drupal/coder         | 8.3.26 | 8.3.29       |
| symfony/browser-kit  | v7.2.4 | v7.3.0-BETA1 |
| symfony/css-selector | v7.2.0 | v7.3.0-BETA1 |
| symfony/dom-crawler  | v7.2.4 | v7.3.0-BETA1 |
| symfony/lock         | v7.2.6 | v7.3.0-BETA1 |
+----------------------+--------+--------------+
🇫🇷France andypost

Added polyfill without usage in 📌 Compatibility with Symfony 7.3 Active but not sure it will be accepted

🇫🇷France andypost

yes, duplicate but I see that root composer and other dependencies are not updated in other issue.

also coder https://www.drupal.org/project/coder/releases/8.3.29

🇫🇷France andypost

andypost made their first commit to this issue’s fork.

🇫🇷France andypost

about #9 - it's the next in a parent meta (step 2) Create new mailer service based on symfony Active - which is not yet started

but for #8 it needs follow-up to discus factory approach but for 11.2 I bet it enough to start with single transport

🇫🇷France andypost

maybe change record could be added here? that's very helpful

🇫🇷France andypost

it needs to decide if 11.2 will be shipped based on Symfony 7.3 or not one test failure in

🇫🇷France andypost

8.3+ unit test fails

---- Drupal\Tests\Core\DependencyInjection\YamlFileLoaderTest ----
Status      Duration Info                                                                               
--------------------------------------------------------------------------------------------------------
Error         0.060s testParseDefinitionsWithProvider                                                
Pass          0.002s testExceptions with data set "_defaults must be an array"                       
Pass          0.001s testExceptions with data set "invalid _defaults key"                            
Pass          0.001s testExceptions with data set "default tags must be an array"                    
Pass          0.001s testExceptions with data set "default tags must have a name"                    
Pass          0.001s testExceptions with data set "default tag name must not be empty"               
Pass          0.001s testExceptions with data set "default tag name must be a string"                
Pass          0.001s testExceptions with data set "default tag attribute must be scalar"             
Pass          0.000s testExceptions with data set "tags must be an array"                            
Pass          0.001s testExceptions with data set "tags must have a name"                            
Pass          0.001s testExceptions with data set "tag name must not be empty"                       
Pass          0.001s testExceptions with data set "tag attribute must be scalar"                     
Pass          0.000s testExceptions with data set "service must be array or @service"                
Pass          0.000s testExceptions with data set "YAML must be valid"                               
Pass          0.001s testExceptions with data set "YAML must have expected keys"                     
Pass          0.001s testExceptions with data set "decorates must be without @"                      
Pass          0.001s ...Exceptions with data set "decorates_on_invalid may not be "null" with quotes"
Pass          0.001s testExceptions with data set "decoration_on_invalid must be valid"              
Log           0.410s *** Process execution output ***                                                
    PHPUnit 11.5.19 by Sebastian Bergmann and contributors.
    
    Runtime:       PHP 8.4.6
    Configuration: /builds/issue/drupal-3523284/core/phpunit.xml.dist
    
    E.................                                                18 / 18 (100%)
    
    Time: 00:00.080, Memory: 6.00 MB
    
    Yaml File Loader (Drupal\Tests\Core\DependencyInjection\YamlFileLoader)
     ✘ Parse definitions with provider
       ┐
       ├ Symfony\Component\DependencyInjection\Exception\InvalidArgumentException: The file "vfs://drupal/modules/example/example.yml" does not contain valid YAML: Unexpected token """ at line 11 (near "arguments: [!tagged_iterator foo.bar]"").
       │
       │ /builds/issue/drupal-3523284/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php:452
       │ /builds/issue/drupal-3523284/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php:75
       │ /builds/issue/drupal-3523284/core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php:59
       ┴
     ✔ Exceptions with _defaults·must·be·an·array
     ✔ Exceptions with invalid·_defaults·key
     ✔ Exceptions with default·tags·must·be·an·array
     ✔ Exceptions with default·tags·must·have·a·name
     ✔ Exceptions with default·tag·name·must·not·be·empty
     ✔ Exceptions with default·tag·name·must·be·a·string
     ✔ Exceptions with default·tag·attribute·must·be·scalar
     ✔ Exceptions with tags·must·be·an·array
     ✔ Exceptions with tags·must·have·a·name
     ✔ Exceptions with tag·name·must·not·be·empty
     ✔ Exceptions with tag·attribute·must·be·scalar
     ✔ Exceptions with service·must·be·array·or·@service
     ✔ Exceptions with YAML·must·be·valid
     ✔ Exceptions with YAML·must·have·expected·keys
     ✔ Exceptions with decorates·must·be·without·@
     ✔ Exceptions with decorates_on_invalid·may·not·be·"null"·with·quotes
     ✔ Exceptions with decoration_on_invalid·must·be·valid
    
    ERRORS!
    Tests: 18, Assertions: 34, Errors: 1, PHPUnit Deprecations: 2.
🇫🇷France andypost
+----------------------------------+---------+--------------+
| Production Changes               | From    | To           |
+----------------------------------+---------+--------------+
| doctrine/deprecations            | 1.1.3   | 1.1.5        |
| egulias/email-validator          | 4.0.2   | 4.0.4        |
| symfony/console                  | v7.2.0  | v7.3.0-BETA1 |
| symfony/dependency-injection     | v7.2.0  | v7.3.0-BETA1 |
| symfony/error-handler            | v7.2.0  | v7.3.0-BETA1 |
| symfony/event-dispatcher         | v7.2.0  | v7.3.0-BETA1 |
| symfony/filesystem               | v7.2.0  | v7.3.0-BETA1 |
| symfony/finder                   | v7.2.0  | v7.3.0-BETA1 |
| symfony/http-foundation          | v7.2.0  | v7.3.0-BETA1 |
| symfony/http-kernel              | v7.2.0  | v7.3.0-BETA1 |
| symfony/mailer                   | v7.2.0  | v7.3.0-BETA1 |
| symfony/mime                     | v7.2.0  | v7.3.0-BETA1 |
| symfony/polyfill-ctype           | v1.31.0 | v1.32.0      |
| symfony/polyfill-iconv           | v1.31.0 | v1.32.0      |
| symfony/polyfill-intl-grapheme   | v1.31.0 | v1.32.0      |
| symfony/polyfill-intl-idn        | v1.31.0 | v1.32.0      |
| symfony/polyfill-intl-normalizer | v1.31.0 | v1.32.0      |
| symfony/polyfill-mbstring        | v1.31.0 | v1.32.0      |
| symfony/process                  | v7.2.0  | v7.2.5       |
| symfony/psr-http-message-bridge  | v7.2.0  | v7.3.0-BETA1 |
| symfony/routing                  | v7.2.0  | v7.3.0-BETA1 |
| symfony/serializer               | v7.2.0  | v7.3.0-BETA1 |
| symfony/string                   | v7.2.0  | v7.3.0-BETA1 |
| symfony/validator                | v7.2.0  | v7.3.0-BETA1 |
| symfony/var-dumper               | v7.2.0  | v7.3.0-BETA1 |
| symfony/var-exporter             | v7.2.0  | v7.3.0-BETA1 |
| symfony/yaml                     | v7.2.0  | v7.3.0-BETA1 |
+----------------------------------+---------+--------------+

+----------------------+--------+--------------+
| Dev Changes          | From   | To           |
+----------------------+--------+--------------+
| symfony/browser-kit  | v7.2.0 | v7.3.0-BETA1 |
| symfony/css-selector | v7.2.0 | v7.3.0-BETA1 |
| symfony/dom-crawler  | v7.2.0 | v7.3.0-BETA1 |
| symfony/lock         | v7.2.0 | v7.3.0-BETA1 |
+----------------------+--------+--------------+
Production build 0.71.5 2024