Skip to content

Latest commit

 

History

History
90 lines (70 loc) · 2.89 KB

UPGRADE-4.3.md

File metadata and controls

90 lines (70 loc) · 2.89 KB

UPGRADE FROM 4.2 to 4.3

BrowserKit

  • Marked Response final.
  • Deprecated Response::buildHeader()
  • Deprecated Response::getStatus(), use Response::getStatusCode() instead

Cache

  • The psr/simple-cache dependency has been removed - run composer require psr/simple-cache if you need it.
  • Deprecated all PSR-16 adapters, use Psr16Cache or Symfony\Contracts\Cache\CacheInterface implementations instead.
  • Deprecated SimpleCacheAdapter, use `Psr16Adapter instead.

Config

  • Deprecated using environment variables with cannotBeEmpty() if the value is validated with validate()

Form

  • Using names for buttons that do not start with a letter, a digit, or an underscore is deprecated and will lead to an exception in 5.0.
  • Using names for buttons that do not contain only letters, digits, underscores, hyphens, and colons is deprecated and will lead to an exception in 5.0.
  • Using the date_format, date_widget, and time_widget options of the DateTimeType when the widget option is set to single_text is deprecated.

FrameworkBundle

  • Not passing the project directory to the constructor of the AssetsInstallCommand is deprecated. This argument will be mandatory in 5.0.
  • Deprecated the "Psr\SimpleCache\CacheInterface" / "cache.app.simple" service, use "Symfony\Contracts\Cache\CacheInterface" / "cache.app" instead.

HttpFoundation

  • The MimeTypeGuesserInterface and ExtensionGuesserInterface interfaces have been deprecated, use Symfony\Component\Mime\MimeTypesInterface instead.
  • The MimeType and MimeTypeExtensionGuesser classes have been deprecated, use Symfony\Component\Mime\MimeTypes instead.
  • The FileBinaryMimeTypeGuesser class has been deprecated, use Symfony\Component\Mime\FileBinaryMimeTypeGuesser instead.
  • The FileinfoMimeTypeGuesser class has been deprecated, use Symfony\Component\Mime\FileinfoMimeTypeGuesser instead.

Security

  • The AbstractToken::serialize(), AbstractToken::unserialize(), AuthenticationException::serialize() and AuthenticationException::unserialize() methods are now final, use getState() and setState() instead.

    Before:

    public function serialize()
    {
        return [$this->myLocalVar, parent::serialize()];
    }
    
    public function unserialize($serialized)
    {
        [$this->myLocalVar, $parentSerialized] = unserialize($serialized);
        parent::unserialize($parentSerialized);
    }

    After:

    protected function getState(): array
    {
        return [$this->myLocalVar, parent::getState()];
    }
    
    protected function setState(array $data)
    {
        [$this->myLocalVar, $parentData] = $data;
        parent::setState($parentData);
    }

Yaml

  • Using a mapping inside a multi-line string is deprecated and will throw a ParseException in 5.0.