Skip to content

Latest commit

 

History

History
180 lines (124 loc) · 6.39 KB

UPGRADE-5.2.md

File metadata and controls

180 lines (124 loc) · 6.39 KB

UPGRADE FROM 5.1 to 5.2

Console

  • Application now runs pcntl_async_signals(true) when constucted; if the code of your CLI application depends on pcntl signals being synchronous, you should either call pcntl_async_signals(false) or implement SignalableCommandInterface::handleSignal()

DependencyInjection

  • Deprecated Definition::setPrivate() and Alias::setPrivate(), use setPublic() instead

FrameworkBundle

  • Deprecated the public form.factory, form.type.file, translator, security.csrf.token_manager, serializer, cache_clearer, filesystem and validator services to private.
  • If you configured the framework.cache.prefix_seed option, you might want to add the %kernel.environment% to its value to keep cache namespaces separated by environment of the app. The %kernel.container_class% (which includes the environment) used to be added by default to the seed, which is not the case anymore. This allows sharing caches between apps or different environments.
  • Deprecated the lock.RESOURCE_NAME and lock.RESOURCE_NAME.store services and the lock, LockInterface, lock.store and PersistingStoreInterface aliases, use lock.RESOURCE_NAME.factory, lock.factory or LockFactory instead.

Form

  • Deprecated PropertyPathMapper in favor of DataMapper and PropertyPathAccessor.

    Before:

    use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper;
    
    $builder->setDataMapper(new PropertyPathMapper());

    After:

    use Symfony\Component\Form\Extension\Core\DataAccessor\PropertyPathAccessor;
    use Symfony\Component\Form\Extension\Core\DataMapper\DataMapper;
    
    $builder->setDataMapper(new DataMapper(new PropertyPathAccessor()));

HttpFoundation

  • Deprecated not passing a Closure together with FILTER_CALLBACK to ParameterBag::filter(); wrap your filter in a closure instead.
  • Deprecated the Request::HEADER_X_FORWARDED_ALL constant, use either Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO or Request::HEADER_X_FORWARDED_AWS_ELB or Request::HEADER_X_FORWARDED_TRAEFIKconstants instead.
  • Deprecated BinaryFileResponse::create(), use __construct() instead

Lock

  • MongoDbStore does not implement BlockingStoreInterface anymore, typehint against PersistingStoreInterface instead.
  • deprecated NotSupportedException, it shouldn't be thrown anymore.
  • deprecated RetryTillSaveStore, logic has been moved in Lock and is not needed anymore.

Mime

  • Deprecated Address::fromString(), use Address::create() instead

Monolog

  • The $actionLevel constructor argument of Symfony\Bridge\Monolog\Handler\FingersCrossed\NotFoundActivationStrategy has been deprecated and replaced by the $inner one which expects an ActivationStrategyInterface to decorate instead. Symfony\Bridge\Monolog\Handler\FingersCrossed\NotFoundActivationStrategy will become final in 6.0.
  • The $actionLevel constructor argument of Symfony\Bridge\Monolog\Handler\FingersCrossed\HttpCodeActivationStrategy has been deprecated and replaced by the $inner one which expects an ActivationStrategyInterface to decorate instead. Symfony\Bridge\Monolog\Handler\FingersCrossed\HttpCodeActivationStrategy will become final in 6.0

Notifier

  • [BC BREAK] The TransportInterface::send() and AbstractTransport::doSend() methods changed to return a ?SentMessage instance instead of void.
  • [BC BREAK] Changed the type-hint of the $recipient argument in the as*Message() method of EmailNotificationInterface and SmsNotificationInterface to EmailRecipientInterface and SmsRecipientInterface.
  • [BC BREAK] Removed the AdminRecipient.
  • [BC BREAK] Changed the type-hint of the $recipient argument in NotifierInterface::send(), Notifier::getChannels(), ChannelInterface::notifiy() and ChannelInterface::supports() to RecipientInterface.

PropertyAccess

  • Deprecated passing a boolean as the first argument of PropertyAccessor::__construct(). Pass a combination of bitwise flags instead.

PropertyInfo

  • Deprecated the enable_magic_call_extraction context option in ReflectionExtractor::getWriteInfo() and ReflectionExtractor::getReadInfo() in favor of enable_magic_methods_extraction.

TwigBundle

  • Deprecated the public twig service to private.

TwigBridge

  • Changed 2nd argument type of TranslationExtension::__construct() to TranslationNodeVisitor

Validator

  • Deprecated the allowEmptyString option of the Length constraint.

    Before:

    use Symfony\Component\Validator\Constraints as Assert;
    
    /**
     * @Assert\Length(min=5, allowEmptyString=true)
     */

    After:

    use Symfony\Component\Validator\Constraints as Assert;
    
    /**
     * @Assert\AtLeastOneOf({
     *     @Assert\Blank(),
     *     @Assert\Length(min=5)
     * })
     */
  • Deprecated the NumberConstraintTrait trait.

  • Deprecated setting a Doctrine annotation reader via ValidatorBuilder::enableAnnotationMapping()

    Before:

    $builder->enableAnnotationMapping($reader);

    After:

    $builder->enableAnnotationMapping(true)
        ->setDoctrineAnnotationReader($reader);
  • Deprecated creating a Doctrine annotation reader via ValidatorBuilder::enableAnnotationMapping()

    Before:

    $builder->enableAnnotationMapping();

    After:

    $builder->enableAnnotationMapping(true)
        ->addDefaultDoctrineAnnotationReader();

Security

  • [BC break] In the experimental authenticator-based system, * TokenInterface::getUser() returns null in case of unauthenticated session.

  • [BC break] AccessListener::PUBLIC_ACCESS has been removed in favor of AuthenticatedVoter::PUBLIC_ACCESS.

  • Deprecated setProviderKey()/getProviderKey() in favor of setFirewallName()/getFirewallName() in PreAuthenticatedToken, RememberMeToken, SwitchUserToken, UsernamePasswordToken, DefaultAuthenticationSuccessHandler, the old methods will be removed in 6.0.

  • Deprecated the AbstractRememberMeServices::$providerKey property in favor of AbstractRememberMeServices::$firewallName, the old property will be removed in 6.0.