backported
rebased and cleaned up the drupal/core-recipe-unpack
Re #36 as a custom patch for sure
I think it will be easy to close the issue as fixing comments looks like endless loop
curious to compare performance of both methods
yep, rector rule + php85 sounds a good fit here
next beta has no viable changes, let's wait for next https://github.com/symfony/symfony/releases/tag/v7.3.0-BETA2
Thank you! now deprecated attribute is available for core even on PHP 8.3 - ✨ Adopt #[Deprecated] attribute Active
polyfill added via 📌 Compatibility with Symfony 7.3 Active
renamed and updated IS
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
and maybe a middlegroud is to add middleware to append query string when header provided
btw that's exactly a place to extend because attachments also should be delivered and merged, and not sure about "ajax_page_state"
+1 to #14 it will use seriously less code selecting renderer earlier
btw about messages ...hope it covered with drupal.message
since 8.7 →
the only question when we can drop 5.x of it
added list of implemented https://wiki.php.net/rfc#php_85
rebased and added snipped
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
andypost → created an issue.
@quietone thank you, downgraded for it
removed coder from summary
still would be great to have this compatibility in 11.2
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 |
+----------------------+--------+--------------+
btw there's 1.32 https://github.com/symfony/polyfill-php85
Added polyfill without usage in 📌 Compatibility with Symfony 7.3 Active but not sure it will be accepted
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 →
rebased after 📌 Update Composer dependencies for 11.2.0 Active
andypost → made their first commit to this issue’s fork.
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
probably caused by https://github.com/symfony/symfony/pull/59257
maybe change record could be added here? that's very helpful
it needs to decide if 11.2 will be shipped based on Symfony 7.3 or not one test failure in
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.
+----------------------------------+---------+--------------+
| 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 |
+----------------------+--------+--------------+
andypost → created an issue.
+1 to keep as it still very useful and costs nothing to maintain
RTBC++ Nice to see it solved via new interface!
@acbramley after fixes it looks no longer reproducible
it affects performance as instead of variable (expected and documented) we'll get a set of function calls for no reason (each get doing validation and each invalidate of tag)
generally not clear why this method is public at all and moreover not clear why it has no static cache for result now
btw when core will require PHP 8.5 we can deprecate constants https://wiki.php.net/rfc/attributes-on-constants
With PHP 8.5 can care about https://wiki.php.net/rfc/error_backtraces_v2
Fatal errors in 8.5 can have backtrace https://wiki.php.net/rfc/error_backtraces_v2
@znerol please add to CR about discovery of the factories as it will be a point of confusion when more then one transport will be declared
I find it better to file specific CR as all this changes make sense and disruptive enough to reference for developers, moreover summary is perfect!
Re-opened MR as MySQL 8.4 image is fixed via 🐛 Fix deprecated MySQL native passwords Active
See https://git.drupalcode.org/issue/drupal-3521851/-/jobs/5110756
NW for 9.x
andypost → created an issue.
updated dev images https://git.drupalcode.org/project/drupalci_environments/-/commit/88e0e7...
triggered jobs to test new image
looks it caused by Mysql upgrade to 8.4 where the plugin is deprecated, now reverted 📌 Switch the default test environment to PHP 8.4 Active
just curious why it does not fire in daily tests
It needs some rework in context of landed 📌 Hook ordering across OOP, procedural and with extra types Active
with PHP 8.4 we can have setters for the property so swapping of moduleList could cause propagation
Filed contrib issue to start ball roll 💬 Add andypost as co-maintainer to transfer core history module Active
andypost → created an issue.
History module is going to contrib to iterate faster 📌 [meta] Tasks to deprecate the History module Active
Not sure it makes sense to pin as desperate chrome release...
It will bring more troubles to update and will use outdated chrome all the time as removal of updates will burden infra, that's why we moved to external image
Still needs to fix
├ Problem 1
├ - Root composer.json requires drupal/core-recommended * -> satisfiable by drupal/core-recommended[dev-main].
├ - drupal/core-recommended dev-main requires sebastian/diff ~5.1.1 -> found sebastian/diff[6.0.2] but it does not match the constraint.
Used to run test for 11.x and cherry-picked commit from previous MR (thanks smustgrave for 9.5)
I set path repos "canonical": false,
according to docs but it sounds magic that it was working before
Root composer.json requires drupal/core 11.x-dev (exact version match), it is satisfiable by drupal/core[11.x-dev] from composer repo (https://repo.packagist.org) but drupal/core[dev-main] from path repo (core) has higher repository priority.
@catch thank you, curious how perf tests are executed (I have no access to start'em) and how it vary from 8.3 at the end
clearer title
Fixed jobs - should be green, looks like compsoer is executed from root intentionally to disallow tests to change files...
Maybe it needs follow-up to clean-up the hunk https://git.drupalcode.org/issue/drupal-3418267/-/blob/3418267-meta-supp...
8.0.34+ will transition to only bug fixes until 8.0 End-Of-Life (EOL) scheduled for April-2026
So nightly testing is good enough for support https://dev.mysql.com/blog-archive/introducing-mysql-innovation-and-long...
As follow-up is nearly ready let's get this one in
After last mess with parent child access in Gitlab I find it bad idea to bet on getting artifacts/results from child pipeline
Added commit to switch MySQL to 8.4 (LTS) for the default pipeline
Ref https://dev.mysql.com/doc/refman/8.4/en/mysql-releases.html
Note: MySQL 8.0 is a Bugfix series that preceded the LTS release model.
@mondrake it looks ready for 11.2 maybe add 11.2.0 release priority
label and add change record?
I find it RTBC
added https://packagist.org/php-statistics to summary
In start of July first alpha of PHP 8.5 will arrive so no reason to wait
andypost → made their first commit to this issue’s fork.
andypost → made their first commit to this issue’s fork.
Filed child 📌 Create 3.x branch to import core module Active
andypost → created an issue.
Asked in slack access to the module https://drupal.slack.com/archives/C1BMUQ9U6/p1745586623875969
+1 to step in as co-maintainer
Most of issues last years (starting with node title length) are all about 128 to 256 transition
Database fields mostly also have 256 for text so the remains is easy to check
updated 8.3 image as contrib module's CI is broken anyway
added to summary https://www.mongodb.com/community/forums/t/php-mongodb-2-0-0-bsonarray-b...
IIRC the reason to keep only latest image is security because distros getting updates and PHP has monthly release cycle, so no reason to bloat storage...
So semver should be local and applicable for nightly somehow
Creating a database is a nice nitpick, back to RTBC
Needs deprecation test and looks RTBC
Great idea to turn app into context! btw the real problem here is the Request
object which could be any flavor (Symfony, Swoole, PSR, ...) so runtime or frontend controller must care about converting incoming request into consumable by core