Skip to content

Symfony 3.0 proposed backward incompatible changes #11742

@javiereguiluz

Description

@javiereguiluz

This is a meta-issue that groups all the proposed backward incompatible changes for the upcoming Symfony 3.0 version. It includes more information than the 3.0 milestone because sometimes people propose ideas in the comments of the issues and pull requests.

Commands

  • Make assets:install even smarter and create symlinks by default (without providing the --symlinks option) (ref)
  • ...

Console

  • As one may want to rely on the asset helper to generate URIs outside from a request (i.e., in a command-line, for sending e-mails), it should not depend on the request service, but rather on request_stack, in order to be available in a wider scope. (ref, related)
  • InputInterface operates only with arguments passed to the Application. I suggest to add a method that would allow to operate with an input stream (STDIN in case of CLI application). (ref)
  • Symfony\Component\Console\Output\OutputInteface should include the following methods: isQuiet, isVerbose, isVeryVerbose and isDebug. (ref, ref, [Console] Define isVerbose(), etc. methods in OutputInterface #13086)
  • remove the shell feature (not that useful and bad side-effects see Shell and Doctrine #11750)
  • ...

DependencyInjection

DomCrawler

  • Add support for fallback hidden fields. (ref)
  • Cleaning the Crawler API. (ref)
  • ...

Forms

  • IntegerType should be used for whole integers as the name suggests and not for floats. (ref)
  • NumberType should be used for floats (rendering as an input[type="number"]), and have a new option (for instance support_locale_strings) so that it renders as input[type="text"] and has the relevant attached NumberToLocalizedStringTransformer. (ref)
  • Remove duplicated HTML attributes. Right now, the attributes passed in the attr option are rendered both in the <form> tag and in the <div>/<table> tag of the form. (ref)
  • ...

FrameworkBundle

HttpFoundation

  • Remove the request service (ref)
  • Lazy initialization of Request headers. This can be a perfomance improvement for all requests which does not operate with request headers (almost all?) (ref)
  • Request->getRequestFormat() should only rely on the request attributes. (ref)
  • Deprecate session as a service (ref)
  • ...

HttpKernel

  • Remove isClassInActiveBundle() method from Kernel and KernelInterface (ref)

Security

  • supportsClass and supportAttribute are actually never used in Symfony except by voters themselves. They should be removed from the VoterInterface. (ref)
  • A clear exception should be thrown if no voters voted on an attribute. So if you did a typo (e.g. CREETE instead of CREATE), you'd see a clear message, rather than nobody voting and access being granted/denied 100% of the time based on your voting strategy. (ref)
  • Update UserInterface and UserProviderInterface to change the name of the methods getUsername() and loadUserByUsername() because they are confusing. You can identify your users bu email for example, so hardcoding username doesn't look right (ref, ref)
  • Deprecate SecurityContext and move its code to the AuthorizationChecker and TokenStorage. (ref)
  • Remove the RoleInterface and the Role class in favor of using strings only for roles: [Security] RoleSecurityIdentity checks for instances of RoleInterface to allow custom Role implementation #8313 (comment)
  • ...

Translation

  • Replace custom and hackish solutions (PR 4884, PR 5547) by the standard MessageFormatter PHP class. (ref)
  • ...

Web Profiler

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions