This week, Symfony 4.3.1 maintenance version was released. Meanwhile, the upcoming Symfony 4.4 version added a PasswordEncoderInterface::needsRehash() method and a MigratingPasswordEncoder to ease the migration of password hashers. Finally, the upcoming Symfony 5.0 version continued removing all the deprecated features.

Symfony development highlights

This week, 122 pull requests were merged (95 in code and 27 in docs) and 72 issues were closed (63 in code and 9 in docs). Excluding merges, 45 authors made 2,985 additions and 1,070 deletions. See details for code and docs.

3.4 changelog:

  • 5498cf5: [Security] added support for updated "distinguished name" format in x509 authentication
  • 2ae0580: [HttpFoundation] work around PHP 7.3 bug related to json_encode()
  • 11f04ab: [HttpFoundation] fixed case-sensitive handling of cache-control header in RedirectResponse constructor
  • 9691519: [Form] fixed wrong DateTime on outdated ICU library
  • 8214896: [Validator] updated the Italian translation

4.2 changelog:

  • 54ba63a: [Translation] fixed case sensitivity of lint:xliff command
  • 846f721: [VarDumper] fixed inconsistency in json format regarding DST value
  • 687f775: [Cache] pass arg to get callback everywhere
  • 0364135: [Form] fixed usage of legacy TranslatorInterface

4.3 changelog:

  • 66b87ab: [DoctrineBridge] don't add embedded properties to wrapping class metadata
  • 2438b14: [Mailer] fix the possibility to set a From header from MessageListener
  • f6a6fb6: [HttpClient] fix unregistering the debug buffer when using curl
  • 22e5f32: [Messenger] set amqp content_type based on serialization format
  • 40076b9: [DoctrineBridge] do not process private properties from parent class
  • 036d7b6: [Mailer] set default crypto method
  • d90dd8d: [HttpClient] don't throw InvalidArgumentException on bad Location header
  • 3242392: [Routing] revert deprecation of Serializable in routing
  • a80483c: [HttpKernel] fixed handling non-catchable fatal errors
  • e5b082a: [HttpClient] added $response->cancel()
  • 11f04ab: [HttpFoundation] fixed case-sensitive handling of cache-control header in RedirectResponse constructor
  • a6b306d: [Messenger] add missing runtime check for ext redis version
  • 9c8a6f9: [Doctrine Bridge] check field type before adding Length constraint
  • 92f333b: [FramworkBundle, HttpKernel] fixed KernelBrowser BC layer
  • d98dd9b: [Validator] fixed deprecation layer of ValidatorBuilder
  • 3b90c98: [FrameworkBundle] avoid service id conflicts with Swiftmailer
  • e718458: [Validator] PropertyInfoLoader should not try to add validation to non-existent property

4.4 changelog:

  • 693cbff: [Monolog] setup the LoggerProcessor after all other processor
  • 061f622: [FrameworkBundle, TwigBundle] add missing deprecations for PHP templating layer
  • 0bf50cf: [Translator] collect locale details earlier in the process
  • 1768c93: [Security] add PasswordEncoderInterface::needsRehash()
  • 957a0b8: [TwigBundle] mark TemplateIterator as internal
  • be7b7fe: [Messenger] add clear Entity Manager middleware
  • 6f9d0f0: [TwigBundle] add exception as HTML comment to beginning and end of the HTML page
  • 8d359b2: [Validator] improve TypeValidator to handle array of types
  • ec9159e: [Security] added MigratingPasswordEncoder
  • 5c8fb7b: [HttpFoundation] deprecated passing argument to method Request::isMethodSafe()

Master changelog:

  • 9ce3ff3: [Form] improved error message on create a form builder with invalid options
  • 129bf73: [Validator] add compared value path to violation parameters
  • 5d261bc: [Messenger, DoctrineBridge] extract Abstract Doctrine Middleware
  • 8d359b2: [Validator] improve TypeValidator to handle array of types
  • 35cdf61: [FrameworkBundle] remove support for the bundle:controller:action notation
  • b09397c: [Routing] removed deprecations
  • fbf5c34: [BrowserKit] removed deprecated code
  • d559bd1: [Validator] removed deprecated code paths
  • 49f852c: [FrameworkBundle] removed deprecated code paths
  • 927b1b2: [FrameworkBundle] fixed replace argument of routing.loader service
  • 0fb9b1b: [Config] removed the root method and the nullable name
  • 260df48: removed various legacy code paths
  • a2f2769: [Config] removed env var support with cannotBeEmpty(
  • ceb40c1: [DependencyInjection] removed deprecated code paths
  • 0f35e5b: [HttpKernel] removed all deprecated code from http kernel

Symfony Local Server

Symfony Local Server, the best way to run Symfony applications on your local machine, released its new 4.5.5 version with the following changes:

  • Fix transferring files using env:cp with Windows when specifying remote path
  • Fix DATABASE_URL forces serverVersion to 10.2.0 whereas it is compatible with >= 10.2.7
  • Allow one to use DATABASE_VERSION and DATABASE_CHARSET environment variable to override values in DATABASE_URL
  • Add missing help in the error message when ones tries to delete a project variable whereas it is defined at the environment level
  • Fix symfony ssh does not OpenSSH known hosts in addition to PuTTY ones on Windows
  • Don't allow uploading SSH keys that are already uploaded
  • Fix symfony deploy does not interactively ask to trust Host key on Windows
  • Make symfony deploy exit earlier when everything is up to date
  • Add --dry-run option to symfony deploy

Newest issues and pull requests

They talked about us

Upcoming Symfony Events

Call to Action

Published in #A week of symfony