This week, Symfony 5.4.29 and 6.3.5 maintenance versions were released. Meanwhile, development activity focused on tweaking and polishing some of the features included in the upcoming Symfony 6.4 and 7.0 versions. Lastly, the SymfonyLive Berlin 2023 conference will take place next week.
Symfony development highlights
This week, 47 pull requests were merged (38 in code and 9 in docs) and 31 issues were closed (27 in code and 4 in docs). Excluding merges, 29 authors made 5,060 additions and 1,418 deletions. See details for code and docs.
- f8e2aa2: [FrameworkBundle] always use buildDir as ConfigBuilderGenerator outputDir
- d8e20aa: [Serializer] fix parsing XML root node attributes
- ea20845: [Finder] disable failing test about open_basedir
- dab32f6: [Cache] fix Redis6Proxy
- f47f589: [Validator] NoSuspiciousCharacters custom error messages fix
- 810ad9d: [AssetMapper] fixing jsdelivr regex to catch 2x export syntax in a row
- 21a4345: [Mailer] fix parsing of payload timestamp to event date value (DateTimeImmutable) in MailgunPayloadConverter
- 6f20a87: [Mime] fix email (de)serialization issues
- e39ff93: [Serializer] fix reindex normalizedData array in AbstractObjectNormalizer::denormalize()
- 0539ca8: [Messenger] fix exiting messenger:failed:retry command
- 1981bc9: [HttpKernel] fix the order of merging of serializationContext and self::CONTEXT_DENORMALIZE
- b9be69f: [Messenger] fix forced bus name gone after an error in delayed message handling
- 04c7ccf: [Messenger] fix routing to multiple fallback transports
- 69ef02e: [DoctrineBridge] ignore invalid stores in LockStoreSchemaListener raised by StoreFactory
- d029d1b: [Mailer] fix Outlook sender in Mailgun
- cb0974c: [Scheduler] allow modifying the schedule at runtime and recalculate heap
- efc6929: [Clock] add DatePoint: an immutable DateTime implementation with stricter error handling and return types
- 38840e1: [Scheduler] trigger unique messages at runtime
- 751dedd: [Validator] fix registering "is_valid()" for Expression attribute
- 1b0aed0: [Cache] fix two initializations of Redis Sentinel
- 67e53fb: remove optional before required param in several components
- 4b21e21: [Messenger] add the --all option to the messenger:failed:remove command
- 4f6f404: [AssetMapper] add support for CSS files in the importmap
- 83910a9: [PropertyInfo] make isWriteable() more consistent with isReadable() when checking snake_case properties
- 0b78897: [AssetMapper] allow simple, relative paths in importmap.php
- 257bdff: [PhpUnitBridge] add some more native types
- a231130: [HttpKernel] remove deprecated Kernel::stripComment() method
Newest issues and pull requests
- [AssetMapper] Handling 3rd party CSS downloads automatically
- Add MapQueryString and MapRequestPayload to Request / Response panel on profiler
- [AssetMapper] Always downloading vendor files
- Update the design of the Symfony Welcome Page
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.5.9 and 5.5.10 versions with the following changes:
- Update Go to 1.21 (@tucksaun)
- Remove unneeded code (@fabpot)
- Remove ioutil usage (@fabpot)
- Fix wrong colors (@fabpot)
- Bump deps (@tucksaun)
- Fix compatibility with Doctrine DBAL 4 (@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 16: stateOptions + entityClass Magic
- (Video) API Platform 3 Part 3: Custom Resources, Chapter 17: Entities, DTO's & The "Central" Object
- (Video) API Platform 3 Part 3: Custom Resources, Chapter 18: Provider: Transforming Entities to DTOs
- (Video) API Platform 3 Part 3: Custom Resources, Chapter 19: Entity -> DTO Item State Provider
- (Video) API Platform 3 Part 3: Custom Resources, Chapter 20: DTO -> Entity State Processor
They talked about us
- Symfony Station Communiqué - 29 September 2023
- Clean controllers in Symfony (I): exception handling
- Strategy pattern in Symfony
- Dive Deeper with DDD & Hexagonal Architecture in Symfony!
- Simplifying DDD (Domain-Driven Design) Integration in Symfony and Doctrine Projects
- Mastering Symfony Routing: A Comprehensive Guide
- Decentralized DTO and speedy FrankenPHP: API Platform Con 2023
- Translating entities in EasyAdmin with DoctrineBehaviors
- Загрузка ассоциаций по запросу в Symfony
Call to Action
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.