Core can check PHP version and use faster validator https://3v4l.org/IhHj3/rfc#vgit.master
$ php -r 'var_dump((DOM\HTMLDocument::createEmpty())->relaxNgValidateSource("<p><a href=\"/foo\">Text here</p>"));'
PHP Warning: Dom\Document::relaxNgValidateSource(): Entity: line 1: parser error : Opening and ending tag mismatch: a line 1 and p in Command line code on line 1
Warning: Dom\Document::relaxNgValidateSource(): Entity: line 1: parser error : Opening and ending tag mismatch: a line 1 and p in Command line code on line 1
PHP Warning: Dom\Document::relaxNgValidateSource(): <p><a href="/foo">Text here</p> in Command line code on line 1
Warning: Dom\Document::relaxNgValidateSource(): <p><a href="/foo">Text here</p> in Command line code on line 1
PHP Warning: Dom\Document::relaxNgValidateSource(): ^ in Command line code on line 1
Warning: Dom\Document::relaxNgValidateSource(): ^ in Command line code on line 1
PHP Warning: Dom\Document::relaxNgValidateSource(): xmlRelaxNGParse: could not parse schemas in Command line code on line 1
Warning: Dom\Document::relaxNgValidateSource(): xmlRelaxNGParse: could not parse schemas in Command line code on line 1
PHP Warning: Dom\Document::relaxNgValidateSource(): Invalid RelaxNG in Command line code on line 1
Warning: Dom\Document::relaxNgValidateSource(): Invalid RelaxNG in Command line code on line 1
bool(false)
The new native #[\Deprecated]
attribute in PHP 8.4 can automatically throw deprecation messages, so external libraries can give unexpected deprecations
Filed new issue to explore replacement of the library with new native dom extension implementation - ✨ Explore PHP 8.4 native HTML 5 parser vs html5-php Active
andypost → created an issue.
it needs new profiling in a light of https://wiki.php.net/rfc/opt_in_dom_spec_compliance
...in a light of https://wiki.php.net/rfc/opt_in_dom_spec_compliance
probably better to split out deprecation of #suffix
into separate issue at least to unlock it
in a light of PHP 8.4 https://wiki.php.net/rfc/opt_in_dom_spec_compliance
That fix also has own issue) ✨ Make the public file system an optional configuration Active
There's existing helpful docs https://github.com/palantirnet/drupal-rector/blob/main/docs/core_plugin_...
I think that's related to 📌 Use \Drupal\Core\File\FileSystemInterface::getTempDirectory() instead of sys_get_temp_dir() where possible Needs work
I think it good to go to fix immediate bug and continue (for 11.x) with 📌 Use Ubuntu images in all CI environments for core Postponed
As before it needs to fix doc-blocks and MR!7815 is where work started
You need 10.2.4 core at least to get rid of the bug
legacy test added
Updated to use static::class
to get the real data-class name
Tests are green and looking at changes there are only properties nullable
, translatable
, mapping
Also mapping
property used to validate requiredKey
so replaced with a hack to track changes in array processing, probably need Wim Leers to review
Rebased and squashed commits, updated deprecation wording and 10.4 core
maybe it should be deprecated in 11.1?
Changes looks ready for RTBC but somehow I can't trigger sqlite testing job
All child issues are done, the only remaining is 🐛 Leftover D10 deprecations in ajax.js Needs work
So probably it could be closed
Nice to see this working!
btw both cache and artifacts has TTL so some fallback when cache is missing still required.
so instead of || true
for curl
if could use condition to print error message and re-init cache
bbrala → credited andypost → .
Firefox declare full support of :has
in version 121 (Released 2023-12-19) but current ESR is 128 released on July 9 so I think polyfill no longer needed
Interesting idea, then definitions could be described via protobufs for example
As route deprecation is not ready it looks like removal is only valid option 📌 Support route aliasing (Symfony 5.4) and allow deprecating the route name Needs work
Moreover it will need follow-ups to update docs (help topics are not affected) and https://www.drupal.org/docs/user_guide/en/extend-chapter.html →
Moreover it makes sense to explore optimizations related to --headless
mode in browsers
Thanks! it explains difference (all skipped for ff)
btw performance metrics also could be collected from FF, at least it has tracing
out of box and allows to enable dev-tools (even via remote somehow) and get better details... for follow-up
I think it makes sense to deprecate all 3 forms as well
Only one blocker left 📌 Reinstate important testing NodeDisplayConfigurableTest Active
Historically the hook creating new database table for search indexing but table-exists-check is too expensive to use at runtime
No it should not be backported to 10.x because the hook is required to be executed before cache cleaning
The fix probably needs better comment about order of cache cleaning for plugins, somehow search is cleaned after help, probably because of alphabetic order
quickly reverted and fixed, looks it can be backported to 10.3.x
Added review, only this 2 places to fix but MR removing code instead of just version check
please create another RC with D11 support
Somehow FIrefox tests are x2 faster then selenium jobs
DX improvement 📌 Unhelpful PHP error with NULL type property Needs review
There's follow-up to improve error message, it missing component name at least 📌 Unhelpful PHP error with NULL type property Needs review
Locally in docker I got few tests running fine using Firefox image with following arguments
MINK_DRIVER_ARGS_WEBDRIVER: '["firefox", {"browserName":"fixrefox","moz:firefoxOptions":{"args":["--headless"]}}, "http://browser:4444"]'
I think we should also add a manual job to run tests using Firefox.
nice idea, there's selenium/standalone-firefox
image
FYI added changes from MR !8746 allowed to pass tests on 8.4!
now all tests passed https://git.drupalcode.org/issue/drupal-3427903/-/pipelines/226076/test_...
the commit needs own issue
Faced the same error but on Mysql and PHP 8.4alpha2 in #3427903-22: [META] Make Drupal 10.3/11 compatible with PHP 8.4 →
Only 1 failed test left (see #22) https://git.drupalcode.org/issue/drupal-3427903/-/pipelines/226036/test_...
Also there's a lot of deprecations because of prophecy but they could be added to ignored deprecations
Nice trick, let's get it in
bbrala → credited andypost → .
Stats for baseline looks big but looks like it should be better then growing amount of newcode
+ 75718
− 1390
as the function argument changed issue needs change record
proper state as test added
Polished IS a bit but it needs more clean-up especially for CLI
There's more places to clean-up
There's some repeatable failure for mysql as well, maybe the issue in transition out of mysql_safe... I will check deeper this weekend
Here's 2 places which cause warnings when config:inspect executed
[warning] Undefined array key "type" Mapping.php:143
[warning] Undefined array key "type" Mapping.php:143
[warning] Undefined array key "type" Mapping.php:143
[warning] Undefined array key "type" Mapping.php:143
Probably there's more places
patches are no longer used to run tests, please update MR or create new one
MR unmergable
only beta versions of jQuery and UI remains in beta, and there's no schedule for stable releases
Help module can provide special section plugin, or even help topic which will be generated from changelog for example
Thank you! Great integration to add!
Let's get more opinions on a way to integrate, for example https://docs.gitlab.com/ee/administration/admin_area.html#user-impersona...
+++ b/masquerade.module
@@ -254,3 +254,20 @@ function masquerade_migration_plugins_alter(array &$migrations) {
+function masquerade_preprocess_menu_region__footer(array &$variables): void {
+ if (\Drupal::service('masquerade')->isMasquerading()) {
+ $variables['items']['masquerade_switch_back'] = [
+ 'title' => t('Unmasquerade'),
+ 'url' => Url::fromRoute('masquerade.unmasquerade'),
Curios if it needs cache metadata?!
Moreover we can display the block with quick links and so on.
Is there a way to configure how to display in navigation as I know nothing about it's API
prophecy again is very slow on new PHP version compatibility
justinrainbow/json-schema | v5.2.13 | 5.3.0
one more compatible extension with PHP 8.4, next composer release will contain it
Composer's dependency fixed https://github.com/jsonrainbow/json-schema/releases/tag/5.3.0
Both but second has less changes
Published PHP 8.4_alpha1 image
Pushed alpha1 version
Second MR probably preferable
Last commit should be removed as production images will be rolled
Looks everything works without extra packages, so we can simplify in follow-up other db-images (no extra dependencies to install)
Filed core issue for testing new images and daily run or default 📌 Add core testing with Mysql 8.4 LTS Needs review
andypost → created an issue.
Pushed dev image
- added mysql:8.4
image with updated script to use bash while ! echo > /dev/tcp/localhost/3306; do sleep 1; done
to wait for port
- updated mysql:8
image inline with 8.4 - transition from mysql_safe
and fix encodings dir
Base image for `mysql-8` also needs update
mysql 8 736ced9665e8 39 hours ago 583MB
mysql 8.4 736ced9665e8 39 hours ago 583MB
mysql 8.0 0b60ddd8609d 39 hours ago 572MB
Before looking for workarounds please consider if you really need this method as it very internal to ThemeExtensionList::doGetBaseThemes()
which you can decorate/access in a hacky way
But custom code is not expected to use this method
HTTP request to core/modules/statistics/statistics.php (yay! special case!)
IS should not mention removed in 11.x statistics module
I find $override_handler_plugin_id
over-complicated - handler is always plugin and the method name already suppose to return handler getHandler()
so $override_plugin_id
is more reasonable
blocker for ✨ Allow defining injected services with PHP attributes Postponed
Nice idea but tests are failed, so there's usage to clean-up
Please create MR from the branch to 11.x
Thanks, looks good to me
Probably better to re-purpose the issue to provide exporter as importer already in core
As I see only 4 usages left
$ git grep database_drivers
core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php:122: $additional_class_loader->addPsr4("Drupal\\core_fake\\Driver\\Database\\coreFake\\", __DIR__ . "/../../../../../tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFake");
core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php:123: $additional_class_loader->addPsr4("Drupal\\core_fake\\Driver\\Database\\CoreFakeWithAllCustomClasses\\", __DIR__ . "/../../../../../tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFakeWithAllCustomClasses");
core/tests/Drupal/Tests/Core/Database/ConnectionTest.php:324: $additional_class_loader->addPsr4("Drupal\\core_fake\\Driver\\Database\\CoreFake\\", __DIR__ . "/../../../../../tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFake");
core/tests/Drupal/Tests/Core/Database/ConnectionTest.php:325: $additional_class_loader->addPsr4("Drupal\\core_fake\\Driver\\Database\\CoreFakeWithAllCustomClasses\\", __DIR__ . "/../../../../../tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFakeWithAllCustomClasses");