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

90 lines
2.6 KiB
Markdown

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:
```php
use Symfony\Component\Validator\Constraints as Assert;
/**
* @Assert\Length(min=5, allowEmptyString=true)
*/
```
After:
```php
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.