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-4.4.md
Fabien Potencier 6abaa8c5a2 feature #32265 [Validator] deprecate non-string constraint violation codes (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] deprecate non-string constraint violation codes

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/32066#discussion_r294106130
| License       | MIT
| Doc PR        |

Commits
-------

e217729066 deprecate non-string constraint violation codes
2019-07-03 15:25:50 +02:00

3.2 KiB

UPGRADE FROM 4.3 to 4.4

DependencyInjection

  • Deprecated support for short factories and short configurators in Yaml

    Before:

    services:
      my_service:
        factory: factory_service:method
    

    After:

    services:
      my_service:
        factory: ['@factory_service', method]
    
  • Deprecated tagged in favor of tagged_iterator

    Before:

    services:
        App\Handler:
            tags: ['app.handler']
    
        App\HandlerCollection:
            arguments: [!tagged app.handler]
    

    After:

    services:
        App\Handler:
        tags: ['app.handler']
    
    App\HandlerCollection:
        arguments: [!tagged_iterator app.handler]
    

Filesystem

  • Support for passing a null value to Filesystem::isAbsolutePath() is deprecated.

Form

  • Using int or float as data for the NumberType when the input option is set to string is deprecated.

FrameworkBundle

  • Deprecated support for templating engine in TemplateController, use Twig instead
  • The $parser argument of ControllerResolver::__construct() and DelegatingLoader::__construct() has been deprecated.
  • The ControllerResolver and DelegatingLoader classes have been marked as final.
  • The controller_name_converter and resolve_controller_name_subscriber services have been deprecated.

HttpClient

  • Added method cancel() to ResponseInterface

HttpFoundation

  • ApacheRequest is deprecated, use Request class instead.

HttpKernel

  • The DebugHandlersListener class has been marked as final

Messenger

  • Deprecated passing a ContainerInterface instance as first argument of the ConsumeMessagesCommand constructor, pass a RoutableMessageBus instance instead.

MonologBridge

  • The RouteProcessor has been marked final.

PropertyAccess

  • Deprecated passing null as 2nd argument of PropertyAccessor::createCache() method ($defaultLifetime), pass 0 instead.

Security

  • Implementations of PasswordEncoderInterface and UserPasswordEncoderInterface should add a new needsRehash() method

TwigBridge

  • Deprecated to pass $rootDir and $fileLinkFormatter as 5th and 6th argument respectively to the DebugCommand::__construct() method, swap the variables position.

Validator

  • Deprecated passing an ExpressionLanguage instance as the second argument of ExpressionValidator::__construct().
  • Deprecated using anything else than a string as the code of a ConstraintViolation, a string type-hint will be added to the constructor of the ConstraintViolation class and to the ConstraintViolationBuilder::setCode() method in 5.0.
  • Deprecated passing an ExpressionLanguage instance as the second argument of ExpressionValidator::__construct(). Pass it as the first argument instead.
  • The Length constraint expects the allowEmptyString option to be defined when the min option is used. Set it to true to keep the current behavior and false to reject empty strings. In 5.0, it'll become optional and will default to false.