This week was the most intense in Symfony development activity in months. We completed and merged tens of new features and improvements for the upcoming Symfony 6.2 version, including: a Doctrine entity argument resolver, options to sort files in case insensitive mode and by extension and size, console autocompletion for zsh shells, security logout improvements and new options, etc.
Symfony development highlights
This week, 107 pull requests were merged (69 in code and 38 in docs) and 64 issues were closed (33 in code and 31 in docs). Excluding merges, 49 authors made 615,118 additions and 489,977 deletions. See details for code and docs.
- ab1a02f: [PropertyInfo] make sure nested composite types do not crash ReflectionExtractor
- a9ab336: [FrameworkBundle] fix tests that use deprecated callable syntax
- 52a2eab: [Mime] fix inline parts when added via attachPart()
- 64afde5: [DependencyInjection] fail gracefully when attempting to autowire composite types
- 8e72b1f: [FrameworkBundle] fail gracefully when forms use disabled CSRF
- 080b8f3: [Mime] quote address names if they contain parentheses
- fa063a1: [HttpKernel] don't throw on 304 Not Modified in HttpCache
- 14d5083: [Serializer] fix inconsistent behaviour of nullable objects in key/value arrays
- c89721e: [Serializer] ignore getter with required parameters
- 47cb70b: [DoctrineBridge] avoid calling AbstractPlatform::hasNativeGuidType()
- 8e34f9a: [Console] get full command path for command in search path
- abcbbf2: [Form] ChoiceType choices must support TranslatableInterface
- 485843e: [VarDumper] add FFI\CData and FFI\CType types
- c5aeafe: [Mailer] add Infobip bridge
- ca4615a: [Dotenv] variable filter added to debug command
- e6b8029: [DoctrineBridge] add NAME const for UID types
- c3288f6: [Uid] add toHex()) method to AbstractUid class
- c61154d: [Mailer] allow custom hosts for ses+smtp with amazon mailer
- 86f78aa: [Security] add a method in the security helper to ease programmatic logout
- 2949e9c: [Messenger] make Redis messages countable
- 5d9b6d2: [Security] don't allow empty username or empty password
- 397abb6: [Mailer] make max_per_second option configurable via DSN
- 5675aa8: [DoctrineBridge] add an Entity Argument Resolver
- 703596e: [Mailer] SMTP Transport to provide the (final) Message-ID if available
- e89f0ff: [Security] allow configuring a target url when switching user
- ab3d9fc: [Console] refactor isTtySupported()
- 303ea78: [Validator] add the match option to the Choice constraint
- 8876dbc: [Messenger] add options to FailedMessagesShowCommand
- c7d7ce9: [FrameworkBundle] add service and alias deprecation message to debug:container
- 951352e: [SecurityBundle] add shortcut option to enable logout CSRF protection
- ef33227: [FrameworkBundle] add resolve-env option to debug:config command
- 9ccf365: [Validator] add "negate" option to Expression constraint
- 8f7d72e: [Security] set custom lifetime for login link
- ac87122: [Serializer] add visibility context option in PropertyNormalizer
- ddf63bd: [Cache, WebProfilerBundle] add adapter class to Cache DataCollector
- 57b24fe: [HttpFoundation] rename Request::getContentType to getContentTypeFormat
- 25c8806: [Finder] case insensitive file sort
- 3c19f30: [Finder] add methods to sort by extension & size
- 7b5cb25: explain status codes in comments
- 6babf86: [Console] fix comparison with completion API version
- 8be4d28: [Dotenv] run test in a separate process to have clean global state
- b0dc3f3: [HttpFoundation] fix deprecation message style
- d3a98ba: [DependencyInjection] update ContainerBag to throw ParameterNotFoundException instead of InvalidArgumentException
- 79ee957: [Console] zsh shell autocompletion
- 6c8c93d: [Console] add Ansi8 (256 color) support, improve true color (Ansi24) support detection
- 17ae148: [Notifier] add Notification::exception()
- 7f7d839: [Mime] add DataPart::setContentId()
- 9b6dba1: [Console] add support for resuming a progress bar
Newest issues and pull requests
- Automatically create a RequestDataObject from the Request
- [DX][RFC] Provide the commands to run Symfony Tests through Docker
- Add Support of Enums for Tagged Service Key
SymfonyCasts Updates
SymfonyCasts is the official way to learn Symfony. Select a track for a guided path through 100+ video tutorial courses about Symfony, PHP and JavaScript.
These were some of the most relevant SymfonyCasts updates of the week:
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 16: Bind Arguments Globally
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 17: Named Autowiring & Scoped HTTP Clients
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 18: Non-Autowireable Services
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 19: Controllers are Services Too!
They talked about us
- Symfony Station Communiqué - 22 July 2022
- Creating a Symfony project from zero to success in 52 weeks (week 3)
- How to deploy PHP application to AWS using AWS CodeDeploy and Github actions for beginners
- Symfony ElasticSearch — Search service and Query builder — Sergii Demianchuk Blog
- How to setup docker-compose for Symfony projects
- How to add a Bootstrap Theme in Sylius
- Converting umlaute with symfony String component
Call to Action
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.