asked again #3521198-6: Offering to maintain Contact →
2 months passed and 11.3 core is the last chance to deprecate contact
First alpha of PHP 8.5 is out and core using polifill already, so I'm using 📌 Discus adoption of #NoDiscard and PHP 8.5 Active for the same kind of tracking
As alpha works fine, let's proceed to other issues
Released https://www.drupal.org/project/color/releases/2.0.0-alpha1 → as the beta is blocked on 📌 Automated Drupal 11 compatibility fixes for bartik Needs review
Probably it makes sense to get rid of Bartik dependency as it hanging forever now
As bartik still is not ready 📌 Automated Drupal 11 compatibility fixes for bartik Needs review
Not clear which image is RTBC, I guess "Color backport_transparent.png" - please clarify
There's PHP RFC https://wiki.php.net/rfc/drop_32bit_support to drop some date-functions
sets up mkdocs by default
Any reason for that? if you have LLM it knows more then generated docs (which require regular updates and will bring more collisions to MR)
it was postponed for release, so now GdImage is in and core far beyond PHP 8.1 requirement
so IS needs polishing and patch could be less verbose when converted to MR
+++ b/core/lib/Drupal/Core/Image/ImageBase.php
@@ -2,84 +2,83 @@
-class Image implements ImageInterface {
+abstract class ImageBase extends PluginBase implements ImageInterface {
this change still makes sense
Generally speaking nowadays probably Markdown is another demanded format, it can provide YAML in "frontmatter" and text render
IMO it's more demanded to allows LLMs read sites, other option could be Abstract Syntax Tree (maybe someone's summer project)
helpful follow-up for contributors 📌 Let run-tests.sh print db type and version in the initial output Active
Thank you looks good but something still fails
RTBCed #40 as it will help to debug real combination of php+db containers as I see something is not propagated from defaults
++ to get it in as it will help to debug even Mongodb
Thank you! CR is ready and the code too
Current globals are
core/globals.api.php:13:global $base_insecure_url;
core/globals.api.php:22:global $base_path;
core/globals.api.php:29:global $base_root;
core/globals.api.php:36:global $base_secure_url;
core/globals.api.php:43:global $base_url;
core/globals.api.php:55:global $conf;
core/globals.api.php:60:global $config;
core/globals.api.php:67:global $install_state;
and there's some usage which is related to #2218651: [meta] Make Drupal compatible with persistent app servers like ReactPHP, PHP-PM, PHPFastCGI, FrankenPHP, Swoole →
$ git grep -F 'global $'|wc -l
70
constructor only changes looks ok but it require container rebuild so needs update hook to request it, otherwise looks ready
CI images has both now
andypost → made their first commit to this issue’s fork.
checking for Argon2 support... yes
checking for libargon2... yes
and
checking for sodium support... yes
checking for libsodium >= 1.0.8... yes
I gonna slit it on commits as franken in dev repo only and looks can't build
Looks totally ok to me, I will commit it later tonight
btw I found OpenSSL argon is incomplete implementation so better to link it directly to the library.
so when there's no Argon2 headers some functionality is missing
new core dependency marc-mabe/php-enum | NEW | v4.7.1
needs more work if you upgrade composer
created MR without composer and phpstan (only dev deps left)
Removed but supervisord still kept
Core is not using it since 8.6 #2869424: PhantomJS is no longer going to be maintained. Explore options. →
one more candidate 📌 Get rid of phantomjs in PHP images Active
andypost → created an issue.
Let's stabilize it, recipe unpack hunk just skipped on git add -p
meantime
and coder has existing issue 📌 Update Coder to 8.3.28 Active
probably phpstan could stay here
Update of composer/*
brings new library so it needs separate issue too
Patch #15 is totally ok to convert to MR and add tests, it brings visibility at least
the same time core (field ui) still has no UI to even know that there's any field's table and definitions exists...
Moreover body field for node/comment is created automagically
created MR for backport
IMO it's a common approach to build new version (thanks to stable ABI) when you're using ancient infra
sorry, should be solved now, messed in conflict resolution
rebased
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
for example upgrade of composer/composer
require to update justinrainbow/json-schema
to new major and adds new dependency
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.
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 |
+------------------------------+--------------+--------+
fixing
PHPUnit 12 is unblocked https://github.com/phpspec/prophecy-phpunit/releases/tag/v2.4.0
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 |
+------------------------------+-------+-------+
RC1 of Symfony released so I filed 📌 Update Composer dependencies for 11.2.0 Active
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 |
+----------------------+--------------+------------+
andypost → created an issue.
Looks like only 2 issues from summary make sense now
Thank you! as follow-up created let's get it in and speed-up 11.2)
@xmacinfo this method is for detection, see the commit from 📌 Use avif with webp fallback for all core image styles Active
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)
Not clear how it possible to by-pass guard function_exists('imageavif')
maybe this function exists but disabled somehow
back to RTBC as changes reflect latest core commits
not the same
yes, this settings enabling aggregation, now having aggregated assets core applies compression
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
smustgrave → credited andypost → .
Looks it mostly fixed https://github.com/php/php-src/issues/13648#issuecomment-2900612456
thank you!
Thank you! Let's get it in and discover perf issues in follow-up as jobs on mysqli looks little bit slower
It looks great idea to git in for D12!
btw it will raise a question of DI for elements as related still)
dww → credited andypost → .
tests are here
CI images now has brotli
0.17.0 with latest fixes https://github.com/kjdev/php-ext-brotli/commit/48c719a9f0e2b1ae53e08acf2...
now all 8.3-8.5 images has igbinary PECL enabled
added and enabled all 3 extensions
all 8.3-8.5 images updated
andypost → made their first commit to this issue’s fork.
I think we need to add PECL extension to CI images to make ball roll
both brotli and zstd supported out of box https://externals.io/message/127347
both supported out of box by https://les-tilleuls.coop/en/blog/frankenphp-is-now-officially-supported...
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
no regressions
Moved the issue to gain access #3521198-2: Create 3.x branch to import core contact module →
Moving issue as I just send message via contact form according to https://www.drupal.org/node/3328294 →
Sure, let's focus the issue on title and there's so many "needs" tags so not sure it fits into 11.2
added both to 8.1-8.3 https://git.drupalcode.org/project/drupalci_environments/-/jobs/5283944
still no support from Safari but all major browsers support it https://caniuse.com/zstd
Added both brotli and zstd to dev images, rebased and looks like tests passed
PS: probably zstd could be added in
pushed dev image for PHP 8.3 (default core testing) and will rebuild 8.4/8.5 later after testing
andypost → made their first commit to this issue’s fork.
One more thing to add is smoke testing of images
Ref https://git.drupalcode.org/project/drupalci_environments/-/commit/528745...
Maybe bump PHPstan in separate issue?
just 5c as help module maintainer - why not #[HelpTopic]
?
backported