Skip to content

Conversation

@maltehuebner
Copy link
Contributor

Summary

  • Symfony 8.0 Upgrade — all symfony/* packages updated from ^7.1 to ^8.0, PHP requirement bumped to ^8.4
  • Deprecated code fixedRequest::get() replaced with Request::query->get(), deprecated getName() removed from Twig extensions, getDoctrine() replaced with direct $this->managerRegistry access
  • Doctrine Bundle 3 / DBAL 4 — major upgrade including removal of deprecated naming_strategy config and migration from doctrine.event_subscriber to doctrine.event_listener
  • 11 third-party packages upgraded — DoctrineBundle 3, Carbon 3, Predis 2, NelmioApiDocBundle 5, Flagception 6, FreshDoctrineEnumBundle 12, GeocoderBundle 6, HttplugBundle 2, SonataSeoBundle 3.9, FOSJsRoutingBundle 3.6, WebpackEncoreBundle 2.4
  • Removed packagessymfony/proxy-manager-bridge (discontinued), league/geotools (unused), doctrine/annotations (replaced by PHP attributes)

Workarounds

Package Issue Workaround
mhujer/breadcrumbs-bundle No Symfony 8 release Composer package repository override with relaxed constraint
presta/sitemap-bundle No Symfony 8 release @dev stability (4.x branch already has ^8.0 support)
phpunit/phpunit Kept at ^9.6 calderacc/geobasic requires PHPUnit as runtime dependency
php-http/guzzle6-adapter Abandoned Works, but should migrate to guzzle7-adapter in the future

Follow-up tasks

  • Release mhujer/breadcrumbs-bundle with Symfony 8 support (or switch to alternative)
  • Wait for presta/sitemap-bundle stable release with Symfony 8 support
  • Update calderacc/geobasic to move PHPUnit to require-dev, then upgrade to PHPUnit 11+
  • Replace php-http/guzzle6-adapter with guzzle7-adapter or symfony/http-client

Test plan

  • composer install resolves without errors
  • Application boots without errors (bin/console)
  • Routes load correctly (bin/console debug:router)
  • Doctrine mappings are valid (bin/console doctrine:schema:validate)
  • API documentation renders (/api/doc)
  • Breadcrumbs render on city/station pages
  • Sitemap generation works (bin/console presta:sitemaps:dump)
  • Feature flags work (Flagception)
  • AMQP messenger transport works
  • Smoke test: frontpage, city pages, station pages, pollutant pages load

🤖 Generated with Claude Code

maltehuebner and others added 3 commits January 26, 2026 14:20
- Replace Request::get() with Request::query->get() in
  StationApiController (removed in Symfony 8)
- Remove deprecated getName() methods from all Twig extensions
  (CronTwigExtension, PollutantTwigExtension,
  PollutionLevelTwigExtension, TypeTwigExtension)
- Replace getDoctrine() calls with direct $this->managerRegistry
  access in AbstractController, TemplateController,
  DisplayController, and TypeaheadController
- Remove the deprecated getDoctrine() method from AbstractController

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update all Symfony packages from ^7.1 to ^8.0. Major third-party
package upgrades:
- doctrine/doctrine-bundle ^2.6 -> ^3.0 (with DBAL 4)
- doctrine/persistence 3.x -> 4.x
- flagception/flagception-bundle ^4.1 -> ^6.1
- fresh/doctrine-enum-bundle ^10.0 -> ^12.0
- friendsofsymfony/jsrouting-bundle ^3.0 -> ^3.6
- nelmio/api-doc-bundle ^4.0 -> ^5.9
- nesbot/carbon ^2.7 -> ^3.0
- php-http/httplug-bundle ^1.20 -> ^2.3
- predis/predis ^1.1 -> ^2.0
- sonata-project/seo-bundle ^3.0 -> ^3.9
- willdurand/geocoder-bundle ^5.0 -> ^6.0

Removed packages:
- symfony/proxy-manager-bridge (discontinued, native lazy objects)
- league/geotools (unused, incompatible with Symfony 8)
- doctrine/annotations (replaced by native PHP attributes)

Workarounds for packages without Symfony 8 releases:
- mhujer/breadcrumbs-bundle: package repository override with
  relaxed Symfony constraint (code is compatible)
- presta/sitemap-bundle: use @dev stability (4.x branch has
  Symfony 8 support, unreleased)

PHP requirement bumped from ^8.3 to ^8.4 (Symfony 8 minimum).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove deprecated naming_strategy option from doctrine.yaml
  (underscore_number_aware is now the default in DoctrineBundle 3)
- Replace deprecated ORMSchemaEventSubscriber with
  ORMSchemaEventListener in PostGIS and services config
- Use doctrine.event_listener tag instead of removed
  doctrine.event_subscriber tag (removed in DoctrineBundle 3)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@maltehuebner maltehuebner self-assigned this Jan 29, 2026
@maltehuebner maltehuebner added enhancement dependencies Pull requests that update a dependency file AI-generated labels Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-generated dependencies Pull requests that update a dependency file enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant