rectorphp/rector-symfony

Symfony 6.3 upgrade checklist

stefantalen opened this issue · 2 comments

https://github.com/symfony/symfony/blob/6.3/UPGRADE-6.3.md

Console

  • Return int or false from SignalableCommandInterface::handleSignal() instead of void and add a second argument $previousExitCode (#483)

DependencyInjection

  • Deprecate PhpDumper options inline_factories_parameter and inline_class_loader_parameter, use inline_factories and inline_class_loader instead
  • Deprecate undefined and numeric keys with service_locator config, use string aliases instead
  • Deprecate #[MapDecorated], use #[AutowireDecorated] instead (#483)
  • Deprecate the @required annotation, use the Symfony\Contracts\Service\Attribute\Required attribute instead (#37)

DoctrineBridge

  • Deprecate passing Doctrine subscribers to ContainerAwareEventManager class, use listeners instead
  • Deprecate DoctrineDbalCacheAdapterSchemaSubscriber in favor of DoctrineDbalCacheAdapterSchemaListener
  • Deprecate MessengerTransportDoctrineSchemaSubscriber in favor of MessengerTransportDoctrineSchemaListener
  • Deprecate RememberMeTokenProviderDoctrineSchemaSubscriber in favor of RememberMeTokenProviderDoctrineSchemaListener

FrameworkBundle

  • Deprecate the notifier.logger_notification_listener service, use the notifier.notification_logger_listener service instead
  • Deprecate the Http\Client\HttpClient service, use Psr\Http\Client\ClientInterface instead (#483)

HttpKernel

  • Deprecate parameters container.dumper.inline_factories and container.dumper.inline_class_loader, use .container.dumper.inline_factories and .container.dumper.inline_class_loader instead

Lock

  • Deprecate the gcProbablity option to fix a typo in its name, use the gcProbability option instead

Messenger

  • Deprecate Symfony\Component\Messenger\Transport\InMemoryTransport and
    Symfony\Component\Messenger\Transport\InMemoryTransportFactory in favor of
    Symfony\Component\Messenger\Transport\InMemory\InMemoryTransport and
    Symfony\Component\Messenger\Transport\InMemory\InMemoryTransportFactory
    (#483)
  • Deprecate StopWorkerOnSigtermSignalListener in favor of StopWorkerOnSignalsListener (#483)

Notifier

  • [BC BREAK] The following data providers for TransportTestCase are now static: toStringProvider(), supportedMessagesProvider() and unsupportedMessagesProvider()
  • [BC BREAK] The TransportTestCase::createTransport() method is now static

Security

  • Deprecate passing a secret as the 2nd argument to the constructor of Symfony\Component\Security\Http\RememberMe\PersistentRememberMeHandler

SecurityBundle

  • Deprecate the security.firewalls.logout.csrf_token_generator config option, use security.firewalls.logout.csrf_token_manager instead

Serializer

  • Deprecate CacheableSupportsMethodInterface in favor of the new getSupportedTypes(?string $format) methods

Deprecate CacheableSupportsMethodInterface in favor of the new getSupportedTypes(?string $format) methods

I don't think this deprecation can be automatically refactored, implementing getSupportedTypes() requires specific application information

The getSupportedTypes() method should return an array where the keys represent the supported types, and the values indicate whether the result of the supports*() method call can be cached or not.

Source: Improving Performance of Normalizers/Denormalizers

Thanks for the checklist and the contributions 👍

It's been a year since this issue, so these features are either already contributed or not that relevant. Closing for now to respond to specific reports that require an upgrade. Thanks 👍