This week, Symfony 3.4.33 and 4.3.6 maintenance versions were released. Meanwhile, we continued polishing the upcoming Symfony 4.4 version, specially the Messenger component. Lastly, SymfonyInsight introduced a new feature to help you upgrade to Symfony 5.
Symfony development highlights
This week, 53 pull requests were merged (35 in code and 18 in docs) and 28 issues were closed (26 in code and 2 in docs). Excluding merges, 26 authors made 2,238 additions and 1.415 deletions. See details for code and docs.
- 2ecd793: [SecurityBundle] correct types for default arguments for firewall configs
- 1a92f44: [Serializer] improve messages for unexpected resources values
- 27b0baa: [Config] disable default alphabet sorting in glob function due of unstable sort
- 3be177a: [Security/Core] make NativePasswordEncoder use sodium to validate passwords when possible
- fd5b8de: [HttpClient] fixed handling of 3xx with no Location header and ignore Content-Length when no body is expected
- 7b3d5cd: [OptionsResolver] fixed an error message to be more accurate
- ee4b99f: [DoctrineBridge] auto-validation must work if no regex are passed
- 2326f28: [HttpFoundation] allow to not pass a parameter to Request::isMethodSafe()
- c424c5a: [HttpClient] always return the empty string when the response cannot have a body
- 1a92f44: [Serializer] improved messages for unexpected resources values
- 06e7458: [HttpClient] fixed performance issue when doing thousands of requests with cURL
- cc2858f: [ErrorRenderer] hide sensitive error messages
- 3b11a76: [DomCrawler] normalizeWhitespace should be true by default
- e2c625e: [Lock, Cache] allowed URL DSN in PDO adapters
- 380e0fc: [Lock] added missing lock connection string in framework extension
- d082732: [DependencyInjection] re-allow to use "tagged" in service definitions
- 9e7ab8c: [Validator] added AutoMapping constraint to enable or disable auto-validation
- 6bb7751: [HttpFoundation, FrameworkBundle] allowed configuring the session handler with a DSN
- c424c5a: [HttpClient] always return the empty string when the response cannot have a body
- 8cf0698: [DependencyInjection] fixed regexp for anonymous services with no class set
- 38bd52e: [Cache] added DeflateMarshaller and removed phpredis compression
- cf10c02: [Messenger] reverted SyncTransport simplification and fixed properly
- 9eedb45: [Messenger] added DoctrineClearEntityManagerWorkerSubscriber to reset EM in worker
- 3936b78: [Messenger] extracted worker logic to listener and get rid of SendersLocatorInterface::getSenderByAlias
Symfony Local Server
Symfony Local Server, the best way to run Symfony applications on your local machine, released its new 4.9.0 version with the following changes:
- Add monitoring of commands executed via
run -d
to automatically restart them when they crash - Add
--watch
torun -d
to automatically restart the commands when code changes - Fix wrong instructions for renewing local server TLS certificate
- Fix APP_ENV detection when running
symfony console
- Update application name used by
project:init
to beapp
- Add
slug
flag toproject:init
allowing to override application name - Fix streaming several files with
local:server:log
only stream the last one - Change default value for
lines
flag oflocal:server:log
command to0
- Add
mount:list
andmount:size
commands - Follow redeployment following
project:scale
- Reuse SSH connection when running several commands in the same session
- Add
db:size
command
Newest issues and pull requests
- [RFC] Bundle-less approach for third party extensions
- [Messenger] Outbox pattern for the Messenger component
- [RFC][Dotenv] Add a way to retrieve env vars not only via DI
- [TwigBundle] TemplateCacheWarmer processes non-template files
- [MIME] Towards parsing + rendering
They talked about us
- How to disable Listeners in Symfony
- Implementing a search engine with elasticsearch and Symfony (part 2)
- Using Symfony Serializer to consume REST APIs in OOP way
- How to set up a PHP Symfony application test pipeline on Gitlab CI
- You may have memory leaking from PHP 7 and Symfony tests
- [Symfony] Using an application constant as a service container parameter
- How to Deploy Symfony with Nginx on Ubuntu 18.04
- Nuevo en Symfony 4.4: Event Listeners más sencillos
- Nuevo en Symfony 4.4: Encriptación de secretos
- Nuevo en Symfony 4.4: Emails de notificación
- Implémenter un moteur de recherche avec elasticsearch et Symfony (partie 2)
- [Symfony] Utiliser une constante applicative en tant que paramètre du conteneur de services
- Ce que nous retenons du Forum PHP 2019
Call to Action
- Give Symfony a star on GitHub
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.
The use of Symfony Serializer to implement REST API client or server is a really sweet idea. It is so obvious and elegant, and yet I never realized this use case. It should be in the documentation as a big example how to use the Serializer component.