This week, the upcoming Symfony 6.3 version experienced an intense development activity to finish many new features such as: adding a remember me option for JSON logins, allowing to trim parameters in XML config files, introducing a new Exclude attribute, allowing to define the batch size in Messenger component and allowing to extend the Autowire attribute.
Symfony development highlights
This week, 89 pull requests were merged (64 in code and 25 in docs) and 35 issues were closed (28 in code and 7 in docs). Excluding merges, 46 authors made 12,970 additions and 8,104 deletions. See details for code and docs.
- cd75615: fix phpdocs in HttpClient, HttpFoundation, HttpKernel, Intl components
- 490fa24: [WebProfilerBundle] render original (not encoded) email headers
- 6627291: [Workflow] remove new lines from workflow metadata
- dee9e76: [Mailer, Translation] remove some static occurrences that may cause unstable tests
- eb9db6c: [Contracts] fix setting $container before calling parent::setContainer in ServiceSubscriberTrait
- e9bd2ab: [Cache, Messenger] fixed CallbackInterface support in async expiration handler
- 879b5d1: [TwigBridge] do not drop embed label classes
- 3db2dd6: [MonologBridge] FirePHPHandler::onKernelResponse throws PHP 8.1 deprecation when no user agent is set
- 0955438: [Validator] sync IBAN formats with Swift IBAN registry
- 01a222b: [Validator] fix translation of AtLeastOneOf constraint message
- 111af45: [FrameworkBundle] fix denyAccessUnlessGranted for mixed attributes
- 2a633cf: [VarDumper] fix error when reflected class has default Enum parameter in constructor
- cfda9b4: [Translation] handle the translation of empty strings
- e364f02: [TwigBridge] allow floats in html5 input type number field
- 5bc4d55: [Workflow] display label with new lines + colours properly when rendering a PUML dump
- 51b859f: [Console] fix ApplicationTest::testSetSignalsToDispatchEvent() when ran alon
- 49092e3: [Form] skip password hashing on empty password
- 0eb0ae5: [SecurityBundle] fix Security::login() on specific firewall
- 6bd3af0: [Mailer] update Infobip API transport
- 1498f91: [Console] fix fatal error when accessing Application::signalRegistry without pcntl
- b7cb458: [TwigBundle] add alias deprecation for Twig_Environment
- 84658da: [DependencyInjection] allow trimming service parameters value in XML configuration files
- 798efba: [DependencyInjection] improve dumping closure of service closure
- bef46c8: [DependencyInjection] allow extending Autowire attribute
- fb03495: [Mailer] add option to enable Sandbox via dsn option sandbox=true
- 7008ae6: [Messenger] allow to define batch size when using BatchHandlerTrait with getBatchSize()
- 72cb6a6: [HttpKernel] add skip_response_headers to the HttpCache options
- f523468: [Validator] implement countUnit option for Length constraint
- 6d29f32: [DependencyInjection] include value type when unable to dump a service container
- 24a5f20: [DependencyInjection] only dump array keys when value is not a list
- 7e2c026: [DependencyInjection] remove static from closures
- c2eae43: [DependencyInjection] use short arrow closure for EmptyIterator
- db16802: [DependencyInjection] only include $containerRef in compiled container when needed
- a736d6a: [FrameworkBundle, HttpKernel] configure ErrorHandler on boot
- 0a9a264: [WebProfilerBundle] fix the rendering of query explanation with Postgresql
- 22c576b: [FrameworkBundle] allow disabling dumping of container to XML to improve performance
- fa37492: [FrameworkBundle] add framework.http_cache.skip_response_headers option
- f3722d5: [FrameworkBundle, HttpKernel] display warmers duration on debug verbosity for cache:clear command
- dcfb5b8: [DependencyInjection] add support for Exclude attribute
- b87aa86: [Mailer] add MailerSend bridge
- 681905b: [DependencyInjection] exclude current id from non-existent references alternatives
- 23ea82d: [Notifier] add Pushover bridge
- 7ed43d1: [Serializer] replace the MissingConstructorArgumentsException class with MissingConstructorArgumentException
- 0d57a3f: [HttpClient] add UriTemplateHttpClient
- 41e8f3f: [Security] add remember me option for JSON logins
- 3b207f2: [FrameworkBundle, HttpClient] refactor http_client decoration strategy
- ad17631: [DependencyInjection] optimize out "current()" when it's used as service factory
Newest issues and pull requests
- [RFC] [Console] typehint input as attribute?
- [DependencyInjection] Introduce ClosureArgument next to ServiceClosureArgument
- [Serializer] Support value resolvers?
- [DomCrawler] Make validateOnParse an overwritable option
- [Workflow] Allow transitions for multiple places with same name
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.1 version with the following changes:
- Update Go to 1.20 and bump deps (@tucksaun)
- Tweak PSH extensions list generator (@tucksaun)
- Prevent directory traversal (@tucksaun)
- Fix version command by upgrading deps (@fabpot)
- Fix some typos and grammar issues (@javiereguiluz)
- Fix deprecated used of github.com/docker/docker/client (@tucksaun)
- Fix deb packaging for ARM v6/v7 (@tucksaun)
- Fix Platform.sh PHP extension parsing (@fabpot)
- Enable releasing for ARM v6 and v7 (@tucksaun)
- Add support for MongoDB username and password (@tucksaun)
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: Mythically Good RESTful APIs, Chapter 20: Relations & Iris
- (Video) API Platform 3: Mythically Good RESTful APIs, Chapter 21: Embedded Relations
- (Video) API Platform 3: Mythically Good RESTful APIs, Chapter 22: Embedded Write
- (Video) API Platform 3: Mythically Good RESTful APIs, Chapter 23: Adding Items to a Collection Property
- (Video) API Platform 3: Mythically Good RESTful APIs, Chapter 24: Creating Embedded Objects
- (Video) API Platform 3: Mythically Good RESTful APIs, Chapter 25: Removing Items from a Collection
- (Video) API Platform 3: Mythically Good RESTful APIs, Chapter 26: Filtering on Relations
They talked about us
- Symfony Station Communiqué - 24 February 2023
- How to install Symfony with Flowbite and Tailwind CSS
- How to create a custom DQL function in Symfony
- API Platform Conference 2023: we're back!
- Clean Architecture, DDD, гексагональная архитектура. Разбираем на практике blog на 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.