Also it needs follow-up for PHP 8.5+ to fix reInjectMe() to use __serialize() as part of
📌
Deal with PHP 8.5 depration of __sleep()/__wakeup()
Active
Good idea, moreover it will help to fix injection of theme_installer and config.installer
rebased and a bit more updates
+------------------------+--------+--------+
| Dev Changes | From | To |
+------------------------+--------+--------+
| drupal/coder | 8.3.30 | 8.3.31 |
| mglaman/phpstan-drupal | 2.0.9 | 2.0.10 |
| nikic/php-parser | v5.6.1 | v5.6.2 |
| webmozart/assert | 1.11.0 | 1.12.0 |
+------------------------+--------+--------+
yes, and while comment's module fate is unclear we lack of opinions
Looks it needs follow-up to get rid of __clone() for PHP 8 serialize but ++
There's a chance to stop using masterminds/html5 dependency adopting native PHP 8.4 parser
So could have ✨ Explore PHP 8.4 native HTML 5 parser vs html5-php Active
it will help to split it to contib without dated drupal_migrate_ui
removed from umami
now
-
📌
Remove use of Contact from config_translation tests
Active
-
📌
Move mention of Contact from core help to contact module
Active
- recipe and migrations
It needs trick to replace Input's test
Input (Drupal\KernelTests\Core\Recipe\Input)
✘ Default value from config
┐
├ Drupal\Core\Recipe\RecipeFileException: There is no /builds/issue/drupal-3553006/core/recipes/feedback_contact_form/recipe.yml file
│
│ /builds/issue/drupal-3553006/core/lib/Drupal/Core/Recipe/Recipe.php:115
│ /builds/issue/drupal-3553006/core/lib/Drupal/Core/Recipe/Recipe.php:90
│ /builds/issue/drupal-3553006/core/tests/Drupal/KernelTests/Core/Recipe/InputTest.php:66as contact on way out of core, I think it could be moved to contrib as not a priority for the phase
after removal from standard profile it looks the low hanging fruit as ready
Filed change record https://www.drupal.org/node/3553411 → looking for help to improve
try to avoid $_ENV, getenv and putenv and exclusively rely on $_SERVER as an environment variable source
Strong ++ as it requirement for FrankenPHP which is ZTS and help to 📌 Add Caddyfile configuration Active
Yes, removed SF update as I tested that component tests pass.
The removed test cases are exactly testing the case which is not valid according to interface
Superseded by 📌 Update Composer dependencies for 11.3.0 Active
With this updates and 📌 Fix string type hints to Container getters for PHP 8.5 Needs review component unit tests pass on php8.5
@longwave yes, so curious as @alexpott asked to split deprecations move into separate issue
discussed with @xjm at Drupalcon and priority to clean-up standard profile and tests first for 11.3 and it's ok to do deprecation in 11.4/12
needs split into set of issues per component at least and debug each case
- Container could add typehint and remove broken tests
- NestaedArray needs to fix test and provide typehint
- Lazy collection needs to check for null and skip
- DiscoveryTrait.php should not allow null plugin
discussed with Alexpott and we decided to split it for SF, masterminds and doctrine
Raising priority as upgrade of masterminds library caused tests to fail in #3551569: Update symfony/* with dependencies for PHP 8.5 →
As newer masterminds/html5 fail our tests it makes sense to start transition to native HTML5 parser ✨ Explore PHP 8.4 native HTML 5 parser vs html5-php Active
Filed upstream issue https://github.com/php/php-src/issues/20201
I see it has conflicts with 📌 Remove Contact module from the Standard profile Active
doctrine/lexer could use update separate issue as its dependency doctrine/deprecations going to require-dev
https://github.com/doctrine/lexer/blob/3.0.x/UPGRADE.md
Doctrine\Common\Lexer\Tokenno longer implementsArrayAccess. Parameter type declarations have been added toDoctrine\Common\Lexer\AbstractLexerandDoctrine\Common\Lexer\Token. You should add both parameter type declarations and return type declarations to your lexers, based on the@returnphpdoc.
the breaking change in masterminds/html5 2.10 breaks 2 tests #5
Looking at numbers it looks bad idea to reintroduce and maintain custom dispatcher
filed another MR without deps as 2 tests fail and and probably masterminds is the cause
+-----------------------+-------+---------+
| Production Changes | From | To |
+-----------------------+-------+---------+
| doctrine/deprecations | 1.1.5 | REMOVED |
| doctrine/lexer | 2.1.1 | 3.0.1 |
| masterminds/html5 | 2.9.0 | 2.10.0 |
+-----------------------+-------+---------+
+-----------------------+------+-------+
| Dev Changes | From | To |
+-----------------------+------+-------+
| doctrine/deprecations | NEW | 1.1.5 |
+-----------------------+------+-------+
errors are
Image Url Provider (Drupal\Tests\ckeditor5\FunctionalJavascript\ImageUrlProvider)
✔ Alt text required with Restricted
✔ Alt text required with Unrestricted
✔ Alignment with Block·image
✔ Alignment with Inline·image
✘ Width with Image·resize·with·percent·unit·(only·allowed·in·HTML·4)
┐
├ Failed asserting that two strings are identical.
┊ ---·Expected
┊ +++·Actual
┊ @@ @@
┊ -'33%'
┊ +'88'
│
│ /builds/issue/drupal-3551569/core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTestProviderTrait.php:231
┴
✘ Width with Image·resize·with·(implied)·px·unit
┐
├ Failed asserting that two strings are identical.
┊ ---·Expected
┊ +++·Actual
┊ @@ @@
┊ -'100'
┊ +'88'
│
│ /builds/issue/drupal-3551569/core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTestProviderTrait.php:231
┴and
Image Test Provider (Drupal\Tests\ckeditor5\FunctionalJavascript\ImageTestProvider)
✔ Alt text required with Restricted
✔ Alt text required with Unrestricted
✔ Alignment with Block·image
✔ Alignment with Inline·image
✘ Width with Image·resize·with·percent·unit·(only·allowed·in·HTML·4)
┐
├ Failed asserting that two strings are identical.
┊ ---·Expected
┊ +++·Actual
┊ @@ @@
┊ -'33%'
┊ +'40'
│
│ /builds/issue/drupal-3551569/core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTestProviderTrait.php:231
┴
✘ Width with Image·resize·with·(implied)·px·unit
┐
├ Failed asserting that two strings are identical.
┊ ---·Expected
┊ +++·Actual
┊ @@ @@
┊ -'100'
┊ +'40'
│
│ /builds/issue/drupal-3551569/core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTestProviderTrait.php:231
┴updated IS and filed - #3551569: Update symfony/* with dependencies for PHP 8.5 →
changes
+----------------------------------+---------+---------+
| Production Changes | From | To |
+----------------------------------+---------+---------+
| doctrine/deprecations | 1.1.5 | REMOVED |
| doctrine/lexer | 2.1.1 | 3.0.1 |
| masterminds/html5 | 2.9.0 | 2.10.0 |
| symfony/console | v7.3.0 | v7.3.4 |
| symfony/dependency-injection | v7.3.0 | v7.3.4 |
| symfony/error-handler | v7.3.0 | v7.3.4 |
| symfony/event-dispatcher | v7.3.0 | v7.3.3 |
| symfony/filesystem | v7.3.0 | v7.3.2 |
| symfony/finder | v7.3.0 | v7.3.2 |
| symfony/http-foundation | v7.3.0 | v7.3.4 |
| symfony/http-kernel | v7.3.0 | v7.3.4 |
| symfony/mailer | v7.3.0 | v7.3.4 |
| symfony/mime | v7.3.0 | v7.3.4 |
| symfony/polyfill-ctype | v1.32.0 | v1.33.0 |
| symfony/polyfill-iconv | v1.32.0 | v1.33.0 |
| symfony/polyfill-intl-grapheme | v1.32.0 | v1.33.0 |
| symfony/polyfill-intl-idn | v1.32.0 | v1.33.0 |
| symfony/polyfill-intl-normalizer | v1.32.0 | v1.33.0 |
| symfony/polyfill-mbstring | v1.32.0 | v1.33.0 |
| symfony/polyfill-php84 | v1.32.0 | v1.33.0 |
| symfony/polyfill-php85 | v1.32.0 | v1.33.0 |
| symfony/process | v7.3.0 | v7.3.4 |
| symfony/routing | v7.3.0 | v7.3.4 |
| symfony/serializer | v7.3.0 | v7.3.4 |
| symfony/string | v7.3.0 | v7.3.4 |
| symfony/validator | v7.3.0 | v7.3.4 |
| symfony/var-dumper | v7.3.0 | v7.3.4 |
| symfony/var-exporter | v7.3.0 | v7.3.4 |
| symfony/yaml | v7.3.0 | v7.3.3 |
+----------------------------------+---------+---------+
+-----------------------+--------+--------+
| Dev Changes | From | To |
+-----------------------+--------+--------+
| symfony/browser-kit | v7.3.0 | v7.3.2 |
| symfony/dom-crawler | v7.3.0 | v7.3.3 |
| symfony/lock | v7.3.0 | v7.3.4 |
| doctrine/deprecations | NEW | 1.1.5 |
+-----------------------+--------+--------+
looks like it will more strait to point this dependency in require-dev
OTOH tests using prophecy extensively so probably makes sense
I don't think it's good idea to add this as top level dependency
This is transitive dependency that's why only pinned is updated
$ composer why phpspec/prophecy
phpspec/prophecy-phpunit v2.3.0 requires phpspec/prophecy (^1.18)
only 2 dependencies waiting for release
- mck89/peast
- minkphp/MinkBrowserKitDriver
Symfony packages upgrade required and composer constraints to allow install core on 8.5
at Drupal side 2 issues
-
🐛
Fix ToolkitGdTest n PHP 8.5
Active
-
📌
Deal with NULL as array key/offset
Needs work
Filed follow-up as one more left 📌 Remove last usage of setAccessible() RTBC
As of RC2 and Symfony update mostly green and serialization no longer fail
new deprecation
Php Unit Api Get Test Classes (Drupal\KernelTests\Core\Test\PhpUnitApiGetTestClasses)
✘ Equality with All·tests
┐
├ PHPUnit\Framework\Exception: PHP Warning: The float 1.1805916207174113E+21 is not representable as an int, cast occurred in /builds/issue/drupal-3523596/vendor/sebastian/exporter/src/Exporter.php on line 358
├ Warning: The float 1.1805916207174113E+21 is not representable as an int, cast occurred in /builds/issue/drupal-3523596/vendor/sebastian/exporter/src/Exporter.php on line 358
├ PHP Warning: The float 1.1805916207174113E+21 is not representable as an int, cast occurred in /builds/issue/drupal-3523596/vendor/sebastian/exporter/src/Exporter.php on line 358Serialization needs revert as went in as soft-deprecation https://github.com/php/php-src/commit/fc353966f3976f733a2d038ce9b29016c4...
PHP reverted deprecation for 8.5 so making this optional but as clean-up it still makes sense and for futureproof
Ref https://github.com/php/php-src/commit/fc353966f3976f733a2d038ce9b29016c4...
there's 2 todos exist and the __sleep() will be replaced with __serialize() for PHP 8.5
core/lib/Drupal/Core/Field/FieldConfigBase.php:476: * @todo Investigate in https://www.drupal.org/node/1977206.
core/modules/field/src/Entity/FieldStorageConfig.php:756: * @todo Investigate in https://www.drupal.org/node/1977206.
faced via 📌 Discus adoption of #NoDiscard and PHP 8.5 Active
Checked current state and I bet better to close it as
- MariaDB 10.6+ has innodb_large_prefix=ON by default
- Row format is DYNAMIC by default
- Maximum index key length: 3072 bytes (not 767)
- This gives us ~768 utf8mb4 characters (3072÷4) per index
The issue needs work, as even starting with MariabDB 10.6 where option innodb_large_prefix is deprecated second time
now max index key length depends of page size of server as I got https://mariadb.com/docs/server/server-usage/storage-engines/innodb/inno...
so the limit remains 768B for 4k pages so long indexes fails
New tool to generate specs solving issue with "cross-agents.txt" https://github.com/github/spec-kit
added about https://wiki.php.net/rfc/soft-deprecate-sleep-wakeup
Also Laravel working on it https://github.com/laravel/framework/pull/57032
Filed separate issue 📌 Deal with PHP 8.5 depration of __sleep()/__wakeup() Active
@steinmb yes, there's hope it will be accepted for 8.5 but IMO it's too late, that's why SF already fixed their code and Laravel doing the same
As of PHP 8.5RC1 new nightmare
PHP Deprecated: The __wakeup() serialization magic method has been deprecated. Implement __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /builds/issue/drupal-3523596/core/lib/Drupal/Core/Database/Query/Query.php on line 14
Deprecated: The __sleep() serialization magic method has been deprecated. Implement __serialize() instead (or in addition, if support for old PHP versions is necessary) in /builds/issue/drupal-3523596/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php on line 19
Deprecated: The __sleep() serialization magic method has been deprecated. Implement __serialize() instead (or in addition, if support for old PHP versions is necessary) in /builds/issue/drupal-3523596/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php on line 12
Deprecated: The __wakeup() serialization magic method has been deprecated. Implement __unserialize() instead (or in additio
Job's log exceeded limit of 4194304 bytes.