This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/UPGRADE-5.2.md
Tobias Schultze 6681b92524 [Cache] give control over cache prefix seed
The configurable cache prefix seed does not give full control over the cache prefix because the container class is added to the prefix in any case. This is a problem because the container class contains the app env name. We use different app environments for different deployment targets (dev and test). Dev and test should use the same redis cache. But this is impossible to achieve because even setting the cache prefix seed does not accomplish this.
2020-09-02 11:53:39 +02:00

2.6 KiB

UPGRADE FROM 5.1 to 5.2

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.

Mime

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

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)
     * })
     */
    

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.