Upgrade dependencies - #2162
Open
blued-gear wants to merge 90 commits into
Open
Upgrade dependencies#2162blued-gear wants to merge 90 commits into
blued-gear wants to merge 90 commits into
Conversation
and possible break everything
melroy89
force-pushed
the
upgrade_dependencies
branch
from
September 13, 2026 20:19
44a6856 to
66b9832
Compare
Member
What do you wanted to update in the docs still? PHP 8.5 is already correctly documented now in the docs and README. I had some ideas we could still improve in the docs?
|
Collaborator
Author
The open checkbox is a reminder for me to go through all changes just before this is merged and update docs and upcoming release notes. |
…de_dependencies # Conflicts: # assets/styles/layout/_forms.scss # composer.lock # config/bundles.php # src/Controller/Feed/RssFeedController.php # src/Entity/Domain.php # src/Entity/Entry.php # src/Entity/EntryComment.php # src/Entity/Magazine.php # src/Entity/MessageThread.php # src/Entity/Post.php # src/Entity/PostComment.php # src/Entity/Traits/VotableTrait.php # src/Entity/User.php # src/Form/Type/MagazineAutocompleteType.php # src/Repository/MagazineRepository.php # src/Service/ActivityPubManager.php # src/Service/FeedManager.php # src/Service/InstanceStatsManager.php # src/Service/UserSettingsManager.php # src/Twig/Components/ReportListComponent.php # src/Utils/Polyfills.php
melroy89
marked this pull request as ready for review
September 20, 2026 18:29
melroy89
marked this pull request as draft
September 20, 2026 18:30
Closed
blued-gear
marked this pull request as ready for review
September 21, 2026 16:11
melroy89
force-pushed
the
upgrade_dependencies
branch
2 times, most recently
from
September 23, 2026 20:19
274b2ac to
d025742
Compare
# Conflicts: # assets/controllers/rich_textarea_controller.js # composer.json # composer.lock # src/Controller/AjaxController.php
melroy89
reviewed
Sep 24, 2026
melroy89
reviewed
Sep 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR upgrades all dependencies, including PHP, Symfony and JS. Broken code was fixed, many (but not all) new deprecations cleaned and the functionality of the site restored with best effort. A summary of major version jumps is attached at the end of this text.
I'm asking you to
verify the state of the site. There are many things I and the tests can not check; like 2FA and OAuth authenticator integration (Google, Github, ...).
We need a graceful rollout of this branch from dev to prod-like environments to ensure all broken thing (which likely still exist) get caught.
Other fixes
While I was at it, I fixed smaller things which annoyed me ;)
Todo
to be revertedcommitsUpgrades
php:
php 8.3 -> 8.5
- notable new features:
- Asymmetric Visibility
- Property hooks
- New array_*() functions + array_first() and array_last() functions
- Fatal Errors (such as an exceeded maximum execution time) now include a backtrace
- Pipe Operator
- Uri class
- breaking changes:
- Using null as an array offset or when calling array_key_exists() is now deprecated
doctrine-bundle 2.18 -> 3.2
- https://github.com/greg0ire/DoctrineBundle/blob/4.0.x/UPGRADE-3.0.md
doctrine-migrations-bundle 3.7 -> 4.0
- https://github.com/derrabus/DoctrineMigrationsBundle/blob/4.0.x/UPGRADE.md
- https://github.com/doctrine/migrations/blob/3.0.x/UPGRADE.md
- need to run the
doctrine:migrations:sync-metadata-storagecommanddoctrine PostgreSQL enum handling
- replaced the custom DBAL enum types with native PHP enums mapped by
heymoon/doctrine-psql-enum- the included migration converts the existing PostgreSQL enum definitions and must run as part of the normal deployment migration step
debril/rss-atom-bundle -> php-feed-io/feed-io
- the old bundle is abandoned and was removed
- the RSS feed was reimplemented directly with FeedIo while keeping the existing
/feedendpointFrankenPHP runtime
- removed
runtime/frankenphp-symfony; FrankenPHP now uses Symfony’s standardSymfonyRuntimedirectlyoauth2-google 4 -> 5
- https://github.com/thephpleague/oauth2-google/blob/main/CHANGELOG.md
reflection-docblock 5.4 -> 6.0
- do we even use this?
2fa-backup-code, 2fa-bundle, 2fa-totp 7.5 -> 8.6
- https://github.com/scheb/2fa/blob/8.x/UPGRADE.md#7x-to-8x
- Priority of the two-factor authenticator has changed from 0 to -100
oauth2-keycloak 5.1 -> 6.1
- https://github.com/stevenmaguire/oauth2-keycloak/releases/tag/6.0.0
- nothing major changed
ux-autocomplete 2.18 -> 3.2
- https://github.com/symfony/ux-autocomplete/blob/3.x/CHANGELOG.md
- nothing major changed for us
ux-chartjs 2.18 -> 3.2
- https://github.com/symfony/ux-chartjs/blob/3.x/CHANGELOG.md
- nothing major changed for us
ux-twig-component 2.18 -> 3.2
- https://github.com/symfony/ux-twig-component/blob/3.x/CHANGELOG.md
- nothing major changed for us
webmozart/assert 1.11 -> 2.4
- https://github.com/webmozarts/assert/blob/master/CHANGELOG.md
- nothing major changed for us
phpunit 12.5 -> 13.2
- https://github.com/sebastianbergmann/phpunit/releases/tag/13.0.0
- nothing major changed for us
js:
babel/core 7.29 -> 8.0
- https://babeljs.io/docs/v8-migration/
babel/preset-env 7.29 -> 8.0
eslint/js 9.39 -> 10.0, eslint 9.39 -> 10.5
- https://github.com/eslint/eslint/releases/tag/v10.0.0
fontawesome-free 6.7 -> 7.3
- https://fontawesome.com/changelog
- Icon canvases now render at a consistent fixed width. To use the default rendering from v6, add our new fa-width-auto class.
stylistic/eslint-plugin 2.13 -> 5.10
- https://github.com/eslint-stylistic/eslint-stylistic/releases/tag/v5.0.0
- nothing major changed for us
symfony/stimulus-bridge 3.2 -> 4.0
- https://github.com/symfony/stimulus-bridge/releases/tag/v4.0.0
- nothing major changed for us
symfony/webpack-encore 5.3 -> 7.1
- https://github.com/symfony/webpack-encore/blob/main/UPGRADE.md
- needed changes were applied
chart.js 3.8 -> 4.5
- https://www.chartjs.org/docs/latest/migration/v4-migration.html
- not directly used by us (Symfony handles it)
globals 15.15 -> 17.7
hotkeys-js 3.13 -> 4.0
- https://github.com/jaywcjlove/hotkeys-js/releases/tag/v4.0.0
- no notable changes
- do we even use this?
sass-loader 16.0 -> 17.0
- https://github.com/webpack/sass-loader/releases/tag/v17.0.0
- no notable changes
simple-icons-font 14.15 -> 16.24
- https://github.com/simple-icons/simple-icons-font/releases/tag/15.0.0
- https://github.com/simple-icons/simple-icons/releases/tag/16.0.0
- no notable changes
webpack-cli 5.1 -> 7.0
- https://github.com/webpack/webpack-cli/blob/main/CHANGELOG.md
- only used by Symfony
GL HF