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.
- 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
- 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
- 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
- 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()
- 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
andDATABASE_CHARSET
environment variable to override values inDATABASE_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 tosymfony deploy
Newest issues and pull requests
- [RFC][5.0][PhpunitBridge] deprecate/remove simple-phpunit
- [HttpClient] Concerns about ResponseInterface::toArray()
- Deprecate global fallback dir to load resources from
- [HttpClient] provide a way to alter the stream of chunks
- [Messenger] Ability to dispatch retryEnvelope to another bus
They talked about us
- Symfony 4.3 HttpClient Cheat Sheet
- Why you don’t need JWT
- PHP Framework Trends
- API Doc for a Symfony Project
- Using MJML email templates with Symfony
- Let’s Migrate Symfony Project to Kubernetes! Part 2: Publishing the Application with Helm.
- On using the Symfony NotCompromisedPassword security validator
- Expose a REST API to different kinds of users with Api-Platform [Part 1/4]
- Expose a REST API to different kinds of users with Api-Platform [Part 2/4]
- Expose a REST API to different kinds of users with Api-Platform [Part 3/4]
- Expose a REST API to different kinds of users with Api-Platform [Part 4/4]
- Un mes de Symfony. Mayo 2019 y novedades de Symfony 4.3
- Creando aplicaciones de Symfony a través de sus componentes: Dependency Injection
- Sylius Plus, la nueva versión profesional de Sylius
- Nuevo en Symfony 4.3: Validación de la seguridad de las contraseñas
- Nuevo en Symfony 4.3: Mejorado el autocompletado en la consola
- Nuevo en Symfony 4.3: Validador de zonas horarias
- Utilisation du validateur de sécurité Symfony NotCompromisedPassword
- Novo Componente Mailer Adicionado no Symfony 4.3
Upcoming Symfony Events
- Symfony User Group Cologne - June'19: Köln, Germany (June 13)
- Symfony is easy and doing RESTful projects with API Platform is easier: Córdoba, Spain (June 20)
- [Paris] SfPot Juin 2019: Paris, France (June 26)
- API Platform: A Framework for API-driven projects: San Francisco, United States (July 18, 2019)
- Treffen der Symfony User Group Hamburg: Hamburg, Germany (August 6, 2019)
Call to Action
- Give Symfony a star on GitHub
- Follow Symfony on Twitter and retweet this article.
- Follow Symfony on Medium and clap for this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.