This week, Symfony added a new component called ErrorHandler to continue the work to replace the Debug component. Meanwhile, the PropertyAccess component improved the error messages in lots of edge cases. Finally, SymfonyCloud, the best way to host your Symfony applications, announced its general availability.
Symfony development highlights
This week, 70 pull requests were merged (50 in code and 20 in docs) and 44 issues were closed (32 in code and 12 in docs). Excluding merges, 37 authors made 7,426 additions and 862 deletions. See details for code and docs.
- e347e41: [Config] fixed for signatures of typed properties
- 10ba0c6: [Debug, DebugClassLoader] don't check class if the included file doesn't exist
- 04b9ce3: [DependencyInjection] Container*::getServiceIds() should return strings
- 54c77e6: [Config] do not use absolute path when computing the vendor freshness
- 039fd94: [Serializer] don't cast padded numeric strings in XmlEncoder
- aece546: [Validator] added support for validation of giga values
- 88575f0: [FrameworkBundle] added missing event_dispatcher wiring for messenger.middleware.send_message
- b2dd93a: [Mailer] allow to register mailer configuration in XML format
- 4b15acf: [PHPUnitBridge] muted deprecations triggered from PHPUnit
- a57f4bb: [HttpClient] fixed debug output added to stderr at shutdown
- 4d7f072: [Mime] renamed Headers::getAll() to all()
- 3f98846: [DependencyInjection] properly handle optional tag attributes for !tagged_iterator
- e44eb91: [Messenger] fixed UnrecoverableExceptionInterface handling
- 9662246: [Messenger] passed transport name to factory
- 950306a: [Messenger] fixed transport_name option not passing validation
- 9ab4f14: [PropertyAccess] improved errors when trying to find a writable property
- e9ab234: [Lock] added aliases for LockFactory
- af309b0: [HttpClient] make toStream() throw by default
- 25f1804: [Lock] removed usage of the StoreInterface
- 9ed1dd1: added a new ErrorHandler component to replace the Debug component
- 6f78ad8: [Process] path resolution for FCGI configuration
- e80d405: [Lock] lock split interface fix post-merge review
- 2a816aa: [Security] drop the component
- c910095: [Debug] drop the component
- c9b149c: [DependencyInjection] moved non removing compiler passes to after removing passes
- cade808: [Process] removed deprecated inheritEnvironmentVariables() method
Newest issues and pull requests
- Use absolute path to generate and check / cache
- [Routing] Condition boolean lost performance
- What about the server:log command?
- [DSN] Add a new DSN component
- Cleanup the new ErrorHandler component
- [DX] [Session] Improve experience of using namespaced attributes
They talked about us
- From Monolith to Microservices in One Year
- How we run redirection.io on SymfonyCloud
- Instant realtime notifications with Symfony and Mercure
- The Power Of Symfony Autoconfiguration And Autowiring: Tags for interfaces
- Symfony 4.3 + Vue + VueRouter = SPA
- Let’s Migrate Symfony Project to Kubernetes! Part 3: Testing the Application.
- Setting up environment for Laravel, Symfony and WP using only one docker
- Symfony. Introducción al componente Messenger (I)
- SymfonyCloud ya está listo para producción
- Установка и настройка Sonata Admin на Symfony 4
Upcoming Symfony Events
- Design Patterns in Symfony & Symfony Security Demystified: Berlin, Germany (July 31)
- Treffen der Symfony User Group Hamburg: Hamburg, Germany (August 6)
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.
What is proposed to be used instead of the [Security] component?
@Gemorroj You can still use it, but it's not required to install Symfony.