This week, Symfony continued tweaking and polishing the upcoming Symfony 6.4 and 7.0 releases. In addition, we published new blog posts about the main new features of Symfony 6.4 and 7.0. Finally, we announced three new speakers for the SymfonyCon Brussels 2023 conference.
Symfony development highlights
This week, 71 pull requests were merged (50 in code and 21 in docs) and 48 issues were closed (40 in code and 8 in docs). Excluding merges, 41 authors made 1,074 additions and 547 deletions. See details for code and docs.
- b769b77: [Form] skip merging params & files if there are no files in the first place
- a289293: [Mailer, Notifier] update Sendinblue / Brevo API host
- 3245280: [Messenger] DB table locks on messenger_messages with many failures
- 2dd7d93: [Serializer] handle default context when denormalizing timestamps in DateTimeNormalizer
- 3f92492: [Serializer] fix using DateIntervalNormalizer with union types
- 7f9f5bb: [Validator] update Swedish translations
- e30b4bf: [Validator] update Estonian translations
- e022833: [Validator] update Hungarian translations
- 923b2a8: [Validator] update Latvian translations
- 6b134fe: [Validator] update Thai translations
- 0b9e75c: [Validator] update Chinese translations
- 100b188: [Validator] update Luxembourgish translations
- 3a78c70: [Messenger] declare constructor argument as optional for backwards compatibility
- 798a36a: [Scheduler] save checkpoint in a finally block
- b691eba: [HtmlSanitizer] consider width attribute as safe
- 49abe89: [Scheduler] use MockClock
- b228261: [VarDump] fix order of dumped properties
- 8720b78: [Messenger] add call to gc_collect_cycles() after each message is handled
- 68e8930: [AssetMapper] adding import-parsing case where import contains a path
- eb7d88d: [Messenger] add handler description as array key to HandlerFailedException::getWrappedExceptions()
- 3329812: [SecurityBundle] fix missing login-link element in XSD schema
- 32940b7: [DebugBundle] ignore a not-existing virtual request stack
- 3df3372: [HttpKernel] improve PHPDoc on #[AsController] attribute
- ce48fbe: [PhpUnitBridge] allow setting the locale using SYMFONY_PHPUNIT_LOCALE env var
- 60dec0b: [AssetMapper] jsdelivr "no version" import syntax
- 415ad8c: [AssetMapper] fixing memory bug where we stored way more file content than needed
Newest issues and pull requests
- [Translation] What about putting translations in a cache pool?
- [FrameworkBundle] [HttpClient] Make response factory configurable per client
- [Form] Use an horizontal rule to separate preferred choices
- [DebugClassLoader] Improve support for @template doc
Symfony CLI
Symfony CLI is a must-have tool when developing Symfony applications on your local machine. It includes the Symfony Local Server, the best way to run local Symfony applications. This week Symfony CLI released its new 5.6.1 and 5.6.2 versions with the following changes:
- Fix macOS issues (@fabpot)
- Fix goreleaser deprecation (@fabpot)
- Add support for compose.yaml file (@fabpot)
- Add support for compose.yaml (@fabpot)
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) API Platform 3 Part 3: Custom Resources, Chapter 32: Triggering a "Publish"
- (Video) API Platform 3 Part 3: Custom Resources, Chapter 33: Writable Relation Fields
- (Video) API Platform 3 Part 3: Custom Resources, Chapter 34: Writing to a Collection Relation
- (Video) API Platform 3 Part 3: Custom Resources, Chapter 35: Writable Collection via the PropertyAccessor
They talked about us
- A retry mechanism for Symfony commands
- How to Deal with a Closed Entity Manager in Doctrine
- Embracing The Future: Symfony’s Asset Mapper Over Webpack Encore
- Déployer une application Symfony et Vue.js sur Cloud Run
Call to Action
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.